chore(deps): bump @typescript-eslint/parser from 8.56.1 to 8.58.0 in /docs#318
Conversation
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.56.1 to 8.58.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-version: 8.58.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
Greptile SummaryThis PR bumps
Confidence Score: 4/5Safe to merge; change is docs-only and the version mismatch between parser and eslint-plugin is non-breaking at runtime. The dependency bump is routine and scoped entirely to the docs/ Docusaurus subdirectory with no impact on the main CLI or library. The typescript-eslint packages remain compatible within the same major version (8.x). The only concern is a minor best-practice issue: @typescript-eslint/eslint-plugin (8.54.0) and @typescript-eslint/parser (8.58.0) are 4 minor versions apart, which is unusual for these sibling packages that are typically kept in lockstep. docs/package.json — consider aligning @typescript-eslint/eslint-plugin version with the parser to keep them in sync Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[docs/package.json] -->|specifier ^8.58.0| B[@typescript-eslint/parser@8.58.0]
A -->|specifier ^8.0.0 resolved to| C[@typescript-eslint/eslint-plugin@8.54.0]
B --> D[@typescript-eslint/typescript-estree@8.58.0]
B --> E[@typescript-eslint/scope-manager@8.58.0]
B --> F[@typescript-eslint/types@8.58.0]
B --> G[@typescript-eslint/visitor-keys@8.58.0]
D --> H[ts-api-utils@2.5.0]
D --> I[minimatch@10.2.5]
C -->|peer dep satisfied by| B
style C fill:#f9c74f,stroke:#f8961e
style B fill:#90be6d,stroke:#43aa8b
Prompt To Fix All With AIThis is a comment left during a code review.
Path: docs/package.json
Line: 38-39
Comment:
**Version mismatch between typescript-eslint packages**
`@typescript-eslint/parser` is being bumped to `8.58.0` while `@typescript-eslint/eslint-plugin` remains at its currently resolved version of `8.54.0` (specifier `^8.0.0`). The typescript-eslint packages are released together as a monorepo and are designed to be used at matching versions.
While the plugin's peer dependency (`@typescript-eslint/parser@^8.54.0`) technically satisfies `8.58.0` at runtime, keeping them 4 minor versions apart is not recommended and could lead to subtle linting inconsistencies. Consider aligning the eslint-plugin to match:
```suggestion
"@typescript-eslint/eslint-plugin": "^8.58.0",
"@typescript-eslint/parser": "^8.58.0",
```
How can I resolve this? If you propose a fix, please make it concise.Reviews (1): Last reviewed commit: "chore(deps): bump @typescript-eslint/par..." | Re-trigger Greptile |
| "@typescript-eslint/eslint-plugin": "^8.0.0", | ||
| "@typescript-eslint/parser": "^8.56.1", | ||
| "@typescript-eslint/parser": "^8.58.0", |
There was a problem hiding this comment.
Version mismatch between typescript-eslint packages
@typescript-eslint/parser is being bumped to 8.58.0 while @typescript-eslint/eslint-plugin remains at its currently resolved version of 8.54.0 (specifier ^8.0.0). The typescript-eslint packages are released together as a monorepo and are designed to be used at matching versions.
While the plugin's peer dependency (@typescript-eslint/parser@^8.54.0) technically satisfies 8.58.0 at runtime, keeping them 4 minor versions apart is not recommended and could lead to subtle linting inconsistencies. Consider aligning the eslint-plugin to match:
| "@typescript-eslint/eslint-plugin": "^8.0.0", | |
| "@typescript-eslint/parser": "^8.56.1", | |
| "@typescript-eslint/parser": "^8.58.0", | |
| "@typescript-eslint/eslint-plugin": "^8.58.0", | |
| "@typescript-eslint/parser": "^8.58.0", |
Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/package.json
Line: 38-39
Comment:
**Version mismatch between typescript-eslint packages**
`@typescript-eslint/parser` is being bumped to `8.58.0` while `@typescript-eslint/eslint-plugin` remains at its currently resolved version of `8.54.0` (specifier `^8.0.0`). The typescript-eslint packages are released together as a monorepo and are designed to be used at matching versions.
While the plugin's peer dependency (`@typescript-eslint/parser@^8.54.0`) technically satisfies `8.58.0` at runtime, keeping them 4 minor versions apart is not recommended and could lead to subtle linting inconsistencies. Consider aligning the eslint-plugin to match:
```suggestion
"@typescript-eslint/eslint-plugin": "^8.58.0",
"@typescript-eslint/parser": "^8.58.0",
```
How can I resolve this? If you propose a fix, please make it concise.| "@typescript-eslint/eslint-plugin": "^8.0.0", | ||
| "@typescript-eslint/parser": "^8.56.1", | ||
| "@typescript-eslint/parser": "^8.58.0", |
There was a problem hiding this comment.
🔴 This PR bumps @typescript-eslint/parser to 8.58.0 but leaves @typescript-eslint/eslint-plugin pinned at ^8.0.0, which pnpm resolves to 8.54.0—a 4-minor-version skew. The typescript-eslint project requires all @typescript-eslint/* packages to stay in sync because the plugin's rules depend on internal AST/scope types that must match the parser's output. To fix, update the eslint-plugin specifier in docs/package.json to ^8.58.0 as well.
Extended reasoning...
What the bug is and how it manifests
This PR bumps @typescript-eslint/parser from 8.56.1 to 8.58.0 but does not update @typescript-eslint/eslint-plugin, whose specifier ^8.0.0 remains broad enough that pnpm continues to resolve it to 8.54.0. The result is a 4-minor-version gap between the two packages. The typescript-eslint project ships all its packages together and explicitly documents that they must be kept at the same version; internally they share scope-manager, types, visitor-keys, type-utils, and utils packages that must all agree on AST shape and scope representations.
The specific code path that triggers it
The lockfile snapshot shows the divergence clearly:
- @typescript-eslint/eslint-plugin@8.54.0 depends on scope-manager@8.54.0, types@8.54.0, visitor-keys@8.54.0, type-utils@8.54.0
- @typescript-eslint/parser@8.58.0 depends on scope-manager@8.58.0, types@8.58.0, visitor-keys@8.58.0, typescript-estree@8.58.0
Both sets of internal packages coexist in node_modules. When ESLint runs, the parser produces an AST using 8.58.0 internal types, but the plugin's rules analyse that AST using 8.54.0 internal types—a structural mismatch.
Why existing code does not prevent it
The @typescript-eslint/eslint-plugin peer-dependency constraint only requires the parser to satisfy a broad semver range; it does not enforce version equality. pnpm satisfies the peer dependency by pointing the plugin at the newer parser version (as shown in the lockfile snapshot key), but the plugin's own bundled helpers remain at 8.54.0. No tooling enforces that all @typescript-eslint/* packages resolve to identical versions.
What the impact would be
Version 8.58.0 adds TypeScript 6 support, introducing new AST node kinds and scope constructs that the 8.54.0 plugin rules were not written against. If any project file uses TypeScript 6 syntax, the plugin may misinterpret or crash on AST nodes it does not recognise. Even without TS6 syntax, divergent internal type definitions can cause false positives or false negatives in type-aware rules. The 8.58.0 release also fixes several plugin rule bugs; those fixes do not apply to the 8.54.0 plugin running against a 8.58.0 parser. Although this affects only the docs linting toolchain (not production code), broken linting silently degrades code quality enforcement on every PR touching docs.
Step-by-step proof
- Before this PR: parser = 8.56.1, plugin = 8.54.0, 2-minor-version gap.
- This PR bumps parser to 8.58.0; plugin specifier ^8.0.0 is unchanged, so pnpm resolves plugin to 8.54.0, widening the gap to 4 minor versions.
- Lockfile confirms: @typescript-eslint/typescript-estree@8.58.0 depends on ts-api-utils@2.5.0 while the plugin's typescript-estree@8.54.0 uses ts-api-utils@2.4.0. Both versions are installed simultaneously.
- Running the docs lint script (eslint src --ext .ts,.tsx) exercises the mismatched combination on every CI run.
How to fix
Change line 38 of docs/package.json from:
"@typescript-eslint/eslint-plugin": "^8.0.0"
to:
"@typescript-eslint/eslint-plugin": "^8.58.0"
Then run pnpm install in docs/ to update the lockfile so both packages resolve to 8.58.0.
Bumps @typescript-eslint/parser from 8.56.1 to 8.58.0.
Release notes
Sourced from
@typescript-eslint/parser's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser's changelog.Commits
4933417chore(release): publish 8.58.08cde2d0feat: support TypeScript 6 (#12124)be4d54dchore(release): publish 8.57.2c7c38aachore(release): publish 8.57.12c6aeeechore(release): publish 8.57.0f696dadchore: use pnpm catalog (#12047)a09921echore: update vitest to 4.x (#12071)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)