module.exports = { env: { browser: true, es6: true, mocha: true, node: true, }, extends: [ 'eslint:recommended', 'airbnb-base', 'plugin:vue/essential', 'plugin:import/errors', ], plugins: [ 'import', 'vue', ], globals: { deepEqual: true, describe: true, document: true, it: true, expect: true, Infusion: true, jQuery: true, module: true, test: true, window: true, sinon: true, console: true, }, rules: { 'arrow-body-style': 0, 'arrow-parens': ['error', 'always'], 'func-names': 0, 'global-require': 0, 'import/extensions': 0, 'import/first': 0, 'import/newline-after-import': 2, 'import/no-extraneous-dependencies': 0, 'import/no-duplicates': 2, 'import/no-dynamic-require': 0, 'import/no-unresolved': 0, 'import/order': 0, 'import/prefer-default-export': 0, indent: ['error', 4, { SwitchCase: 1, VariableDeclarator: 1, outerIIFEBody: 1, FunctionDeclaration: { parameters: 1, body: 1, }, FunctionExpression: { parameters: 1, body: 1, }, }], 'max-len': ['error', 210, 2, { ignoreComments: false, ignoreRegExpLiterals: true, ignoreStrings: true, ignoreTemplateLiterals: true, ignoreUrls: true, }], 'linebreak-style': 0, 'newline-per-chained-call': 0, 'no-bitwise': 0, 'no-mixed-operators': 0, 'no-param-reassign': 0, 'no-plusplus': 0, 'no-restricted-properties': 0, 'no-trailing-spaces': 0, 'no-unused-expressions': 0, 'prefer-rest-params': 0, semi: ['error', 'always'], 'space-before-function-paren': 0, 'no-console': 0, 'no-restricted-syntax': 0, 'no-nested-ternary': 0, 'no-use-before-define': 0, 'comma-dangle': ['error', { arrays: 'always-multiline', objects: 'always-multiline', imports: 'always-multiline', exports: 'always-multiline', functions: 'always-multiline', }], 'padding-line-between-statements': ['error', { blankLine: 'always', prev: '*', next: 'return', }, { blankLine: 'always', prev: '*', next: 'block-like', }, { blankLine: 'always', prev: ['const', 'let', 'var'], next: '*', }, { blankLine: 'any', prev: ['const', 'let', 'var'], next: ['const', 'let', 'var'], }], }, parserOptions: { parser: 'babel-eslint', }, };