{
  "extends": "eslint:recommended",
  "env": {},
  "globals": {},
  "rules": {
    "array-bracket-spacing": [ "error", "always" ],
    "block-spacing": "error",
    "brace-style": [ "error", "1tbs", { "allowSingleLine": true } ],
    "camelcase": [ "error", { "properties": "always" } ],
    "comma-dangle": [ "error", "never" ],
    "comma-spacing": [ "error", { "before": false, "after": true } ],
    "comma-style": [ "error", "last" ],
    "computed-property-spacing": [ "error", "always" ],
    "curly": [ "error", "all" ],
    "dot-location": [ "error", "property" ],
    "dot-notation": [ "error" ],
    "eol-last": "error",
    "eqeqeq": "error",
    "func-call-spacing": "error",
    "indent": [ "error", "tab", { "SwitchCase": 1 } ],
    "key-spacing": [ "error", { "beforeColon": false, "afterColon": true } ],
    "keyword-spacing": "error",
    "linebreak-style": [ "error", "unix" ],
    "max-len": [ "warn", {
      "code": 100,
      "tabWidth": 4,
      "ignorePattern": "^// eslint-.+",
      "ignoreUrls": true,
      "ignoreComments": false,
      "ignoreRegExpLiterals": true,
      "ignoreStrings": true,
      "ignoreTemplateLiterals": true
    } ],
    "max-statements-per-line": [ "error", { "max": 1 } ],
    "new-cap": [ "error", { "newIsCap": true, "capIsNew": false, "properties": true } ],
    "new-parens": "error",
    "no-array-constructor": "error",
    "no-bitwise": "error",
    "no-caller": "error",
    "no-constant-condition": [ "error", { "checkLoops": false } ],
    "no-empty": [ "error", { "allowEmptyCatch": true } ],
    "no-eval": "error",
    "no-extend-native": "error",
    "no-extra-bind": "error",
    "no-extra-label": "error",
    "no-floating-decimal": "error",
    "no-implicit-coercion": [ "error", { "string": true, "boolean": false, "number": false } ],
    "no-implicit-globals": "error",
    "no-implied-eval": "error",
    "no-label-var": "error",
    "no-loop-func": "error",
    "no-multi-spaces": "error",
    "no-multi-str": "error",
    "no-multiple-empty-lines": [ "error", { "max": 1, "maxBOF": 0, "maxEOF": 0 } ],
    "no-new": "error",
    "no-new-func": "error",
    "no-new-object": "error",
    "no-new-wrappers": "error",
    "no-octal-escape": "error",
    "no-proto": "error",
    "no-prototype-builtins": "error",
    "no-return-assign": "error",
    "no-script-url": "error",
    "no-self-compare": "error",
    "no-sequences": "error",
    "no-shadow-restricted-names": "error",
    "no-tabs": [ "error", { "allowIndentationTabs": true } ],
    "no-throw-literal": "error",
    "no-trailing-spaces": "error",
    "no-undef-init": "error",
    "no-underscore-dangle": "error",
    "no-unmodified-loop-condition": "error",
    "no-unneeded-ternary": [ "error", { "defaultAssignment": false } ],
    "no-unused-expressions": "error",
    "no-use-before-define": "error",
    "no-useless-call": "error",
    "no-useless-concat": "error",
    "no-void": "error",
    "no-whitespace-before-property": "error",
    "no-with": "error",
    "object-curly-spacing": [ "error", "always" ],
    "one-var": [ "error", "always" ],
    "operator-linebreak": [ "error", "after" ],
    "prefer-numeric-literals": "error",
    "quote-props": [ "error", "as-needed", { "keywords": true } ],
    "quotes": [ "error", "single", { "avoidEscape": true } ],
    "semi": [ "error", "always" ],
    "semi-spacing": [ "error", { "before": false, "after": true } ],
    "semi-style": [ "error", "last" ],
    "space-before-blocks": [ "error", "always" ],
    "space-before-function-paren": [ "error", { "anonymous": "always", "named": "never" } ],
    "space-in-parens": [ "error", "always", { "exceptions": [ "empty" ] } ],
    "space-infix-ops": "error",
    "space-unary-ops": [ "error", { "words": true, "nonwords": false } ],
    "spaced-comment": [ "error", "always", { "exceptions": [ "*", "!" ] } ],
    "switch-colon-spacing": [ "error", { "after": true, "before": false } ],
    "unicode-bom": [ "error" ],
    "valid-jsdoc": [ "error", {
      "requireParamDescription": false,
      "requireReturnDescription": false,
      "requireReturn": false,
      "prefer": {
        "virtual": "abstract",
        "augments": "extends",
        "constant": "const",
        "defaultvalue": "default",
        "description": "desc",
        "host": "external",
        "fileoverview": "file",
        "overview": "file",
        "emits": "fires",
        "function": "func",
        "var": "member",
        "arg": "param",
        "argument": "param",
        "prop": "property",
        "returns": "return",
        "exception": "throws",
        "yields": "yield",
        "linkcode": "link",
        "linkplain": "link"
      },
      "preferType": {
        "Boolean": "boolean",
        "Number": "number",
        "String": "string",
        "Undefined": "undefined",
        "Null": "null",
        "object": "Object",
        "array": "Array",
        "function": "Function",
        "date": "Date",
        "regexp": "RegExp",
        "error": "Error"
      }
    } ],
    "vars-on-top": "error",
    "wrap-iife": "error",
    "yoda": [ "error", "never" ]
  }
}
