{
  "env": {
    "browser": true,
    "node": false,
    "es6": true,
    "jquery": true
  },
  "globals": {
    "module": true,
    "require": true,
    "define": true,
    "process": true
  },
  "parser": "babel-eslint",
  "rules": {
    "no-array-constructor": "error",
    "array-callback-return": "error",
    "prefer-spread": "warn",
    "prefer-arrow-callback": "warn",
    "arrow-spacing": [
      "error",
      {
        "before": true,
        "after": true
      }
    ],
    "arrow-parens": ["error", "as-needed"],
    "brace-style": [
      "error",
      "1tbs",
      {
        "allowSingleLine": true
      }
    ],
    "curly": "error",
    "guard-for-in": "error",
    "no-dupe-class-members": "error",
    "no-class-assign": "error",
    "no-useless-constructor": "error",
    "no-this-before-super": "error",
    "comma-style": ["error", "last"],
    "spaced-comment": [
      "error",
      "always",
      {
        "line": {
          "markers": ["/"],
          "exceptions": ["-"]
        },
        "block": {
          "markers": ["/", "*"]
        }
      }
    ],
    "valid-jsdoc": [
      2,
      {
        "requireParamDescription": false,
        "requireReturnDescription": false,
        "requireReturn": false
      }
    ],
    "eqeqeq": [2, "always", { "null": "ignore" }],
    "no-case-declarations": 2,
    "no-undefined": 2,
    "no-nested-ternary": 2,
    "no-empty-pattern": 2,
    "no-param-reassign": [2, { "props": false }],
    "max-params": [2, 5],
    "prefer-rest-params": 2,
    "wrap-iife": [2, "outside"],
    "no-inner-declarations": 2,
    "no-new-func": 2,
    "no-unreachable": 2,
    "no-duplicate-imports": [
      2,
      {
        "includeExports": true
      }
    ],
    "camelcase": ["warn", { "properties": "always" }],
    "new-cap": 2,
    "no-new-object": 2,
    "object-shorthand": [2, "always"],
    "quote-props": [
      1,
      "as-needed",
      {
        "keywords": true
      }
    ],
    "dot-notation": [
      2,
      {
        "allowPattern": "^[a-z]+(_[a-z]+)+$"
      }
    ],
    "semi": [2, "always"],
    "quotes": [2, "single"],
    "template-curly-spacing": [2, "never"],
    "no-multi-str": 2,
    "prefer-template": warn,
    "no-eval": 2,
    "no-implicit-coercion": 2,
    "no-bitwise": 2,
    "radix": [2, "always"],
    "no-new-wrappers": 2,
    "prefer-const": 2,
    "no-const-assign": 2,
    "no-var": 2,
    "one-var": [2, "never"],
    "no-undef": "warn",
    "no-use-before-define": 2,
    "no-global-assign": 2,
    "no-multi-assign": 2,
    "no-unused-vars": [
      2,
      {
        "vars": "local",
        "args": "after-used",
        "ignoreRestSiblings": true
      }
    ],
    "indent": [2, 4, { "SwitchCase": 1 }],
    "space-before-blocks": [2, "always"],
    "space-infix-ops": 2,
    "newline-per-chained-call": [
      2,
      {
        "ignoreChainWithDepth": 2
      }
    ],
    "no-whitespace-before-property": 2,
    "space-in-parens": [2, "never"],
    "array-bracket-spacing": [2, "never"],
    "object-curly-spacing": [2, "always"],
    "max-len": [
      2,
      {
        "code": 140,
        "ignoreUrls": true,
        "ignoreComments": false,
        "ignoreRegExpLiterals": true,
        "ignoreStrings": true,
        "ignoreTemplateLiterals": true
      }
    ],
    "keyword-spacing": [
      2,
      {
        "before": true,
        "after": true
      }
    ],
    "space-before-function-paren": ["error", "never"],
    "padded-blocks": [
      "error",
      {
        "blocks": "never",
        "classes": "never",
        "switches": "always"
      }
    ],
    "no-mixed-spaces-and-tabs": "error",
    "no-trailing-spaces": "error",
    "eol-last": "error",
    "rest-spread-spacing": "error"
  }
}
