extends:
    - sinon
    - 'plugin:prettier/recommended'

env:
  browser: true
  node: true

globals:
  ArrayBuffer: false
  Map: false
  Promise: false
  Set: false
  Symbol: false

plugins:
  - ie11
  - local-rules

rules:
  strict: [error, 'global']
  # authors are expected to understand function hoisting
  no-use-before-define: off

  ie11/no-collection-args: error
  ie11/no-for-in-const: error
  ie11/no-loop-func: warn
  ie11/no-weak-collections: error
  local-rules/no-prototype-methods: error

overrides:
    - files: '*.test.*'
      plugins:
          - mocha
      env:
          mocha: true
      rules:
        max-nested-callbacks:
          - warn
          - 6
        mocha/handle-done-callback: error
        mocha/no-exclusive-tests: error
        mocha/no-global-tests: error
        mocha/no-hooks-for-single-case: off
        mocha/no-identical-title: error
        mocha/no-mocha-arrows: error
        mocha/no-nested-tests: error
        mocha/no-return-and-callback: error
        mocha/no-sibling-hooks: error
        mocha/no-skipped-tests: error
        mocha/no-top-level-hooks: error
        local-rules/no-prototype-methods: off
