🌐
ESLint
eslint.org › docs › latest › use › migrate-to-9.0.0
Migrate to v9.x - ESLint - Pluggable JavaScript Linter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Copy code to clipboard · If you still need the v8.x Linter functionality, pass configType: "eslintrc" to the constructor like this:
🌐
ESLint
eslint.org › blog › 2025 › 03 › flat-config-extends-define-config-global-ignores
Evolving flat config with extends - ESLint - Pluggable JavaScript Linter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Copy code to clipboard · This flattening behavior is designed to eliminate some of the confusion we heard around the use of the spread operator (...) with the new configuration system. With defineConfig(), you never need to use the spread operator (unless you really want to!). The original theory of flat config was that extends was just an abstraction over a one-dimensional array of configuration objects, and was therefore not needed if we gave people access to that one-dimensional array.
🌐
ESLint
eslint.org › docs › latest › use › configure › migration-guide
Configuration Migration Guide - ESLint - Pluggable JavaScript Linter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Copy code to clipboard · In eslintrc files, use the extends property to use predefined and shareable configs.
🌐
Medium
medium.com › @hongyuyang084 › new-version-of-eslint-9-x-x-with-flat-config-c8ad3e5d5413
New version of ESLint(9.x.x) with flat config | by Hongyuyang | Medium
July 12, 2024 - Refer to the official documentation: ... } } // ...other config } ]; In version 9.x.x, you can no longer use extends to include configurations like eslint:recommended....
🌐
DEV Community
dev.to › aolyang › eslint-9-flat-config-tutorial-2bm5
ESLint 9 Flat config tutorial - DEV Community
August 5, 2024 - the preset config name you want to extend is loaded hiddenly by ESLint, you may lose some info.
🌐
ESLint
eslint.org › docs › latest › extend › ways-to-extend
Ways to Extend ESLint - ESLint - Pluggable JavaScript Linter
ESLint custom parsers are a way to extend ESLint to support the linting of new language features or custom syntax in your code.
🌐
Stack Overflow
stackoverflow.com › questions › 79199428 › eslint-migration-issue-while-converting-extends-to-v9
vue.js - ESLint migration issue while converting extends to v9 - Stack Overflow
I'm trying to convert my .eslintrc.cjs to eslint.config.js with migration of ESLint. My current config file has extends: ['eslint:recommended', 'plugin:vue/vue3-recommended', 'plugin:@
🌐
GitHub
github.com › eslint › eslint › issues › 19116
Change Request: Flat config extends · Issue #19116 · eslint/eslint
November 7, 2024 - Now that more folks are moving to ESLint v9 and flat config, a common complaint is that it's difficult to extend configs from plugins. Whereas eslintrc had extends, flat config forces folks to insert objects into the export array, sometimes using the spread (...) syntax and sometimes not.
Published   Nov 07, 2024
🌐
ESLint
eslint.org › docs › latest › extend
Extend ESLint - ESLint - Pluggable JavaScript Linter
Selecting a version will take you to the chosen version of the ESLint docs. Version ... Results will be shown and updated as you type. ... This guide is intended for those who wish to extend the functionality of ESLint.
🌐
Medium
medium.com › ekino-france › migrate-to-eslint-9-x-29727f790249
Migrate to ESLint 9.x. In this article, I share some… | by Duy NG | ekino-france | Medium
March 19, 2025 - You can now use `defineConfig` from “eslint/config” to extend your configuration. This brings back the “extends” functionality, adds support for global ignores, and maintains compatibility with older plugins…etc.
Find elsewhere
🌐
ekino
ekino.fr › home › publications › migrate to eslint 9.x
Migrate to ESLint 9.x - Ekino FR
October 16, 2024 - parser: '@typescript-eslint/parser' parserOptions: project: ./tsconfig.json sourceType: module env: node: true jest: true plugins: - import extends: - eslint:recommended - plugin:@typescript-eslint/recommended - plugin:prettier/recommended - plugin:import/recommended - plugin:import/typescript settings: import/resolver: typescript: true node: true rules: '@typescript-eslint/no-use-before-define': 'off' 'require-await': 'off' 'no-duplicate-imports': 'error' 'no-unneeded-ternary': 'error' 'prefer-object-spread': 'error' '@typescript-eslint/no-unused-vars': ['error', { ignoreRestSiblings: true, args: 'none' }]
🌐
GitHub
github.com › eslint › eslint › discussions › 18207
ESLint 9 (beta) Step by Step Installation Guide · eslint/eslint · Discussion #18207
Install ESLint 9 beta · Convert .eslintrc.json rules to eslint.config.js · Here is a snippet of .eslintrc.json · { "env": { "browser": true, "es2024": true, "greasemonkey": true, "webextensions": true }, "extends": "eslint:recommended", "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, "globals": { }, "plugins": [ "@stylistic/js" ], "rules": { "no-case-declarations": "off", "more-rules": "...
Author   eslint
🌐
evoMark
evomark.co.uk › development › eslint-9s-new-config-file-structure
ESLint 9’s new config file structure - evoMark
February 12, 2025 - The concept of “flat” configs is that everything about your linting config is available inside your eslint.config.js file. Every setting can be tweaked, extended, removed or replaced before it is sent to the linter as an array of JavaScript objects.
🌐
ESLint
eslint.org › blog › 2024 › 04 › eslint-v9.0.0-released
ESLint v9.0.0 released - ESLint - Pluggable JavaScript Linter
Previously, ESLint would treat ("use strict") as a strict mode directive even though it is not. We fixed the behavior so only valid strict mode directives are honored. The containing scope of a class extends clause was incorrectly set to be the scope containing the class when it should have been the class scope itself.
🌐
Stack Overflow
stackoverflow.com › questions › 77061899 › how-to-extend-and-override-rules-config-in-eslint
How to extend and override rules config in ESLint?
{ "extends": ["next", "prettier"], "plugins": ["prettier", "@typescript-eslint", "unused-imports"], "rules": { "no-unused-vars": "off", "no-duplicate-imports": "off", "no-console": "warn", "no-return-await": "warn", "no-useless-return": "warn", "no-var": "warn", "react-hooks/exhaustive-deps": "off", "import/order": [ "warn", { "groups": ["type", "builtin", "external", "internal", "parent", "sibling", "index", "object"], "newlines-between": "always" } ], } }
🌐
GitHub
github.com › eslint › eslint › discussions › 18377
Add more comprehensive examples of best practise eslint.config.js's for v9 migration · eslint/eslint · Discussion #18377
So I just updated my eslint to v9 and with it the default configuration file was changed to eslint.config.js As someone who hasn't known about the configuration change at all, it was quite painful ...
Author   eslint
🌐
Reddit
reddit.com › r/reactjs › eslint v9 migration: lessons learned (the hard way) 🧗
r/reactjs on Reddit: ESLint v9 Migration: Lessons Learned (The Hard Way) 🧗
March 18, 2025 -

Just wrapped up an ESLint v9 migration, and let’s just say… I’ve seen things. 😵‍💫

I hit all the bumps, took all the wrong turns, and somehow made it to the other side—so you don’t have to. If you’re planning an upgrade, this might save you some headaches (or at least a few desperate ChatGPT prompts).

I put together something I wish I had before starting. If you're still procrastinating on the upgrade (no judgment), this might just be your sign to finally do it. Give it a read—misery loves company. 😆

📖 https://www.neoxs.me/blog/migration-to-eslint-v9

🌐
GitHub
github.com › JsDaddy › eslint-8-to-9
GitHub - JsDaddy/eslint-8-to-9
import eslint from "@eslint/js"; import angular from "angular-eslint"; import tseslint from "typescript-eslint"; export default tseslint.config( ... { ..., files: ["**/*.ts"], extends: [ eslint.configs.recommended, ...tseslint.configs.recommended, ...tseslint.configs.stylistic, ...angular.configs.tsRecommended, ], ..., }, ...
Author   JsDaddy
🌐
GitHub
github.com › eslint › eslint › releases › tag › v9.39.1
Release v9.39.1 · eslint/eslint
Bug Fixes 650753e fix: Only pass node to JS lang visitor methods (#20283) (Nicholas C. Zakas) Documentation 51b51f4 docs: add a section on when to use extends vs cascading (#20268) (Tanuj Kanti)...
Author   eslint