{ "$schema": "https://biomejs.dev/schemas/2.5.0/schema.json", "root": true, "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": false }, "files": { "ignoreUnknown": false }, "formatter": { "enabled": true, "formatWithErrors": false, "indentStyle": "space", "indentWidth": 2, "lineEnding": "lf", "lineWidth": 100 }, "assist": { "actions": { "source": { "organizeImports": "on" } } }, "linter": { "enabled": true, "rules": { "preset": "recommended", "complexity": { "noBannedTypes": "error", "noUselessTypeConstraint": "error" }, "correctness": { "noChildrenProp": "error", "noPrecisionLoss": "error", "noUnusedVariables": "error", "useExhaustiveDependencies": "warn", "useHookAtTopLevel": "error", "useJsxKeyInIterable": "error" }, "security": { "noDangerouslySetInnerHtmlWithChildren": "error" }, "style": { "noNamespace": "error", "noNonNullAssertion": "off", "noRestrictedImports": { "level": "warn", "options": { "paths": { "@mui/material": { "importNames": [ "Typography", "Button", "TextField", "Select", "Checkbox", "Paper", "Chip", "Badge", "Alert", "Dialog", "Skeleton", "CircularProgress", "Link", "IconButton", "Table", "TableBody", "TableCell", "TableContainer", "TableHead", "TableRow", "TableSortLabel", "TablePagination", "Pagination" ], "message": "Import from @moex-vibe/design-system instead, or use Box/Stack/Grid for layout." } } } }, "useArrayLiterals": "error", "useAsConstAssertion": "error" }, "suspicious": { "noCommentText": "error", "noDuplicateEnumValues": "error", "noDuplicateJsxProps": "error", "noExplicitAny": "off", "noExtraNonNullAssertion": "error", "noMisleadingInstantiator": "error", "noNonNullAssertedOptionalChain": "error", "noArrayIndexKey": "off", "noUnsafeDeclarationMerging": "error" }, "a11y": { "useButtonType": "off", "noLabelWithoutControl": "off", "noStaticElementInteractions": "off", "useKeyWithClickEvents": "off", "noAutofocus": "off", "noSvgWithoutTitle": "off" } } }, "javascript": { "formatter": { "quoteStyle": "single", "trailingCommas": "all", "semicolons": "asNeeded" } } }