Reputation: 1103
ESLint server throws following error:
[Info - 11:43:42] Failed to load plugin '@babel/plugin-proposal-class-properties' declared in '.eslintrc.json': Cannot find module '@babel/eslint-plugin-plugin-proposal-class-properties'
I installed @babel/plugin-proposal-class-properties
but ESLint server tries to load it from path: '@babel/eslint-plugin-plugin-proposal-class-properties'
while package is installed here: '@babel/plugin-proposal-class-properties'
.
package.json:
{
...
"dependencies": {},
"devDependencies": {
"@babel/core": "^7.12.3",
"@babel/eslint-parser": "^7.12.1",
"@babel/eslint-plugin": "^7.12.1",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"eslint": "^7.11.0",
"eslint-config-airbnb-base": "^14.2.0",
"eslint-plugin-import": "^2.22.1"
}
}
.eslintrc.json
{
"extends": ["airbnb-base"],
"parser": "@babel/eslint-parser",
"parserOptions": {
"sourceType": "module",
"allowImportExportEverywhere": false,
"requireConfigFile": false
},
"plugins": ["@babel", "@babel/plugin-proposal-class-properties"],
"rules": {
}
}
Why does ESLint try to load the plugin from the wrong path and how to fix it?
Upvotes: 5
Views: 3013
Reputation: 2582
I recommend using the below approach:
Add .babelrc file:
{
"presets": ["@babel/env"],
"plugins": ["@babel/plugin-proposal-class-properties"] //<-- Add your babel plugin's here
}
Update .eslintrc file as below:
"extends": [
"airbnb-base",
"eslint:recommended"
],
...
"parser": "babel-eslint",
...
"parserOptions": {
"sourceType": "module",
"allowImportExportEverywhere": false,
"babelOptions": {
"configFile": "./babelrc" //<---here
}
}
...
"plugins": [
"@babel",
],
...
"rules": {
"react/display-name": 1,
"no-unused-vars": "warn"
},
Other Helpful articles:
https://github.com/babel/babel-eslint/issues/818
https://github.com/babel/babel/tree/main/eslint/babel-eslint-parser#additional-parser-configuration
Declaring babel plugins for @babel/eslint-parser in .eslintrc
Good Luck!
Upvotes: 3