{ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", "files": { "includes": [ "**", "!**/dist", "!**/node_modules", "!**/.pnpm-store", "!**/coverage", "!**/vite.config.ts.timestamp-*", "!**/vite.server.config.ts.timestamp-*", "!**/vite.client.config.ts.timestamp-*", "!**/.turbo", "!**/.vscode", "!**/turbo.json", "!**/.claude", "!**/.next", "!**/.terraform", "!bin", "!tsconfig.base.json", "!**/.devcontainer", "!**/.eslintrc.js", "!**/.stylelintrc.json", "!**/package.json", "!apps/app/src/styles/prebuilt", "!apps/app/tmp", "!apps/pdf-converter/specs", "!apps/slackbot-proxy/src/public/bootstrap", "!packages/pdf-converter-client/src/index.ts", "!packages/pdf-converter-client/specs", "!apps/app/src/client/components/Admin", "!apps/app/src/client/components/AuthorInfo", "!apps/app/src/client/components/Bookmarks", "!apps/app/src/client/components/Common", "!apps/app/src/client/components/CreateTemplateModal", "!apps/app/src/client/components/CustomNavigation", "!apps/app/src/client/components/DeleteBookmarkFolderModal", "!apps/app/src/client/components/DescendantsPageListModal", "!apps/app/src/client/components/EmptyTrashModal", "!apps/app/src/client/components/GrantedGroupsInheritanceSelectModal", "!apps/app/src/client/components/Hotkeys", "!apps/app/src/client/components/Icons", "!apps/app/src/client/components/InAppNotification", "!apps/app/src/client/components/ItemsTree", "!apps/app/src/client/components/LoginForm", "!apps/app/src/client/components/Maintenance", "!apps/app/src/client/components/Me", "!apps/app/src/client/components/Navbar", "!apps/app/src/client/components/Page", "!apps/app/src/client/components/PageAccessoriesModal", "!apps/app/src/client/components/PageAttachment", "!apps/app/src/client/components/PageComment", "!apps/app/src/client/components/PageControls", "!apps/app/src/client/components/PageDeleteModal", "!apps/app/src/client/components/PageDuplicateModal", "!apps/app/src/client/components/PageEditor", "!apps/app/src/client/components/PageHeader", "!apps/app/src/client/components/PageHistory", "!apps/app/src/client/components/PageList", "!apps/app/src/client/components/PageManagement", "!apps/app/src/client/components/PagePathNavSticky", "!apps/app/src/client/components/PagePresentationModal", "!apps/app/src/client/components/PageRenameModal", "!apps/app/src/client/components/PageSelectModal", "!apps/app/src/client/components/PageSideContents", "!apps/app/src/client/components/PageTags", "!apps/app/src/client/components/Presentation", "!apps/app/src/client/components/PutbackPageModal", "!apps/app/src/client/components/ReactMarkdownComponents", "!apps/app/src/client/components/RecentActivity", "!apps/app/src/client/components/RecentCreated", "!apps/app/src/client/components/RevisionComparer", "!apps/app/src/client/components/ShortcutsModal", "!apps/app/src/client/components/StaffCredit", "!apps/app/src/client/components/TemplateModal" ] }, "formatter": { "enabled": true, "indentStyle": "space" }, "assist": { "actions": { "source": { "organizeImports": { "level": "on", "options": { "groups": [ ["react", "react/**"], ["next", "next/**"], [":NODE:", ":PACKAGE:"], ":BLANK_LINE:", ["@/**", "^/**"], ":BLANK_LINE:", "~/**", ":BLANK_LINE:", [":PATH:", "!**/*.css", "!**/*.scss"], ":BLANK_LINE:", ["**/*.css", "**/*.scss"] ] } } } } }, "linter": { "enabled": true, "rules": { "recommended": true, "correctness": { "useUniqueElementIds": "warn" } } }, "javascript": { "formatter": { "quoteStyle": "single" }, "parser": { "unsafeParameterDecoratorsEnabled": true } }, "overrides": [ { "includes": ["apps/pdf-converter/**", "./apps/slackbot-proxy/**"], "linter": { "rules": { "style": { "useImportType": "off" } } } }, { "includes": ["apps/app/**"], "linter": { "rules": { "style": { "noRestrictedImports": { "level": "error", "options": { "paths": { "axios": "Please use src/utils/axios instead." } } } } } } }, { "includes": [ "apps/app/src/stores-universal/**", "apps/app/src/utils/**", "apps/app/src/models/**", "apps/app/src/services/**", "apps/app/src/pages/**", "apps/app/src/server/**", "apps/app/src/components/**" ], "linter": { "rules": { "style": { "noRestrictedImports": { "level": "error", "options": { "paths": { "axios": "Please use src/utils/axios instead." }, "patterns": [ { "group": ["~/client/**", "**/client/**", "client/**"], "message": "Importing from client/ directories is restricted." } ] } } } } } } ] }