@blueking/eslint-config
Version:
蓝鲸前端代码 ESLint 规则
82 lines (81 loc) • 1.87 kB
JavaScript
const baseRules = require('./config/base-rules')
const baseVueRules = require('./config/base-vue-rules')
module.exports = {
root: true,
parser: 'vue-eslint-parser',
parserOptions: {
parserOptions: '@typescript-eslint/parser',
sourceType: 'module',
ecmaVersion: 2019,
ecmaFeatures: {
globalReturn: false,
impliedStrict: false,
jsx: true
}
},
extends: ['./tencent-config/index.js', 'plugin:vue/recommended', '@vue/typescript'],
plugins: ['vue'],
rules: {
...baseRules,
...baseVueRules,
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': ['error']
},
overrides: [
{
files: ['*.ts', '*.tsx'],
rules: {
indent: 'off',
'@typescript-eslint/indent': ['error', 2]
}
},
{
files: ['*.vue'],
rules: {
'new-cap': 'off',
indent: 'off',
'vue/script-indent': 'off',
'@typescript-eslint/indent': ['error', 2],
'max-len': 0,
'vue/max-len': ['error', {
code: 120,
template: 8000,
tabWidth: 2,
comments: 8000,
ignorePattern: '',
ignoreComments: false,
ignoreTrailingComments: false,
ignoreUrls: false,
ignoreStrings: false,
ignoreTemplateLiterals: false,
ignoreRegExpLiterals: false,
ignoreHTMLAttributeValues: false,
ignoreHTMLTextContents: false
}],
'no-param-reassign': ['warn', {
props: false
}]
}
},
{
files: ['*.js'],
rules: {
'no-param-reassign': ['warn', {
props: false
}]
}
}
],
settings: {
'import/extensions': [
'.js',
'.jsx',
'.ts',
'.tsx',
'.vue'
],
'import/parsers': {
'vue-eslint-parser': ['.vue']
}
}
}