Upgrade @eslint/js 9.39.4 → 10.0.1
- Dominant language
- JavaScript
- Stars
- 400
- Forks
- 89
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 146
Description
# Upgrade @eslint/js 9.39.4 → 10.0.1 (major)
Dependabot PR #7811. Dev dependency (`devDependencies`, `^9.39.4`); imported in `eslint.config.mjs` as `js`, used via `js.configs.recommended`. Pulled out of the weekly Dependabot slot per the major-version process — needs an owner and verification, not a batch merge.
## Compatibility pre-check
- ⚠️ `@eslint/js@10.0.1` declares `peerDependencies: { eslint: '^10.0.0' }` — our `eslint` core is pinned `^9.39.4` (resolved 9.39.4). This is the key mismatch: @eslint/js 10 requires ESLint 10, so the core `eslint` must bump in lockstep (latest is 10.8.0). Do not merge this PR alone.
- ✅ Node engines: @eslint/js 10 requires `^20.19.0 || ^22.13.0 || >=24`, same as ESLint 10 core; Node 24 dev default satisfies it.
## Breaking changes to review
- ESLint 10 removes legacy `.eslintrc` support (flat config only) — we already use flat config (`eslint.config.mjs`), so likely unaffected but confirm.
- `eslint:recommended` ruleset updated — previously passing code may now fail lint.
- Config objects gain a `name`; JSX reference tracking enabled; `Program` range spans entire source; minimatch v10; jiti ≥ 2.2.0.
- Removed deprecated `SourceCode` methods, rule context methods, `LintMessage#nodeType` / `TestCaseError#type`.
## To do before merge
- [ ] Coordinate with an ESLint 10 core bump (`eslint` → `^10.0.0`); both must land together. Run `npm run lint` after.
- [ ] Read the ESLint 10 migration guide and reconcile with eslint.config.mjs.
## Refs
- Branch: `dependabot/npm_and_yarn/eslint/js-10.0.1`
- PR: #7811
- Upstream: https://github.com/eslint/eslint/releases/tag/v10.0.0
Contributor guide
Research direction
Start with eslint.config.mjs and the ESLint 10 migration guide, then inspect the dependency declarations for the coordinated eslint core and @eslint/js bump. The change is done when both major-version dependencies are compatible, the flat configuration remains valid, and npm run lint passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100