// install all these packages as dev dependency
// file below is package.json
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.30.7",
"@typescript-eslint/parser": "^5.30.7",
"@vue/eslint-config-typescript": "^11.0.0",
"eslint": "^8.20.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.2.0",
"prettier": "2.7.1",
"vue-eslint-parser": "^9.0.3"
}
// and your .eslintrc.js file: ----------------------------
module.exports = {
root: true,
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
},
env: {
node: true,
},
extends: [
'plugin:vue/strongly-recommended',
'eslint:recommended',
'@vue/typescript/recommended',
'plugin:vue/vue3-recommended',
'plugin:prettier/recommended',
],
plugins: ['@typescript-eslint', 'prettier'],
rules: {
// override/add rules settings here, such as:
'no-undef': 1,
'vue/component-name-in-template-casing': ['error', 'PascalCase'],
'vue/multi-word-component-names': 'off',
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'prettier/prettier': 'error',
'vue/no-multiple-template-root': 'off',
},
}