---
env:
  node: true
  mocha: true

globals:
  require: false
  angular: false
  describe: false
  beforeEach: false
  afterEach: false
  inject: false
  expect: false
  it: false
  sinon: false
  module: false


rules:
  comma-dangle:
    - 2
    - always-multiline
  no-cond-assign: 2
  no-console: 2
  no-constant-condition: 2
  no-control-regex: 2
  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: 0
  no-extra-semi: 2
  no-func-assign: 2
  no-inner-declarations: 2
  no-invalid-regexp: 2
  no-irregular-whitespace: 2
  no-negated-in-lhs: 2
  no-obj-calls: 2
  no-regex-spaces: 2
  no-regex-spaces: 2
  no-reserved-keys: 0
  no-sparse-arrays: 2
  no-unreachable: 2
  valid-jsdoc: 2
  valid-typeof: 2
  no-unexpected-multiline: 2

  accessor-pairs:
    - 2
    -
      getWithoutSet: false
      setWithoutGet: true
  complexity:
    - 1
    - 5
  consistent-return: 2
  curly: 2
  default-case: 2
  dot-notation: 2
  dot-location:
    - 2
    - property
  eqeqeq:
    - 2
    - smart
  guard-for-in: 2
  no-alert: 2
  no-caller: 2
  no-div-regex: 2
  no-else-return: 2
  no-empty-label: 2
  no-eq-null: 2
  no-eval: 2
  no-extend-native: 2
  no-extra-bind: 2
  no-fallthrough: 2
  no-floating-decimal: 2
  no-implied-eval: 2
  no-iterator: 2
  no-labels: 2
  no-lone-blocks: 2
  no-loop-func: 2
  no-multi-spaces: 2
  no-multi-str: 2
  no-native-reassign: 2
  no-new-func: 2
  no-new: 2
  no-octal-escape: 2
  no-octal: 2
  no-param-reassign: 0
  no-process-env: 0
  no-proto: 2
  no-redeclare: 2
  no-return-assign: 2
  no-script-url: 2
  no-self-compare: 2
  no-sequences: 2
  no-throw-literal: 2
  no-unused-expressions: 2
  no-void: 2
  no-warning-comments: 0
  no-with: 2
  radix: 2
  vars-on-top: 2
  wrap-iife: 2
  yoda:
    - 2
    - always

  strict:
    - 2
    - global

  no-catch-shadow: 2
  no-delete-var: 2
  no-label-var: 2
  no-shadow-restricted-names: 2
  no-shadow: 2
  no-undef-init: 2
  no-undef: 2
  no-undefined: 2
  no-unused-vars: 2
  no-use-before-define:
    - 2
    - nofunc

  handle-callback-err: 2
  no-mixed-requires: 0
  no-new-require: 2
  no-path-concat: 2
  no-process-exit: 0
  no-restricted-modules: 0
  no-sync: 0

  array-bracket-spacing:
    - 2
    - never
  brace-style: 0
  camelcase: 0
  comma-spacing:
    - 2
    -
      before: false
      after: true
  comma-style:
    - 2
    - last
  computed-property-spacing:
    - 2
    - never
  consistent-this:
    - 2
    - _this
  eol-last: 2
  func-names: 0
  func-style:
    - 2
    - declaration
  indent:
    - 2
    - 2
    -
      SwitchCase: 1
  key-spacing:
    - 2
    -
      beforeColon: false
      afterColon: true
  lines-around-comment: 0
  linebreak-style:
    - 2
    - unix
  max-nested-callbacks:
    - 2
    - 4
  new-cap:
    - 2
    -
      newIsCap: true
      capIsNew: true
  new-parens: 2
  newline-after-var:
    - 2
    - always
  new-parens: 2
  no-array-constructor: 2
  no-continue: 0
  no-inline-comments: 0
  no-lonely-if: 2
  no-mixed-spaces-and-tabs: 2
  no-multiple-empty-lines:
    - 2
    -
      max: 2
  no-nested-ternary: 0
  no-new-object: 2
  no-spaced-func: 2
  no-ternary: 0
  no-trailing-spaces: 2
  no-underscore-dangle: 0
  no-unneeded-ternary: 2
  object-curly-spacing:
    - 2
    - always
  one-var:
    - 2
    - never
  operator-assignment:
    - 2
    - always
  operator-linebreak:
    - 2
    - after
  padded-blocks: 0
  quote-props:
    - 2
    - as-needed
  padded-blocks: 0
  quotes:
    - 2
    - single
  padded-blocks: 0
  semi-spacing:
    - 2
    -
      before: false
      after: true
  space-infix-ops: 2
  semi:
    - 2
    - always
  sort-vars: 0
  space-after-keywords: 0
  space-before-blocks:
    - 2
    - always
  space-before-function-paren:
    - 2
    - never
  space-in-parens:
    - 2
    - never
  space-infix-ops: 2
  space-return-throw-case: 2
  space-unary-ops: 2
  spaced-comment:
    - 2
    - always
  wrap-regex: 2
  max-len:
    - 2
    - 100
    - 2
  max-params:
    - 2
    - 4
