{
    "$schema": "https://biomejs.dev/schemas/2.1.2/schema.json",
    "assist": { "actions": { "source": { "organizeImports": "on" } } },
    "formatter": {
        "includes": ["**", "!**/node_modules/**"],
        "formatWithErrors": true
    },
    "json": {
        "formatter": {
            "indentStyle": "space",
            "indentWidth": 4,
            "lineEnding": "lf"
        }
    },
    "javascript": {
        "formatter": {
            "arrowParentheses": "always",
            "bracketSameLine": true,
            "bracketSpacing": true,
            "indentStyle": "space",
            "indentWidth": 2,
            "quoteProperties": "preserve",
            "quoteStyle": "single",
            "semicolons": "asNeeded",
            "trailingCommas": "none",
            "lineEnding": "lf"
        }
    },
    "linter": {
        "includes": ["**", "!**/node_modules/**"],
        "rules": {
            "recommended": true,
            "correctness": {
                "noUnusedVariables": "error",
                "noUnusedPrivateClassMembers": "error",
                "noUnusedImports": "error",
                "useImportExtensions": "error"
            },
            "complexity": {
                "useSimplifiedLogicExpression": "error",
                "noExcessiveCognitiveComplexity": "warn"
            },
            "performance": {
                "noBarrelFile": "error",
                "noReExportAll": "error",
                "useTopLevelRegex": "warn"
            },
            "style": {
                "noInferrableTypes": "off",
                "noNegationElse": "error",
                "useBlockStatements": "error",
                "useCollapsedElseIf": "error",
                "useConsistentArrayType": "error",
                "useFilenamingConvention": {
                    "level": "error",
                    "options": {
                        "strictCase": true,
                        "requireAscii": true
                    }
                },
                "useShorthandAssign": "error",
                "useThrowOnlyError": "error",
                "useExplicitLengthCheck": "error",
                "useConsistentBuiltinInstantiation": "error",
                "noYodaExpression": "error",
                "useArrayLiterals": "error"
            },
            "suspicious": {
                "noExplicitAny": "info",
                "useErrorMessage": "error",
                "noConsole": "warn",
                "useAdjacentOverloadSignatures": "error"
            },
            "nursery": {}
        }
    }
}
