{ "env": { "node": true, "es6": true, "mocha": true, }, "parserOptions": { "ecmaVersion": 2017, "ecmaFeatures": { "arrowFunctions": true, "blockBindings": true, "classes": true, "defaultParams": true, "destructuring": true, "experimentalObjectRestSpread": true, "forOf": true, "generators": false, "modules": true, "objectLiteralComputedProperties": true, "objectLiteralDuplicateProperties": false, "objectLiteralShorthandMethods": true, "objectLiteralShorthandProperties": true, "spread": true, "superInFunctions": true, "templateStrings": true, "jsx": false } }, "rules": { # Possible Errors comma-dangle: 0, no-cond-assign: 2, no-console: 0, no-constant-condition: 2, no-control-regex: 0, no-debugger: 2, no-dupe-args: 2, no-dupe-keys: 2, no-duplicate-case: 2, no-empty-character-class: 2, no-empty: 2, no-ex-assign: 2, no-extra-boolean-cast: 2, no-extra-parens: [2, "functions"], no-extra-semi: 2, no-func-assign: 2, no-inner-declarations: 0, no-invalid-regexp: 2, no-irregular-whitespace: 2, no-negated-in-lhs: 2, no-obj-calls: 2, no-regex-spaces: 0, no-reserved-keys: 0, no-sparse-arrays: 2, no-unreachable: 2, use-isnan: 2, valid-jsdoc: 0, valid-typeof: 2, no-unexpected-multiline: 2, # Best Practices array-callback-return: 2, block-scoped-var: 2, curly: 0, default-case: 2, dot-notation: 2, dot-location: [2, "property"], eqeqeq: 2, no-caller: 2, no-else-return: 0, no-eq-null: 2, no-eval: 2, no-extend-native: 2, no-fallthrough: 2, no-floating-decimal: 2, no-loop-func: 2, no-multi-spaces: 2, no-multi-str: 2, no-proto: 2, no-redeclare: [2, {builtinGlobals: false}], no-return-assign: 2, no-unmodified-loop-condition: 2, no-unused-expressions: 2, no-void: 2, # Strict Mode strict: [2, "never"], # Variables no-undef-init: 2, no-undef: 2, no-unused-vars: 2, no-use-before-define: [2, "nofunc"], # Node.js and Common.js no-mixed-requires: 2, no-new-require: 2, # Stylistic Issues, block-spacing: 2, camelcase: [2, {properties: "never"}], comma-spacing: [2, {before: false, after: true}], comma-style: [2, "last"], computed-property-spacing: [2, "never"], eol-last: 0, indent: [2, 2, { "SwitchCase": 1 }], key-spacing: [2, {"beforeColon": false, "afterColon": true}], linebreak-style: [2, "unix"], max-nested-callbacks: [2, 10], new-cap: 0, new-parens: 2, no-multiple-empty-lines: [2, {max: 2}], no-nested-ternary: 2, no-spaced-func: 2, no-ternary: 0, no-trailing-spaces: 2, no-unneeded-ternary: 2, no-whitespace-before-property: 2, object-curly-spacing: [2, "never"], operator-linebreak: [2, "after"], quote-props: [2, "as-needed"], quotes: [2, "single", "avoid-escape"], semi: 2, semi-spacing: 2, keyword-spacing: 2, space-before-blocks: [2, "always"], space-before-function-paren: [2, {"anonymous": "never", "named": "never", "asyncArrow": "always"}], space-in-parens: [2, "never"], space-infix-ops: 0, space-unary-ops: 2, # ECMAScript 6 arrow-parens: [2, "as-needed"], arrow-spacing: 2, constructor-super: 2, generator-star-spacing: [2, {"before": false, "after": true}], no-class-assign: 2, no-confusing-arrow: 2, no-const-assign: 2, no-dupe-class-members: 2, #no-var: 2, #object-shorthand: 2, #prefer-arrow-callback: 1, #prefer-const: 1, #prefer-spread: 1, prefer-template: 1, template-curly-spacing: 2 } }