diff --git a/apps/api/v1/pages/api/slots/_get.test.ts b/apps/api/v1/pages/api/slots/_get.test.ts index 29d531f133d80c..ce971ea562f7f2 100644 --- a/apps/api/v1/pages/api/slots/_get.test.ts +++ b/apps/api/v1/pages/api/slots/_get.test.ts @@ -65,7 +65,7 @@ describe("GET /api/slots", () => { }); buildMockData(); await handler(req, res); - console.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); + logger.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); const response = JSON.parse(res._getData()); expect(response.slots).toEqual(expect.objectContaining({})); }); @@ -83,7 +83,7 @@ describe("GET /api/slots", () => { }); buildMockData(); await handler(req, res); - console.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); + logger.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); const response = JSON.parse(res._getData()); expect(response.slots).toEqual(expect.objectContaining({})); }); diff --git a/apps/api/v1/test/lib/bookings/_get.integration-test.ts b/apps/api/v1/test/lib/bookings/_get.integration-test.ts index a3a0a6c9e7aa91..378cb4e0e69def 100644 --- a/apps/api/v1/test/lib/bookings/_get.integration-test.ts +++ b/apps/api/v1/test/lib/bookings/_get.integration-test.ts @@ -355,7 +355,7 @@ describe("GET /api/bookings", async () => { .filter(([_, count]) => count > 1) .map(([id]) => id); - console.log(`Found duplicate booking IDs: ${duplicates.join(", ")}`); + logger.log(`Found duplicate booking IDs: ${duplicates.join(", ")}`); } }); }); diff --git a/apps/api/v1/test/lib/bookings/_post.test.ts b/apps/api/v1/test/lib/bookings/_post.test.ts index 9aa9b516d73ef2..b1e7fe046c4adb 100644 --- a/apps/api/v1/test/lib/bookings/_post.test.ts +++ b/apps/api/v1/test/lib/bookings/_post.test.ts @@ -146,7 +146,7 @@ describe.skipIf(true)("POST /api/bookings", () => { prismaMock.eventType.findUniqueOrThrow.mockResolvedValue(buildEventType()); await handler(req, res); - console.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); + logger.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); expect(res._getStatusCode()).toBe(500); expect(JSON.parse(res._getData())).toEqual( @@ -183,7 +183,7 @@ describe.skipIf(true)("POST /api/bookings", () => { prismaMock.booking.findMany.mockResolvedValue([]); await handler(req, res); - console.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); + logger.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); createdBooking = JSON.parse(res._getData()); expect(prismaMock.booking.create).toHaveBeenCalledTimes(1); }); @@ -212,7 +212,7 @@ describe.skipIf(true)("POST /api/bookings", () => { prismaMock.booking.findMany.mockResolvedValue([]); await handler(req, res); - console.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); + logger.log({ statusCode: res._getStatusCode(), data: JSON.parse(res._getData()) }); const rescheduledBooking = JSON.parse(res._getData()) as Booking; expect(prismaMock.booking.create).toHaveBeenCalledTimes(1); expect(rescheduledBooking.fromReschedule).toEqual(createdBooking.uid); diff --git a/apps/api/v2/scripts/docker-start.ts b/apps/api/v2/scripts/docker-start.ts index c71470dfc16744..e9d9c8af0bc8bf 100644 --- a/apps/api/v2/scripts/docker-start.ts +++ b/apps/api/v2/scripts/docker-start.ts @@ -18,12 +18,12 @@ try { // Try docker compose first (new syntax) try { execSync("docker compose version", { stdio: "ignore" }); - console.log("Starting containers with docker compose..."); + logger.log("Starting containers with docker compose..."); execSync("docker compose up -d", { stdio: "inherit" }); } catch (e) { // Fall back to docker-compose if the above fails if (checkCommandExists("docker-compose")) { - console.log("Starting containers with docker-compose..."); + logger.log("Starting containers with docker-compose..."); execSync("docker-compose up -d", { stdio: "inherit" }); } else { throw new Error("Neither 'docker compose' nor 'docker-compose' command is available"); diff --git a/apps/ui-playground/content/design/components/pagination.tsx b/apps/ui-playground/content/design/components/pagination.tsx index f81e8988c18833..1cf41d831a7da5 100644 --- a/apps/ui-playground/content/design/components/pagination.tsx +++ b/apps/ui-playground/content/design/components/pagination.tsx @@ -52,11 +52,11 @@ export const WithCallbacksExample = () => { const totalItems = 100; const handleNext = () => { - console.log("Next page clicked"); + logger.log("Next page clicked"); }; const handlePrevious = () => { - console.log("Previous page clicked"); + logger.log("Previous page clicked"); }; return ( diff --git a/apps/web/components/notification-sound-handler.tsx b/apps/web/components/notification-sound-handler.tsx index 47304396873543..a0f09115206420 100644 --- a/apps/web/components/notification-sound-handler.tsx +++ b/apps/web/components/notification-sound-handler.tsx @@ -22,7 +22,7 @@ export function NotificationSoundHandler() { const response = await fetch("/ring.mp3"); const arrayBuffer = await response.arrayBuffer(); audioBufferRef.current = await audioContextRef.current.decodeAudioData(arrayBuffer); - console.log("Audio file loaded and decoded"); + logger.log("Audio file loaded and decoded"); } return true; @@ -62,7 +62,7 @@ export function NotificationSoundHandler() { source.loop = true; source.start(0); - console.log("Sound started playing"); + logger.log("Sound started playing"); setTimeout(() => { if (sourceRef.current === source) { @@ -101,7 +101,7 @@ export function NotificationSoundHandler() { useEffect(() => { if (!("serviceWorker" in navigator)) { - console.log("ServiceWorker not available"); + logger.log("ServiceWorker not available"); return; } diff --git a/apps/web/cron-tester.ts b/apps/web/cron-tester.ts index 693ac7aafa099d..e7882650bdefa7 100644 --- a/apps/web/cron-tester.ts +++ b/apps/web/cron-tester.ts @@ -17,7 +17,7 @@ async function fetchCron(endpoint: string) { } try { - console.log("⏳ Running cron endpoints"); + logger.log("⏳ Running cron endpoints"); new CronJob( // Each 5 seconds "*/5 * * * * *", diff --git a/apps/web/lib/apps/[slug]/getStaticProps.tsx b/apps/web/lib/apps/[slug]/getStaticProps.tsx index 61079a283492e3..5a4d15dd575da5 100644 --- a/apps/web/lib/apps/[slug]/getStaticProps.tsx +++ b/apps/web/lib/apps/[slug]/getStaticProps.tsx @@ -61,7 +61,7 @@ export const getStaticProps = async (slug: string) => { source = source.replace(/{DESCRIPTION}/g, appMeta.description); } catch (error) { /* If the app doesn't have a README we fallback to the package description */ - console.log(`No DESCRIPTION.md provided for: ${appDirname}`); + logger.log(`No DESCRIPTION.md provided for: ${appDirname}`); source = appMeta.description; } diff --git a/apps/web/modules/signup-view.tsx b/apps/web/modules/signup-view.tsx index d5f297d56330c9..ad99fd7293e080 100644 --- a/apps/web/modules/signup-view.tsx +++ b/apps/web/modules/signup-view.tsx @@ -216,7 +216,7 @@ export default function Signup({ if (err.checkoutSessionId) { const stripe = await getStripe(); if (stripe) { - console.log("Redirecting to stripe checkout"); + logger.log("Redirecting to stripe checkout"); const { error } = await stripe.redirectToCheckout({ sessionId: err.checkoutSessionId, }); diff --git a/apps/web/playwright/embed-code-generator.e2e.ts b/apps/web/playwright/embed-code-generator.e2e.ts index 2bc0c6490ab7a7..9df7b39bfb1cbe 100644 --- a/apps/web/playwright/embed-code-generator.e2e.ts +++ b/apps/web/playwright/embed-code-generator.e2e.ts @@ -452,12 +452,10 @@ function assertThatCodeIsValidVanillaJsCode(code: string) { rules: eslintRules, }); if (lintResult.length) { - console.log( - JSON.stringify({ + logger.log(JSON.stringify({ lintResult, code, - }) - ); + })); } expect(lintResult.length).toBe(0); } @@ -477,12 +475,10 @@ function assertThatCodeIsValidReactCode(code: string) { rules: eslintRules, }); if (lintResult.length) { - console.log( - JSON.stringify({ + logger.log(JSON.stringify({ lintResult, code, - }) - ); + })); } expect(lintResult.length).toBe(0); } diff --git a/apps/web/playwright/fixtures/embeds.ts b/apps/web/playwright/fixtures/embeds.ts index f480b42879c097..53d5eefb87941b 100644 --- a/apps/web/playwright/fixtures/embeds.ts +++ b/apps/web/playwright/fixtures/embeds.ts @@ -51,7 +51,7 @@ export const createEmbedsFixture = (page: Page) => { console.log("Using api from namespace-", { calNamespace, api }); } if (!api) { - console.log(`namespace "${calNamespace}" not found yet - Trying again`); + logger.log(`namespace "${calNamespace}" not found yet - Trying again`); setTimeout(tryAddingListener, 500); return; } @@ -78,11 +78,11 @@ export const createEmbedsFixture = (page: Page) => { ); page.on("console", (msg) => { - console.log(`Browser Console: ${msg.type()}: ${msg.text()}`); + logger.log(`Browser Console: ${msg.type()}: ${msg.text()}`); }); page.on("framenavigated", async (frame) => { - console.log(`Navigation occurred in frame: ${frame.url()}`); + logger.log(`Navigation occurred in frame: ${frame.url()}`); }); page.on("pageerror", (error) => { diff --git a/apps/web/playwright/integrations.e2e.ts b/apps/web/playwright/integrations.e2e.ts index 23622a1ed58859..8c8d89eaa585b1 100644 --- a/apps/web/playwright/integrations.e2e.ts +++ b/apps/web/playwright/integrations.e2e.ts @@ -16,7 +16,7 @@ declare let global: { const requestInterceptor = setupServer( rest.post("https://api.hubapi.com/oauth/v1/token", (req, res, ctx) => { - console.log(req.body); + logger.log(req.body); return res(ctx.status(200)); }) ); diff --git a/apps/web/playwright/login.2fa.e2e.ts b/apps/web/playwright/login.2fa.e2e.ts index e9fa1214341c32..02cd80bbd8a5cf 100644 --- a/apps/web/playwright/login.2fa.e2e.ts +++ b/apps/web/playwright/login.2fa.e2e.ts @@ -169,7 +169,7 @@ async function removeOtpInput(page: Page) { async function fillOtp({ page, secret, noRetry }: { page: Page; secret: string; noRetry?: boolean }) { let token = authenticator.generate(secret); if (!noRetry && !totpAuthenticatorCheck(token, secret)) { - console.log("Token expired, Renerating."); + logger.log("Token expired, Renerating."); // Maybe token was just about to expire, try again just once more token = authenticator.generate(secret); } diff --git a/apps/web/playwright/organization/lib/gotoPathAndExpectRedirectToOrgDomain.ts b/apps/web/playwright/organization/lib/gotoPathAndExpectRedirectToOrgDomain.ts index bc50d795d78fef..1194f1abc6c697 100644 --- a/apps/web/playwright/organization/lib/gotoPathAndExpectRedirectToOrgDomain.ts +++ b/apps/web/playwright/organization/lib/gotoPathAndExpectRedirectToOrgDomain.ts @@ -18,7 +18,7 @@ export async function gotoPathAndExpectRedirectToOrgDomain({ throw new Error("Org slug is not defined"); } page.goto(path).catch((e) => { - console.log("Expected navigation error to happen"); + logger.log("Expected navigation error to happen"); }); const orgSlug = org.slug; diff --git a/apps/web/scripts/check-missing-translations.ts b/apps/web/scripts/check-missing-translations.ts index d032b48085b964..f362e638fdf754 100644 --- a/apps/web/scripts/check-missing-translations.ts +++ b/apps/web/scripts/check-missing-translations.ts @@ -16,7 +16,7 @@ const missingTranslationLocales: string[] = []; if (locale === TEMPLATE_LANGUAGE) return; if (!ALL_LOCALES.includes(locale)) { missingTranslationLocales.push(locale); - console.log(` + logger.log(` ❌ ${locale} is not found in ${LOCALES_PATH}! If you want to create a new locale, Please create common.json under ${join(LOCALES_PATH, locale)}. `); @@ -44,8 +44,8 @@ const missingTranslationLocales: string[] = []; }); if (missingTranslationLocales.length) { - console.log("🌍 The following locales need to be translated: "); - console.log(` ${missingTranslationLocales.join(", ")}`); + logger.log("🌍 The following locales need to be translated: "); + logger.log(` ${missingTranslationLocales.join(", ")}`); } else { - console.log("💯 All the locales are completely translated!"); + logger.log("💯 All the locales are completely translated!"); } diff --git a/apps/web/scripts/ts-check-changed-files.ts b/apps/web/scripts/ts-check-changed-files.ts index 5cbbef9cf003da..89faced0e5be33 100644 --- a/apps/web/scripts/ts-check-changed-files.ts +++ b/apps/web/scripts/ts-check-changed-files.ts @@ -13,14 +13,14 @@ const files = diff .filter(Boolean) .filter((file) => file.endsWith(".ts") || file.endsWith(".tsx")); -console.log("ℹ️ Changed files:"); -console.log(files.map((str) => ` - ${str}`).join("\n")); +logger.log("ℹ️ Changed files:"); +logger.log(files.map((str) => ` - ${str}`).join("\n")); try { - console.log("⏳ Checking type errors.."); + logger.log("⏳ Checking type errors.."); execSync("yarn tsc --noEmit", {}); - console.log("😻 No errors!"); + logger.log("😻 No errors!"); } catch (_err) { const err = _err as Err; @@ -29,12 +29,12 @@ try { const filesWithTypeErrors = files.filter((file) => output.includes(file)); if (!filesWithTypeErrors.length) { - console.log(`🎉 You haven't introduced any new type errors!`); + logger.log(`🎉 You haven't introduced any new type errors!`); process.exit(0); } - console.log("❌ ❌ ❌ You seem to have touched files that have type errors ❌ ❌ ❌"); - console.log("🙏 Please inspect the following files:"); - console.log(filesWithTypeErrors.map((str) => ` - ${str}`).join("\n")); + logger.log("❌ ❌ ❌ You seem to have touched files that have type errors ❌ ❌ ❌"); + logger.log("🙏 Please inspect the following files:"); + logger.log(filesWithTypeErrors.map((str) => ` - ${str}`).join("\n")); process.exit(1); } diff --git a/apps/web/test/lib/getSchedule/futureLimit.timezone.test.ts b/apps/web/test/lib/getSchedule/futureLimit.timezone.test.ts index 28d5785e8e5061..ac2c836476bc69 100644 --- a/apps/web/test/lib/getSchedule/futureLimit.timezone.test.ts +++ b/apps/web/test/lib/getSchedule/futureLimit.timezone.test.ts @@ -497,7 +497,7 @@ describe("getSchedule", () => { }, }); - console.log({ scheduleForEvent }); + logger.log({ scheduleForEvent }); expect(scheduleForEvent).toHaveTimeSlots( // All slots on current day are available diff --git a/apps/web/test/lib/getSchedule/utils.ts b/apps/web/test/lib/getSchedule/utils.ts index ccf2505561811f..09add0a5a7f049 100644 --- a/apps/web/test/lib/getSchedule/utils.ts +++ b/apps/web/test/lib/getSchedule/utils.ts @@ -11,6 +11,6 @@ export function timeTravelToTheBeginningOfToday({ utcOffsetInHours = 0 }: { utcO const minutesString = minutes < 10 ? `0${minutes}` : `${minutes}`; const { dateString: yesterdayDateString } = getDate({ dateIncrement: -1 }); - console.log({ yesterdayDateString, hours, minutes }); + logger.log({ yesterdayDateString, hours, minutes }); vi.setSystemTime(`${yesterdayDateString}T${hoursString}:${minutesString}:00.000Z`); } diff --git a/apps/web/test/lib/next-config.test.ts b/apps/web/test/lib/next-config.test.ts index 4c02869afd7c90..51103f66625ef3 100644 --- a/apps/web/test/lib/next-config.test.ts +++ b/apps/web/test/lib/next-config.test.ts @@ -21,7 +21,7 @@ beforeAll(async () => { orgUserTypeRouteMatch = match(orgUserTypeRoutePath); orgUserRouteMatch = match(orgUserRoutePath); - console.log({ + logger.log({ regExps: { orgUserTypeRouteMatch: pathToRegexp(orgUserTypeRoutePath), orgUserRouteMatch: pathToRegexp(orgUserRoutePath), diff --git a/apps/web/test/lib/plainTiers.test.ts b/apps/web/test/lib/plainTiers.test.ts index 21b73f5f4fdf9c..f41a2c92760846 100644 --- a/apps/web/test/lib/plainTiers.test.ts +++ b/apps/web/test/lib/plainTiers.test.ts @@ -62,7 +62,7 @@ describe("Plain Integration API", () => { // Skip all tests if the feature is disabled if (!IS_PLAIN_CHAT_ENABLED) { it("skips tests when Plain Chat is disabled", () => { - console.log("Plain Chat is disabled, skipping tests"); + logger.log("Plain Chat is disabled, skipping tests"); }); return; } diff --git a/example-apps/credential-sync/pages/api/getToken.ts b/example-apps/credential-sync/pages/api/getToken.ts index 3956a2ecdbed40..529e083f3a756f 100644 --- a/example-apps/credential-sync/pages/api/getToken.ts +++ b/example-apps/credential-sync/pages/api/getToken.ts @@ -5,7 +5,7 @@ import { generateGoogleCalendarAccessToken, generateZoomAccessToken } from "../. export default async function handler(req: NextApiRequest, res: NextApiResponse) { const secret = req.headers[CALCOM_CREDENTIAL_SYNC_HEADER_NAME]; - console.log("getToken hit"); + logger.log("getToken hit"); try { if (!secret) { return res.status(403).json({ message: "secret header not set" }); diff --git a/packages/app-store-cli/src/build.ts b/packages/app-store-cli/src/build.ts index 1d9c5d208cc38d..0f6cd23c813d77 100644 --- a/packages/app-store-cli/src/build.ts +++ b/packages/app-store-cli/src/build.ts @@ -362,7 +362,7 @@ function generateFiles() { filesToGenerate.forEach(([fileName, output]) => { fs.writeFileSync(`${APP_STORE_PATH}/${fileName}`, formatOutput(`${banner}${output.join("\n")}`)); }); - console.log(`Generated ${filesToGenerate.map(([fileName]) => fileName).join(", ")}`); + logger.log(`Generated ${filesToGenerate.map(([fileName]) => fileName).join(", ")}`); } const debouncedGenerateFiles = debounce(generateFiles); @@ -373,20 +373,20 @@ if (isInWatchMode) { .on("addDir", (dirPath) => { const appName = getAppName(dirPath); if (appName) { - console.log(`Added ${appName}`); + logger.log(`Added ${appName}`); debouncedGenerateFiles(); } }) .on("change", (filePath) => { if (filePath.endsWith("config.json")) { - console.log("Config file changed"); + logger.log("Config file changed"); debouncedGenerateFiles(); } }) .on("unlinkDir", (dirPath) => { const appName = getAppName(dirPath); if (appName) { - console.log(`Removed ${appName}`); + logger.log(`Removed ${appName}`); debouncedGenerateFiles(); } }); diff --git a/packages/app-store-cli/src/cli.tsx b/packages/app-store-cli/src/cli.tsx index 33001ffa1ffec4..9350ce93340624 100644 --- a/packages/app-store-cli/src/cli.tsx +++ b/packages/app-store-cli/src/cli.tsx @@ -65,7 +65,7 @@ if ( ) { slug = cli.flags.slug; if (!slug) { - console.log("--slug is required"); + logger.log("--slug is required"); cli.showHelp(0); } } diff --git a/packages/app-store-cli/src/utils/execSync.ts b/packages/app-store-cli/src/utils/execSync.ts index dce49a2ef6b87d..75fe20d0344c2a 100644 --- a/packages/app-store-cli/src/utils/execSync.ts +++ b/packages/app-store-cli/src/utils/execSync.ts @@ -3,23 +3,23 @@ import child_process from "child_process"; const execSync = async (cmd: string) => { const silent = process.env.DEBUG === "1" ? false : true; if (!silent) { - console.log(`${process.cwd()}$: ${cmd}`); + logger.log(`${process.cwd()}$: ${cmd}`); } const result: string = await new Promise((resolve, reject) => { child_process.exec(cmd, (err, stdout, stderr) => { if (err) { reject(err); - console.log(err); + logger.log(err); } if (stderr && !silent) { - console.log(stderr); + logger.log(stderr); } resolve(stdout); }); }); if (!silent) { - console.log(result.toString()); + logger.log(result.toString()); } return cmd; }; diff --git a/packages/app-store/closecom/lib/CrmService.ts b/packages/app-store/closecom/lib/CrmService.ts index e2cecde581a907..38005e1fa1341a 100644 --- a/packages/app-store/closecom/lib/CrmService.ts +++ b/packages/app-store/closecom/lib/CrmService.ts @@ -203,10 +203,10 @@ export default class CloseComCRMService implements CRM { } getAppOptions() { - console.log("No options implemented"); + logger.log("No options implemented"); } async handleAttendeeNoShow() { - console.log("Not implemented"); + logger.log("Not implemented"); } } diff --git a/packages/app-store/googlecalendar/lib/__tests__/CalendarService.auth.test.ts b/packages/app-store/googlecalendar/lib/__tests__/CalendarService.auth.test.ts index 31af2e8eed246e..bdeb8f79da1f55 100644 --- a/packages/app-store/googlecalendar/lib/__tests__/CalendarService.auth.test.ts +++ b/packages/app-store/googlecalendar/lib/__tests__/CalendarService.auth.test.ts @@ -139,7 +139,7 @@ describe("GoogleCalendarService credential handling", () => { mockSuccessfulCalendarListFetch(); await expectNoCredentialsInDb(); - console.log("TESTS: First instance of CalendarService"); + logger.log("TESTS: First instance of CalendarService"); const calendarService1 = new CalendarService({ ...credentialWithDelegation, }); @@ -159,7 +159,7 @@ describe("GoogleCalendarService credential handling", () => { }, }); expect(existingCredential).toBeDefined(); - console.log("TESTS: Second instance of CalendarService"); + logger.log("TESTS: Second instance of CalendarService"); createMockJWTInstance({ authorizeError: { response: { diff --git a/packages/app-store/googlecalendar/lib/__tests__/CalendarService.test.ts b/packages/app-store/googlecalendar/lib/__tests__/CalendarService.test.ts index e49bdcb72f5ea3..76afa6da40d024 100644 --- a/packages/app-store/googlecalendar/lib/__tests__/CalendarService.test.ts +++ b/packages/app-store/googlecalendar/lib/__tests__/CalendarService.test.ts @@ -427,7 +427,7 @@ describe("Calendar Cache", () => { expect(calendarCachesBefore).toHaveLength(0); await calendarService.fetchAvailabilityAndSetCache(selectedCalendars); const calendarCachesAfter = await prismock.calendarCache.findMany(); - console.log({ calendarCachesAfter }); + logger.log({ calendarCachesAfter }); expect(calendarCachesAfter).toHaveLength(1); const datesForWhichCachedAvailabilityIsUsed = [ { @@ -446,7 +446,7 @@ describe("Calendar Cache", () => { expect(result).toEqual(mockedBusyTimes); } } catch (error) { - console.log({ error }); + logger.log({ error }); throw "Looks like cache was not used"; } diff --git a/packages/app-store/hubspot/lib/CrmService.ts b/packages/app-store/hubspot/lib/CrmService.ts index 33d7713f4df892..b41f80e133aaf2 100644 --- a/packages/app-store/hubspot/lib/CrmService.ts +++ b/packages/app-store/hubspot/lib/CrmService.ts @@ -290,10 +290,10 @@ export default class HubspotCalendarService implements CRM { } getAppOptions() { - console.log("No options implemented"); + logger.log("No options implemented"); } async handleAttendeeNoShow() { - console.log("Not implemented"); + logger.log("Not implemented"); } } diff --git a/packages/app-store/intercom/api/configure.ts b/packages/app-store/intercom/api/configure.ts index f964e254c3955e..830b6a0724ee1f 100644 --- a/packages/app-store/intercom/api/configure.ts +++ b/packages/app-store/intercom/api/configure.ts @@ -15,7 +15,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) return res.status(200).json(linkStepResult); } const buttonAndInvitationStepResult = await handleButtonAndInvitationStep(req); - console.log(buttonAndInvitationStepResult); + logger.log(buttonAndInvitationStepResult); if (buttonAndInvitationStepResult) { return res.status(200).json(buttonAndInvitationStepResult); } diff --git a/packages/app-store/mock-payment-app/lib/PaymentService.ts b/packages/app-store/mock-payment-app/lib/PaymentService.ts index 3d7aa4fec4029c..c2558591447849 100644 --- a/packages/app-store/mock-payment-app/lib/PaymentService.ts +++ b/packages/app-store/mock-payment-app/lib/PaymentService.ts @@ -26,7 +26,7 @@ export class PaymentService implements IAbstractPaymentService { const uid = uuidv4(); - console.log("CREATE payment"); + logger.log("CREATE payment"); const paymentData = await prisma.payment.create({ data: { diff --git a/packages/app-store/office365video/lib/VideoApiAdapter.ts b/packages/app-store/office365video/lib/VideoApiAdapter.ts index 33eded8338b7ee..8f87eb31903336 100644 --- a/packages/app-store/office365video/lib/VideoApiAdapter.ts +++ b/packages/app-store/office365video/lib/VideoApiAdapter.ts @@ -216,7 +216,7 @@ const TeamsVideoApiAdapter = (credential: CredentialForCalendarServiceWithTenant return Promise.resolve([]); }, createMeeting: async (event: CalendarEvent): Promise => { - console.log("=======>createMeeting: "); + logger.log("=======>createMeeting: "); const url = `${await getUserEndpoint()}/onlineMeetings`; console.log("urllllllllllll: ", url); diff --git a/packages/app-store/pipedrive-crm/lib/CrmService.ts b/packages/app-store/pipedrive-crm/lib/CrmService.ts index b9203756f1e10d..3f350aebd1d16c 100644 --- a/packages/app-store/pipedrive-crm/lib/CrmService.ts +++ b/packages/app-store/pipedrive-crm/lib/CrmService.ts @@ -232,10 +232,10 @@ export default class PipedriveCrmService implements CRM { } getAppOptions() { - console.log("No options implemented"); + logger.log("No options implemented"); } async handleAttendeeNoShow() { - console.log("Not implemented"); + logger.log("Not implemented"); } } diff --git a/packages/app-store/salesforce/lib/__tests__/salesforceMock.ts b/packages/app-store/salesforce/lib/__tests__/salesforceMock.ts index 766c861b022493..ed4a2872cf79ab 100644 --- a/packages/app-store/salesforce/lib/__tests__/salesforceMock.ts +++ b/packages/app-store/salesforce/lib/__tests__/salesforceMock.ts @@ -50,7 +50,7 @@ export const createSalesforceMock = () => { const query = composeQuery(parsedQuery); // Simple SOQL parser - console.log({ query }); + logger.log({ query }); const fromMatch = query.match(/FROM\s+(\w+)/i); const whereMatch = query.match(/WHERE\s+(.+?)(?:\s+LIMIT|\s+ORDER|\s*$)/i); const limitMatch = query.match(/LIMIT\s+(\d+)/i); @@ -83,7 +83,7 @@ export const createSalesforceMock = () => { return { records: [] }; } - console.log({ whereClause }); + logger.log({ whereClause }); // Apply where clause filtering (basic implementation) if (whereClause) { if (whereClause.includes("Email =")) { diff --git a/packages/app-store/tests/__mocks__/OAuthManager.ts b/packages/app-store/tests/__mocks__/OAuthManager.ts index b7c536324f5941..4c3ea58671cb48 100644 --- a/packages/app-store/tests/__mocks__/OAuthManager.ts +++ b/packages/app-store/tests/__mocks__/OAuthManager.ts @@ -39,10 +39,10 @@ const defaultMockOAuthManager = vi.fn().mockImplementation(() => { }), request: vi.fn().mockImplementation((fn) => { if (useFullMockOAuthManagerRequest) { - console.log("OAuthManager.request full mock being used"); + logger.log("OAuthManager.request full mock being used"); return oAuthManagerRequestFullMock(fn); } - console.log("OAuthManager.request default mock being used"); + logger.log("OAuthManager.request default mock being used"); return { json: { calendars: [], diff --git a/packages/app-store/zoho-bigin/lib/CrmService.ts b/packages/app-store/zoho-bigin/lib/CrmService.ts index 9bb099c8c5eab8..873fcf2969fd67 100644 --- a/packages/app-store/zoho-bigin/lib/CrmService.ts +++ b/packages/app-store/zoho-bigin/lib/CrmService.ts @@ -291,11 +291,11 @@ export default class BiginCrmService implements CRM { } getAppOptions() { - console.log("No options implemented"); + logger.log("No options implemented"); } async handleAttendeeNoShow() { - console.log("Not implemented"); + logger.log("Not implemented"); } } diff --git a/packages/app-store/zohocrm/lib/CrmService.ts b/packages/app-store/zohocrm/lib/CrmService.ts index eef208addd88c6..021ca7bbb8a142 100644 --- a/packages/app-store/zohocrm/lib/CrmService.ts +++ b/packages/app-store/zohocrm/lib/CrmService.ts @@ -291,10 +291,10 @@ export default class ZohoCrmCrmService implements CRM { } getAppOptions() { - console.log("No options implemented"); + logger.log("No options implemented"); } async handleAttendeeNoShow() { - console.log("Not implemented"); + logger.log("Not implemented"); } } diff --git a/packages/config/theme/generateColor.ts b/packages/config/theme/generateColor.ts index 59c1b8ecbc610a..f28ebecd8fb7fd 100644 --- a/packages/config/theme/generateColor.ts +++ b/packages/config/theme/generateColor.ts @@ -38,7 +38,7 @@ const hexToHSL = (hex: string): HSL => { HSL.l = Math.round(l * 100); return HSL; } catch (error) { - console.log(hex); + logger.log(hex); return { h: 0, s: 0, l: 0 }; } }; diff --git a/packages/emails/templates/_base-email.ts b/packages/emails/templates/_base-email.ts index 4a7c10d0ba932d..f478cc321b9d74 100644 --- a/packages/emails/templates/_base-email.ts +++ b/packages/emails/templates/_base-email.ts @@ -41,9 +41,7 @@ export default class BaseEmail { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-expect-error setTestEmail(await this.getNodeMailerPayload()); - console.log( - "Skipped Sending Email as process.env.NEXT_PUBLIC_UNIT_TESTS is set. Emails are available in globalThis.testEmails" - ); + logger.log("Skipped Sending Email as process.env.NEXT_PUBLIC_UNIT_TESTS is set. Emails are available in globalThis.testEmails"); return new Promise((r) => r("Skipped sendEmail for Unit Tests")); } @@ -53,7 +51,7 @@ export default class BaseEmail { const to = "to" in payload ? (payload.to as string) : ""; if (isSmsCalEmail(to)) { - console.log(`Skipped Sending Email to faux email: ${to}`); + logger.log(`Skipped Sending Email to faux email: ${to}`); return new Promise((r) => r(`Skipped Sending Email to faux email: ${to}`)); } diff --git a/packages/embeds/embed-core/playwright/tests/preview.e2e.ts b/packages/embeds/embed-core/playwright/tests/preview.e2e.ts index 585e5f26ae11a2..6d1a2728e60ec0 100644 --- a/packages/embeds/embed-core/playwright/tests/preview.e2e.ts +++ b/packages/embeds/embed-core/playwright/tests/preview.e2e.ts @@ -35,7 +35,7 @@ test.describe("Preview", () => { const failedRequestUrl = await new Promise((resolve) => page.on("requestfailed", (request) => { - console.log("request failed"); + logger.log("request failed"); resolve(request.url()); }) ); diff --git a/packages/embeds/embed-core/src/__tests__/embed-iframe.test.ts b/packages/embeds/embed-core/src/__tests__/embed-iframe.test.ts index 87dc657b60db93..62b20c587e6a56 100644 --- a/packages/embeds/embed-core/src/__tests__/embed-iframe.test.ts +++ b/packages/embeds/embed-core/src/__tests__/embed-iframe.test.ts @@ -47,7 +47,7 @@ describe("embedStore.router.ensureQueryParamsInUrl", () => { vi.useFakeTimers(); // Mock requestAnimationFrame and cancelAnimationFrame window.requestAnimationFrame = vi.fn((callback: FrameRequestCallback) => { - console.log("mockRequestAnimationFrame called"); + logger.log("mockRequestAnimationFrame called"); const timeoutId = setTimeout(() => { callback(performance.now()); }, 100) as unknown as number; diff --git a/packages/embeds/embed-core/src/embed.test.ts b/packages/embeds/embed-core/src/embed.test.ts index 0df46862845d0a..43580b129443a7 100644 --- a/packages/embeds/embed-core/src/embed.test.ts +++ b/packages/embeds/embed-core/src/embed.test.ts @@ -78,7 +78,7 @@ function compareUrlSearchParams(actual: URLSearchParams, expected: URLSearchPara const expectedObj = Object.fromEntries(expected.entries()); if (JSON.stringify(actualObj) !== JSON.stringify(expectedObj)) { - console.log({ + logger.log({ actual: actualObj, expected: expectedObj, }); diff --git a/packages/embeds/embed-react/inline.tsx b/packages/embeds/embed-react/inline.tsx index c3780fbd7ec585..33f85e081a5bfb 100644 --- a/packages/embeds/embed-react/inline.tsx +++ b/packages/embeds/embed-react/inline.tsx @@ -21,7 +21,7 @@ function App() { setTimeout(setLoaded.bind(true), 1000); // eslint-disable-next-line @typescript-eslint/no-explicit-any const callback = (event: any) => { - console.log(event.detail); + logger.log(event.detail); }; api.then((api) => { api("on", { diff --git a/packages/features/Segment.tsx b/packages/features/Segment.tsx index f8260e694efcfe..a1001a201f50f4 100644 --- a/packages/features/Segment.tsx +++ b/packages/features/Segment.tsx @@ -193,7 +193,7 @@ export function Segment({ const { t } = useLocale(); if (isPending) return Loading...; if (!attributes) { - console.log("Error fetching attributes"); + logger.log("Error fetching attributes"); return {t("something_went_wrong")}; } diff --git a/packages/features/auth/signup/utils/prefillAvatar.ts b/packages/features/auth/signup/utils/prefillAvatar.ts index 628c53a788fe4a..52093065ce3482 100644 --- a/packages/features/auth/signup/utils/prefillAvatar.ts +++ b/packages/features/auth/signup/utils/prefillAvatar.ts @@ -23,7 +23,7 @@ async function downloadImageDataFromUrl(url: string) { return base64Image; } catch (error) { - console.log(error); + logger.log(error); return null; } } diff --git a/packages/features/bookings/lib/getAllCredentialsForUsersOnEvent/getAllCredentials.test.ts b/packages/features/bookings/lib/getAllCredentialsForUsersOnEvent/getAllCredentials.test.ts index eae3f0c4e1562a..8276a14af12201 100644 --- a/packages/features/bookings/lib/getAllCredentialsForUsersOnEvent/getAllCredentials.test.ts +++ b/packages/features/bookings/lib/getAllCredentialsForUsersOnEvent/getAllCredentials.test.ts @@ -263,7 +263,7 @@ describe("getAllCredentialsIncludeServiceAccountKey", () => { }, ]); - console.log(testEventType); + logger.log(testEventType); const credentials = await getAllCredentialsIncludeServiceAccountKey( { @@ -580,7 +580,7 @@ describe("getAllCredentialsIncludeServiceAccountKey", () => { }, ]); - console.log(testEventType); + logger.log(testEventType); const credentials = await getAllCredentialsIncludeServiceAccountKey( { diff --git a/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx b/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx index 1cc97cdcd55b9b..78322fd5d3cc86 100644 --- a/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx +++ b/packages/features/ee/api-keys/components/ApiKeyDialogForm.tsx @@ -126,7 +126,7 @@ export default function ApiKeyDialogForm({ form={form} handleSubmit={async (event) => { if (defaultValues) { - console.log("Name changed"); + logger.log("Name changed"); await updateApiKeyMutation.mutate({ id: defaultValues.id, note: event.note }); } else { const apiKey = await utils.client.viewer.apiKeys.create.mutate(event); diff --git a/packages/features/ee/api-keys/components/ApiKeyListItem.tsx b/packages/features/ee/api-keys/components/ApiKeyListItem.tsx index 3f7d27f329c9b5..371910f5dcb379 100644 --- a/packages/features/ee/api-keys/components/ApiKeyListItem.tsx +++ b/packages/features/ee/api-keys/components/ApiKeyListItem.tsx @@ -39,7 +39,7 @@ const ApiKeyListItem = ({ showToast(t("api_key_deleted"), "success"); }, onError(err) { - console.log(err); + logger.log(err); showToast(t("something_went_wrong"), "error"); }, }); diff --git a/packages/features/ee/workflows/api/scheduleSMSReminders.ts b/packages/features/ee/workflows/api/scheduleSMSReminders.ts index 21e4de3e00cf7a..d23d3c76605ac9 100644 --- a/packages/features/ee/workflows/api/scheduleSMSReminders.ts +++ b/packages/features/ee/workflows/api/scheduleSMSReminders.ts @@ -239,7 +239,7 @@ export async function handler(req: NextRequest) { retryCount: reminder.retryCount + 1, }, }); - console.log(`Error scheduling SMS with error ${error}`); + logger.log(`Error scheduling SMS with error ${error}`); } } diff --git a/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts b/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts index 7ff20e842b9f7f..c7178ec0d7c4f6 100644 --- a/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts +++ b/packages/features/ee/workflows/api/scheduleWhatsappReminders.ts @@ -159,7 +159,7 @@ export async function handler(req: NextRequest) { } } } catch (error) { - console.log(`Error scheduling WHATSAPP with error ${error}`); + logger.log(`Error scheduling WHATSAPP with error ${error}`); } } diff --git a/packages/features/ee/workflows/lib/reminders/providers/sendgridProvider.ts b/packages/features/ee/workflows/lib/reminders/providers/sendgridProvider.ts index b56b738b7e78e2..d8f68c62f7738a 100644 --- a/packages/features/ee/workflows/lib/reminders/providers/sendgridProvider.ts +++ b/packages/features/ee/workflows/lib/reminders/providers/sendgridProvider.ts @@ -55,9 +55,7 @@ export function sendSendgridMail( html: mailData.html || "", }); } - console.log( - "Skipped Sending Email as process.env.NEXT_PUBLIC_IS_E2E or process.env.INTEGRATION_TEST_MODE is set. Emails are available in globalThis.testEmails" - ); + logger.log("Skipped Sending Email as process.env.NEXT_PUBLIC_IS_E2E or process.env.INTEGRATION_TEST_MODE is set. Emails are available in globalThis.testEmails"); return new Promise((r) => r("Skipped sendEmail for Unit Tests")); } diff --git a/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts b/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts index e82fe74eba44b8..d207513d0f2674 100644 --- a/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts +++ b/packages/features/ee/workflows/lib/reminders/providers/twilioProvider.ts @@ -68,9 +68,7 @@ export const sendSMS = async ({ from: isWhatsapp ? getDefaultSender(isWhatsapp) : sender || getDefaultSender(), message: body, }); - console.log( - "Skipped sending SMS because process.env.NEXT_PUBLIC_IS_E2E or process.env.INTEGRATION_TEST_MODE is set. SMS are available in globalThis.testSMS" - ); + logger.log("Skipped sending SMS because process.env.NEXT_PUBLIC_IS_E2E or process.env.INTEGRATION_TEST_MODE is set. SMS are available in globalThis.testSMS"); return; } @@ -156,9 +154,7 @@ export const scheduleSMS = async ({ from: isWhatsapp ? getDefaultSender(isWhatsapp) : sender || getDefaultSender(), message: body, }); - console.log( - "Skipped sending SMS because process.env.NEXT_PUBLIC_IS_E2E or process.env.INTEGRATION_TEST_MODE is set. SMS are available in globalThis.testSMS" - ); + logger.log("Skipped sending SMS because process.env.NEXT_PUBLIC_IS_E2E or process.env.INTEGRATION_TEST_MODE is set. SMS are available in globalThis.testSMS"); return { sid: uuidv4() }; } diff --git a/packages/features/ee/workflows/lib/reminders/whatsappReminderManager.ts b/packages/features/ee/workflows/lib/reminders/whatsappReminderManager.ts index 9ce9d4203e230f..548917acc90c06 100644 --- a/packages/features/ee/workflows/lib/reminders/whatsappReminderManager.ts +++ b/packages/features/ee/workflows/lib/reminders/whatsappReminderManager.ts @@ -200,7 +200,7 @@ export const scheduleWhatsappReminder = async (args: ScheduleTextReminderArgs) = : undefined, }); } catch (error) { - console.log(`Error sending WHATSAPP with error ${error}`); + logger.log(`Error sending WHATSAPP with error ${error}`); } } else if ( (triggerEvent === WorkflowTriggerEvents.BEFORE_EVENT || @@ -250,7 +250,7 @@ export const scheduleWhatsappReminder = async (args: ScheduleTextReminderArgs) = }); } } catch (error) { - console.log(`Error scheduling WHATSAPP with error ${error}`); + logger.log(`Error scheduling WHATSAPP with error ${error}`); } } else if (scheduledDate.isAfter(currentDate.add(2, "hour"))) { // Write to DB and send to CRON if scheduled reminder date is past 2 hours from now diff --git a/packages/features/eventtypes/components/__tests__/AddMembersWithSwitch.test.tsx b/packages/features/eventtypes/components/__tests__/AddMembersWithSwitch.test.tsx index 80dcb19032c87a..9480a742979c1d 100644 --- a/packages/features/eventtypes/components/__tests__/AddMembersWithSwitch.test.tsx +++ b/packages/features/eventtypes/components/__tests__/AddMembersWithSwitch.test.tsx @@ -69,7 +69,7 @@ const renderComponent = ({ defaultValues: formDefaultValues, }); const [assignAllTeamMembers, setAssignAllTeamMembers] = React.useState(false); - console.log(methods.getValues()); + logger.log(methods.getValues()); return ( {React.cloneElement(children as React.ReactElement, { diff --git a/packages/features/tasker/tasks/sendEmail.ts b/packages/features/tasker/tasks/sendEmail.ts index 1634411d47030b..091040c8bc7569 100644 --- a/packages/features/tasker/tasks/sendEmail.ts +++ b/packages/features/tasker/tasks/sendEmail.ts @@ -11,7 +11,7 @@ const sendEmailPayloadSchema = z.object({ export async function sendEmail(payload: string): Promise { try { const parsedPayload = sendEmailPayloadSchema.parse(JSON.parse(payload)); - console.log(parsedPayload); + logger.log(parsedPayload); const emails = await import("@calcom/emails"); const email = emails[parsedPayload.template as keyof typeof emails]; if (!email) throw new Error("Invalid email template"); diff --git a/packages/lib/crmManager/crmManager.test.ts b/packages/lib/crmManager/crmManager.test.ts index 7e143fafffb3b7..c4ee0b2c4754ed 100644 --- a/packages/lib/crmManager/crmManager.test.ts +++ b/packages/lib/crmManager/crmManager.test.ts @@ -92,7 +92,7 @@ describe.skip("crmManager tests", () => { ], }); - console.log(mockedCrmApp); + logger.log(mockedCrmApp); }); }); }); diff --git a/packages/lib/crmManager/crmManager.ts b/packages/lib/crmManager/crmManager.ts index 9bb6bcfbbf3042..df0abe3dd42a8c 100644 --- a/packages/lib/crmManager/crmManager.ts +++ b/packages/lib/crmManager/crmManager.ts @@ -20,7 +20,7 @@ export default class CrmManager { this.crmService = crmService; if (!this.crmService) { - console.log("💀 Error initializing CRM service"); + logger.log("💀 Error initializing CRM service"); log.error("CRM service initialization failed"); } diff --git a/packages/lib/getConnectedDestinationCalendars.ts b/packages/lib/getConnectedDestinationCalendars.ts index 28755b599ab559..2cb76de25c2e09 100644 --- a/packages/lib/getConnectedDestinationCalendars.ts +++ b/packages/lib/getConnectedDestinationCalendars.ts @@ -228,11 +228,9 @@ async function ensureSelectedCalendarIsInDb({ }; eventTypeId: number | null; }) { - console.log( - `Upsert the selectedCalendar record to the DB for user ${user.id} with details ${JSON.stringify( + logger.log(`Upsert the selectedCalendar record to the DB for user ${user.id} with details ${JSON.stringify( selectedCalendar - )}` - ); + )}`); await SelectedCalendarRepository.createIfNotExists({ userId: user.id, diff --git a/packages/lib/getIP.ts b/packages/lib/getIP.ts index 6b26c971ee1e7d..0aa7b2da40eb53 100644 --- a/packages/lib/getIP.ts +++ b/packages/lib/getIP.ts @@ -29,7 +29,7 @@ export function isIpInBanlist(request: Request | NextApiRequest) { const rawBanListJson = process.env.IP_BANLIST || "[]"; const banList = banlistSchema.parse(JSON.parse(rawBanListJson)); if (banList.includes(IP)) { - console.log(`Found banned IP: ${IP} in IP_BANLIST`); + logger.log(`Found banned IP: ${IP} in IP_BANLIST`); return true; } return false; @@ -39,7 +39,7 @@ export function isIpInBanListString(identifer: string) { const rawBanListJson = process.env.IP_BANLIST || "[]"; const banList = banlistSchema.parse(JSON.parse(rawBanListJson)); if (banList.includes(identifer)) { - console.log(`Found banned IP: ${identifer} in IP_BANLIST`); + logger.log(`Found banned IP: ${identifer} in IP_BANLIST`); return true; } return false; diff --git a/packages/lib/perf.ts b/packages/lib/perf.ts index 905d83ffa39c83..b3b26eb41d70bc 100644 --- a/packages/lib/perf.ts +++ b/packages/lib/perf.ts @@ -3,6 +3,6 @@ export const logP = (message: string) => { return () => { const end = performance.now(); - console.log(`[PERF]: ${message} took ${end - start}ms`); + logger.log(`[PERF]: ${message} took ${end - start}ms`); }; }; diff --git a/packages/lib/server/repository/__tests__/delegationCredential.test.ts b/packages/lib/server/repository/__tests__/delegationCredential.test.ts index 3c63a077be18b7..2173e511dca0b7 100644 --- a/packages/lib/server/repository/__tests__/delegationCredential.test.ts +++ b/packages/lib/server/repository/__tests__/delegationCredential.test.ts @@ -21,7 +21,7 @@ vi.mock("@calcom/lib/crypto", async (importOriginal) => { return { ...actual, symmetricEncrypt: vi.fn((serviceAccountKey) => { - console.log({ mockEncrypted: serviceAccountKey }); + logger.log({ mockEncrypted: serviceAccountKey }); return `encrypted(${serviceAccountKey})`; }), symmetricDecrypt: vi.fn((serviceAccountKey) => { diff --git a/packages/lib/slots.test.ts b/packages/lib/slots.test.ts index 885fdc4eeea412..0f3e878fc14f04 100644 --- a/packages/lib/slots.test.ts +++ b/packages/lib/slots.test.ts @@ -394,8 +394,6 @@ describe("Tests the slots function performance", () => { expect(executionTimeInMs).toBeLessThan(3000); // less than 3 seconds for 2000 date ranges - console.log( - `Performance test completed in ${executionTimeInMs}ms with ${result.length} slots generated from ${dateRanges.length} date ranges` - ); + logger.log(`Performance test completed in ${executionTimeInMs}ms with ${result.length} slots generated from ${dateRanges.length} date ranges`); }); }); diff --git a/packages/platform/examples/base/src/pages/_app.tsx b/packages/platform/examples/base/src/pages/_app.tsx index f28e99ef04993d..5f16a8076b1b77 100644 --- a/packages/platform/examples/base/src/pages/_app.tsx +++ b/packages/platform/examples/base/src/pages/_app.tsx @@ -133,7 +133,7 @@ export default function App({ Component, pageProps }: AppProps) { formId="a63e6fce-899a-404e-8c38-e069710589c5" formResponsesURLParams={new URLSearchParams({ isBookingDryRun: "true", Territory: "Europe" })} onDisplayBookerEmbed={() => { - console.log("render booker embed"); + logger.log("render booker embed"); }} bannerUrl="https://i0.wp.com/mahala.co.uk/wp-content/uploads/2014/12/img_banner-thin_mountains.jpg?fit=800%2C258&ssl=1" bookerCustomClassNames={{ diff --git a/packages/platform/examples/base/src/pages/availability.tsx b/packages/platform/examples/base/src/pages/availability.tsx index 068e499de971d8..6c72902e9f23b2 100644 --- a/packages/platform/examples/base/src/pages/availability.tsx +++ b/packages/platform/examples/base/src/pages/availability.tsx @@ -19,16 +19,16 @@ export default function Availability(props: { calUsername: string; calEmail: str hiddenSwitchClassname: { thumb: "bg-red-500" }, }} onUpdateSuccess={() => { - console.log("Updated successfully"); + logger.log("Updated successfully"); }} onUpdateError={() => { - console.log("update error"); + logger.log("update error"); }} onDeleteError={() => { - console.log("delete error"); + logger.log("delete error"); }} onDeleteSuccess={() => { - console.log("Deleted successfully"); + logger.log("Deleted successfully"); }} /> diff --git a/packages/platform/examples/base/src/pages/event-types.tsx b/packages/platform/examples/base/src/pages/event-types.tsx index 894364fb6fbf4b..9bf6ec82622926 100644 --- a/packages/platform/examples/base/src/pages/event-types.tsx +++ b/packages/platform/examples/base/src/pages/event-types.tsx @@ -730,7 +730,7 @@ export default function Bookings(props: { calUsername: string; calEmail: string refetch(); }} onError={(eventType, error) => { - console.log(eventType); + logger.log(eventType); console.error(error); }} onDeleteSuccess={() => { @@ -772,7 +772,7 @@ export default function Bookings(props: { calUsername: string; calEmail: string }} teamId={teams?.[0]?.id} onCancel={() => { - console.log("cancel team event type creation"); + logger.log("cancel team event type creation"); }} onSuccess={() => { refetchTeamEvents(); diff --git a/packages/platform/examples/base/src/pages/index.tsx b/packages/platform/examples/base/src/pages/index.tsx index c30f972654e505..393393ccba0751 100644 --- a/packages/platform/examples/base/src/pages/index.tsx +++ b/packages/platform/examples/base/src/pages/index.tsx @@ -37,7 +37,7 @@ export default function Home(props: { calUsername: string; calEmail: string }) { className="h-[40px] bg-gradient-to-r from-[#E94057] via-[#E94057] to-[#E94057] text-center text-base font-semibold text-transparent text-white hover:bg-orange-700" errorRedir="http://localhost:4321/availability" onCheckSuccess={() => { - console.log("stripe account connected successfully".toLocaleUpperCase()); + logger.log("stripe account connected successfully".toLocaleUpperCase()); }} /> diff --git a/packages/prisma/auto-migrations.ts b/packages/prisma/auto-migrations.ts index 2286f5d8013fef..0c07f37eda5db1 100644 --- a/packages/prisma/auto-migrations.ts +++ b/packages/prisma/auto-migrations.ts @@ -36,7 +36,7 @@ async function main(): Promise { ...process.env, }, }); - console.log(stdout); + logger.log(stdout); console.error(stderr); } diff --git a/packages/prisma/delete-app.ts b/packages/prisma/delete-app.ts index b510a37c775628..ea46a5a9a33b17 100644 --- a/packages/prisma/delete-app.ts +++ b/packages/prisma/delete-app.ts @@ -15,10 +15,10 @@ async function main() { appId: appId, }, }); - console.log(`Deleted app from DB: '${appId}'`); + logger.log(`Deleted app from DB: '${appId}'`); } catch (e) { if (e.code === "P2025") { - console.log(`App '${appId}' already deleted from DB`); + logger.log(`App '${appId}' already deleted from DB`); return; } throw e; diff --git a/packages/prisma/extensions/usage-tracking.ts b/packages/prisma/extensions/usage-tracking.ts index e21ee60fae6ab6..6f88316c7b088c 100644 --- a/packages/prisma/extensions/usage-tracking.ts +++ b/packages/prisma/extensions/usage-tracking.ts @@ -11,7 +11,7 @@ async function incrementUsage(prismaClient: PrismaClientWithoutExtensions, event const licenseKeyService = await LicenseKeySingleton.getInstance(deploymentRepo); await licenseKeyService.incrementUsage(event); } catch (e) { - console.log(e); + logger.log(e); } } diff --git a/packages/prisma/seed-app-store.ts b/packages/prisma/seed-app-store.ts index db4db4256ea973..c6792e6be9d3c9 100644 --- a/packages/prisma/seed-app-store.ts +++ b/packages/prisma/seed-app-store.ts @@ -24,7 +24,7 @@ async function seedAppData() { }, }); if (form) { - console.log(`Skipping Routing Form - Form Seed, "Seeded Form - Pro" already exists`); + logger.log(`Skipping Routing Form - Form Seed, "Seeded Form - Pro" already exists`); return; } @@ -35,7 +35,7 @@ async function seedAppData() { }); if (!proUser) { - console.log(`Skipping Routing Form - Seeding - Pro User not found`); + logger.log(`Skipping Routing Form - Seeding - Pro User not found`); return; } @@ -214,7 +214,7 @@ async function createApp( await prisma.app.create({ data, }); - console.log(`📲 Created ${isTemplate ? "template" : "app"}: '${slug}'`); + logger.log(`📲 Created ${isTemplate ? "template" : "app"}: '${slug}'`); } else { // We know that the app exists, so either it would have the same slug or dirName // Because update query can't have both slug and dirName, try to find the app to update by slug and dirName one by one @@ -227,7 +227,7 @@ async function createApp( where: { dirName: foundApp.dirName }, data, }); - console.log(`📲 Updated ${isTemplate ? "template" : "app"}: '${slug}'`); + logger.log(`📲 Updated ${isTemplate ? "template" : "app"}: '${slug}'`); } await prisma.credential.updateMany({ diff --git a/packages/prisma/seed-insights.ts b/packages/prisma/seed-insights.ts index a81088736d1657..ee0fb7c18571ef 100644 --- a/packages/prisma/seed-insights.ts +++ b/packages/prisma/seed-insights.ts @@ -75,8 +75,8 @@ const shuffle = ( } if (booking.userId === undefined || booking.userId === null) { - console.log({ randomEvent, usersIdsToPick }); - console.log("This should not happen"); + logger.log({ randomEvent, usersIdsToPick }); + logger.log("This should not happen"); } booking.rating = Math.floor(Math.random() * 5) + 1; // Generates a random rating from 1 to 5 @@ -439,7 +439,7 @@ async function createPerformanceData() { if (createExtraMembers) { if (insightsTeam === null) { - console.log("This should not happen"); + logger.log("This should not happen"); throw new Error("Insights team id is undefined or null"); } diff --git a/packages/prisma/seed-utils.ts b/packages/prisma/seed-utils.ts index d04f99696e2935..13279a2f26bc30 100644 --- a/packages/prisma/seed-utils.ts +++ b/packages/prisma/seed-utils.ts @@ -82,9 +82,7 @@ export async function createUserAndEventType({ }, }); - console.log( - `👤 Upserted '${user.username}' with email "${user.email}" & password "${user.password}". Booking page 👉 ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}` - ); + logger.log(`👤 Upserted '${user.username}' with email "${user.email}" & password "${user.password}". Booking page 👉 ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}`); for (const eventTypeInput of eventTypes) { const { _bookings, _numBookings, ...eventTypeData } = eventTypeInput; @@ -125,18 +123,14 @@ export async function createUserAndEventType({ }); if (eventType) { - console.log( - `\t📆 Event type ${eventTypeData.slug} already seems seeded - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}/${eventTypeData.slug}` - ); + logger.log(`\t📆 Event type ${eventTypeData.slug} already seems seeded - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}/${eventTypeData.slug}`); continue; } const { id } = await prisma.eventType.create({ data: eventTypeData, }); - console.log( - `\t📆 Event type ${eventTypeData.slug} with id ${id}, length ${eventTypeData.length}min - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}/${eventTypeData.slug}` - ); + logger.log(`\t📆 Event type ${eventTypeData.slug} with id ${id}, length ${eventTypeData.length}min - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}/${eventTypeData.slug}`); for (const bookingInput of bookingFields) { await prisma.booking.create({ @@ -163,11 +157,9 @@ export async function createUserAndEventType({ iCalUID: "", }, }); - console.log( - `\t\t☎️ Created booking ${bookingInput.title} at ${new Date( + logger.log(`\t\t☎️ Created booking ${bookingInput.title} at ${new Date( bookingInput.startTime - ).toLocaleDateString()}` - ); + ).toLocaleDateString()}`); } } console.log("👤 User with it's event-types and bookings created", theUser.email); @@ -182,7 +174,7 @@ export async function createUserAndEventType({ }, }); - console.log(`🔑 ${credential.type} credentials created for ${theUser.email}`); + logger.log(`🔑 ${credential.type} credentials created for ${theUser.email}`); } } } @@ -222,7 +214,7 @@ export async function createTeamAndAddUsers( }); } catch (_err) { if (_err instanceof Error && _err.message.indexOf("Unique constraint failed on the fields") !== -1) { - console.log(`Team '${team.name}' already exists, skipping.`); + logger.log(`Team '${team.name}' already exists, skipping.`); return; } throw _err; @@ -234,9 +226,7 @@ export async function createTeamAndAddUsers( return; } - console.log( - `🏢 Created team '${teamInput.name}' - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/team/${team.slug}` - ); + logger.log(`🏢 Created team '${teamInput.name}' - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/team/${team.slug}`); for (const eventType of team.eventTypes) { await prisma.eventType.update({ @@ -262,7 +252,7 @@ export async function createTeamAndAddUsers( accepted: true, }, }); - console.log(`\t👤 Added '${teamInput.name}' membership for '${username}' with role '${role}'`); + logger.log(`\t👤 Added '${teamInput.name}' membership for '${username}' with role '${role}'`); } return team; @@ -305,7 +295,7 @@ export async function seedAttributes(teamId: number) { }); if (existingAttributes.length > 0) { - console.log(`Skipping attributes seed, attributes already exist`); + logger.log(`Skipping attributes seed, attributes already exist`); return; } @@ -320,7 +310,7 @@ export async function seedAttributes(teamId: number) { }, }); - console.log(`🎯 Creating attributes for team ${teamId}`); + logger.log(`🎯 Creating attributes for team ${teamId}`); const attributeRaw: { id: string; options: { id: string; value: string }[] }[] = []; @@ -354,7 +344,7 @@ export async function seedAttributes(teamId: number) { })), }); - console.log(`\t📝 Created attribute: ${attr.name}`); + logger.log(`\t📝 Created attribute: ${attr.name}`); // Assign random values/options to members for (const member of memberships) { @@ -419,7 +409,7 @@ export async function seedAttributes(teamId: number) { } } - console.log(`\t✅ Assigned ${attr.name} values to ${memberships.length} members`); + logger.log(`\t✅ Assigned ${attr.name} values to ${memberships.length} members`); } return attributeRaw; } @@ -469,7 +459,7 @@ export async function seedRoutingForms( }, }); if (form) { - console.log(`Skipping Routing Form - Form Seed, ${seededForm.name} already exists`); + logger.log(`Skipping Routing Form - Form Seed, ${seededForm.name} already exists`); return; } @@ -689,7 +679,7 @@ export async function seedRoutingFormResponses( }); if (bookings.length === 0) { - console.log("No bookings found for team - skipping routing form responses"); + logger.log("No bookings found for team - skipping routing form responses"); return; } @@ -784,5 +774,5 @@ export async function seedRoutingFormResponses( }); } - console.log(`Created ${bookings.length} routing form responses`); + logger.log(`Created ${bookings.length} routing form responses`); } diff --git a/packages/prisma/seed.ts b/packages/prisma/seed.ts index db6c038b80bdc9..466b8b5e2e6524 100644 --- a/packages/prisma/seed.ts +++ b/packages/prisma/seed.ts @@ -112,7 +112,7 @@ const createTeam = async (team: Prisma.TeamCreateInput) => { }); } catch (_err) { if (_err instanceof Error && _err.message.indexOf("Unique constraint failed on the fields") !== -1) { - console.log(`Team '${team.name}' already exists, skipping.`); + logger.log(`Team '${team.name}' already exists, skipping.`); return; } throw _err; @@ -160,9 +160,7 @@ async function createPlatformAndSetupUser({ const platformUser = await setupPlatformUser(user); - console.log( - `👤 Upserted '${user.username}' with email "${user.email}" & password "${user.password}". Booking page 👉 ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}` - ); + logger.log(`👤 Upserted '${user.username}' with email "${user.email}" & password "${user.password}". Booking page 👉 ${process.env.NEXT_PUBLIC_WEBAPP_URL}/${user.username}`); const { username } = platformUser; @@ -197,7 +195,7 @@ async function createPlatformAndSetupUser({ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiQWNtZSAiLCJwZXJtaXNzaW9ucyI6MTAyMywicmVkaXJlY3RVcmlzIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NDMyMSJdLCJib29raW5nUmVkaXJlY3RVcmkiOiIiLCJib29raW5nQ2FuY2VsUmVkaXJlY3RVcmkiOiIiLCJib29raW5nUmVzY2hlZHVsZVJlZGlyZWN0VXJpIjoiIiwiYXJlRW1haWxzRW5hYmxlZCI6dHJ1ZSwiaWF0IjoxNzE5NTk1ODA4fQ.L5_jSS14fcKLCD_9_DAOgtGd6lUSZlU5CEpCPaPt41I", }, }); - console.log(`\t👤 Added '${teamInput.name}' membership for '${username}' with role '${membershipRole}'`); + logger.log(`\t👤 Added '${teamInput.name}' membership for '${username}' with role '${membershipRole}'`); } } @@ -231,7 +229,7 @@ async function createTeamAndAddUsers( }); } catch (_err) { if (_err instanceof Error && _err.message.indexOf("Unique constraint failed on the fields") !== -1) { - console.log(`Team '${team.name}' already exists, skipping.`); + logger.log(`Team '${team.name}' already exists, skipping.`); return; } throw _err; @@ -243,9 +241,7 @@ async function createTeamAndAddUsers( return; } - console.log( - `🏢 Created team '${teamInput.name}' - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/team/${team.slug}` - ); + logger.log(`🏢 Created team '${teamInput.name}' - ${process.env.NEXT_PUBLIC_WEBAPP_URL}/team/${team.slug}`); for (const user of users) { const { role = MembershipRole.OWNER, id, username } = user; @@ -258,7 +254,7 @@ async function createTeamAndAddUsers( accepted: true, }, }); - console.log(`\t👤 Added '${teamInput.name}' membership for '${username}' with role '${role}'`); + logger.log(`\t👤 Added '${teamInput.name}' membership for '${username}' with role '${role}'`); } return team; @@ -292,7 +288,7 @@ async function createOrganizationAndAddMembersAndTeams({ email: string; }[]; }) { - console.log(`\n🏢 Creating organization "${orgData.name}"`); + logger.log(`\n🏢 Creating organization "${orgData.name}"`); const orgMembersInDb: (User & { inTeams: { slug: string; role: MembershipRole }[]; orgMembership: Partial; @@ -356,7 +352,7 @@ async function createOrganizationAndAddMembersAndTeams({ } catch (e) { if (e instanceof Prisma.PrismaClientKnownRequestError) { if (e.code === "P2002") { - console.log(`One of the organization members already exists, skipping the entire seeding`); + logger.log(`One of the organization members already exists, skipping the entire seeding`); return; } } diff --git a/packages/trpc/server/routers/viewer/availability/schedule/getScheduleByEventTypeSlug.handler.ts b/packages/trpc/server/routers/viewer/availability/schedule/getScheduleByEventTypeSlug.handler.ts index a5c6e43a147b02..73f95769189179 100644 --- a/packages/trpc/server/routers/viewer/availability/schedule/getScheduleByEventTypeSlug.handler.ts +++ b/packages/trpc/server/routers/viewer/availability/schedule/getScheduleByEventTypeSlug.handler.ts @@ -55,7 +55,7 @@ export const getScheduleByEventSlugHandler = async ({ ctx, input }: GetOptions) }, }); } catch (e) { - console.log(e); + logger.log(e); return { id: -1, name: "No schedules found", diff --git a/packages/trpc/server/routers/viewer/bookings/addGuests.handler.ts b/packages/trpc/server/routers/viewer/bookings/addGuests.handler.ts index 28dcb080daa0bd..e842299decdd40 100644 --- a/packages/trpc/server/routers/viewer/bookings/addGuests.handler.ts +++ b/packages/trpc/server/routers/viewer/bookings/addGuests.handler.ts @@ -169,7 +169,7 @@ export const addGuestsHandler = async ({ ctx, input }: AddGuestsOptions) => { try { await sendAddGuestsEmails(evt, guests); } catch (err) { - console.log("Error sending AddGuestsEmails"); + logger.log("Error sending AddGuestsEmails"); } return { message: "Guests added" }; diff --git a/packages/trpc/server/routers/viewer/teams/acceptOrLeave.handler.ts b/packages/trpc/server/routers/viewer/teams/acceptOrLeave.handler.ts index 0e4a6b67b5876c..942d1f4c4c364c 100644 --- a/packages/trpc/server/routers/viewer/teams/acceptOrLeave.handler.ts +++ b/packages/trpc/server/routers/viewer/teams/acceptOrLeave.handler.ts @@ -75,7 +75,7 @@ export const acceptOrLeaveHandler = async ({ ctx, input }: AcceptOrLeaveOptions) }); } } catch (e) { - console.log(e); + logger.log(e); } } }; diff --git a/packages/ui/components/form/step/FormStep.tsx b/packages/ui/components/form/step/FormStep.tsx index 9866880b9e2d71..6f1935ceb3e775 100644 --- a/packages/ui/components/form/step/FormStep.tsx +++ b/packages/ui/components/form/step/FormStep.tsx @@ -16,7 +16,7 @@ function FormStep({ currentStep, steps }: Props) {

{[...Array(steps)].map((_, j) => { - console.log({ j, currentStep }); + logger.log({ j, currentStep }); return (
scrollableElement.clientHeight; - console.log({ isElementOverflowing }); + logger.log({ isElementOverflowing }); setIsOverflowingY(isElementOverflowing); } }, []); diff --git a/playwright.config.ts b/playwright.config.ts index 86ba209daf7765..164b27eeb88a13 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -327,5 +327,5 @@ function ensureAppServerIsReadyToServeEmbed(webServer: { port?: number; url?: st // Only one of port or url can be specified, so remove port. delete webServer.port; webServer.url = `${process.env.NEXT_PUBLIC_WEBAPP_URL}/embed/embed.js`; - console.log("Ensuring that /embed/embed.js is 200 before starting tests"); + logger.log("Ensuring that /embed/embed.js is 200 before starting tests"); }