Skip to content

Bump eslint and gts#2110

Merged
Goodwine merged 9 commits intomainfrom
dependabot/npm_and_yarn/multi-c2d8b9b5ce
Mar 19, 2026
Merged

Bump eslint and gts#2110
Goodwine merged 9 commits intomainfrom
dependabot/npm_and_yarn/multi-c2d8b9b5ce

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jan 31, 2026

Bumps eslint to 9.39.2 and updates ancestor dependency gts. These dependencies need to be updated together.

Updates eslint from 7.32.0 to 9.39.2

Release notes

Sourced from eslint's releases.

v9.39.2

Bug Fixes

  • 5705833 fix: warn when eslint-env configuration comments are found (#20381) (sethamus)

Build Related

  • 506f154 build: add .scss files entry to knip (#20391) (Milos Djermanovic)

Chores

  • 7ca0af7 chore: upgrade to @eslint/js@9.39.2 (#20394) (Francesco Trotta)
  • c43ce24 chore: package.json update for @​eslint/js release (Jenkins)
  • 4c9858e ci: add v9.x-dev branch (#20382) (Milos Djermanovic)

v9.39.1

Bug Fixes

  • 650753e fix: Only pass node to JS lang visitor methods (#20283) (Nicholas C. Zakas)

Documentation

  • 51b51f4 docs: add a section on when to use extends vs cascading (#20268) (Tanuj Kanti)
  • b44d426 docs: Update README (GitHub Actions Bot)

Chores

  • 92db329 chore: update @eslint/js version to 9.39.1 (#20284) (Francesco Trotta)
  • c7ebefc chore: package.json update for @​eslint/js release (Jenkins)
  • 61778f6 chore: update eslint-config-eslint dependency @​eslint/js to ^9.39.0 (#20275) (renovate[bot])
  • d9ca2fc ci: Add rangeStrategy to eslint group in renovate config (#20266) (唯然)
  • 009e507 test: fix version tests for ESLint v10 (#20274) (Milos Djermanovic)

v9.39.0

Features

  • cc57d87 feat: update error loc to key in no-dupe-class-members (#20259) (Tanuj Kanti)
  • 126552f feat: update error location in for-direction and no-dupe-args (#20258) (Tanuj Kanti)
  • 167d097 feat: update complexity rule to highlight only static block header (#20245) (jaymarvelz)

Bug Fixes

  • 15f5c7c fix: forward traversal step.args to visitors (#20253) (jaymarvelz)
  • 5a1a534 fix: allow JSDoc comments in object-shorthand rule (#20167) (Nitin Kumar)
  • e86b813 fix: Use more types from @​eslint/core (#20257) (Nicholas C. Zakas)
  • 927272d fix: correct Scope typings (#20198) (jaymarvelz)
  • 37f76d9 fix: use AST.Program type for Program node (#20244) (Francesco Trotta)
  • ae07f0b fix: unify timing report for concurrent linting (#20188) (jaymarvelz)
  • b165d47 fix: correct Rule typings (#20199) (jaymarvelz)
  • fb97cda fix: improve error message for missing fix function in suggestions (#20218) (jaymarvelz)

Documentation

  • d3e81e3 docs: Always recommend to include a files property (#20158) (Percy Ma)
  • 0f0385f docs: use consistent naming recommendation (#20250) (Alex M. Spieslechner)
  • a3b1456 docs: Update README (GitHub Actions Bot)
  • cf5f2dd docs: fix correct tag of no-useless-constructor (#20255) (Tanuj Kanti)
  • 10b995c docs: add TS options and examples for nofunc in no-use-before-define (#20249) (Tanuj Kanti)
  • 2584187 docs: remove repetitive word in comment (#20242) (reddaisyy)

... (truncated)

Commits
Maintainer changes

This version was pushed to npm by eslintbot, a new releaser for eslint since your current version.


Updates gts from 3.1.1 to 7.0.0

Release notes

Sourced from gts's releases.

v7.0.0

7.0.0 (2025-12-04)

⚠ BREAKING CHANGES

  • eslint use new config format (plus update deps) (#935)

Features

  • eslint use new config format (plus update deps) (#935) (625836a)

v6.0.2

6.0.2 (2024-10-25)

Bug Fixes

v6.0.1

6.0.1 (2024-10-22)

Bug Fixes

  • Allow typescript v5+ as a peer dependency (#909) (996aaec)

v6.0.0

6.0.0 (2024-10-10)

⚠ BREAKING CHANGES

  • Update '.prettierrc.json' to include trailingComma: "all" to match internal Google config (#822)
  • Update typescript and other dependencies (#902)
  • Set no-floating-promises to error (#901)
  • Set composite: true in tsconfig-google.json (#899)
  • Set stripInternal in tsconfig-google.json (#900)
  • Support Node 18+ (#896)

Features

  • Set composite: true in tsconfig-google.json (#899) (71972dc)
  • Set no-floating-promises to error (#901) (1d28f92)
  • Set stripInternal in tsconfig-google.json (#900) (9b37243)
  • Support Node 18+ (#896) (f011fa3)
  • Update '.prettierrc.json' to include trailingComma: "all" to match internal Google config (#822) (27d0d93)
  • Update typescript and other dependencies (#902) (1c18b3a)

... (truncated)

Changelog

Sourced from gts's changelog.

7.0.0 (2025-12-04)

⚠ BREAKING CHANGES

  • eslint use new config format (plus update deps) (#935)

Features

  • eslint use new config format (plus update deps) (#935) (625836a)

6.0.2 (2024-10-25)

Bug Fixes

6.0.1 (2024-10-22)

Bug Fixes

  • Allow typescript v5+ as a peer dependency (#909) (996aaec)

6.0.0 (2024-10-10)

⚠ BREAKING CHANGES

  • Update '.prettierrc.json' to include trailingComma: "all" to match internal Google config (#822)
  • Update typescript and other dependencies (#902)
  • Set no-floating-promises to error (#901)
  • Set composite: true in tsconfig-google.json (#899)
  • Set stripInternal in tsconfig-google.json (#900)
  • Support Node 18+ (#896)

Features

  • Set composite: true in tsconfig-google.json (#899) (71972dc)
  • Set no-floating-promises to error (#901) (1d28f92)
  • Set stripInternal in tsconfig-google.json (#900) (9b37243)
  • Support Node 18+ (#896) (f011fa3)
  • Update '.prettierrc.json' to include trailingComma: "all" to match internal Google config (#822) (27d0d93)
  • Update typescript and other dependencies (#902) (1c18b3a)

Bug Fixes

  • deps: update dependency eslint to v8.57.1 (#903) (23da8ef)

... (truncated)

Commits

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Jan 31, 2026
@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-c2d8b9b5ce branch from cc7d1fe to d5f6027 Compare February 23, 2026 22:35
@Goodwine
Copy link
Copy Markdown
Member

@dependabot recreate

@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-c2d8b9b5ce branch from d5f6027 to 78a9687 Compare March 11, 2026 23:43
@Goodwine
Copy link
Copy Markdown
Member

@dependabot rebase

@Goodwine
Copy link
Copy Markdown
Member

@dependabot recreate

@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-c2d8b9b5ce branch from 78a9687 to 19b4be1 Compare March 12, 2026 00:01
Bumps [eslint](https://github.com/eslint/eslint) to 9.39.2 and updates ancestor dependency [gts](https://github.com/google/gts). These dependencies need to be updated together.


Updates `eslint` from 7.32.0 to 9.39.2
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v7.32.0...v9.39.2)

Updates `gts` from 3.1.1 to 7.0.0
- [Release notes](https://github.com/google/gts/releases)
- [Changelog](https://github.com/google/gts/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google/gts/commits/v7.0.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.39.2
  dependency-type: indirect
- dependency-name: gts
  dependency-version: 7.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@Goodwine Goodwine force-pushed the dependabot/npm_and_yarn/multi-c2d8b9b5ce branch from 19b4be1 to c9bcb0b Compare March 14, 2026 03:38
- this required upgrading the eslint config
- lint fixes applied
- applied lint on additional files that should have been linted but were not, oops
- add void to top level promises
- change arrow functions with names to function declarations
- add explicit return types
- add missing awaits in test
- return 'sandbox()' promises
@Goodwine
Copy link
Copy Markdown
Member

upgrading gts (which upgrades eslint) brought out issues in the existing setup, including non-awaited promises which highlighted one bug in a test, but for some reason another test is failing... I think the "lock" on the channel is being released too early, and I wasn't able to figure it out last week. I might try again this week :)

- apparenlty we can't add files that declare jasmine matchers in tsconfig if `jest` is involved because then types conflict
- fixes custom expectation tester test (meta test?) returning a value other than expected (surfaced by awaiting on promises)
- use async interactor as shown in the nopdejs docs
@Goodwine
Copy link
Copy Markdown
Member

looking at https://nodejs.org/api/readline.html, I think it's necessary to use a shared rl instance, use rl[Symbol.asyncIterator]().... or use the on('line') events 🤔

@Goodwine
Copy link
Copy Markdown
Member

I tried using the on(line) event, but it gets tricky when lines come through and the listener isn't ready given that we want to await for the response. This means we need to buffer the lines... so I think it's easier to just keep the async iterator 🤔

@Goodwine
Copy link
Copy Markdown
Member

Tested interactor manually too with

npm run sass-spec -- --dart ~/repos/dart-sass spec/directives/import --interactive

I injected a few failures and validated that sending a wave of O lines fixed the tests without freezing.

I did not understand well the approach with on('line') so I kinda stayed away from that 😅

@Goodwine Goodwine requested a review from nex3 March 17, 2026 00:19
@Goodwine
Copy link
Copy Markdown
Member

Goodwine commented Mar 17, 2026

@nex3 PTAL

The main changes are:

  • interactor needed to be updated because after adding awaits for many unawaited promises, this started closing readlines before it should. I moved to use an async iterator. See comments above about my attempts. Edit: I also moved the readlines creation to outside because I needed to .close() it at the end, and I didn't want to expose a new .close() function, but that is an option too if you'd prefer that

  • I believe expected.test had a bug in a test where the code returns {success:null} instead of failing, and the test was expecting a failure. this too was caused by unawaited promises

The rest of the changes are:

  • added the same lint configs as dart-sass, excluding also JS files

  • ecluded js-api-spec.ts from lints because it caused type conflicts with Jest when jasmine was included 🤔

  • lots of prettier-required changes (commas, types, etc)

Comment thread lib/interactor.ts Outdated
Comment thread sass-spec.ts Outdated
@Goodwine Goodwine requested a review from nex3 March 18, 2026 22:46
Comment thread lib/interactor.ts Outdated
@Goodwine Goodwine merged commit fb5d907 into main Mar 19, 2026
35 of 36 checks passed
@Goodwine Goodwine deleted the dependabot/npm_and_yarn/multi-c2d8b9b5ce branch March 19, 2026 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants