{
  "env": {
    "browser": true,
    "es2021": true,
    "node": true
  },
  "parserOptions": {
    "ecmaVersion": 12,
    "sourceType": "module"
  },
  "ignorePatterns": [
    "./lib/**/*",
    "./index.js"
  ],
  "rules": {
    "indent": [
      "error",
      2
    ],
    "linebreak-style": [
      "error",
      "windows"
    ],
    "quotes": [
      "error",
      "single"
    ],
    "semi": [
      "error",
      "always"
    ],
    "prefer-const": [
      "error",
      {
        "destructuring": "any",
        "ignoreReadBeforeAssign": false
      }
    ],
    "no-var": "error",
    "no-new-object": "error",
    "object-shorthand": "error",
    "quote-props": [
      "error",
      "as-needed"
    ],
    "prefer-object-spread": "error",
    "no-array-constructor": "error",
    "array-callback-return": "error",
    "prefer-destructuring": [
      "error",
      {
        "array": true,
        "object": true
      }
    ],
    "prefer-template": "error",
    "template-curly-spacing": [
      "error",
      "never"
    ],
    "no-eval": "error",
    "func-style": [
      "error",
      "expression"
    ],
    "wrap-iife": [
      "error",
      "outside"
    ],
    "no-loop-func": "error",
    "prefer-rest-params": "error",
    "default-param-last": "error",
    "no-new-func": "error",
    "space-before-function-paren": [
      "error",
      {
        "anonymous": "always",
        "named": "never",
        "asyncArrow": "always"
      }
    ],
    "space-before-blocks": "error",
    "no-param-reassign": "error",
    "prefer-spread": "error",
    "prefer-arrow-callback": "error",
    "arrow-spacing": "error",
    "arrow-parens": "error",
    "arrow-body-style": "error",
    "no-confusing-arrow": [
      "error",
      {
        "allowParens": true
      }
    ],
    "implicit-arrow-linebreak": [
      "error",
      "beside"
    ],
    "no-useless-constructor": "error",
    "class-methods-use-this": 0,
    "object-curly-newline": [
      "error",
      {
        "ObjectPattern": {
          "multiline": true
        }
      }
    ],
    "no-iterator": "error",
    "generator-star-spacing": [
      "error",
      "after"
    ],
    "dot-notation": "error",
    "one-var": [
      "error",
      "never"
    ],
    "no-multi-assign": "error",
    "no-plusplus": "error",
    "operator-linebreak": [
      "error",
      "after"
    ],
    "eqeqeq": "error",
    "no-nested-ternary": "error",
    "no-unneeded-ternary": "error",
    "no-mixed-operators": "error",
    "nonblock-statement-body-position": [
      "error",
      "beside"
    ],
    "brace-style": [
      "error",
      "1tbs",
      {
        "allowSingleLine": true
      }
    ],
    "no-else-return": "error",
    "spaced-comment": [
      "error",
      "always"
    ],
    "keyword-spacing": "error",
    "space-infix-ops": "error",
    "eol-last": [
      "error",
      "always"
    ],
    "newline-per-chained-call": "error",
    "no-whitespace-before-property": "error",
    "padded-blocks": [
      "error",
      "never"
    ],
    "no-multiple-empty-lines": [
      "error",
      {
        "max": 1
      }
    ],
    "space-in-parens": [
      "error",
      "never"
    ],
    "array-bracket-spacing": [
      "error",
      "never"
    ],
    "object-curly-spacing": [
      "error",
      "always"
    ],
    "max-len": [
      "error",
      {
        "code": 200
      }
    ],
    "block-spacing": "error",
    "comma-spacing": [
      "error",
      {
        "before": false,
        "after": true
      }
    ],
    "computed-property-spacing": [
      "error",
      "never"
    ],
    "func-call-spacing": [
      "error",
      "never"
    ],
    "key-spacing": "error",
    "no-trailing-spaces": "error",
    "comma-style": "error",
    "comma-dangle": [
      "error",
      "never"
    ],
    "no-new-wrappers": "error",
    "radix": "error",
    "new-cap": [
      "error",
      {
        "capIsNewExceptions": [
        ]
      }
    ],
    "no-underscore-dangle": "error"
  }
}
