FlowFuse / FlowFuse/flowfuse

Upgrade @eslint/js 9.39.4 → 10.0.1

Open
#7,979 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.