diff --git a/apps/web/app/api/defaultResponderForAppDir.ts b/apps/web/app/api/defaultResponderForAppDir.ts index 99a99d78a2..9c04ab9d2a 100644 --- a/apps/web/app/api/defaultResponderForAppDir.ts +++ b/apps/web/app/api/defaultResponderForAppDir.ts @@ -1,5 +1,3 @@ -import { wrapApiHandlerWithSentry } from "@sentry/nextjs"; -import { captureException } from "@sentry/nextjs"; import type { Params } from "app/_types"; import { ApiError } from "next/dist/server/api-utils"; import type { NextRequest } from "next/server"; @@ -21,10 +19,13 @@ export const defaultResponderForAppDir = await handler(req, { params }), endpointRoute)() - : await handler(req, { params }); + let result: T | undefined; + if (process.env.NODE_ENV === "development" || !endpointRoute) { + result = await handler(req, { params }); + } else { + const { wrapApiHandlerWithSentry } = await import("@sentry/nextjs"); + result = await wrapApiHandlerWithSentry(async () => await handler(req, { params }), endpointRoute)(); + } ok = true; if (result) { @@ -49,6 +50,7 @@ export const defaultResponderForAppDir = = 400 && serverError.statusCode < 500)) { console.error(serverError); + const { captureException } = await import("@sentry/nextjs"); captureException(error); } diff --git a/packages/lib/server/defaultResponder.ts b/packages/lib/server/defaultResponder.ts index 0f7e03cbda..5efb2b446f 100644 --- a/packages/lib/server/defaultResponder.ts +++ b/packages/lib/server/defaultResponder.ts @@ -1,5 +1,3 @@ -import { wrapApiHandlerWithSentry } from "@sentry/nextjs"; -import { captureException } from "@sentry/nextjs"; import type { NextApiRequest, NextApiResponse } from "next"; import { getServerErrorFromUnknown } from "./getServerErrorFromUnknown"; @@ -17,9 +15,15 @@ export function defaultResponder( let ok = false; try { performance.mark("Start"); - const result = endpointRoute - ? await wrapApiHandlerWithSentry(f, endpointRoute)(req, res) - : await f(req, res); + + let result: T | undefined; + if (process.env.NODE_ENV === "development" || !endpointRoute) { + result = await f(req, res); + } else { + const { wrapApiHandlerWithSentry } = await import("@sentry/nextjs"); + result = await wrapApiHandlerWithSentry(f, endpointRoute)(req, res); + } + ok = true; if (result && !res.writableEnded) { return res.json(result); @@ -29,6 +33,7 @@ export function defaultResponder( // we don't want to report Bad Request errors to Sentry / console if (!(error.statusCode >= 400 && error.statusCode < 500)) { console.error(error); + const { captureException } = await import("@sentry/nextjs"); captureException(error); } return res