* mv useTeamMembersWithSegment * remove * fix ts error * remove * remove * remove * biome rule * wip * refactor: remove remaining @calcom/trpc/server imports from atoms - Create local types for schedule handlers (CreateScheduleHandlerReturn, DuplicateScheduleHandlerReturn, GetAvailabilityListHandlerReturn, CreateScheduleInput) - Create local GetAvailableSlotsResponse type for slots hook - Update imports in useAtomCreateSchedule, useAtomDuplicateSchedule, useAtomGetAllSchedules, and useAvailableSlots Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix * fix: add userId to Schedule type and create ScheduleForList type - Schedule type now includes userId for create/duplicate handlers - Created ScheduleForList type for list handler (uses select without userId) Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix * fix * fix * fix * fix: correct fromUser/toUser types in GetAvailableSlotsResponse - fromUser: { id, displayName } (matches IFromUser) - toUser: { id, username, displayName } (matches IToUser) Co-Authored-By: benny@cal.com <sldisek783@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
361 lines
10 KiB
JSON
361 lines
10 KiB
JSON
{
|
|
"$schema": "https://biomejs.dev/schemas/2.3.10/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",
|
|
"!!**/*.d.ts",
|
|
"!!public",
|
|
"!!apps/web/public/embed",
|
|
"!!packages/prisma/zod",
|
|
"!!packages/prisma/enums",
|
|
"!!*.lock",
|
|
"!!*.log",
|
|
"!!.gitignore",
|
|
"!!.npmignore",
|
|
"!!.prettierignore",
|
|
"!!.eslintignore",
|
|
"!!.DS_Store",
|
|
"!!coverage",
|
|
"!!lint-results",
|
|
"!!test-results",
|
|
"!!packages/lib/raqb/resolveQueryValue.test.ts",
|
|
"!!packages/ui/components/editor/plugins/ToolbarPlugin.tsx",
|
|
"!!packages/embeds/embed-core/src/lib/domUtils.ts"
|
|
]
|
|
},
|
|
"javascript": {
|
|
"parser": {
|
|
"unsafeParameterDecoratorsEnabled": true
|
|
},
|
|
"formatter": {
|
|
"arrowParentheses": "always",
|
|
"bracketSpacing": true,
|
|
"bracketSameLine": true,
|
|
"quoteStyle": "double",
|
|
"jsxQuoteStyle": "double",
|
|
"semicolons": "always",
|
|
"trailingCommas": "es5"
|
|
}
|
|
},
|
|
"linter": {
|
|
"enabled": true,
|
|
"domains": {
|
|
"next": "recommended",
|
|
"react": "recommended"
|
|
},
|
|
"rules": {
|
|
"recommended": true,
|
|
"a11y": "off"
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"includes": ["docs/api-reference/v2/openapi.json"],
|
|
"linter": { "enabled": false },
|
|
"formatter": { "enabled": false }
|
|
},
|
|
{
|
|
"includes": ["**/*.tsx"],
|
|
"javascript": {
|
|
"jsxRuntime": "transparent"
|
|
}
|
|
},
|
|
{
|
|
"includes": ["apps/web/app/**/page.tsx", "apps/web/app/**/layout.tsx", "apps/web/app/pages/**/*.tsx"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noDefaultExport": "off"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["**/*"],
|
|
"linter": {
|
|
"rules": {
|
|
"nursery": {
|
|
"useQwikValidLexicalScope": "off",
|
|
"useExplicitType": "info",
|
|
"noReactForwardRef": "warn",
|
|
"noTernary": "info",
|
|
"noUnresolvedImports": "warn"
|
|
},
|
|
"correctness": {
|
|
"useImportExtensions": "warn",
|
|
"noProcessGlobal": "warn",
|
|
"useExhaustiveDependencies": "warn",
|
|
"noUnknownProperty": "warn",
|
|
"noUnreachable": "warn",
|
|
"noEmptyPattern": "warn",
|
|
"noSwitchDeclarations": "warn",
|
|
"useHookAtTopLevel": "warn",
|
|
"useJsxKeyInIterable": "warn",
|
|
"noUnsafeOptionalChaining": "warn"
|
|
},
|
|
"style": {
|
|
"useExportsLast": "warn",
|
|
"noProcessEnv": "warn",
|
|
"useNodejsImportProtocol": "error",
|
|
"noNestedTernary": "warn"
|
|
},
|
|
"complexity": {
|
|
"noExcessiveLinesPerFunction": "warn"
|
|
},
|
|
"performance": {
|
|
"noImgElement": "warn"
|
|
},
|
|
"suspicious": {
|
|
"noDoubleEquals": "warn",
|
|
"noAssignInExpressions": "warn",
|
|
"noExplicitAny": "warn",
|
|
"useIterableCallbackReturn": "warn",
|
|
"noImplicitAnyLet": "warn",
|
|
"noRedeclare": "warn",
|
|
"noControlCharactersInRegex": "warn",
|
|
"noArrayIndexKey": "warn",
|
|
"noShadowRestrictedNames": "warn",
|
|
"noAsyncPromiseExecutor": "warn"
|
|
},
|
|
"security": {
|
|
"noBlankTarget": "warn",
|
|
"noDangerouslySetInnerHtml": "warn"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["apps/api/v2/**/*.ts", "apps/api/v2/**/*.controller.ts"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"useImportType": "off"
|
|
},
|
|
"correctness": {
|
|
"noProcessGlobal": "off"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": [
|
|
"apps/api/v2/src/config/app.ts",
|
|
"apps/api/v2/src/config/bootstrap.ts",
|
|
"apps/api/v2/src/config/env.ts",
|
|
"apps/api/v2/src/env.ts",
|
|
"apps/api/v2/test/setEnvVars.ts"
|
|
],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noProcessEnv": "off"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": ["**/*.test.ts", "**/*.test.tsx", "**/*.e2e-spec.ts"],
|
|
"linter": {
|
|
"rules": {
|
|
"complexity": {
|
|
"useArrowFunction": "off",
|
|
"noExcessiveLinesPerFunction": "off"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"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."
|
|
},
|
|
{
|
|
"group": ["@calcom/web", "@calcom/web/**"],
|
|
"message": "features package should not import from @calcom/web to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["../../apps/web/**"],
|
|
"message": "features package should not import from apps/web 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": ["packages/testing/**/*.{ts,tsx,js,jsx,mts,mjs,cjs,cts}"],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noRestrictedImports": {
|
|
"level": "error",
|
|
"options": {
|
|
"patterns": [
|
|
{
|
|
"group": ["@calcom/web", "@calcom/web/**"],
|
|
"message": "testing package should not import from @calcom/web to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["@calcom/features", "@calcom/features/**"],
|
|
"message": "testing package should not import from @calcom/features to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["../../apps/web/**"],
|
|
"message": "testing package should not import from apps/web to avoid circular dependencies."
|
|
},
|
|
{
|
|
"group": ["../features/**"],
|
|
"message": "testing package should not import from features to avoid circular dependencies."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"includes": [
|
|
"packages/platform/atoms/**/*.{ts,tsx,js,jsx,mts,mjs,cjs,cts}"
|
|
],
|
|
"linter": {
|
|
"rules": {
|
|
"style": {
|
|
"noRestrictedImports": {
|
|
"level": "error",
|
|
"options": {
|
|
"patterns": [
|
|
{
|
|
"group": [
|
|
"@calcom/trpc",
|
|
"@calcom/trpc/**"
|
|
],
|
|
"message": "atoms package should not import from @calcom/trpc."
|
|
},
|
|
{
|
|
"group": [
|
|
"../../trpc",
|
|
"../../trpc/**"
|
|
],
|
|
"message": "atoms package should not import from trpc."
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|