module.exports = {
root: true,
env: {
browser: true,
es6: true,
node: true,
},
extends: ['eslint-config-tencent', 'plugin:prettier/recommended'],
globals: {
BUILD_ENV: 'readonly',
process: 'readonly',
},
parser: '@babel/eslint-parser',
parserOptions: {
ecmaVersion: 2020,
sourceType: 'module',
requireConfigFile: false,
babelOptions: {
presets: [['@babel/preset-env', { modules: false }]],
plugins: [
['@babel/plugin-transform-runtime', { corejs: 3 }],
['@babel/plugin-proposal-decorators', { legacy: true }],
'@babel/plugin-proposal-class-properties',
'@babel/plugin-proposal-nullish-coalescing-operator',
'@babel/plugin-proposal-optional-chaining',
],
},
},
plugins: ['prettier'],
overrides: [
{
files: ['**/*.ts', '**/*.tsx'],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'prettier'],
extends: ['eslint-config-tencent', 'plugin:prettier/recommended'],
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-unused-vars': [
'warn',
{
args: 'none',
},
],
'no-unused-vars': 'off',
camelcase: 'off',
'no-underscore-dangle': 'off',
},
},
{
files: ['**/*.vue'],
parser: 'vue-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser',
ecmaVersion: 2020,
sourceType: 'module',
},
plugins: ['@typescript-eslint', 'prettier'],
extends: ['eslint-config-tencent', 'plugin:prettier/recommended'],
rules: {
'prettier/prettier': 'error',
camelcase: 'off',
'no-underscore-dangle': 'off',
},
},
],
rules: {
'prettier/prettier': 'error',
'no-param-reassign': ['error', { props: false }],
'no-unused-vars': [
'error',
{
args: 'none',
},
],
},
};