{
  "$schema": "https://biomejs.dev/schemas/2.4.1/schema.json",
  "files": {
    "includes": ["**", "!!**/dist", "!**/node_modules", "!**/.yarn"]
  },
  "formatter": {
    "enabled": true,
    "formatWithErrors": true,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineEnding": "lf",
    "lineWidth": 80,
    "attributePosition": "auto"
  },
  "plugins": [],
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "style": {
        "useConst": "error"
      },
      "suspicious": {
        "noDoubleEquals": "error"
      },
      "correctness": {
        "useJsxKeyInIterable": "info"
      }
    }
  },
  "html": {
    "formatter": {
      "enabled": true,
      "indentScriptAndStyle": true,
      "lineWidth": 80
    },
    "experimentalFullSupportEnabled": true
  },
  "javascript": {
    "formatter": {
      "jsxQuoteStyle": "double",
      "quoteProperties": "asNeeded",
      "trailingCommas": "es5",
      "semicolons": "always",
      "arrowParentheses": "asNeeded",
      "bracketSpacing": true,
      "bracketSameLine": false,
      "quoteStyle": "double",
      "lineWidth": 66,
      "attributePosition": "multiline"
    }
  },
  "css": {
    "formatter": {
      "enabled": true,
      "indentStyle": "space"
    },
    "linter": {
      "enabled": true
    },
    "parser": {
      "cssModules": true
    }
  },
  "json": {
    "formatter": {
      "enabled": true,
      "lineWidth": 80,
      "lineEnding": "lf",
      "indentStyle": "space",
      "indentWidth": 2
    }
  },
  "overrides": [
    {
      "includes": ["**/*.ts", "**/*.tsx"],
      "linter": {
        "rules": {
          "complexity": {
            "noBannedTypes": "off"
          },
          "correctness": {
            "noInvalidUseBeforeDeclaration": "off"
          },
          "style": {
            "noNonNullAssertion": "off"
          },
          "suspicious": {
            "noExplicitAny": "info",
            "noDuplicateClassMembers": "off",
            "noEmptyBlockStatements": "off"
          },
          "a11y": {
            "noSvgWithoutTitle": "info"
          }
        }
      }
    }
  ]
}
