43 lines
1.7 KiB
JavaScript
43 lines
1.7 KiB
JavaScript
module.exports = {
|
|
root: true,
|
|
env: {
|
|
browser: true,
|
|
node: true,
|
|
es6: true,
|
|
// 使用setup语法糖
|
|
'vue/setup-compiler-macros': true,
|
|
},
|
|
extends: ['airbnb-base', 'plugin:import/recommended', 'plugin:vue/vue3-essential', 'plugin:vue/vue3-recommended', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'],
|
|
parser: 'vue-eslint-parser',
|
|
parserOptions: {
|
|
parser: '@typescript-eslint/parser',
|
|
sourceType: 'module',
|
|
},
|
|
plugins: ['vue', '@typescript-eslint'],
|
|
rules: {
|
|
'import/extensions': [2, 'never', { 'web.js': 'never', json: 'never' }],
|
|
'@typescript-eslint/no-explicit-any': ['off'],
|
|
'import/no-extraneous-dependencies': [2, { devDependencies: true }],
|
|
'import/no-unresolved': 'off',
|
|
'@typescript-eslint/no-var-requires': 'off',
|
|
'prettier/prettier': 'off',
|
|
singleQuote:false,
|
|
semi:'never',
|
|
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
|
eqeqeq: 'off', // 要求使用 === 和 !==
|
|
indent: ['error', 2, { SwitchCase: 1 }], // 缩进风格
|
|
'newline-after-var': 'error', // 变量声明后是否需要空一行
|
|
'no-eq-null': 'error', // 禁止对null使用==或!=运算符
|
|
'no-eval': 'warn', // 禁止使用eval
|
|
'no-var': 'error',
|
|
'no-multi-spaces': 'warn', // 不能用多余的空格
|
|
'no-trailing-spaces': 'warn', // 一行结束后面不要有空格
|
|
'no-undef': 'warn', // 不能有未定义的变量
|
|
'semi-spacing': 'error', // 强制分号后面有空格
|
|
'@typescript-eslint/semi': 'error',
|
|
quotes: ['error', 'single'],
|
|
'arrow-spacing': 'error', // 要求箭头函数的=>前后有空格
|
|
},
|
|
};
|