{
  "extends": [
    "airbnb-base",
    "airbnb-typescript/base",
    "plugin:@typescript-eslint/recommended",
    "plugin:wc/recommended",
    "plugin:lit/all",
    "plugin:lit-a11y/recommended",
    "prettier"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 2020,
    "ecmaFeatures": {
      "modules": true
    },
    "sourceType": "module",
    "project": "./tsconfig.json"
  },
  "settings": {
    "import/resolver": {
      "webpack": {
        "config": "./webpack.config.js"
      }
    }
  },
  "globals": {
    "__DEV__": false,
    "__DEMO__": false,
    "__BUILD__": false,
    "__VERSION__": false,
    "__STATIC_PATH__": false,
    "__SUPERVISOR__": false,
    "Polymer": true
  },
  "env": {
    "browser": true,
    "es6": true
  },
  "rules": {
    "class-methods-use-this": "off",
    "new-cap": "off",
    "prefer-template": "off",
    "object-shorthand": "off",
    "func-names": "off",
    "no-underscore-dangle": "off",
    "strict": "off",
    "no-plusplus": "off",
    "no-bitwise": "error",
    "comma-dangle": "off",
    "vars-on-top": "off",
    "no-continue": "off",
    "no-param-reassign": "off",
    "no-multi-assign": "off",
    "no-console": "error",
    "radix": "off",
    "no-alert": "off",
    "no-nested-ternary": "off",
    "prefer-destructuring": "off",
    "no-restricted-globals": [2, "event"],
    "prefer-promise-reject-errors": "off",
    "import/prefer-default-export": "off",
    "import/no-default-export": "off",
    "import/no-unresolved": "off",
    "import/no-cycle": "off",
    "import/extensions": [
      "error",
      "ignorePackages",
      {
        "ts": "never",
        "js": "never"
      }
    ],
    "no-restricted-syntax": ["error", "LabeledStatement", "WithStatement"],
    "object-curly-newline": "off",
    "default-case": "off",
    "wc/no-self-class": "off",
    "no-shadow": "off",
    "@typescript-eslint/camelcase": "off",
    "@typescript-eslint/ban-ts-comment": "off",
    "@typescript-eslint/no-use-before-define": "off",
    "@typescript-eslint/no-non-null-assertion": "off",
    "@typescript-eslint/no-explicit-any": "off",
    "@typescript-eslint/explicit-function-return-type": "off",
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "@typescript-eslint/no-shadow": ["error"],
    "@typescript-eslint/naming-convention": [
      "off",
      {
        "selector": "default",
        "format": ["camelCase", "snake_case"],
        "leadingUnderscore": "allow",
        "trailingUnderscore": "allow"
      },
      {
        "selector": ["variable"],
        "format": ["camelCase", "snake_case", "UPPER_CASE"],
        "leadingUnderscore": "allow",
        "trailingUnderscore": "allow"
      },
      {
        "selector": "typeLike",
        "format": ["PascalCase"]
      }
    ],
    "@typescript-eslint/no-unused-vars": "off",
    "unused-imports/no-unused-vars": [
      "error",
      {
        "vars": "all",
        "varsIgnorePattern": "^_",
        "args": "after-used",
        "argsIgnorePattern": "^_",
        "ignoreRestSiblings": true
      }
    ],
    "unused-imports/no-unused-imports": "error",
    "lit/attribute-value-entities": "off",
    "lit/no-template-map": "off",
    "lit/no-native-attributes": "warn",
    "lit/no-this-assign-in-render": "warn",
    "lit/prefer-nothing": "warn",
    "lit-a11y/click-events-have-key-events": ["off"],
    "lit-a11y/no-autofocus": "off",
    "lit-a11y/alt-text": "warn",
    "lit-a11y/anchor-is-valid": "warn",
    "lit-a11y/role-has-required-aria-attrs": "warn"
  },
  "plugins": ["disable", "unused-imports"],
  "processor": "disable/disable"
}
