ESLint couldn't find the config … to extend from
Symptoms
When using the legacy ESLint config system, you may see this error running ESLint after installing dependencies:
ESLint couldn't find the config "${configName}" to extend from. Please check that the name of the config is correct.
The config "${configName}" was referenced from the config file in "${importerName}".
Cause
ESLint configuration files specify shareable configs by their package name in the extends array.
That package name is passed to the Node.js require(), which looks up the package under local node_modules/ directories.
For example, the following ESLint config will first try to load a module located at node_modules/eslint-config-yours:
module.exports = {
extends: ["eslint-config-yours"],
};
The error is output when you attempt to extend from a configuration and the package for that configuration is not found in any searched node_modules/.
Common reasons for this occurring include:
- Not running
npm installor the equivalent package manager command - Mistyping the case-sensitive name of the package and/or configuration
Config Name Variations
Note that ESLint supports several config name formats:
- The
eslint-config-config name prefix may be omitted for brevity, e.g.extends: ["yours"]@npm scoped packages put theeslint-config-prefix after the org scope, e.g.extends: ["@org/yours"]to load from@org/eslint-config-yours
- A
plugin:prefix indicates a config is loaded from a shared plugin, e.g.extends: [plugin:yours/recommended]to load fromeslint-plugin-yours
Resolution
Common resolutions for this issue include:
- Upgrading all versions of all packages to their latest version.
- Adding the config as a
devDependencyin yourpackage.json. - Running
npm installor the equivalent package manager command. - Checking that the name in your config file matches the name of the config package.
Resources
For more information, see:
- Legacy ESLint configuration files for documentation on the legacy ESLint configuration format
- Legacy ESLint configuration files > Using a shareable configuration package for documentation on using shareable configurations
- Share Configurations for documentation on how to define standalone shared configs
- Create Plugins > Configs in Plugins for documentation on how to define shared configs in plugins