{
  "extends": "../../.eslintrc",
  "rules": {},
  "ignorePatterns": ["!**/*"],
  "overrides": [
    {
      "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
      "rules": {}
    },
    {
      "files": ["*.ts"],
      "excludedFiles": ["*.spec.ts"],
      "rules": {
        "@typescript-eslint/no-restricted-imports": [
          "error",
          {
            "paths": [
              {
                "name": "typescript",
                "message": "TypeScript is an optional dependency for Nx. If you need to use it, make sure its installed first with ensureTypescript.",
                "allowTypeImports": true
              }
            ],
            "patterns": [
              {
                "group": ["nx/*"],
                "message": "Circular import in 'nx' found. Use relative path."
              }
            ]
          }
        ]
      }
    },
    {
      "files": ["*.js", "*.jsx"],
      "rules": {}
    },
    {
      "files": ["./package.json", "./executors.json", "./migrations.json"],
      "parser": "jsonc-eslint-parser",
      "rules": {
        "@nx/nx-plugin-checks": [
          "error",
          {
            "allowedVersionStrings": ["latest"]
          }
        ]
      }
    },
    {
      "files": ["nxw.ts"],
      "rules": {
        "@typescript-eslint/no-restricted-imports": [
          "error",
          {
            "patterns": [
              {
                "group": ["*", "!fs"],
                "message": "The Nx wrapper is ran before packages are installed. It should only import node builtins.",
                "allowTypeImports": true
              }
            ]
          }
        ],
        "no-restricted-modules": [
          "error",
          {
            "patterns": ["*", "!fs", "!path", "!child_process", "!node:*"]
          }
        ],
        "no-restricted-imports": "off"
      }
    }
  ]
}
