{
  "env": {
    "browser": true,
    "es6": true,
    "jest": true,
    "node": true
  },
  "parser": "@babel/eslint-parser",
  "parserOptions": {
    "ecmaVersion": 2019,
    "sourceType": "module",
    "allowImportExportEverywhere": true
  },
  "ignorePatterns": [
    "node_modules",
    "dist",
    "public",
    "*.spec.js",
    "bundle.js"
  ],
  "extends": ["eslint:recommended"],
  "plugins": ["import", "eslint-plugin-local-rules"],
  "overrides": [
    {
      "files": ["**/*.svelte"],
      "extends": "plugin:svelte/recommended",
      "parser": "svelte-eslint-parser",
      "parserOptions": {
        "parser": "@babel/eslint-parser",
        "ecmaVersion": 2019,
        "sourceType": "module",
        "allowImportExportEverywhere": true
      }
    },
    {
      "files": ["**/*.ts"],
      "parser": "@typescript-eslint/parser",
      "extends": ["eslint:recommended"],
      "rules": {
        "no-unused-vars": "off",
        "no-inner-declarations": "off",
        "no-case-declarations": "off",
        "no-useless-escape": "off",
        "no-undef": "off",
        "no-prototype-builtins": "off",
        "local-rules/no-budibase-imports": "error",
        "local-rules/no-test-com": "error"
      }
    },
    {
      "files": [
        "packages/builder/**/*",
        "packages/client/**/*",
        "packages/frontend-core/**/*"
      ],
      "rules": {
        "no-console": ["error", { "allow": ["warn", "error", "debug"] }]
      }
    }
  ],
  "rules": {
    "no-self-assign": "off",
    "no-unused-vars": [
      "error",
      {
        "varsIgnorePattern": "^_",
        "argsIgnorePattern": "^_",
        "destructuredArrayIgnorePattern": "^_"
      }
    ],
    "import/no-relative-packages": "error",
    "import/export": "error",
    "import/no-duplicates": "error",
    "import/newline-after-import": "error"
  },
  "globals": {
    "GeolocationPositionError": true
  }
}