77 lines
1.9 KiB
JavaScript
77 lines
1.9 KiB
JavaScript
module.exports = {
|
||
env: {
|
||
browser: true,
|
||
es2021: true
|
||
},
|
||
extends: [
|
||
'plugin:vue/essential',
|
||
'airbnb-base'
|
||
],
|
||
parserOptions: {
|
||
ecmaVersion: 13,
|
||
parser: '@typescript-eslint/parser',
|
||
sourceType: 'module'
|
||
},
|
||
plugins: [
|
||
'vue',
|
||
'@typescript-eslint'
|
||
],
|
||
rules: {
|
||
indent: ['error', 2],
|
||
|
||
// 'linebreak-style': ['error', 'unix'],
|
||
'linebreak-style': 'off',
|
||
quotes: ['error', 'single'],
|
||
semi: ['error', 'never'],
|
||
'no-console': 'warn',
|
||
'no-unused-vars': 0,
|
||
'arrow-parens': 0,
|
||
|
||
// 数组和对象键值对最后一个逗号, never参数:不能带末尾的逗号, always参数:必须带末尾的逗号,
|
||
'comma-dangle': [2, 'never'],
|
||
|
||
// 控制逗号前后的空格
|
||
'comma-spacing': [2, { before: false, after: true }],
|
||
|
||
// 控制逗号在行尾出现还是在行首出现
|
||
'comma-style': [2, 'last'],
|
||
'no-tabs': 0,
|
||
'import/no-extraneous-dependencies': [1, { devDependencies: true }],
|
||
'import/no-unresolved': 0,
|
||
'import/no-absolute-path': 0,
|
||
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
|
||
'vue/html-self-closing': 'off',
|
||
'vue/no-multiple-template-root': 1,
|
||
'max-len': ['warn', 80],
|
||
'no-param-reassign': ['error', { props: false }],
|
||
'no-use-before-define': 1,
|
||
'no-unused-expressions': 0,
|
||
|
||
// add new line above comment
|
||
'lines-around-comment': [
|
||
'error',
|
||
{
|
||
beforeBlockComment: true,
|
||
beforeLineComment: true,
|
||
allowBlockStart: true,
|
||
allowClassStart: true,
|
||
allowObjectStart: true,
|
||
allowArrayStart: true
|
||
}
|
||
],
|
||
|
||
// 'newline-before-return': 'error',
|
||
'import/newline-after-import': ['error', { count: 1 }],
|
||
'import/extensions': [
|
||
'warn',
|
||
'ignorePackages',
|
||
{
|
||
js: 'never',
|
||
jsx: 'never',
|
||
ts: 'never',
|
||
tsx: 'never'
|
||
}
|
||
]
|
||
}
|
||
}
|