root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.{yml,yaml}]
indent_size = 2
[*.{ts,tsx}]
quote_type = single
{
"$schema": "https://biomejs.dev/schemas/2.3.11/schema.json",
"assist": {
"actions": {
"source": {
"organizeImports": "on",
"useSortedAttributes": "on",
"useSortedKeys": "on",
"useSortedProperties": "on"
}
},
"enabled": true
},
"files": {
"ignoreUnknown": false
},
"formatter": {
"enabled": true,
"useEditorconfig": true
},
"javascript": {
"formatter": {
"arrowParentheses": "asNeeded",
"quoteStyle": "single",
"semicolons": "asNeeded"
}
},
"linter": {
"domains": {
"react": "recommended"
},
"enabled": true,
"rules": {
"recommended": true,
"style": {
"noRestrictedImports": {
"level": "error",
"options": {
"paths": {
"@mui/icons-material": "No Barrel Import. Use `import [Icon] from '@mui/icons-material/[Icon]'` instead.",
"@mui/material": "No Barrel Import. Use `import [Component] from '@mui/material/[Component]'` instead."
}
}
},
"useFilenamingConvention": {
"level": "error",
"options": {
"filenameCases": ["kebab-case"]
}
}
}
}
},
"vcs": {
"clientKind": "git",
"enabled": true,
"useIgnoreFile": true
}
}
{
"editor.codeActionsOnSave": {
"source.fixAll.biome": "explicit"
}
}