{
  "extends": ["prettier"],
  "parserOptions":{
    "ecmaVersion": 9
  },
  "env": {
    "node": true,
    "es6": true
  },
  "globals": {
    "axe": true
  },
  "rules": {
    "no-bitwise": 2,
    "camelcase": 2,
    "curly": 2,
    "eqeqeq": 2,
    "guard-for-in": 2,
    "wrap-iife": [
      2,
      "any"
    ],
    "no-use-before-define": [
      2,
      {
        "functions": false
      }
    ],
    "new-cap": 2,
    "no-caller": 2,
    "no-empty": 2,
    "no-new": 2,
    "no-plusplus": 0,
    "no-undef": 2,
    "no-unused-vars": 2,
    "strict": 0,
    "max-params": [
      2,
      5
    ],
    "max-depth": [
      2,
      5
    ],
    "no-cond-assign": 0,
    "no-debugger": 0,
    "no-eq-null": 0,
    "no-eval": 0,
    "no-unused-expressions": 0,
    "block-scoped-var": 0,
    "no-iterator": 0,
    "no-loop-func": 0,
    "no-multi-str": 0,
    "no-proto": 0,
    "no-script-url": 0,
    "no-shadow": 0,
    "dot-notation": 2,
    "no-new-func": 0,
    "no-new-wrappers": 0,
    "no-restricted-syntax": [
      "error",
      {
        "selector": "MemberExpression[property.name=tagName]",
        "message": "Don't use node.tagName, use node.nodeName instead."
      },
      {
        // node.attributes can be clobbered so is unsafe to use
        // @see https://github.com/dequelabs/axe-core/pull/1432
        "selector": "MemberExpression[object.name=node][property.name=attributes]",
        "message": "Don't use node.attributes, use node.hasAttributes() or axe.utils.getNodeAttributes(node) instead."
      }
    ]
  }
}
