cvsip-web/.eslintrc.js

71 lines
1.9 KiB
JavaScript
Raw Normal View History

2024-11-18 11:00:55 +08:00
module.exports = {
root: true,
env: {
browser: true,
es2021: true,
node: true,
},
// 指定如何解析语法
parser: 'vue-eslint-parser',
// 优先级低于 parse 的语法解析配置
parserOptions: {
parser: '@typescript-eslint/parser',
ecmaVersion: 'latest',
sourceType: 'module',
},
// 继承某些已有的规则
extends: [
'plugin:vue/vue3-essential',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended', // 添加 prettier 插件
],
plugins: ['vue', '@typescript-eslint', 'import', 'prettier', 'simple-import-sort'],
overrides: [
{
files: ['*.ts', '*.tsx'],
parser: '@typescript-eslint/parser',
},
],
rules: {
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/promise-function-async': 'off',
'vue/multi-word-component-names': 'off',
'simple-import-sort/imports': [
'error',
{
groups: [
[
// 以字母(或数字或下划线)或“@”后面跟着字母开头的东西,通常为内置模块引入
'^@?\\w',
// 内部导入 "@/"
'^@(/.*|$)',
`^@/assets$`,
`^@/components$`,
`^@/config$`,
`^@/hooks$`,
`^@/plugins$`,
`^@/router$`,
`^@/store$`,
`^@/styles$`,
`^@/utils$`,
// 父级导入. 把 `..` 放在最后.
'^\\.\\.(?!/?$)',
'^\\.\\./?$',
// 同级导入. 把同一个文件夹.放在最后
'^\\./(?=.*/)(?!/?$)',
'^\\.(?!/?$)',
'^\\./?$',
// 样式导入.
'^.+\\.?(css|less|scss)$',
// 带有副作用导入比如import 'a.css'这种.
'^\\u0000',
],
],
},
],
'simple-import-sort/exports': 'error', // 导出
'import/order': 'off',
},
};