Skip to content

fix(deno): Re-export portable helpers that Cloudflare exposes - #25491

Open
isaacs wants to merge 1 commit into
developfrom
isaacschlueter/js-3522-denos-export-surface-is-narrower-than-cloudflares
Open

isaacs wants to merge 1 commit into
developfrom
isaacschlueter/js-3522-denos-export-surface-is-narrower-than-cloudflares

Conversation

@isaacs

@isaacs isaacs commented Oct 18, 2026

Copy link
Copy Markdown
Member

Cloudflare runs on workerd with no Node APIs, but it still exports more than Deno. The missing exports already work in Deno, because they come from @sentry/core and @sentry/server-utils, which Deno depends on.

The manual AI client helpers matter most. Deno does not inject diagnostics channels by default, so instrumentOpenAiClient and the other instrument* helpers are the documented way to get AI spans there.

Deno now re-exports addIntegration, withActiveSpan, getSpanDescendants, setConversationId, createConsolaReporter, growthbookIntegration, moduleMetadataIntegration, trpcMiddleware, prismaIntegration, the OpenAI, Anthropic, Google GenAI, Mistral, TypeSafe, LangChain and LangGraph helpers, and the FlueOptions type. Deno also gets initWithoutDefaultIntegrations and getDefaultIntegrationsWithoutPerformance, to match Node and Bun. The default integration set does not change.

Some Cloudflare exports stay out. instrumentWorkersAiClient wraps a binding that exists only on Cloudflare. spotlightIntegration and httpServerIntegration live in the Cloudflare package, not in a shared entry point, so they need more than a re-export. parameterize was in the issue, but Cloudflare no longer exports it.

Fixes #23896
Fixes JS-3522

Cloudflare runs on workerd with no Node APIs, but it still exports more
than Deno. The missing exports already work in Deno, because they come
from `@sentry/core` and `@sentry/server-utils`, which Deno depends on.

The manual AI client helpers matter most. Deno does not inject
diagnostics channels by default, so `instrumentOpenAiClient` and the
other `instrument*` helpers are the documented way to get AI spans
there.

Deno now re-exports `addIntegration`, `withActiveSpan`,
`getSpanDescendants`, `setConversationId`, `createConsolaReporter`,
`growthbookIntegration`, `moduleMetadataIntegration`,
`trpcMiddleware`, `prismaIntegration`, the OpenAI, Anthropic, Google
GenAI, Mistral, TypeSafe, LangChain and LangGraph helpers, and the
`FlueOptions` type. Deno also gets `initWithoutDefaultIntegrations` and
`getDefaultIntegrationsWithoutPerformance`, to match Node and Bun. The
default integration set does not change.

Some Cloudflare exports stay out. `instrumentWorkersAiClient` wraps a
binding that exists only on Cloudflare. `spotlightIntegration` and
`httpServerIntegration` live in the Cloudflare package, not in a shared
entry point, so they need more than a re-export. `parameterize` was in
the issue, but Cloudflare no longer exports it.

Fixes #23896
Fixes JS-3522

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@isaacs
isaacs requested a review from a team as a code owner October 18, 2026 22:30
@isaacs
isaacs requested review from JPeer264 and mydea and removed request for a team October 18, 2026 22:30
@linear-code

linear-code Bot commented Oct 18, 2026

Copy link
Copy Markdown

JS-3522

@isaacs
isaacs added this pull request to stack #25494 October 18, 2026 22:56
@isaacs

isaacs commented Oct 19, 2026

Copy link
Copy Markdown
Member Author

Bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit bda72f5. Configure here.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deno's export surface is narrower than Cloudflare's

1 participant