1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| module.exports = { root: true, globals: { defineEmits: 'readonly', defineProps: 'readonly', }, extends: [ 'plugin:@typescript-eslint/recommended', 'plugin:vue/vue3-recommended', 'airbnb-base', ], parserOptions: { parser: '@typescript-eslint/parser', ecmaVersion: 2020, }, rules: { 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 'no-bitwise': 'off', 'no-tabs': 'off', 'array-element-newline': ['error', 'consistent'], indent: [ 'error', 2, { MemberExpression: 0, SwitchCase: 1, ignoredNodes: ['TemplateLiteral'] }, ], quotes: ['error', 'single'], 'comma-dangle': ['error', 'always-multiline'], 'object-curly-spacing': ['error', 'always'], 'max-len': ['error', 120], 'no-new': 'off', 'linebreak-style': 'off', 'import/extensions': 'off', 'eol-last': 'off', 'no-shadow': 'off', 'no-unused-vars': 'warn', 'import/no-cycle': 'off', 'arrow-parens': 'off', semi: ['error', 'never'], eqeqeq: 'off', 'no-param-reassign': 'off', 'import/prefer-default-export': 'off', 'no-use-before-define': 'off', 'no-continue': 'off', 'prefer-destructuring': 'off', 'no-plusplus': 'off', 'prefer-const': 'warn', 'global-require': 'off', 'no-prototype-builtins': 'off', 'consistent-return': 'off', 'one-var-declaration-per-line': 'off', 'one-var': 'off', 'import/named': 'off', 'object-curly-newline': 'off', 'default-case': 'off', 'no-trailing-spaces': 'off', 'func-names': 'off', radix: 'off', 'no-unused-expressions': 'off', 'no-underscore-dangle': 'off', 'no-nested-ternary': 'off', 'no-restricted-syntax': 'off', 'no-await-in-loop': 'off', 'import/no-extraneous-dependencies': 'off', 'import/no-unresolved': 'off', 'template-curly-spacing': ['error', 'always'], '@typescript-eslint/no-var-requires': 'off', '@typescript-eslint/no-empty-function': 'off', '@typescript-eslint/no-explicit-any': 'off', 'guard-for-in': 'off', 'class-methods-use-this': 'off', 'vue/html-indent': ['error', 2], 'vue/html-self-closing': 'off', 'vue/max-attributes-per-line': [ 'warn', { singleline: { max: 3, allowFirstLine: true, }, multiline: { max: 1, allowFirstLine: false, }, }, ], 'vue/singleline-html-element-content-newline': 'off', } }
|