{ "$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", "!apps/app/src/server/middlewares", "!apps/app/src/server/routes/apiv3", "!apps/app/src/server/service" ] }, "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." } ] } } } } } } ] }