|
|
|
/* eslint-env node */
|
|
|
|
module.exports = {
|
|
|
|
root: true,
|
|
|
|
|
|
|
|
extends: [
|
|
|
|
'plugin:vue/vue3-strongly-recommended',
|
|
|
|
'eslint:recommended',
|
|
|
|
'airbnb-base',
|
|
|
|
],
|
|
|
|
|
|
|
|
parserOptions: {
|
|
|
|
ecmaVersion: 'latest',
|
|
|
|
},
|
|
|
|
|
|
|
|
settings: {
|
|
|
|
'import/resolver': {
|
|
|
|
alias: [['@', './src']],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
rules: {
|
|
|
|
'no-underscore-dangle': 'off',
|
|
|
|
'arrow-parens': 'off',
|
|
|
|
'class-methods-use-this': 'off',
|
|
|
|
'no-console': 'warn',
|
|
|
|
'no-debugger': 'warn',
|
|
|
|
'vue/max-attributes-per-line': ['error', {
|
|
|
|
singleline: {
|
|
|
|
max: 6,
|
|
|
|
},
|
|
|
|
multiline: {
|
|
|
|
max: 6,
|
|
|
|
},
|
|
|
|
}],
|
|
|
|
'max-len': ['error', { code: 180 }],
|
|
|
|
indent: ['error', 4, {
|
|
|
|
SwitchCase: 1,
|
|
|
|
}],
|
|
|
|
'object-curly-newline': ['error', {
|
|
|
|
ObjectPattern: { multiline: true },
|
|
|
|
}],
|
|
|
|
'no-use-before-define': ['error', {
|
|
|
|
functions: false,
|
|
|
|
}],
|
|
|
|
'vue/script-indent': ['error', 4, {
|
|
|
|
baseIndent: 1,
|
|
|
|
switchCase: 1,
|
|
|
|
}],
|
|
|
|
'vue/html-indent': ['error', 4],
|
|
|
|
'vue/singleline-html-element-content-newline': 'off',
|
|
|
|
},
|
|
|
|
|
|
|
|
overrides: [
|
|
|
|
{
|
|
|
|
files: ['*.vue'],
|
|
|
|
rules: {
|
|
|
|
indent: 'off',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
files: ['vite.config.js'],
|
|
|
|
rules: {
|
|
|
|
'import/no-extraneous-dependencies': 'off',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
};
|
|
|
|
|