Skip to content

chore(lint): upgrade ESLint to v10, migrate to @eslint-react#2679

Merged
DerekRoberts merged 2 commits intomainfrom
feat/upgrade-eslint-v10
Apr 18, 2026
Merged

chore(lint): upgrade ESLint to v10, migrate to @eslint-react#2679
DerekRoberts merged 2 commits intomainfrom
feat/upgrade-eslint-v10

Conversation

@DerekRoberts
Copy link
Copy Markdown
Member

@DerekRoberts DerekRoberts commented Apr 18, 2026

Summary

Upgrades the ESLint ecosystem to v10 and migrates the frontend from eslint-plugin-react (v7, incompatible with ESLint v10) to @eslint-react/eslint-plugin.

Changes

Frontend

  • Upgrade dependencies:
    • eslint: ^9.38.0^10.2.0
    • @eslint/js: ^9.38.0^10.0.1
    • typescript-eslint: ^8.58.0^8.58.2
  • Replace React linting:
    • Remove: eslint-plugin-react, eslint-plugin-react-hooks
    • Add: @eslint-react/eslint-plugin (ESLint v10 compatible)
  • Update frontend/eslint.config.mjs:
    • Use @eslint-react/configs['recommended-typescript']
    • Preserve existing custom rules (Prettier integration, TS overrides, etc.)
  • Update frontend/package-lock.json

Backend

  • Upgrade dependencies:
    • eslint: ^10.0.0^10.2.0
    • @eslint/js: ^10.0.0^10.0.1
    • typescript-eslint: ^8.58.0^8.58.2
  • Update backend/package-lock.json

Verification

  • npm run lint passes in both frontend/ and backend/ during development.
  • CI workflows will validate linting on PR.

Related


Thanks for the PR!

Deployments, as required, will be available below:

Please create PRs in draft mode. Mark as ready to enable:

After merge, new images are deployed in:

…eact

- Upgrade eslint to ^10.2.0, @eslint/js to ^10.0.1, typescript-eslint to ^8.58.2
- Replace eslint-plugin-react (v7, ESLint v10 incompatible) with @eslint-react/eslint-plugin
- Rewrite frontend/eslint.config.mjs using @eslint-react recommended-typescript preset
- Update package-lock.json for both frontend and backend

Closes #2654
Copilot AI review requested due to automatic review settings April 18, 2026 20:36
@socket-security
Copy link
Copy Markdown

socket-security bot commented Apr 18, 2026

Copy link
Copy Markdown
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

Upgrades the repo’s ESLint toolchain to ESLint v10 and updates the frontend React linting setup to use @eslint-react/eslint-plugin (compatible with ESLint v10), along with lockfile refreshes.

Changes:

  • Bump ESLint / @eslint/js / typescript-eslint versions in both frontend/ and backend/.
  • Migrate frontend linting from eslint-plugin-react(+hooks) to @eslint-react/eslint-plugin and refactor frontend/eslint.config.mjs.
  • Refresh backend/package-lock.json to reflect updated dependency resolution.

Reviewed changes

Copilot reviewed 3 out of 5 changed files in this pull request and generated 4 comments.

File Description
frontend/package.json Updates ESLint-related devDependencies and swaps React lint plugin to @eslint-react/eslint-plugin.
frontend/eslint.config.mjs Refactors flat config structure and applies @eslint-react recommended TypeScript config.
backend/package.json Bumps ESLint-related devDependencies to the requested versions.
backend/package-lock.json Updates lockfile resolution (includes broader dependency bumps beyond lint packages).
Files not reviewed (1)
  • backend/package-lock.json: Language not supported

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

Comment thread frontend/package.json Outdated
Comment thread frontend/package.json
Comment thread backend/package-lock.json
Comment thread frontend/eslint.config.mjs Outdated
- Remove unused @eslint/js from frontend devDependencies
- Add engines.node >=22 constraint to both packages (@eslint-react requires Node 22+)
- Fix flat config spreading: use ...tseslint.configs.recommended
- eslintReact.configs['recommended-typescript'] is a config object, not array
- Backend lockfile unchanged beyond engines field; frontend lockfile reflects removed packages
@DerekRoberts DerekRoberts self-assigned this Apr 18, 2026
@DerekRoberts DerekRoberts merged commit 423094f into main Apr 18, 2026
26 checks passed
@DerekRoberts DerekRoberts deleted the feat/upgrade-eslint-v10 branch April 18, 2026 21:02
@github-project-automation github-project-automation bot moved this from New to Done in DevOps (NR) Apr 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants