Skip to content

refactor(linter/plugins): bump @typescript-eslint/scope-manager dependency#18632

Merged
graphite-app[bot] merged 1 commit intomainfrom
om/01-27-refactor_linter_plugins_bump_typescript-eslint_scope-manager_dependency
Jan 27, 2026
Merged

refactor(linter/plugins): bump @typescript-eslint/scope-manager dependency#18632
graphite-app[bot] merged 1 commit intomainfrom
om/01-27-refactor_linter_plugins_bump_typescript-eslint_scope-manager_dependency

Conversation

@overlookmotel
Copy link
Member

@overlookmotel overlookmotel commented Jan 27, 2026

Closes #18398.

Bump @typescript-eslint/scope-manager to latest. That release contains 2 bug fixes:

We had workarounds for both bugs, added in:

This PR bumps dependency to the new version which included the big fixes, and removes both workarounds, as they're no longer required.

Also bumped all other usages of @typescript-eslint/* packages, so we use the same versions for everything.

@github-actions github-actions bot added A-linter Area - Linter A-parser Area - Parser A-cli Area - CLI A-linter-plugins Area - Linter JS plugins C-cleanup Category - technical debt or refactoring. Solution not expected to change behavior labels Jan 27, 2026
Copy link
Member Author


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@overlookmotel overlookmotel marked this pull request as ready for review January 27, 2026 17:31
Copilot AI review requested due to automatic review settings January 27, 2026 17:31
@overlookmotel overlookmotel self-assigned this Jan 27, 2026
@overlookmotel overlookmotel added the 0-merge Merge with Graphite Merge Queue label Jan 27, 2026
Copy link
Member Author

overlookmotel commented Jan 27, 2026

Merge activity

…endency (#18632)

Closes #18398.

Bump `@typescript-eslint/scope-manager` to latest. That release contains 2 bug fixes:

* typescript-eslint/typescript-eslint#11982
* typescript-eslint/typescript-eslint#11995

We had workarounds for both bugs, added in:

* #18312
* #18402

This PR bumps dependency to the new version which included the big fixes, and removes both workarounds, as they're no longer required.

Also bumped all other usages of `@typescript-eslint/*` packages, so we use the same versions for everything.
@graphite-app graphite-app bot force-pushed the om/01-27-refactor_linter_plugins_bump_typescript-eslint_scope-manager_dependency branch from 4a44131 to 3d349ca Compare January 27, 2026 17:33
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the TS-ESLint-related dependencies to a version that includes upstream fixes for scope and "use strict" handling, and removes now-unnecessary local workarounds/patches.

Changes:

  • Remove the custom pnpm patch for @typescript-eslint/scope-manager and rely on the upstream fix.
  • Bump all @typescript-eslint/* package usages (parser, scope-manager, visitor-keys, utils, etc.) to 8.54.0.
  • Drop the local fixCatchClauseDefinitions workaround in the oxlint scope plugin now that the upstream scope manager is fixed.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-workspace.yaml Removes the @typescript-eslint/scope-manager patched dependency entry now that the upstream version includes the fix.
pnpm-lock.yaml Updates lockfile entries to @typescript-eslint/*@8.54.0 and removes references to the local scope-manager patch.
patches/@typescript-eslint__scope-manager.patch Deletes the custom "use strict" handling patch that is now covered by upstream.
napi/parser/package.json Bumps @typescript-eslint/visitor-keys dev dependency to ^8.54.0 for consistency.
apps/oxlint/package.json Bumps @typescript-eslint/parser and @typescript-eslint/scope-manager dev dependencies to ^8.54.0.
apps/oxlint/src-js/plugins/scope.ts Removes the fixCatchClauseDefinitions workaround and its invocation, trusting the updated TS-ESLint scope manager behavior.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@graphite-app graphite-app bot merged commit 3d349ca into main Jan 27, 2026
20 checks passed
@graphite-app graphite-app bot deleted the om/01-27-refactor_linter_plugins_bump_typescript-eslint_scope-manager_dependency branch January 27, 2026 17:39
graphite-app bot pushed a commit that referenced this pull request Jan 27, 2026
In ES3, directives didn't exist yet, and therefore `"use strict"` is treated as a standard string literal, rather than a directive.

In conformance tests, when test case specifies ES3, walk the AST and set `directive` property of all `ExpressionStatement`s to `null`. This transforms any directives in AST into plain string literals.

Combined with #18632 which fixed `"use strict"` processing in TS-ESLint, this means there are 8 ESLint test cases we no longer have to skip. More importantly, we're less likely to run into erroneous test failures when testing other plugins, which are laborious to diagnose.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0-merge Merge with Graphite Merge Queue A-cli Area - CLI A-linter Area - Linter A-linter-plugins Area - Linter JS plugins A-parser Area - Parser C-cleanup Category - technical debt or refactoring. Solution not expected to change behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linter plugins: Remove workaround for CatchClause scopes bug in TS-ESLint

2 participants