Skip to content

chore: upgrade ESLint toolchain v9 → v10 (breaking change) #171

@josecelano

Description

@josecelano

Overview

Upgrade the full ESLint toolchain to their next major versions. All these packages must be upgraded together as they have tight peer dependencies:

Package Current Target
eslint ^9.18.0 ^10.x
@eslint/js ^9.18.0 ^10.x
@eslint/compat ^1.2.5 ^2.x
eslint-config-eslint ^11.0.0 ^13.x
eslint-plugin-svelte ^2.36.0 ^3.x
svelte-eslint-parser ^0.43.0 ^1.x
typescript-eslint ^8.20.0 ^8.56.x (minor)
@typescript-eslint/eslint-plugin ^8.20.0 ^8.56.x (minor)
@typescript-eslint/parser ^8.20.0 ^8.56.x (minor)
eslint-config-prettier ^10.0.1 ^10.x (minor)
eslint-plugin-prettier ^5.2.2 ^5.x (minor)
globals ^15.14.0 ^17.x

Breaking Changes

  • ESLint v10 requires Node.js 20+
  • eslint-plugin-svelte v3 may have new rule names/config format
  • svelte-eslint-parser v1 — major API changes
  • globals v17 — some globals may be renamed/removed

Required Work

1. Update all packages together

npm install eslint@^10 @eslint/js@^10 @eslint/compat@^2 eslint-config-eslint@^13 eslint-plugin-svelte@^3 svelte-eslint-parser@^1 globals@^17

2. Update eslint.config.js

Review and update the flat config file for any breaking API changes.

3. Testing Checklist

  • npm run lint passes with no errors
  • All existing lint rules still apply correctly
  • Svelte files are linted correctly
  • TypeScript files are linted correctly
  • No unexpected rule regressions

Resources

Priority

Low — ESLint v9 is still actively supported.

Part of

Epic: Major dependency upgrades tracking issue

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions