From 59936949fdbb7abb7e4f6db15c893dc1209ab7c9 Mon Sep 17 00:00:00 2001 From: JPeer264 Date: Wed, 29 Oct 2025 14:56:06 +0100 Subject: [PATCH 1/2] fix(cloudflare): Ensure types for cloudflare handlers --- .../e2e-tests/test-applications/cloudflare-hono/.npmrc | 2 ++ .../test-applications/cloudflare-hono/package.json | 2 +- packages/cloudflare/src/handler.ts | 10 ++++++---- 3 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc b/dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc new file mode 100644 index 000000000000..070f80f05092 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-hono/.npmrc @@ -0,0 +1,2 @@ +@sentry:registry=http://127.0.0.1:4873 +@sentry-internal:registry=http://127.0.0.1:4873 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-hono/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-hono/package.json index b005398a5faf..de22031fdda9 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-hono/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-hono/package.json @@ -8,7 +8,7 @@ "cf-typegen": "wrangler types --env-interface CloudflareBindings", "test:build": "pnpm install && pnpm build", "//": "Just checking if it builds correctly and types don't break", - "test:assert": "pnpm typecheck" + "test:assert": "pnpm typecheck && vitest run ." }, "dependencies": { "@sentry/cloudflare": "latest || *", diff --git a/packages/cloudflare/src/handler.ts b/packages/cloudflare/src/handler.ts index e3e108b913d7..13e55d2a0a79 100644 --- a/packages/cloudflare/src/handler.ts +++ b/packages/cloudflare/src/handler.ts @@ -29,10 +29,12 @@ import { copyExecutionContext } from './utils/copyExecutionContext'; * @returns The wrapped handler. */ // eslint-disable-next-line complexity -export function withSentry( - optionsCallback: (env: Env) => CloudflareOptions, - handler: ExportedHandler, -): ExportedHandler { +export function withSentry< + Env = unknown, + QueueHandlerMessage = unknown, + CfHostMetadata = unknown, + T extends ExportedHandler = ExportedHandler, +>(optionsCallback: (env: Env) => CloudflareOptions, handler: T): T { setAsyncLocalStorageAsyncContextStrategy(); try { From a9d7726f319552e35b2fac71768037b741fbd8e7 Mon Sep 17 00:00:00 2001 From: JPeer264 Date: Mon, 3 Nov 2025 13:18:15 +0100 Subject: [PATCH 2/2] fixup! fix(cloudflare): Ensure types for cloudflare handlers --- packages/cloudflare/src/handler.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/cloudflare/src/handler.ts b/packages/cloudflare/src/handler.ts index 13e55d2a0a79..8c6d02791d0f 100644 --- a/packages/cloudflare/src/handler.ts +++ b/packages/cloudflare/src/handler.ts @@ -33,7 +33,11 @@ export function withSentry< Env = unknown, QueueHandlerMessage = unknown, CfHostMetadata = unknown, - T extends ExportedHandler = ExportedHandler, + T extends ExportedHandler = ExportedHandler< + Env, + QueueHandlerMessage, + CfHostMetadata + >, >(optionsCallback: (env: Env) => CloudflareOptions, handler: T): T { setAsyncLocalStorageAsyncContextStrategy();