7c373ddad6
* Configure biome * Fix companion build * fix: remove generated files from formatter ignore list to enable proper formatting Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add explicit stripe dependency to @calcom/features to fix type resolution Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: rename const require to nodeRequire in generate-swagger.ts to avoid TypeScript reserved identifier conflict Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add guard for document in makeBodyVisible to prevent test environment teardown errors Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: replace ESLint with Biome CLI in embed-code-generator.e2e.ts Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: address cubic review comments - Fix invalid --reporter-path Biome CLI option by using shell redirection - Fix packages/lib lint report filename (app-store.json -> lib.json) - Add typescript-eslint and eslint back to companion for lint:react-compiler - Add missing restricted import rules to biome.json: - packages/lib: add ../trpc/** and @trpc/server restrictions - packages/trpc: add ../apps/web/** restriction Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: regenerate companion bun.lock after adding eslint dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * Remove remaining eslint things * add tailwind directives --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
189 lines
4.8 KiB
JSON
189 lines
4.8 KiB
JSON
{
|
|
"$schema": "https://biomejs.dev/schemas/2.3.8/schema.json",
|
|
"root": true,
|
|
"css": {
|
|
"parser": {
|
|
"tailwindDirectives": true
|
|
}
|
|
},
|
|
"formatter": {
|
|
"includes": [
|
|
"**/*",
|
|
"!packages/ui/components/icon/dynamicIconImports.tsx",
|
|
"!apps/api/v1/tests",
|
|
"!apps/api/v1/templates"
|
|
],
|
|
"lineWidth": 110,
|
|
"indentStyle": "space",
|
|
"indentWidth": 2,
|
|
"lineEnding": "lf"
|
|
},
|
|
"files": {
|
|
"includes": [
|
|
"**/*",
|
|
"!**/node_modules",
|
|
"!**/.next",
|
|
"!**/.turbo",
|
|
"!**/dist",
|
|
"!**/build",
|
|
"!**/public",
|
|
"!public",
|
|
"!apps/web/public/embed",
|
|
"!packages/prisma/zod",
|
|
"!packages/prisma/enums",
|
|
"!*.lock",
|
|
"!*.log",
|
|
"!.gitignore",
|
|
"!.npmignore",
|
|
"!.prettierignore",
|
|
"!.eslintignore",
|
|
"!.DS_Store",
|
|
"!coverage",
|
|
"!lint-results",
|
|
"!test-results"
|
|
]
|
|
},
|
|
"javascript": {
|
|
"formatter": {
|
|
"arrowParentheses": "always",
|
|
"bracketSpacing": true,
|
|
"bracketSameLine": true,
|
|
"quoteStyle": "double",
|
|
"jsxQuoteStyle": "double",
|
|
"semicolons": "always",
|
|
"trailingCommas": "es5"
|
|
}
|
|
},
|
|
"linter": {
|
|
"enabled": true,
|
|
"rules": {
|
|
"recommended": true,
|
|
"style": {
|
|
"useNodejsImportProtocol": "warn"
|
|
},
|
|
"correctness": {
|
|
"noUnusedVariables": {
|
|
"level": "warn",
|
|
"options": {
|
|
"ignoreRestSiblings": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"includes": ["packages/lib/**/*.{ts,tsx,js,jsx,mts,mjs,cjs,cts}"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noRestrictedImports": {
|
|
"level": "error",
|
|
"options": {
|
|
"patterns": [
|
|
{
|
|
"group": ["../app-store/**"],
|
|
"message": "lib package should not import from app-store to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["../features/**"],
|
|
"message": "lib package should not import from features to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["../trpc/**"],
|
|
"message": "lib package should not import from trpc to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["@trpc/server"],
|
|
"message": "lib package should not import from @trpc/server to avoid circular dependencies."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["packages/app-store/**/*.{ts,tsx,js,jsx,mts,mjs,cjs,cts}"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noRestrictedImports": {
|
|
"level": "error",
|
|
"options": {
|
|
"patterns": [
|
|
{
|
|
"group": ["../features/**"],
|
|
"message": "app-store package should not import from features to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["../trpc/**"],
|
|
"message": "app-store package should not import from trpc to avoid circular dependencies."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["packages/features/**/*.{ts,tsx,js,jsx,mts,mjs,cjs,cts}"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noRestrictedImports": {
|
|
"level": "error",
|
|
"options": {
|
|
"patterns": [
|
|
{
|
|
"group": ["../trpc/**"],
|
|
"message": "features package should not import from trpc to avoid circular dependencies."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["packages/trpc/**/*.{ts,tsx,js,jsx,mts,mjs,cjs,cts}"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noRestrictedImports": {
|
|
"level": "error",
|
|
"options": {
|
|
"patterns": [
|
|
{
|
|
"group": ["../apps/web/**"],
|
|
"message": "trpc package should not import from apps/web to avoid circular dependencies."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["companion/**/*.{ts,tsx,js,jsx}"],
|
|
"javascript": {
|
|
"formatter": {
|
|
"lineWidth": 100
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["apps/website/lib/utils/wordlist/wordlist.ts"],
|
|
"javascript": {
|
|
"formatter": {
|
|
"quoteProperties": "preserve"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|