192 lines
3.4 KiB
JavaScript
192 lines
3.4 KiB
JavaScript
/* eslint-env node */
|
|
require('@rushstack/eslint-patch/modern-module-resolution');
|
|
|
|
module.exports = {
|
|
root: true,
|
|
extends: [
|
|
'plugin:vue/vue3-essential',
|
|
'eslint:recommended',
|
|
'@vue/eslint-config-typescript',
|
|
'./.eslintrc-auto-import.json'
|
|
],
|
|
plugins: [ '@stylistic' ],
|
|
parserOptions: {
|
|
ecmaVersion: 'latest'
|
|
},
|
|
rules: {
|
|
'keyword-spacing': 'error',
|
|
|
|
'@stylistic/array-bracket-newline': [
|
|
'error',
|
|
{
|
|
minItems: 2
|
|
}
|
|
],
|
|
'@stylistic/array-bracket-spacing': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/array-element-newline': [
|
|
'error',
|
|
{
|
|
minItems: 2
|
|
}
|
|
],
|
|
'@stylistic/arrow-parens': [
|
|
'error',
|
|
'as-needed'
|
|
],
|
|
'@stylistic/arrow-spacing': 'error',
|
|
'@stylistic/brace-style': [
|
|
'error',
|
|
'stroustrup'
|
|
],
|
|
'@stylistic/comma-dangle': [
|
|
'error',
|
|
'never'
|
|
],
|
|
'@stylistic/comma-style': [
|
|
'error',
|
|
'last'
|
|
],
|
|
'@stylistic/dot-location': [
|
|
'error',
|
|
'property'
|
|
],
|
|
'@stylistic/eol-last': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/function-call-argument-newline': [
|
|
'error',
|
|
'consistent'
|
|
],
|
|
'@stylistic/function-paren-newline': [
|
|
'error',
|
|
{
|
|
minItems: 5
|
|
}
|
|
],
|
|
'@stylistic/indent': [
|
|
'error',
|
|
'tab'
|
|
],
|
|
'@stylistic/linebreak-style': [
|
|
'error',
|
|
'unix'
|
|
],
|
|
'@stylistic/lines-around-comment': [
|
|
'error',
|
|
{
|
|
beforeBlockComment: true
|
|
}
|
|
],
|
|
'@stylistic/lines-between-class-members': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/no-extra-semi': 'error',
|
|
'@stylistic/no-floating-decimal': 'error',
|
|
'@stylistic/no-mixed-operators': 'error',
|
|
'@stylistic/no-mixed-spaces-and-tabs': 'error',
|
|
'@stylistic/no-multi-spaces': [
|
|
'error',
|
|
{
|
|
exceptions: {
|
|
VariableDeclarator: true,
|
|
ImportDeclaration: true
|
|
}
|
|
}
|
|
],
|
|
'@stylistic/no-multiple-empty-lines': 'error',
|
|
'@stylistic/no-trailing-spaces': 'error',
|
|
'@stylistic/no-whitespace-before-property': 'error',
|
|
'@stylistic/nonblock-statement-body-position': [
|
|
'error',
|
|
'below'
|
|
],
|
|
'@stylistic/object-curly-newline': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/object-curly-spacing': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/object-property-newline': [
|
|
'error',
|
|
{
|
|
allowAllPropertiesOnSameLine: false
|
|
}
|
|
],
|
|
'@stylistic/operator-linebreak': [
|
|
'error',
|
|
'before'
|
|
],
|
|
'@stylistic/padded-blocks': [
|
|
'error',
|
|
'never'
|
|
],
|
|
'@stylistic/padding-line-between-statements': [
|
|
'error',
|
|
{
|
|
blankLine: 'always',
|
|
prev: '*',
|
|
next: 'return'
|
|
}
|
|
],
|
|
'@stylistic/quote-props': [
|
|
'error',
|
|
'as-needed'
|
|
],
|
|
'@stylistic/quotes': [
|
|
'error',
|
|
'single'
|
|
],
|
|
'@stylistic/rest-spread-spacing': [
|
|
'error',
|
|
'never'
|
|
],
|
|
'@stylistic/semi': 'error',
|
|
'@stylistic/semi-spacing': 'error',
|
|
'@stylistic/semi-style': [
|
|
'error',
|
|
'last'
|
|
],
|
|
'@stylistic/space-before-blocks': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/space-before-function-paren': [
|
|
'error',
|
|
'never'
|
|
],
|
|
'@stylistic/space-in-parens': [
|
|
'error',
|
|
'never'
|
|
],
|
|
'@stylistic/space-infix-ops': 'error',
|
|
'@stylistic/spaced-comment': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/switch-colon-spacing': 'error',
|
|
'@stylistic/template-curly-spacing': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/template-tag-spacing': [
|
|
'error',
|
|
'always'
|
|
],
|
|
'@stylistic/wrap-regex': 'error',
|
|
|
|
'vue/comment-directive': 'off',
|
|
'vue/html-indent': [
|
|
'error',
|
|
2
|
|
],
|
|
'vue/multi-word-component-names': 'off'
|
|
}
|
|
};
|