55 lines
2.0 KiB
JavaScript
55 lines
2.0 KiB
JavaScript
module.exports = {
|
|
extends: ['alloy', 'alloy/vue', 'alloy/typescript', 'plugin:@typescript-eslint/recommended'],
|
|
parser: 'vue-eslint-parser',
|
|
parserOptions: {
|
|
parser: {
|
|
js: '@babel/eslint-parser',
|
|
jsx: '@babel/eslint-parser',
|
|
ts: '@typescript-eslint/parser',
|
|
tsx: '@typescript-eslint/parser',
|
|
},
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/consistent-type-assertions': 'off',
|
|
'@typescript-eslint/prefer-optional-chain': 'off',
|
|
'@typescript-eslint/explicit-member-accessibility': 'off',
|
|
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
'@typescript-eslint/no-unused-vars': 'off',
|
|
'@typescript-eslint/no-empty-interface': 'off',
|
|
'no-return-assign': 'off',
|
|
'guard-for-in': 'off',
|
|
|
|
'vue/no-setup-props-destructure': 'off',
|
|
'vue/no-duplicate-attr-inheritance': 'off',
|
|
'no-eq-null': 'off', // 允许 == 用于 null
|
|
|
|
'vue/v-on-event-hyphenation': 'off', // 关闭 vue 中 @ 使用短横线命名
|
|
'no-duplicate-imports': 'off', // 使用ts-eslint的重复导入规则
|
|
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
|
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
|
'vue/multi-word-component-names': 'off',
|
|
'vue/no-duplicate-attributes': [
|
|
'error',
|
|
{
|
|
allowCoexistClass: true, // 启用v-bind:class指令可以与普通class属性共存。默认值为true。
|
|
allowCoexistStyle: true,
|
|
},
|
|
],
|
|
// 圈复杂度 每个函数的最高圈复杂度
|
|
complexity: [
|
|
'error',
|
|
{
|
|
max: 12,
|
|
},
|
|
],
|
|
},
|
|
globals: {
|
|
defineProps: 'readonly',
|
|
defineEmits: 'readonly',
|
|
defineExpose: 'readonly',
|
|
withDefaults: 'readonly',
|
|
},
|
|
plugins: ['@typescript-eslint'],
|
|
};
|