{
  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
  "vcs": {
    "root": ".",
    "enabled": true,
    "clientKind": "git"
  },
  "files": {
    "include": [
      "./**/*.ts",
      "./**/*.js",
      "./**/*.cjs",
      "./**/*.mjs",
      "./**/*.jsx",
      "./**/*.tsx",
      "./**/*.d.ts",
      "./**/*.json",
      "./**/*.jsonc"
    ],
    "ignore": [
      "./**/node_modules",
      "./**/dist",
      "./**/out-tsc",
      "./extension/dist"
    ],
    "ignoreUnknown": true
  },
  "organizeImports": {
    "enabled": true
  },
  "formatter": {
    "enabled": true,
    "lineWidth": 80,
    "indentWidth": 2,
    "indentStyle": "space",
    "formatWithErrors": true
  },
  "linter": {
    "enabled": true,
    "rules": {
      "all": true,
      "style": {
        "useBlockStatements": "off",
        "useSelfClosingElements": "off",
        "noUnusedTemplateLiteral": "off",
        "noRestrictedGlobals": {
          "level": "error",
          "options": {
            "deniedGlobals": ["chrome"]
          }
        }
      },
      "a11y": {
        "noSvgWithoutTitle": "off",
        "noNoninteractiveTabindex": "off",
        "useButtonType": "off",
        "useIframeTitle": "off"
      },
      "nursery": { "noUnusedImports": "off" },
      "performance": { "noAccumulatingSpread": "off" },
      "correctness": {
        "noUndeclaredVariables": "off",
        "useExhaustiveDependencies": {
          "level": "error",
          "options": {
            "hooks": [
              {
                "name": "useModernLayoutEffect",
                "closureIndex": 0,
                "dependenciesIndex": 1
              }
            ]
          }
        }
      },
      "suspicious": {
        "noExplicitAny": "off",
        "noEmptyInterface": "off",
        "noConfusingVoidType": "off"
      },
      "complexity": {
        "useLiteralKeys": "off",
        "noBannedTypes": "off",
        "noForEach": "off"
      },
      "security": {
        "noDangerouslySetInnerHtml": "off"
      }
    }
  },
  "json": {
    "parser": {
      "allowComments": true
    },
    "formatter": {
      "enabled": true
    }
  },
  "javascript": {
    "parser": {
      "unsafeParameterDecoratorsEnabled": true
    },
    "formatter": {
      "enabled": true,
      "bracketSpacing": false,
      "quoteStyle": "single",
      "trailingComma": "all",
      "semicolons": "always",
      "jsxQuoteStyle": "double",
      "quoteProperties": "asNeeded",
      "arrowParentheses": "always"
    }
  }
}
