module.exports = { root: true, env: { node: true }, extends: [ 'formidable/rules/eslint/best-practices/on', 'formidable/rules/eslint/es6/on', 'formidable/rules/eslint/errors/off', 'formidable/rules/eslint/strict/on', 'formidable/rules/eslint/node/off', 'formidable/rules/eslint/style/on', 'formidable/rules/eslint/variables/on', 'plugin:vue/essential', '@vue/prettier' ], rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'callback-return': [ 'error', ['done', 'proceed', 'next', 'onwards', 'callback', 'cb'] ], camelcase: [ 'warn', { properties: 'always' } ], 'comma-style': ['warn', 'last'], curly: ['error'], eqeqeq: ['error', 'always'], 'eol-last': ['warn'], 'no-undef': 2, 'handle-callback-err': ['error'], 'arrow-body-style': ['off', 2], indent: ['off', 2], 'linebreak-style': ['error', 'unix'], 'no-dupe-keys': ['error'], 'no-duplicate-case': ['error'], 'no-extra-semi': ['warn'], 'no-labels': ['error'], 'no-mixed-spaces-and-tabs': [2, 'smart-tabs'], 'no-redeclare': ['warn'], 'no-return-assign': ['error', 'always'], 'no-sequences': ['error'], 'no-trailing-spaces': ['warn'], 'no-unexpected-multiline': ['warn'], 'no-unreachable': ['warn'], 'no-magic-numbers': ['off'], 'max-params': ['off'], 'max-len': ['off'], 'max-nested-callbacks': ['off'], 'new-cap': ['off'], 'consistent-this': ['error', 'that'], 'no-unused-vars': [ 'warn', { caughtErrors: 'all', caughtErrorsIgnorePattern: '^unused($|[A-Z].*$)' } ], 'no-use-before-define': [ 'error', { functions: false } ], 'no-var': 2, 'one-var': ['warn', 'never'], 'prefer-arrow-callback': [ 'warn', { allowNamedFunctions: true } ], quotes: [ 'warn', 'single', { avoidEscape: false, allowTemplateLiterals: true } ], semi: ['error', 'never'], 'semi-spacing': [ 'warn', { before: false, after: true } ], 'semi-style': ['warn', 'last'], 'space-before-function-paren': ['off', 2], 'prettier/prettier': 'error' }, parserOptions: { parser: 'babel-eslint' } }