{
  "$schema": "https://biomejs.dev/schemas/2.5.7/schema.json",
  "files": {
    "includes": [
      "packages/**",
      "!**/*.css",
      "!**/*.html",
      "!**/missing-test-types.d.ts",
      "!**/packages/js-lib/color-scheme-manager/src/index.d.ts",
      "!**/packages/js-lib/color-scheme-manager/src/index.js",
      "!**/packages/tooling/browser-entry/public/compiler/**"
    ]
  },
  "vcs": {
    "enabled": true,
    "clientKind": "git",
    "useIgnoreFile": true
  },
  "formatter": {
    "enabled": true,
    "formatWithErrors": false,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineEnding": "lf",
    "lineWidth": 80,
    "attributePosition": "auto",
    "includes": [
      "**",
      "!**/.cache",
      "!**/.DS_Store",
      "!**/.idea",
      "!**/.vscode",
      "!**/.yarnrc.yml",
      "!**/*.hbs",
      "!**/*.md",
      "!**/build",
      "!**/CHANGELOG.md",
      "!**/coverage",
      "!**/dist",
      "!**/jsconfig-base.json",
      "!**/jsconfig.json",
      "!**/node_modules",
      "!**/npm-debug.log",
      "!**/tsconfig.json"
    ]
  },
  "assist": {
    "actions": {
      "source": {
        "organizeImports": "on"
      }
    }
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "a11y": {
        "useSemanticElements": "warn",
        "noAutofocus": "warn"
      },
      "style": {
        "useTemplate": "info",
        "noParameterAssign": "error",
        "useAsConstAssertion": "error",
        "useDefaultParameterLast": "error",
        "useEnumInitializers": "error",
        "useSelfClosingElements": "error",
        "useSingleVarDeclarator": "error",
        "noUnusedTemplateLiteral": "error",
        "useNumberNamespace": "error",
        "noInferrableTypes": "error",
        "noUselessElse": "error"
      },
      "suspicious": {
        "noExplicitAny": "warn",
        "noDuplicateElseIf": "error"
      },
      "nursery": {
        "useSortedClasses": "off",
        "noFloatingPromises": "error"
      },
      "correctness": {
        "noUnusedVariables": "warn",
        "useHookAtTopLevel": "warn",
        "useExhaustiveDependencies": "warn"
      },
      "complexity": {
        "noForEach": "off"
      }
    }
  },
  "javascript": {
    "jsxRuntime": "reactClassic",
    "formatter": {
      "jsxQuoteStyle": "double",
      "quoteProperties": "asNeeded",
      "trailingCommas": "all",
      "semicolons": "always",
      "arrowParentheses": "always",
      "bracketSpacing": true,
      "bracketSameLine": false,
      "quoteStyle": "single",
      "attributePosition": "auto"
    }
  },
  "overrides": [
    {
      "includes": [
        "**/.vscode/**"
      ],
      "json": {
        "parser": {
          "allowComments": true,
          "allowTrailingCommas": true
        }
      }
    },
    {
      "includes": [
        "packages/tooling/**"
      ],
      "linter": {
        "rules": {
          "suspicious": {
            "noExplicitAny": "off"
          }
        }
      }
    },
    {
      "includes": [
        "**/*.stories.tsx"
      ],
      "linter": {
        "rules": {
          "a11y": {
            "useSemanticElements": "off"
          }
        }
      }
    }
  ]
}
