{
  "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
  "formatter": {
    "enabled": true,
    "formatWithErrors": true,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineEnding": "lf",
    "lineWidth": 80,
    "attributePosition": "auto"
  },
  "files": {
    "ignore": ["**/node_modules/**", "**/pico.lime.min.css"]
  },
  "organizeImports": {
    "enabled": true
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "complexity": {
        "noBannedTypes": "error",
        "noUselessThisAlias": "error",
        "noUselessTypeConstraint": "error",
        "useArrowFunction": "off",
        "useLiteralKeys": "error",
        "useOptionalChain": "error"
      },
      "correctness": {
        "noPrecisionLoss": "error",
        "noUnusedVariables": "off",
        "useJsxKeyInIterable": "off"
      },
      "style": {
        "noInferrableTypes": "error",
        "noNamespace": "error",
        "useAsConstAssertion": "error",
        "useBlockStatements": "off",
        "useConsistentArrayType": "error",
        "useForOf": "error",
        "useImportType": "error",
        "useShorthandFunctionType": "error"
      },
      "suspicious": {
        "noEmptyBlockStatements": "error",
        "noEmptyInterface": "error",
        "noExplicitAny": "warn",
        "noExtraNonNullAssertion": "error",
        "noMisleadingInstantiator": "error",
        "noUnsafeDeclarationMerging": "error",
        "useAwait": "error",
        "useNamespaceKeyword": "error"
      },
      "nursery": {
        "useSortedClasses": "error"
      }
    }
  },
  "javascript": {
    "formatter": {
      "jsxQuoteStyle": "double",
      "quoteProperties": "asNeeded",
      "semicolons": "always",
      "arrowParentheses": "always",
      "bracketSpacing": true,
      "bracketSameLine": true,
      "quoteStyle": "double",
      "attributePosition": "auto"
    }
  }
}
