SIGN IN SIGN UP
calcom / cal.com UNCLAIMED

Scheduling infrastructure for absolutely everyone.

40736 0 0 TypeScript
{
"name": "@calcom/features",
"sideEffects": false,
"private": true,
"description": "Cal.com's main collocation of features",
"authors": "Cal.com, Inc.",
"version": "1.0.0",
"main": "index.ts",
"scripts": {
feat: Introduce biome (#25664) * 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>
2025-12-29 19:41:41 -03:00
"lint": "biome lint .",
feat: Booking EmailAndSms Notifications Tasker (#24944) * wip * wip * feature: Booking Tasker without DI yet * feature: Booking Tasker with DI * fix type check 1 * fix type check 2 * fix * comment booking tasker for now * fix: DI regularBookingService api v2 * fix: convert trigger.dev SDK imports to dynamic imports to fix unit tests The unit tests were failing because BookingEmailAndSmsTriggerTasker.ts had static imports of trigger files that depend on @trigger.dev/sdk. This caused Vitest to try to resolve the SDK at module load time, even though it should be optional. Changed all imports in BookingEmailAndSmsTriggerTasker.ts from static to dynamic (using await import()) so the trigger files are only loaded when the tasker methods are actually called, not at module load time during tests. This fixes the 'Failed to load url @trigger.dev/sdk' errors that were causing 28+ test failures. Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix unit tests * keep inline smsAndEmailHandler.send calls * chore: add team feature flag * add satisfies ModuleLoader * fix type check app flags * move trigger in feature * fix: add trigger.dev prisma generator * fix: email app statuses * fix: CalEvtBuilder unit test * chore: improvements, schema, config, retry * fixup! chore: improvements, schema, config, retry * chore: cleanup code * chore: cleanup code * chore: clean code and give full payload * remove log * add booking notifications queue * add attendee phone number for sms * bump trigger to 4.1.0 * add missing booking seat data in attendee * update config * fix logger regular booking service * fix: prisma as external deps of trigger * fix yarn.lock * revert change to example app booking page * fix: resolve circular dependencies and improve cold start performance in trigger tasks - Convert BookingRepository import to type-only in CalendarEventBuilder.ts to eliminate circular dependency risk - Convert EventNameObjectType, CalendarEvent, and JsonObject imports to type-only in BookingEmailAndSmsTaskService.ts - Use dynamic imports in all trigger notification tasks (confirm, request, reschedule, rr-reschedule) to reduce cold start time - Move heavy imports (BookingEmailSmsHandler, BookingRepository, prisma, TriggerDevLogger, BookingEmailAndSmsTaskService) inside run functions - Eliminates module-level prisma import which violates repo guidelines and adds cold start overhead - Reduces initial module dependency graph by deferring heavy imports (email templates, workflows, large repositories) until task execution Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: improve cold start performance in reminderScheduler with dynamic imports - Remove module-level prisma import (violates 'No prisma outside repositories' guideline) - Use dynamic imports for UserRepository (1,168 lines) - only loaded when needed in EMAIL_ATTENDEE action - Use dynamic imports for twilio provider (386 lines) - only loaded in cancelScheduledMessagesAndScheduleEmails - Use dynamic imports for all manager functions by action type: - scheduleSMSReminder (387 lines) - loaded only for SMS actions - scheduleEmailReminder (459 lines) - loaded only for Email actions - scheduleWhatsappReminder (266 lines) - loaded only for WhatsApp actions - scheduleAIPhoneCall (478 lines) - loaded only for AI phone call actions - Use dynamic imports for sendOrScheduleWorkflowEmails in cancelScheduledMessagesAndScheduleEmails - Significantly reduces cold start time by deferring heavy module loading until execution paths need them - Eliminates module-level prisma import that violated repository pattern guidelines Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: improve cold start performance in BookingEmailSmsHandler with dynamic imports - Remove module-level imports of all email-manager functions (653 LOC + 30+ email templates) - Add dynamic imports in each method (_handleRescheduled, _handleRoundRobinRescheduled, _handleConfirmed, _handleRequested, handleAddGuests) - Defer heavy email-manager loading until method execution - Verified no circular dependencies between email-manager and bookings - Significantly reduces cold start time for RegularBookingService and BookingEmailAndSmsTaskService Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: use dynamic imports * update yarn lock * code review * trigger config project ref in env * update yarn lock * add .env.example trigger variables * add .env.example trigger variables * fix: cleanup error handling and loggin * fix: trigger config from env * fix: small typo fix * fix: ai review comments * fix: ai review comments * ai review * prettier --------- Co-authored-by: hbjORbj <sldisek783@gmail.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-11-28 16:00:04 +02:00
"dev:trigger": "npx trigger.dev@latest dev --analyze",
"deploy:trigger:prod": "npx trigger.dev@latest deploy --skip-promotion",
"deploy:trigger:ci": "trigger deploy --config ./trigger.config.ts --skip-promotion",
"deploy:trigger:staging": "npx trigger.dev@latest deploy --env staging --skip-promotion"
},
"dependencies": {
"@calcom/atoms": "workspace:*",
"@calcom/dayjs": "workspace:*",
"@calcom/i18n": "workspace:*",
"@calcom/lib": "workspace:*",
"@calcom/trpc": "workspace:*",
"@calcom/ui": "workspace:*",
feat: add feature opt-in banner system (#26625) * docs: add feature opt-in banner system plan Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * docs: iterate on feature opt-in banner plan based on feedback - Use config.ts for feature metadata instead of TRPC response - Consolidate localStorage dismissal into single key to avoid bloat - Replace separate success dialog with in-dialog success state for smoother UX Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * feat: implement feature opt-in banner system - Add checkFeatureOptInEligibility TRPC procedure to check if user can opt-in - Create useFeatureOptInBanner hook with localStorage dismissal state - Create FeatureOptInBanner floating component for bottom-right display - Create FeatureOptInConfirmDialog with role-based options and success state - Integrate banner into bookings-view.tsx as example usage Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * feat: add i18n translation keys for feature opt-in banner * refactor: create FeatureOptInBannerWrapper for simpler consumer integration Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * refactor: use @calcom/lib/webstorage and add Zod schema for localStorage Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * refactor: address PR review comments - use PBAC, move logic to service, improve typing Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> # Conflicts: # packages/features/feature-opt-in/services/FeatureOptInService.ts * test: add comprehensive tests for checkFeatureOptInEligibility method Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: correct import and Checkbox type errors Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * update message * invalidate after dialog dismiss * feat: simulate user opt-in to determine banner eligibility When a feature has a strict policy and org/team hasn't explicitly enabled it, user opt-in alone won't enable the feature. This change simulates what would happen if the user opts in and only shows the banner if opting in would actually enable the feature. Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: add early return for missing featureConfig and clarify simulation comment Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix repository usage * refactor: simplify FeatureOptInConfirmDialog UI and remove unused translation Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * refactor: replace radio buttons with multi-select dropdown in FeatureOptInConfirmDialog Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * resize banner * refactor: use AnimatedPopover pattern for team selection and rename titleI18nKey to nameI18nKey Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: change 'Just for me' to 'For me', fix width clipping, remove divider Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * update style * feat: make 'Just for me' mutually exclusive with teams/org and store opt-ins in localStorage Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * refactor: remove barrel imports and update to direct imports Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: add modal prop to AnimatedPopover to fix scroll lock conflict in dialogs Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: wrap Popover.Content with Portal to prevent layout interference in dialogs Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: use flexbox gap instead of space-y to prevent popover wrapper from affecting layout Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * Revert "fix: use flexbox gap instead of space-y to prevent popover wrapper from affecting layout" This reverts commit 8385adafa890c2f2674aa3ae3b10ca6e0c55ba5c. * Revert "fix: wrap Popover.Content with Portal to prevent layout interference in dialogs" This reverts commit e84301a35a99b3559d47c2d37316af290834ca2d. * Revert "fix: add modal prop to AnimatedPopover to fix scroll lock conflict in dialogs" This reverts commit b015af2f1cf31ef7087c02cb8535d96cc4a34125. * feat: replace Radix Dialog and AnimatedPopover with coss-ui components This migration uses @coss/ui Dialog and Popover components which are built on Base UI instead of Radix. Base UI handles scroll locking and positioning differently, which should fix the gap issue when opening the popover inside the dialog. Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * refactor: replace remaining @calcom/ui components with coss-ui - Replace Divider with Separator from @coss/ui - Replace Label with Label from @coss/ui - Replace CheckboxField with Checkbox + Label from @coss/ui - Replace Icon with direct lucide-react icons (UserIcon, BuildingIcon, UsersIcon, CheckIcon) - Replace showToast with toastManager.add() from @coss/ui Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * refactor: replace Popover with Menu component from coss-ui - Replace Popover + FilterCheckboxField with Menu + MenuCheckboxItem - MenuCheckboxItem provides built-in checkbox indicator and styling - MenuSeparator provides proper menu separators - Cleaner API with onCheckedChange callback - Better keyboard navigation support Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: align icon and text on same line in MenuCheckboxItem, widen dialog - Wrap icon and text in flex container with items-center gap-2 - Change dialog width from sm:max-w-md to sm:max-w-lg to prevent text wrapping Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * use dimmed bg for coss dialog title * refactor: change nameI18nKey/descriptionI18nKey to nested i18n object - Change OptInFeatureConfig interface to use i18n: { name, description } - Update all component usages to use featureConfig.i18n.name and featureConfig.i18n.description - Update test mocks to use new structure Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * feat: add i18n.title to OptInFeatureConfig type definition Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * update texts * use title instead of name * update banner style * refactor: split FeatureOptInConfirmDialog into separate success and confirmation dialogs Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: don't record dismissed info in local storage after successful opt-in Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * fix: add checkFeatureOptInEligibility to IFeatureOptInService interface Co-Authored-By: eunjae@cal.com <hey@eunjae.dev> * update common.json * refactor: move tRPC usage from features package to apps/web/modules Addresses Cubic AI review feedback (confidence 9/10): - Remove @calcom/trpc import from FeatureOptInConfirmDialog.tsx - Add FeatureOptInMutations type for passing mutation functions via props - Move tRPC hooks to useFeatureOptInBanner hook in apps/web/modules - Pass mutations through FeatureOptInBannerWrapper to dialog component This maintains the architectural constraint that packages/features should not import from @calcom/trpc to prevent circular dependencies. Co-Authored-By: unknown <> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-19 19:48:26 +01:00
"@coss/ui": "workspace:*",
fix: add undeclared dependencies and remove unused/misplaced dependencies (#26205) * chore: lock all package versions to match yarn.lock This commit pins all dependency versions in package.json files to exact versions matching the yarn.lock file, removing ^ and ~ prefixes. Changes: - Locked 427 dependencies across 47 package.json files - Versions now match exactly what is resolved in yarn.lock - Ensures reproducible builds and prevents unexpected version drift This change improves build reproducibility by ensuring that the versions specified in package.json files match exactly what yarn.lock resolves to. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add undeclared dependencies to trpc, ui, and platform-types packages - @calcom/trpc: add cookie, uuid and their type definitions - @calcom/ui: add Lexical packages, Radix UI components, classnames, sonner, react-easy-crop, zod - @calcom/platform-types: add @nestjs/common, @nestjs/swagger, libphonenumber-js, luxon, zod These dependencies were being used in the code but not declared in package.json, relying on hoisting from other packages. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after adding undeclared dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: upgrade Prisma versions in example apps and pin remaining @types/node - Upgraded @prisma/client to 6.16.1 in example apps to match main app - Pinned @types/node to 20.17.23 in atoms, libraries, and example apps - Pinned @types/react to 18.0.26 and @types/react-dom to 18.2.6 in example apps Addresses PR review comments about Prisma version mismatch and unpinned @types/node Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: remove unused and misplaced dependencies Removed unused dependencies: - @calcom/web: mime-types, posthog-node, react-date-picker, react-multi-email, react-phone-number-input, recoil, @vercel/edge-functions-ui, lottie-react, jotai - @calcom/features: @lexical/react, lexical, akismet-api, stripe-event-types Removed misplaced dependencies from @calcom/web (already in @calcom/ui): - @radix-ui/react-avatar, @radix-ui/react-dialog, @radix-ui/react-dropdown-menu - @radix-ui/react-hover-card, @radix-ui/react-id, @radix-ui/react-popover - @radix-ui/react-slider, @radix-ui/react-switch, @radix-ui/react-toggle-group - react-colorful Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add back jotai and react-phone-number-input dependencies These dependencies were incorrectly removed in the previous commit: - jotai: Required as peer dependency by @daily-co/daily-react - react-phone-number-input: CSS imported in WorkflowStepContainer.tsx Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after Prisma version upgrade Updates yarn.lock to reflect: - @prisma/client upgraded from 6.7.0 to 6.16.1 in example apps - Removed unused @prisma/client@6.7.0 resolution Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: align dependency versions per PR review feedback - @nestjs/common: 10.0.0 -> 10.3.3 in platform-types (match api-v2) - cookie: ^0.7.0 -> 0.7.0 in trpc (pin exact version) - uuid: ^8.3.2 -> 8.3.2 in trpc (pin exact version) - @types/cookie: ^0.6.0 -> 0.6.0 in trpc (pin exact version) - @types/uuid: ^8.3.4 -> 8.3.4 in trpc (pin exact version) Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * refactor: move root dependencies to proper packages - Remove all dependencies from root package.json (they were misplaced) - Add @evyweb/ioctopus, city-timezones, date-fns-tz, p-limit to @calcom/features - @daily-co/daily-js already exists in @calcom/web - @vercel/functions already exists in @calcom/features - date-fns already exists in @calcom/ui Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-12-26 23:02:24 -03:00
"@evyweb/ioctopus": "1.2.0",
"@tanstack/react-table": "8.20.6",
"@tanstack/react-virtual": "3.10.9",
"@trigger.dev/sdk": "4.3.2",
"@vercel/functions": "1.4.0",
fix: add undeclared dependencies and remove unused/misplaced dependencies (#26205) * chore: lock all package versions to match yarn.lock This commit pins all dependency versions in package.json files to exact versions matching the yarn.lock file, removing ^ and ~ prefixes. Changes: - Locked 427 dependencies across 47 package.json files - Versions now match exactly what is resolved in yarn.lock - Ensures reproducible builds and prevents unexpected version drift This change improves build reproducibility by ensuring that the versions specified in package.json files match exactly what yarn.lock resolves to. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add undeclared dependencies to trpc, ui, and platform-types packages - @calcom/trpc: add cookie, uuid and their type definitions - @calcom/ui: add Lexical packages, Radix UI components, classnames, sonner, react-easy-crop, zod - @calcom/platform-types: add @nestjs/common, @nestjs/swagger, libphonenumber-js, luxon, zod These dependencies were being used in the code but not declared in package.json, relying on hoisting from other packages. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after adding undeclared dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: upgrade Prisma versions in example apps and pin remaining @types/node - Upgraded @prisma/client to 6.16.1 in example apps to match main app - Pinned @types/node to 20.17.23 in atoms, libraries, and example apps - Pinned @types/react to 18.0.26 and @types/react-dom to 18.2.6 in example apps Addresses PR review comments about Prisma version mismatch and unpinned @types/node Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: remove unused and misplaced dependencies Removed unused dependencies: - @calcom/web: mime-types, posthog-node, react-date-picker, react-multi-email, react-phone-number-input, recoil, @vercel/edge-functions-ui, lottie-react, jotai - @calcom/features: @lexical/react, lexical, akismet-api, stripe-event-types Removed misplaced dependencies from @calcom/web (already in @calcom/ui): - @radix-ui/react-avatar, @radix-ui/react-dialog, @radix-ui/react-dropdown-menu - @radix-ui/react-hover-card, @radix-ui/react-id, @radix-ui/react-popover - @radix-ui/react-slider, @radix-ui/react-switch, @radix-ui/react-toggle-group - react-colorful Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add back jotai and react-phone-number-input dependencies These dependencies were incorrectly removed in the previous commit: - jotai: Required as peer dependency by @daily-co/daily-react - react-phone-number-input: CSS imported in WorkflowStepContainer.tsx Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after Prisma version upgrade Updates yarn.lock to reflect: - @prisma/client upgraded from 6.7.0 to 6.16.1 in example apps - Removed unused @prisma/client@6.7.0 resolution Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: align dependency versions per PR review feedback - @nestjs/common: 10.0.0 -> 10.3.3 in platform-types (match api-v2) - cookie: ^0.7.0 -> 0.7.0 in trpc (pin exact version) - uuid: ^8.3.2 -> 8.3.2 in trpc (pin exact version) - @types/cookie: ^0.6.0 -> 0.6.0 in trpc (pin exact version) - @types/uuid: ^8.3.4 -> 8.3.4 in trpc (pin exact version) Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * refactor: move root dependencies to proper packages - Remove all dependencies from root package.json (they were misplaced) - Add @evyweb/ioctopus, city-timezones, date-fns-tz, p-limit to @calcom/features - @daily-co/daily-js already exists in @calcom/web - @vercel/functions already exists in @calcom/features - date-fns already exists in @calcom/ui Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-12-26 23:02:24 -03:00
"city-timezones": "1.2.1",
"class-variance-authority": "0.7.1",
fix: add undeclared dependencies and remove unused/misplaced dependencies (#26205) * chore: lock all package versions to match yarn.lock This commit pins all dependency versions in package.json files to exact versions matching the yarn.lock file, removing ^ and ~ prefixes. Changes: - Locked 427 dependencies across 47 package.json files - Versions now match exactly what is resolved in yarn.lock - Ensures reproducible builds and prevents unexpected version drift This change improves build reproducibility by ensuring that the versions specified in package.json files match exactly what yarn.lock resolves to. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add undeclared dependencies to trpc, ui, and platform-types packages - @calcom/trpc: add cookie, uuid and their type definitions - @calcom/ui: add Lexical packages, Radix UI components, classnames, sonner, react-easy-crop, zod - @calcom/platform-types: add @nestjs/common, @nestjs/swagger, libphonenumber-js, luxon, zod These dependencies were being used in the code but not declared in package.json, relying on hoisting from other packages. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after adding undeclared dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: upgrade Prisma versions in example apps and pin remaining @types/node - Upgraded @prisma/client to 6.16.1 in example apps to match main app - Pinned @types/node to 20.17.23 in atoms, libraries, and example apps - Pinned @types/react to 18.0.26 and @types/react-dom to 18.2.6 in example apps Addresses PR review comments about Prisma version mismatch and unpinned @types/node Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: remove unused and misplaced dependencies Removed unused dependencies: - @calcom/web: mime-types, posthog-node, react-date-picker, react-multi-email, react-phone-number-input, recoil, @vercel/edge-functions-ui, lottie-react, jotai - @calcom/features: @lexical/react, lexical, akismet-api, stripe-event-types Removed misplaced dependencies from @calcom/web (already in @calcom/ui): - @radix-ui/react-avatar, @radix-ui/react-dialog, @radix-ui/react-dropdown-menu - @radix-ui/react-hover-card, @radix-ui/react-id, @radix-ui/react-popover - @radix-ui/react-slider, @radix-ui/react-switch, @radix-ui/react-toggle-group - react-colorful Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add back jotai and react-phone-number-input dependencies These dependencies were incorrectly removed in the previous commit: - jotai: Required as peer dependency by @daily-co/daily-react - react-phone-number-input: CSS imported in WorkflowStepContainer.tsx Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after Prisma version upgrade Updates yarn.lock to reflect: - @prisma/client upgraded from 6.7.0 to 6.16.1 in example apps - Removed unused @prisma/client@6.7.0 resolution Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: align dependency versions per PR review feedback - @nestjs/common: 10.0.0 -> 10.3.3 in platform-types (match api-v2) - cookie: ^0.7.0 -> 0.7.0 in trpc (pin exact version) - uuid: ^8.3.2 -> 8.3.2 in trpc (pin exact version) - @types/cookie: ^0.6.0 -> 0.6.0 in trpc (pin exact version) - @types/uuid: ^8.3.4 -> 8.3.4 in trpc (pin exact version) Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * refactor: move root dependencies to proper packages - Remove all dependencies from root package.json (they were misplaced) - Add @evyweb/ioctopus, city-timezones, date-fns-tz, p-limit to @calcom/features - @daily-co/daily-js already exists in @calcom/web - @vercel/functions already exists in @calcom/features - date-fns already exists in @calcom/ui Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-12-26 23:02:24 -03:00
"date-fns-tz": "3.2.0",
"deasync": "^0.1.31",
"framer-motion": "10.12.8",
fix: add undeclared dependencies and remove unused/misplaced dependencies (#26205) * chore: lock all package versions to match yarn.lock This commit pins all dependency versions in package.json files to exact versions matching the yarn.lock file, removing ^ and ~ prefixes. Changes: - Locked 427 dependencies across 47 package.json files - Versions now match exactly what is resolved in yarn.lock - Ensures reproducible builds and prevents unexpected version drift This change improves build reproducibility by ensuring that the versions specified in package.json files match exactly what yarn.lock resolves to. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add undeclared dependencies to trpc, ui, and platform-types packages - @calcom/trpc: add cookie, uuid and their type definitions - @calcom/ui: add Lexical packages, Radix UI components, classnames, sonner, react-easy-crop, zod - @calcom/platform-types: add @nestjs/common, @nestjs/swagger, libphonenumber-js, luxon, zod These dependencies were being used in the code but not declared in package.json, relying on hoisting from other packages. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after adding undeclared dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: upgrade Prisma versions in example apps and pin remaining @types/node - Upgraded @prisma/client to 6.16.1 in example apps to match main app - Pinned @types/node to 20.17.23 in atoms, libraries, and example apps - Pinned @types/react to 18.0.26 and @types/react-dom to 18.2.6 in example apps Addresses PR review comments about Prisma version mismatch and unpinned @types/node Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: remove unused and misplaced dependencies Removed unused dependencies: - @calcom/web: mime-types, posthog-node, react-date-picker, react-multi-email, react-phone-number-input, recoil, @vercel/edge-functions-ui, lottie-react, jotai - @calcom/features: @lexical/react, lexical, akismet-api, stripe-event-types Removed misplaced dependencies from @calcom/web (already in @calcom/ui): - @radix-ui/react-avatar, @radix-ui/react-dialog, @radix-ui/react-dropdown-menu - @radix-ui/react-hover-card, @radix-ui/react-id, @radix-ui/react-popover - @radix-ui/react-slider, @radix-ui/react-switch, @radix-ui/react-toggle-group - react-colorful Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add back jotai and react-phone-number-input dependencies These dependencies were incorrectly removed in the previous commit: - jotai: Required as peer dependency by @daily-co/daily-react - react-phone-number-input: CSS imported in WorkflowStepContainer.tsx Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * chore: update yarn.lock after Prisma version upgrade Updates yarn.lock to reflect: - @prisma/client upgraded from 6.7.0 to 6.16.1 in example apps - Removed unused @prisma/client@6.7.0 resolution Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: align dependency versions per PR review feedback - @nestjs/common: 10.0.0 -> 10.3.3 in platform-types (match api-v2) - cookie: ^0.7.0 -> 0.7.0 in trpc (pin exact version) - uuid: ^8.3.2 -> 8.3.2 in trpc (pin exact version) - @types/cookie: ^0.6.0 -> 0.6.0 in trpc (pin exact version) - @types/uuid: ^8.3.4 -> 8.3.4 in trpc (pin exact version) Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * refactor: move root dependencies to proper packages - Remove all dependencies from root package.json (they were misplaced) - Add @evyweb/ioctopus, city-timezones, date-fns-tz, p-limit to @calcom/features - @daily-co/daily-js already exists in @calcom/web - @vercel/functions already exists in @calcom/features - date-fns already exists in @calcom/ui Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-12-26 23:02:24 -03:00
"p-limit": "6.2.0",
2026-01-05 16:41:05 +05:30
"react-awesome-query-builder": "5.1.2",
fix: lock package versions and organize devDependencies (#26095) * fix: lock package versions to exact versions from yarn.lock Replace version ranges (^, ~) with exact resolved versions from yarn.lock to ensure consistent dependency resolution across all environments. This change affects 26 package.json files with 89 version updates including: - TypeScript: ^5.9.0-beta -> 5.9.2 - Zod: ^3.22.4 -> 3.25.76 - React: ^18 -> 18.2.0 - Various Radix UI, Vite, PostCSS, and other dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: preserve npm alias format for @radix-ui packages The previous commit incorrectly converted npm aliases like 'npm:@radix-ui/react-dialog@^1.0.4' to just '1.0.4', which broke yarn install as it tried to find non-existent packages. This fix restores the npm alias format while keeping the pinned versions: - @radix-ui/react-dialog-atoms: npm:@radix-ui/react-dialog@1.0.4 - @radix-ui/react-tooltip-atoms: npm:@radix-ui/react-tooltip@1.0.6 Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * refactor: move dev dependencies to devDependencies section Move 26 dependencies that are clearly development-only to the devDependencies section across 10 packages: - Testing: @types/jest, jest, ts-jest, @golevelup/ts-jest - Build tools: typescript, ts-node, concurrently, dotenv-cli - Linting: eslint-*, eslint-config-*, eslint-plugin-* - Types: @types/express, @types/turndown, @types/uuid This improves dependency organization and ensures production builds don't include unnecessary development dependencies. Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Keith Williams <keithwillcode@gmail.com>
2025-12-21 10:18:07 -03:00
"react-select": "5.8.0",
"react-sticky-box": "2.0.4",
"recharts": "3.0.2",
feat: Introduce biome (#25664) * 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>
2025-12-29 19:41:41 -03:00
"stripe": "9.16.0",
"stripe-event-types": "3.1.0",
"web-push": "3.6.7",
"zustand": "4.5.2"
New Booker Component (preparations for booker atom) (#6792) * Wip on booker atom * Wip on booker atom * Added correct icon imports * Fixed build * Responsive improvements * Removed package lock * Responsive tweaks * Animation improvements and cleanup * Animation improvements and event meta layout improvements. * Tweaked margins. * Added more event meta blocks * Layout tweaks * Converted booker layout to css grid and implemented multiple layout options * cleanup * Fixed build * Fixed build * Added temporary api route to enable/disable new booker * Added sticky behavior * Reverted yarn.lock and reinstalled new packages to see if this fixes build on vercel. * Ensure divider lines always have 100% height. * Improved animation config + initial load * Ensure to pass eventid to getschedule, otherwise custom availability schedule wont work and wont return any availability * Fixed divider line heights in booker * Fixed timezone select positioning * Added ability to view multiple days of timeslots * Added icons to booker toggle * Always show timeslots in timeslots view, also if no date is selected yet. In that case we show upcoming 5 days. * Fixed timeslots in small calendar view * Show selected day in calendar * Fixed booker timeslots view * Wip in making booking form work * Moved most of the booker atom stuff to features, since it belongs there. Atom should be a rather small wrapper. * Added create event functionality to booker form. * Added guests toggle to booker form and styled input addons in dark mode. * Added dynamic weekstart to booker * Added seats limit feature to timeslots. * Removed todo * Added correct event avatars * Added correct event name and icons * Added correct translation for minutes text in multi duration * Add rescheduling functionality to new booker. * Added selected booking time to booking meta in sidebar. * Abstracted away timeformat to custom hook * Added correct key props to all components in booker. * Fix build * Create some new custom hooks to have a lot less repitition in code. * Moved bookerform component inside booker directory since it is tied to it. * Added error messages to booker form, plus fixed bug in recurring events. * Added some comments <3 * Fixed todos in booker form. * Added loading state for timeslot selector, and added prefetching of next month, in case of multi day view showing 2 months at the same time. * Fixed import paths * Added away view * Validate uniqueness of event attendees. * Tweaked comment * #5798 added correct date format and style for selected date in booker. * UI improvements * Enable possibility to add booking values via query params. * Added functionality to update query params when user selects date/duration etc in booker * First steps in adding e2e test. * Fixes after merge with main, and added new form builder. * Implemented new form types and validation to booker, confirming new form builder. Validation still throwing wrong error keys though. * Added search to timezone dropdown * Added e2e test for booker (copy of current booker tests, only enabling cookie), plus fixed reschedule view. * Updated yarn.lock * Added new booker for team pages. * Fixed input addon (hover) styles. * Added dynamic booking. * Hide timeformat select for multi day view for now. * Cleanup and ui tweaks * removed log * Mobile improvements * Cleanup * Small design tweaks after talking to ciaran. * Text color and weight tweaks in booker * Added rainbow gates to new booker. * Added in default values which fixes form vallidation (???). * Added empty defaults for name and email * Added metadata * Reset yarn.lock * Fixed booker zod validation after change in main. * Icon tweak * Fixed timezone select styles after new classnames have been merged. * Updated seat availability styles. * Update yarn.lock * Added explanation for alchemy key to .env.example * Added tooltip to booker month/week/multiday toggle * Fixed timezoneselect styles in booker after select updates. * Updates bookingfields component by taking changes from current booker component * Removed remaining booker todos * Fix bookeventform * Fix for recurring event meta * Type fixes * Typefixes * Team event fixes * Avoid hydration errors by only rendering date picker client side. Remove web3 gates since we dont offer them anymore. Prevent timeslot select from staying open when switching to a different month. * Don't show calendar on mobile booker during booking. * Always align booker buttons to bottom * Don't show backend messages in error, rather show a helpful text like the current booker does as well. * Do invisible next rewrite based on cookie from next.config.js (#7949) * Do invisible next rewrite based on cookie from next.config.js * Name embed link instead of bookerPath * Rewrites only dynamic user pages --------- Co-authored-by: zomars <zomars@me.com> * Don't allow change of timezone when bookerform is visible * Don't add duration to query param if the event is not a multi duration event. * Update next.config.js * Added correct timezone formatting to event meta when timeslot is selected. * removed .env variable that isn't needed anymore. * Update Gates.tsx * Type fixes * Allows to run all tests with the new booker * Fixed timezone select styles after merge. * Don't throw error when event doesn't have hosts, rather return no users, which will result in no availability in UI. * Make booker errors of severity info instead of warning. * Ensure team avatars are shown, as well as filter on uniqueness of avatars. * Added all booked today message to timeslots. * Added cal.com logo to booker. * Fixed fragment classname error, minor mobile animation tweaks plus make all booked today text smaller for multi day layout. * Improved timezone select styles, and updated arguments of getbooking function after updates in main. * Prevent infinite loop in rewriting new booker. * Prevent infinite loop in rewriting new booker. * Moved new-booker pages to their own directory to prevent regexes confusing next and thus nut running getserversideprops after rewrite. Also adding clearing of old date in booker store, that could stick around when user immediately navigates back to the same page after booking. * Fixed cal logo color in darkmode for new booker. * Implemented new color tokens and theme variables. Also small design tweaks after merge with main. * Minor style tweaks * Show multiple locations in tooltip on booker #8222 * Radio button style tweaks * Fixed build * Updated calendar imports to new lucide names * Removed resetting of selected times logic, because otherwise url params wouldnt be taken into account which is actually what we want. So old values sticking around when navigating back is actually the desired behavior. * Updated tests to instead of always run the new booker in tests, have a utility to run both the new and old booker for specified tests. * Added comment and eslint disable for if statement in booker test. * Update packages/features/bookings/components/event-meta/Details.tsx Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com> * Fix badge types * Lazy loaded timezone select to save 85kb in bundle size. * Upgraded framer to latest. Als moved framer and react sticky deps to features instead of atoms. * Added new pagewrapper logic * Simplified rescheduling ssr fetches, this now also supports multi seat rescheduling. * Unset selected time when user is rescheduling directly after a new booking, otherwise it would show the form instead of new time selection. * Updated form builder logic as per form builder in current booker. * Updated form builder prefill logic as per logic in current booker. * Updated getbooking function to fetch correct details when a reschedule uid is used * Fixed booking questions test by NOT waiting for /book page because the new booker doesnt have this. * Added former meeting time to reschedule view. * Fixed types * Undo playwright config update by mistake. * Fixed event types test by only waiting for /book page in old booker * Set new booker cookie to one year in the future instead of 2050 * added reset mockdate to test * Temporary disabled test to see if this solves the out of memory error. * Deleted test to see if that fixes the memory error * Select first day when switching months in booker --------- Co-authored-by: zomars <zomars@me.com> Co-authored-by: Alex van Andel <me@alexvanandel.com> Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com> Co-authored-by: Sean Brydon <sean@cal.com> Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-04-24 16:32:30 +02:00
},
"peerDependencies": {
fix: add missing peer dependencies and fix inconsistent peer dependency declarations (#26244) * fix: add missing peer dependencies and fix inconsistent peer dependency declarations - @calcom/ui: Move react from dependencies to peerDependencies (was inconsistent with react-dom being a peer) - @calcom/emails: Move react and react-dom to peerDependencies - @coss/ui: Add react and react-dom as peerDependencies (uses lucide-react and @base-ui/react) - @calcom/app-store: Add react, react-dom, zod as peerDependencies (depends on @calcom/features which has these peers) - @calcom/platform-libraries: Add react, react-dom, stripe, zod as peerDependencies (depends on @calcom/features) - @calcom/features: Add next as peerDependency (depends on @calcom/trpc which has next as peer), update react/react-dom to flexible version ranges - @calcom/features/ee: Add react, react-dom, react-hook-form as peerDependencies (uses @calcom/ui and @hookform packages) Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add more peer dependencies for PnP compatibility Additional changes: - @calcom/app-store: Move stripe from dependencies to peerDependencies - @calcom/ui: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/trpc: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/atoms: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/stripepayment: Add react, react-dom, stripe as peerDependencies - @calcom/caldavcalendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/exchange2013calendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/exchange2016calendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/ics-feed: Add react, react-dom, react-hook-form as peerDependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: revert dependency moves for packages with own builds Packages with their own build step should not have dependencies moved to peerDependencies as they need those deps at build time. Reverted: - @calcom/trpc: Keep @tanstack/react-query out of peerDependencies - @calcom/atoms: Restore @tanstack/react-query to dependencies - @calcom/stripepayment: Restore stripe to dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2025-12-28 21:29:44 -03:00
"next": ">=14.0.0",
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0",
"react-is": "^18.2.0",
"zod": "^3.0.0"
},
New Booker Component (preparations for booker atom) (#6792) * Wip on booker atom * Wip on booker atom * Added correct icon imports * Fixed build * Responsive improvements * Removed package lock * Responsive tweaks * Animation improvements and cleanup * Animation improvements and event meta layout improvements. * Tweaked margins. * Added more event meta blocks * Layout tweaks * Converted booker layout to css grid and implemented multiple layout options * cleanup * Fixed build * Fixed build * Added temporary api route to enable/disable new booker * Added sticky behavior * Reverted yarn.lock and reinstalled new packages to see if this fixes build on vercel. * Ensure divider lines always have 100% height. * Improved animation config + initial load * Ensure to pass eventid to getschedule, otherwise custom availability schedule wont work and wont return any availability * Fixed divider line heights in booker * Fixed timezone select positioning * Added ability to view multiple days of timeslots * Added icons to booker toggle * Always show timeslots in timeslots view, also if no date is selected yet. In that case we show upcoming 5 days. * Fixed timeslots in small calendar view * Show selected day in calendar * Fixed booker timeslots view * Wip in making booking form work * Moved most of the booker atom stuff to features, since it belongs there. Atom should be a rather small wrapper. * Added create event functionality to booker form. * Added guests toggle to booker form and styled input addons in dark mode. * Added dynamic weekstart to booker * Added seats limit feature to timeslots. * Removed todo * Added correct event avatars * Added correct event name and icons * Added correct translation for minutes text in multi duration * Add rescheduling functionality to new booker. * Added selected booking time to booking meta in sidebar. * Abstracted away timeformat to custom hook * Added correct key props to all components in booker. * Fix build * Create some new custom hooks to have a lot less repitition in code. * Moved bookerform component inside booker directory since it is tied to it. * Added error messages to booker form, plus fixed bug in recurring events. * Added some comments <3 * Fixed todos in booker form. * Added loading state for timeslot selector, and added prefetching of next month, in case of multi day view showing 2 months at the same time. * Fixed import paths * Added away view * Validate uniqueness of event attendees. * Tweaked comment * #5798 added correct date format and style for selected date in booker. * UI improvements * Enable possibility to add booking values via query params. * Added functionality to update query params when user selects date/duration etc in booker * First steps in adding e2e test. * Fixes after merge with main, and added new form builder. * Implemented new form types and validation to booker, confirming new form builder. Validation still throwing wrong error keys though. * Added search to timezone dropdown * Added e2e test for booker (copy of current booker tests, only enabling cookie), plus fixed reschedule view. * Updated yarn.lock * Added new booker for team pages. * Fixed input addon (hover) styles. * Added dynamic booking. * Hide timeformat select for multi day view for now. * Cleanup and ui tweaks * removed log * Mobile improvements * Cleanup * Small design tweaks after talking to ciaran. * Text color and weight tweaks in booker * Added rainbow gates to new booker. * Added in default values which fixes form vallidation (???). * Added empty defaults for name and email * Added metadata * Reset yarn.lock * Fixed booker zod validation after change in main. * Icon tweak * Fixed timezone select styles after new classnames have been merged. * Updated seat availability styles. * Update yarn.lock * Added explanation for alchemy key to .env.example * Added tooltip to booker month/week/multiday toggle * Fixed timezoneselect styles in booker after select updates. * Updates bookingfields component by taking changes from current booker component * Removed remaining booker todos * Fix bookeventform * Fix for recurring event meta * Type fixes * Typefixes * Team event fixes * Avoid hydration errors by only rendering date picker client side. Remove web3 gates since we dont offer them anymore. Prevent timeslot select from staying open when switching to a different month. * Don't show calendar on mobile booker during booking. * Always align booker buttons to bottom * Don't show backend messages in error, rather show a helpful text like the current booker does as well. * Do invisible next rewrite based on cookie from next.config.js (#7949) * Do invisible next rewrite based on cookie from next.config.js * Name embed link instead of bookerPath * Rewrites only dynamic user pages --------- Co-authored-by: zomars <zomars@me.com> * Don't allow change of timezone when bookerform is visible * Don't add duration to query param if the event is not a multi duration event. * Update next.config.js * Added correct timezone formatting to event meta when timeslot is selected. * removed .env variable that isn't needed anymore. * Update Gates.tsx * Type fixes * Allows to run all tests with the new booker * Fixed timezone select styles after merge. * Don't throw error when event doesn't have hosts, rather return no users, which will result in no availability in UI. * Make booker errors of severity info instead of warning. * Ensure team avatars are shown, as well as filter on uniqueness of avatars. * Added all booked today message to timeslots. * Added cal.com logo to booker. * Fixed fragment classname error, minor mobile animation tweaks plus make all booked today text smaller for multi day layout. * Improved timezone select styles, and updated arguments of getbooking function after updates in main. * Prevent infinite loop in rewriting new booker. * Prevent infinite loop in rewriting new booker. * Moved new-booker pages to their own directory to prevent regexes confusing next and thus nut running getserversideprops after rewrite. Also adding clearing of old date in booker store, that could stick around when user immediately navigates back to the same page after booking. * Fixed cal logo color in darkmode for new booker. * Implemented new color tokens and theme variables. Also small design tweaks after merge with main. * Minor style tweaks * Show multiple locations in tooltip on booker #8222 * Radio button style tweaks * Fixed build * Updated calendar imports to new lucide names * Removed resetting of selected times logic, because otherwise url params wouldnt be taken into account which is actually what we want. So old values sticking around when navigating back is actually the desired behavior. * Updated tests to instead of always run the new booker in tests, have a utility to run both the new and old booker for specified tests. * Added comment and eslint disable for if statement in booker test. * Update packages/features/bookings/components/event-meta/Details.tsx Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com> * Fix badge types * Lazy loaded timezone select to save 85kb in bundle size. * Upgraded framer to latest. Als moved framer and react sticky deps to features instead of atoms. * Added new pagewrapper logic * Simplified rescheduling ssr fetches, this now also supports multi seat rescheduling. * Unset selected time when user is rescheduling directly after a new booking, otherwise it would show the form instead of new time selection. * Updated form builder logic as per form builder in current booker. * Updated form builder prefill logic as per logic in current booker. * Updated getbooking function to fetch correct details when a reschedule uid is used * Fixed booking questions test by NOT waiting for /book page because the new booker doesnt have this. * Added former meeting time to reschedule view. * Fixed types * Undo playwright config update by mistake. * Fixed event types test by only waiting for /book page in old booker * Set new booker cookie to one year in the future instead of 2050 * added reset mockdate to test * Temporary disabled test to see if this solves the out of memory error. * Deleted test to see if that fixes the memory error * Select first day when switching months in booker --------- Co-authored-by: zomars <zomars@me.com> Co-authored-by: Alex van Andel <me@alexvanandel.com> Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com> Co-authored-by: Sean Brydon <sean@cal.com> Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2023-04-24 16:32:30 +02:00
"devDependencies": {
refactor: remove @calcom/web imports from @calcom/features and add @calcom/testing package (#26480) * fix: remove @calcom/web imports from packages/features to eliminate circular dependency - Migrate UserTableUser and MemberPermissions types to packages/features/users/types/user-table.ts - Migrate useGeo hook to packages/features/geo/GeoContext.tsx - Migrate buildLegacyRequest to packages/lib/buildLegacyCtx.ts - Migrate Calendar component to packages/features/calendars/weeklyview/components/ - Move test utilities (bookingScenario, fixtures) to packages/features/test/ - Update all imports in packages/features to use new locations - Add re-exports in apps/web for backward compatibility Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: delete original implementation files and fix type issues - Delete original calendar component files in apps/web (keep only re-export stubs) - Migrate OutOfOfficeInSlots to packages/features/bookings/components - Convert apps/web OutOfOfficeInSlots to re-export stub - Fix className vs class issue in Calendar.tsx - Fix @calcom/trpc import violation in user-table.ts by using structural type Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: add missing isGroup and contains fields to UserTableUser attributes type Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: update customRole type to match actual Prisma Role model Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix build * fix * fix * cleanup weeklyview * fix * refactor to mv MemberPermissions to types package * add types dependency to features * fix * fix * fix * fix * fix * fix * rename * rename * migrate * migrate * migrate * fix * fix * fix * refactor: move test utilities from packages/features/test to tests/libs - Move bookingScenario utilities to tests/libs/bookingScenario - Move fixtures to tests/libs/fixtures - Update all imports in packages/features test files to use new location - Update all imports in apps/web test files to use new location - Eliminates duplication of test utilities between packages/features and apps/web Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: correct relative import paths for tests/libs in test files Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * refactor: replace test utility implementations with re-exports to tests/libs Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: fix test import paths and move signup handler tests to apps/web Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: move buildLegacyCtx to packages/lib and restore handlers to packages/features - Move buildLegacyCtx from apps/web/lib to packages/lib to break circular dependency - Update apps/web/lib/buildLegacyCtx.ts to re-export from @calcom/lib - Restore signup handlers and tests to packages/features/auth/signup/handlers - Update handler imports to use @calcom/lib/buildLegacyCtx instead of @calcom/web/lib/buildLegacyCtx Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: update recurring-event.test.ts imports to use tests/libs path Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * refactor: delete test re-export files and update imports to use tests/libs directly Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: update remaining test imports to use tests/libs directly Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: update handleRecurringEventBooking calls to match function signature (1 arg) Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * remove * migrate tests * migrate tests * refactor: update test mock imports by removing and using async for mock creators. * fix type errors * fix: add type assertion for MockUser in p2002.test-suite.ts Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: restore locale import in compareReminderBodyToTemplate.test.ts using relative path Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * feat: create @calcom/testing package and migrate tests from /tests directory - Created new @calcom/testing package in /packages/testing - Moved all files from /tests to /packages/testing - Updated all imports across the codebase to use @calcom/testing alias - Removed /tests directory at root level This allows other packages like @calcom/features and @calcom/web to import testing utilities using the @calcom/testing alias instead of relative paths. Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix * fix * fix: add missing useBookings export to @calcom/atoms package Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: add missing useCalendarsBusyTimes and useConnectedCalendars exports to @calcom/atoms Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * chore: add @calcom/testing as explicit devDependency to packages that use it Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * refactor: move setupVitest.ts into @calcom/testing package Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix * chore: add biome rules to restrict @calcom/testing imports Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix * rename libs to lib * rename libs to lib * add rule * add rule * refactor: remove @calcom/features imports from @calcom/testing - Move mockPaymentSuccessWebhookFromStripe to fresh-booking.test.ts - Replace ProfileRepository.generateProfileUid() with uuidv4() - Clone Tracking type into @calcom/testing/src/lib/types.ts - Update imports in expects.ts and getMockRequestDataForBooking.ts - Move source files into src/ folder - Move CalendarManager mock to @calcom/features Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * fix: add explicit exports for nested paths in @calcom/testing Co-Authored-By: benny@cal.com <sldisek783@gmail.com> * improve * improve * fix * fix * fix type checks * fix type checks * fix type checks * fix tests --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-08 16:59:11 +09:00
"@calcom/testing": "workspace:*",
"@testing-library/react-hooks": "8.0.1",
"@types/deasync": "^0",
"@types/web-push": "3.6.3",
"trigger.dev": "4.3.2"
}
}