--- plugins: - mocha - nodate parser: espree parserOptions: ecmaVersion: 2017 sourceType: "module" env: browser: true node: true es6: true jasmine: true mocha: true globals: __DEV__: true jest: true sinon: true chai: true spy: true stub: true rules: # ERRORS space-before-blocks: 2 indent: [2, 2, { "SwitchCase": 1 }] semi: [2, "always"] comma-dangle: [2, "never"] no-unused-expressions: 2 block-scoped-var: 2 dot-notation: 2 consistent-return: 2 no-unused-vars: [2, args: none] quotes: [2, 'single'] space-infix-ops: 2 no-else-return: 2 no-extra-parens: [2, "all", { "nestedBinaryExpressions": false }] no-eq-null: 2 no-floating-decimal: 2 no-param-reassign: 2 no-self-compare: 2 wrap-iife: [2, "inside"] brace-style: [2, "1tbs", { "allowSingleLine": false }] object-curly-spacing: [1, "always"] func-style: [2, "expression"] no-lonely-if: 2 space-in-parens: [2, "never"] space-before-function-paren: [2, { "anonymous": "ignore", "named": "never", "asyncArrow": "ignore" }] generator-star-spacing: [2, "neither"] spaced-comment: [2, "always"] eol-last: 2 no-multi-spaces: 2 curly: [2, "multi"] camelcase: [2, {properties: "never"}] no-eval: 2 no-var: 2 max-len: [2, 120] complexity: [2, 6] arrow-parens: [2, "always"] nodate/no-date: 2 # use of Date (instead of abacus-moment) nodate/no-new-date: 2 nodate/no-moment: 2 nodate/no-moment-without-utc: 2 # WARNINGS no-use-before-define: 1 # We use this for functions that reference each other mocha/no-exclusive-tests: 1 # warn for exclusive (.only) tests valid-jsdoc: 1 # DISABLED. These aren't compatible with our style no-underscore-dangle: 0 # We use this for private/internal variables new-cap: 0 # We pass constructors around / access them from members key-spacing: 0 # We do this in a few places to align values space-after-keywords: 0 # We do this a lot no-shadow: 0 # We do this mostly for callbacks space-in-brackets: 0 # We do not use spaces in brackets but use spaces in braces