Skip to content

Migrate linting setup to ESLint v9 (flat config)#533

Merged
abraham merged 2 commits intomainfrom
copilot/update-eslint-to-v9
Apr 19, 2026
Merged

Migrate linting setup to ESLint v9 (flat config)#533
abraham merged 2 commits intomainfrom
copilot/update-eslint-to-v9

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 19, 2026

This PR updates the repository’s ESLint stack from v8 to v9 and migrates config to the flat-config model required by modern ESLint. It also removes one rule set that is not currently compatible with ESLint v9.

  • ESLint v9 upgrade

    • Bumps eslint to ^9.0.0.
    • Adds @eslint/js and @eslint/eslintrc to support flat config composition.
  • Config migration to flat config

    • Replaces package.json eslintConfig with a new root eslint.config.js.
    • Preserves the existing TypeScript/Jest/import rule presets via FlatCompat.
  • Lint command compatibility

    • Updates lint script from eslint src --ext .ts to eslint src for v9 behavior.
  • Plugin compatibility adjustment

    • Removes eslint-plugin-deprecation and its plugin:deprecation/recommended extend because the published version is ESLint 8–only and crashes under ESLint 9 APIs.
// eslint.config.js (new)
import { FlatCompat } from '@eslint/eslintrc';
import js from '@eslint/js';

const compat = new FlatCompat({ recommendedConfig: js.configs.recommended });

export default [
  ...compat.config({
    parser: '@typescript-eslint/parser',
    parserOptions: { project: './tsconfig.lint.json' },
    extends: [
      'eslint:recommended',
      'plugin:@typescript-eslint/recommended',
      'plugin:jest/recommended',
      'plugin:import/errors',
      'plugin:import/typescript',
    ],
  }),
];

Copilot AI linked an issue Apr 19, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Update eslint to version 9 Migrate linting setup to ESLint v9 (flat config) Apr 19, 2026
Copilot AI requested a review from abraham April 19, 2026 23:29
@abraham abraham marked this pull request as ready for review April 19, 2026 23:46
@abraham abraham merged commit 85e3281 into main Apr 19, 2026
5 checks passed
@abraham abraham deleted the copilot/update-eslint-to-v9 branch April 19, 2026 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update eslint to v9

2 participants