---
root: true

parserOptions:
  ecmaVersion: 8

env:
  node: true
  es6: true
  mocha: true
  jasmine: true

extends: 'eslint:recommended'

rules:
  indent: [2, 4, { "SwitchCase": 1 }]
  linebreak-style: [2, "unix"]
  semi: [2, "always"]
  comma-dangle: [2, "never"]
  consistent-return: 0
  no-plusplus: [2, { "allowForLoopAfterthoughts": true }]
  eqeqeq: [2, "smart"]
  wrap-iife: [2, "any"]
  no-empty-function: 2
  no-console: 0
  no-mixed-spaces-and-tabs: 2
  no-whitespace-before-property: 2
  space-before-function-paren: [2, "never"]
  space-in-parens: [2, "never"]
  array-callback-return: 2
  class-methods-use-this: 0
  dot-notation: [2, { "allowKeywords": true }]
  no-alert: 1
  no-caller: 2
  no-else-return: 2
  no-eval: 2
  no-extend-native: 2
  no-extra-bind: 2
  no-floating-decimal: 2
  no-implied-eval: 2
  no-iterator: 2
  no-lone-blocks: 2
  no-multi-spaces: 2
  no-new-wrappers: 2
  no-octal: 2
  no-proto: 2
  no-redeclare: 2
  no-self-assign: 2
  no-self-compare: 2
  no-throw-literal: 2
  no-useless-concat: 2
  no-useless-escape: 2
  no-useless-return: 2
  no-with: 2
  yoda: 2
  no-dupe-keys: 2
  use-isnan: 2
  no-unreachable: 2
  no-tabs: 2
  object-curly-spacing: [2, "always"]
