* 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>
205 lines
6.8 KiB
JSON
205 lines
6.8 KiB
JSON
{
|
|
"name": "@calcom/web",
|
|
"version": "6.0.8",
|
|
"private": true,
|
|
"scripts": {
|
|
"analyze": "ANALYZE=true next build",
|
|
"analyze:server": "BUNDLE_ANALYZE=server next build",
|
|
"analyze:browser": "BUNDLE_ANALYZE=browser next build",
|
|
"clean": "rm -rf .turbo && rm -rf node_modules && rm -rf .next",
|
|
"dev": "turbo run copy-app-store-static && next dev --turbopack",
|
|
"dev:scan": "yarn dev & npx --yes react-scan@latest localhost:3000",
|
|
"dev:cron": "npx tsx cron-tester.ts",
|
|
"dev-https": "NODE_TLS_REJECT_UNAUTHORIZED=0 next dev --experimental-https",
|
|
"dx": "yarn dev",
|
|
"test-codegen": "yarn playwright codegen http://localhost:3000",
|
|
"type-check": "tsc --pretty --noEmit",
|
|
"type-check:ci": "tsc-absolute --pretty --noEmit",
|
|
"sentry:release": "NODE_OPTIONS='--max-old-space-size=6144' node scripts/create-sentry-release.js",
|
|
"copy-static": "turbo run copy-app-store-static",
|
|
"copy-app-store-static": "node scripts/copy-app-store-static.js",
|
|
"build": "next build && yarn sentry:release",
|
|
"start": "next start",
|
|
"lint": "biome lint .",
|
|
"lint:fix": "biome lint --write .",
|
|
"lint:report": "biome lint --reporter json . > ../../lint-results/web.json",
|
|
"check-changed-files": "ts-node scripts/ts-check-changed-files.ts",
|
|
"translate-locales": "ts-node scripts/check-missing-translations.ts",
|
|
"stripe:listen": "stripe listen --forward-to http://localhost:3000/api/stripe/webhook"
|
|
},
|
|
"engines": {
|
|
"yarn": "3.4.1"
|
|
},
|
|
"dependencies": {
|
|
"@boxyhq/saml-jackson": "1.52.2",
|
|
"@calcom/app-store": "workspace:*",
|
|
"@calcom/app-store-cli": "workspace:*",
|
|
"@calcom/dayjs": "workspace:*",
|
|
"@calcom/embed-core": "workspace:*",
|
|
"@calcom/embed-react": "workspace:*",
|
|
"@calcom/embed-snippet": "workspace:*",
|
|
"@calcom/features": "workspace:*",
|
|
"@calcom/lib": "workspace:*",
|
|
"@calcom/platform-enums": "workspace:*",
|
|
"@calcom/platform-types": "workspace:*",
|
|
"@calcom/prisma": "workspace:*",
|
|
"@calcom/trpc": "workspace:*",
|
|
"@calcom/tsconfig": "workspace:*",
|
|
"@calcom/ui": "workspace:*",
|
|
"@coss/ui": "workspace:*",
|
|
"@daily-co/daily-js": "0.83.1",
|
|
"@daily-co/daily-react": "0.23.2",
|
|
"@dub/analytics": "0.0.27",
|
|
"@dub/embed-core": "0.0.18",
|
|
"@dub/embed-react": "0.0.18",
|
|
"@formkit/auto-animate": "1.0.0-beta.5",
|
|
"@glidejs/glide": "3.5.2",
|
|
"@googleapis/admin": "23.5.0",
|
|
"@googleapis/calendar": "9.7.9",
|
|
"@googleapis/oauth2": "1.0.7",
|
|
"@hookform/error-message": "2.0.0",
|
|
"@hookform/resolvers": "2.9.7",
|
|
"@next-auth/prisma-adapter": "1.0.4",
|
|
"@next/bundle-analyzer": "16.1.0",
|
|
"@next/third-parties": "14.2.5",
|
|
"@prisma/nextjs-monorepo-workaround-plugin": "6.16.1",
|
|
"@radix-ui/react-avatar": "1.1.3",
|
|
"@radix-ui/react-collapsible": "1.0.3",
|
|
"@radix-ui/react-dialog": "1.0.4",
|
|
"@radix-ui/react-dropdown-menu": "2.0.5",
|
|
"@radix-ui/react-hover-card": "1.0.7",
|
|
"@radix-ui/react-id": "1.0.1",
|
|
"@radix-ui/react-popover": "1.0.6",
|
|
"@radix-ui/react-radio-group": "1.1.3",
|
|
"@radix-ui/react-slider": "1.2.2",
|
|
"@radix-ui/react-switch": "1.1.0",
|
|
"@radix-ui/react-toggle-group": "1.0.4",
|
|
"@radix-ui/react-tooltip": "1.0.6",
|
|
"@sentry/nextjs": "9.15.0",
|
|
"@stripe/react-stripe-js": "1.10.0",
|
|
"@stripe/stripe-js": "1.35.0",
|
|
"@tanstack/react-query": "5.17.19",
|
|
"@todesktop/client-core": "1.20.0",
|
|
"@upstash/redis": "1.35.2",
|
|
"@vercel/edge-config": "0.1.1",
|
|
"@vercel/og": "0.6.3",
|
|
"accept-language-parser": "1.5.0",
|
|
"async": "3.2.4",
|
|
"bcp-47-match": "2.0.3",
|
|
"bcryptjs": "2.4.3",
|
|
"botid": "1.5.7",
|
|
"classnames": "2.3.2",
|
|
"dompurify": "3.3.1",
|
|
"entities": "4.5.0",
|
|
"handlebars": "4.7.7",
|
|
"i18next": "23.2.3",
|
|
"ical.js": "1.5.0",
|
|
"ics": "2.37.0",
|
|
"isbot": "5.1.30",
|
|
"jose": "4.13.1",
|
|
"jotai": "2.12.2",
|
|
"jsdom": "22.0.0",
|
|
"kbar": "0.1.0-beta.36",
|
|
"libphonenumber-js": "^1.11.18",
|
|
"lodash": "4.17.21",
|
|
"markdown-it": "13.0.1",
|
|
"md5": "2.3.0",
|
|
"memory-cache": "0.2.0",
|
|
"micro": "10.0.1",
|
|
"next": "16.1.0",
|
|
"next-auth": "4.24.13",
|
|
"next-axiom": "0.17.0",
|
|
"next-i18next": "15.4.2",
|
|
"next-seo": "6.1.0",
|
|
"next-themes": "0.2.0",
|
|
"nodemailer": "7.0.12",
|
|
"nuqs": "2.8.2",
|
|
"openid-client": "6.5.0",
|
|
"otplib": "12.0.1",
|
|
"posthog-js": "1.274.1",
|
|
"qrcode": "1.5.1",
|
|
"raw-body": "2.5.2",
|
|
"react": "18.2.0",
|
|
"react-digit-input": "2.1.0",
|
|
"react-dom": "18.2.0",
|
|
"react-easy-crop": "3.5.3",
|
|
"react-hook-form": "7.43.3",
|
|
"react-i18next": "12.3.1",
|
|
"react-live-chat-loader": "2.8.1",
|
|
"react-phone-input-2": "2.15.1",
|
|
"react-phone-number-input": "3.4.12",
|
|
"react-schemaorg": "2.0.0",
|
|
"react-select": "5.8.0",
|
|
"react-timezone-select": "1.4.0",
|
|
"react-turnstile": "1.1.3",
|
|
"react-use-intercom": "5.5.0",
|
|
"remove-markdown": "0.5.0",
|
|
"retell-client-js-sdk": "2.0.7",
|
|
"retell-sdk": "4.41.0",
|
|
"rrule": "2.7.1",
|
|
"sanitize-html": "2.17.0",
|
|
"schema-dts": "1.1.0",
|
|
"sharp": "0.33.5",
|
|
"short-uuid": "4.2.0",
|
|
"sonner": "1.7.4",
|
|
"stripe": "9.16.0",
|
|
"superjson": "1.9.1",
|
|
"turndown": "7.2.0",
|
|
"uuid": "8.3.2",
|
|
"zod": "3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "7.26.10",
|
|
"@biomejs/biome": "2.3.10",
|
|
"@calcom/config": "workspace:*",
|
|
"@calcom/testing": "workspace:*",
|
|
"@calcom/types": "workspace:*",
|
|
"@microsoft/microsoft-graph-types-beta": "0.15.0-preview",
|
|
"@playwright/test": "1.57.0",
|
|
"@tailwindcss/postcss": "4.1.15",
|
|
"@testing-library/react": "13.3.0",
|
|
"@types/accept-language-parser": "1.5.2",
|
|
"@types/async": "3.2.15",
|
|
"@types/bcryptjs": "2.4.2",
|
|
"@types/detect-port": "1.3.2",
|
|
"@types/dompurify": "3.0.5",
|
|
"@types/glidejs__glide": "3.4.2",
|
|
"@types/jsdom": "21.1.7",
|
|
"@types/lodash": "4.14.182",
|
|
"@types/markdown-it": "12.2.3",
|
|
"@types/md5": "2.3.2",
|
|
"@types/memory-cache": "0.2.2",
|
|
"@types/micro": "7.3.7",
|
|
"@types/module-alias": "2.0.1",
|
|
"@types/nodemailer": "6.4.5",
|
|
"@types/qrcode": "1.4.3",
|
|
"@types/react": "18.0.26",
|
|
"@types/remove-markdown": "0.3.1",
|
|
"@types/sanitize-html": "2.9.0",
|
|
"@types/stripe": "8.0.417",
|
|
"@types/turndown": "5.0.1",
|
|
"@types/uuid": "8.3.1",
|
|
"autoprefixer": "10.4.19",
|
|
"cron": "3.1.7",
|
|
"detect-port": "1.3.0",
|
|
"dotenv-cli": "6.0.0",
|
|
"env-cmd": "10.1.0",
|
|
"glob": "10.4.5",
|
|
"google-auth-library": "9.15.0",
|
|
"module-alias": "2.2.2",
|
|
"node-html-parser": "6.1.13",
|
|
"node-mocks-http": "1.16.2",
|
|
"postcss": "8.5.6",
|
|
"tailwindcss": "4.1.17",
|
|
"ts-node": "10.9.2",
|
|
"turbo": "2.5.5",
|
|
"typescript": "5.9.3"
|
|
},
|
|
"nextBundleAnalysis": {
|
|
"budget": 358400,
|
|
"budgetPercentIncreaseRed": 20,
|
|
"minimumChangeThreshold": 500,
|
|
"showDetails": true
|
|
}
|
|
}
|