eslint-config-prettier: eslint --fix runs " Cannot find module 'eslint-config-prettier/vue' " issue
got error on my laravel-vue project
Error:
Error: Cannot find module 'eslint-config-prettier/vue'
Referenced from: C:\xampp\htdocs\numcell-generator\.eslintrc.json
at ModuleResolver.resolve (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\util\module-resolver.js:72:19)
at resolve (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:484:28)
at load (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:556:26)
at configExtends.reduceRight (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:430:36)
at Array.reduceRight (<anonymous>)
at applyExtends (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:408:26)
at loadFromDisk (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:528:22)
at Object.load (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config\config-file.js:564:20)
at Config.getLocalConfigHierarchy (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config.js:227:44)
at Config.getConfigHierarchy (C:\Users\DIKA\AppData\Roaming\npm\node_modules\eslint\lib\config.js:179:43)
.eslintrc.json
{
"env": {
"browser": true,
"commonjs": true,
"es6": true
},
"extends": [
"eslint:recommended",
"plugin:vue/recommended",
"plugin:prettier/recommended",
"prettier",
"prettier/vue"
],
"parserOptions": {
"sourceType": "module"
},
"plugins": ["vue", "prettier"],
"rules": {
"linebreak-style": [
"error",
"windows"
],
"quotes": [
"error",
"single"
],
"no-console": "off",
"no-empty": 0,
"no-unused-vars": 0,
"no-undef": 0,
"no-mixed-spaces-and-tabs": 0
}
}
package.json
{
"private": true,
"scripts": {
"eslint-check": "eslint --print-config . | eslint-config-prettier-check",
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.18",
"cross-env": "^5.1",
"eslint": "^5.13.0",
"eslint-config-airbnb-base": "^13.1.0",
"eslint-config-standard": "^12.0.0",
"eslint-plugin-import": "^2.16.0",
"eslint-plugin-node": "^8.0.1",
"eslint-plugin-prettier": "^3.0.1",
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^5.1.0",
"laravel-mix": "^4.0.14",
"lodash": "^4.17.5",
"prettier": "1.16.1",
"prettier-eslint": "^8.8.2",
"resolve-url-loader": "^2.3.1",
"sass": "^1.17.0",
"sass-loader": "^7.1.0",
"vue": "^2.6.3",
"vue-template-compiler": "^2.6.3"
},
"dependencies": {
"@vue/eslint-config-prettier": "^4.0.1",
"ag-grid-community": "^20.0.0",
"ag-grid-vue": "^20.0.0",
"moment": "^2.24.0",
"sweetalert": "^2.1.2",
"vee-validate": "^2.1.7",
"vue-infinite-loading": "^2.4.3",
"vue-multiselect": "^2.1.3",
"vue-property-decorator": "^7.3.0",
"vue-router": "^3.0.2",
"vue-server-renderer": "^2.6.3",
"vuetify": "^1.5.0",
"vuex": "^3.1.0"
},
"eslintConfig": {
"root": true,
"extends": [
"plugin:vue/essential",
"plugin:prettier/recommended",
"eslint:recommended"
]
}
}
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 1
- Comments: 15 (9 by maintainers)
Yes, you have installed ESLint and all its plugins locally. When you run just
eslint foo.js
on the command line, you run another ESLint that you must have installed globally at some point.Quoting https://eslint.org/docs/user-guide/configuring:
This is a common mistake when using ESLint, and has nothing to do with eslint-config-prettier.
Here are a couple of ways of running the local ESLint:
node_modules/.bin/eslint foo.js
npx eslint foo.js
{ "scripts": { "eslint": "eslint" } }
to package.json andnpm run eslint -- foo.js
. (Alternatively:{ "scripts": { "eslint": "eslint whatever" } }
and justnpm run eslint
).$PATH
and do clever stuff to itYes, remove the
quotes
rule from your .eslintrc.js – it’s not needed. Also, removelinebreak-style
and use Prettier’send-of-line
instead.Some other tips: