biome.json 3.35 KB
{
  "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
  "vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false },
  "files": {
    "ignoreUnknown": false,
    "ignore": [
      "**/build/**",
      "**/tests/**",
      "**/demo/**",
      "**/dist/**",
      "**/node_modules/**",
      "**/script/**",
      "**/coverage/**",
      "**/*.min.js",
      "**/environment.d.ts",
      "**/*.js"
    ]
  },
  "formatter": {
    "enabled": true,
    "useEditorconfig": true,
    "formatWithErrors": false,
    "indentStyle": "space",
    "indentWidth": 2,
    "lineEnding": "lf",
    "lineWidth": 150,
    "attributePosition": "auto",
    "bracketSpacing": true
  },
  "organizeImports": { "enabled": true },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": false,
      "complexity": {
        "noBannedTypes": "error",
        "noStaticOnlyClass": "off",
        "noUselessConstructor": "error",
        "noUselessTypeConstraint": "off",
        "useLiteralKeys": "off",
        "useOptionalChain": "off"
      },
      "correctness": {
        "noInvalidUseBeforeDeclaration": "error",
        "noPrecisionLoss": "off",
        "noUndeclaredVariables": "off",
        "noUnusedVariables": "warn",
        "useArrayLiterals": "off"
      },
      "style": {
        "noInferrableTypes": "off",
        "noNamespace": "warn",
        "noNonNullAssertion": "off",
        "useAsConstAssertion": "off",
        "useBlockStatements": "off",
        "useConsistentArrayType": "error",
        "useDefaultParameterLast": "off",
        "useEnumInitializers": "off",
        "useForOf": "off",
        "useLiteralEnumMembers": "off",
        "useShorthandFunctionType": "off"
      },
      "suspicious": {
        "noConfusingVoidType": "off",
        "noDuplicateClassMembers": "error",
        "noEmptyBlockStatements": "off",
        "noExplicitAny": "off",
        "noExtraNonNullAssertion": "off",
        "noMisleadingInstantiator": "error",
        "noRedeclare": "error",
        "useAwait": "off",
        "useNamespaceKeyword": "off"
      }
    }
  },
  "javascript": {
    "formatter": {
      "jsxQuoteStyle": "double",
      "quoteProperties": "asNeeded",
      "trailingCommas": "all",
      "semicolons": "asNeeded",
      "arrowParentheses": "asNeeded",
      "bracketSameLine": false,
      "quoteStyle": "single",
      "attributePosition": "auto",
      "bracketSpacing": true
    }
  },
  "overrides": [
    {
      "include": ["*.ts", "*.tsx", "*.mts", "*.cts"],
      "linter": {
        "rules": {
          "correctness": {
            "noConstAssign": "off",
            "noGlobalObjectCalls": "off",
            "noInvalidConstructorSuper": "off",
            "noNewSymbol": "off",
            "noSetterReturn": "off",
            "noUndeclaredVariables": "off",
            "noUnreachable": "off",
            "noUnreachableSuper": "off"
          },
          "style": { "noArguments": "error", "noVar": "error", "useConst": "error" },
          "suspicious": {
            "noDuplicateClassMembers": "off",
            "noDuplicateObjectKeys": "off",
            "noDuplicateParameters": "off",
            "noFunctionAssign": "off",
            "noImportAssign": "off",
            "noRedeclare": "off",
            "noUnsafeNegation": "off",
            "useGetterReturn": "off",
            "useValidTypeof": "off"
          }
        }
      }
    }
  ]
}