自己的 eslint
module.exports = {
env: {
browser: true,
es6: true,
node: true
},
extends: [
'eslint:recommended',
'plugin:vue/essential'
],
plugins: [
'vue'
],
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly'
},
parser: 'vue-eslint-parser',
parserOptions: {
parser: 'babel-eslint',
ecmaVersion: '2018',
sourceType: 'module'
},
rules: {
quotes: [2, 'single', { 'allowTemplateLiterals': true }],
semi: [2, 'never'],
'keyword-spacing': 2,
'max-len': [1, 100],
'eqeqeq': [2, 'allow-null'],
'no-undef-init': 2,
'no-undefined': 0,
'no-unused-vars': [2, { 'vars': 'all', 'args': 'none' }],
'no-var': 2,
'prefer-const': 2,
'spaced-comment': [2, 'always'],
'vue/multiline-html-element-content-newline': 0,
'vue/max-attributes-per-line': [2, {
'singleline': 4,
'multiline': {
'max': 4,
'allowFirstLine': true
}
}],
'vue/html-indent': [2, 'tab', {
'attribute': 4,
'baseIndent': 1,
'closeBracket': 0,
'alignAttributesVertically': true,
'ignores': []
}],
'vue/attributes-order': [2, {
'order': [
'DEFINITION',
'LIST_RENDERING',
'CONDITIONALS',
'RENDER_MODIFIERS',
'GLOBAL',
'UNIQUE',
'TWO_WAY_BINDING',
'OTHER_DIRECTIVES',
'OTHER_ATTR',
'EVENTS',
'CONTENT'
],
'alphabetical': false
}]
}
}