module.exports = { root: true, env: { node: true, }, extends: [ 'plugin:vue/essential', '@vue/airbnb', ], rules: { // don't require .vue extension when importing 'import/extensions': ['error', 'always', { js: 'never', vue: 'never' }], // disallow reassignment of function parameters // disallow parameter object manipulation except for specific exclusions 'no-param-reassign': ['error', { props: true, ignorePropertyModificationsFor: [ 'state', // for vuex state 'acc', // for reduce accumulators 'e' // for e.returnvalue ] }], // allow optionalDependencies 'import/no-extraneous-dependencies': ['error', { optionalDependencies: ['test/unit/index.js'] }], 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-tabs': 0, 'semi': 0, "no-restricted-imports": 0, 'arrow-parens': 0, 'no-console': 0, 'import/prefer-default-export': 0, 'no-restricted-syntax': 0, 'no-loop-func': 0, 'no-plusplus': 0, 'no-continue': 0, 'quote-props': 0, 'no-nested-ternary': 0, 'import/first': 0, "max-len": [2, 256, 4, {"ignoreUrls": true}], "prefer-destructuring": [0], "no-alert": 0, "linebreak-style": 0, "no-param-reassign": 0, "no-multi-assign": 0, "vue/no-parsing-error": 0, "import/no-extraneous-dependencies": 0, "import/no-unresolved": 0, "import/extensions": 0, "no-unused-vars": 0, "prefer-const": 0, "no-lonely-if": 0, }, parserOptions: { parser: 'babel-eslint', }, };