getsentry / getsentry/sentry-javascript
Deno's export surface is narrower than Cloudflare's
- Dominant language
- TypeScript
- Stars
- 8.7k
- Forks
- 1.8k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 515
Description
Cloudflare runs on workerd with no Node APIs, and still exports more than Deno. Missing from `packages/deno/src/index.ts` but present in `packages/cloudflare/src/index.ts`:
| Missing from Deno | Comes from |
| -- | -- |
| `instrumentOpenAiClient`, `instrumentAnthropicAiClient`, `instrumentGoogleGenAIClient`, `instrumentLangChainEmbeddings`, `instrumentStateGraph`, `createLangChainCallbackHandler`, `instrumentCreateReactAgent` | `@sentry/server-utils` (already a dependency) |
| `prismaIntegration` | `@sentry/server-utils` |
| `trpcMiddleware`, `addIntegration`, `withActiveSpan`, `getSpanDescendants`, `setConversationId`, `parameterize`, `consoleIntegration`, `createConsolaReporter`, `growthbookIntegration`, `updateSpanName` | `@sentry/core` |
| `spotlightIntegration`, `httpServerIntegration` | needs a decision, may not apply |
| `initWithoutDefaultIntegrations`, `getDefaultIntegrationsWithoutPerformance` | Node and Bun both have these |
The manual AI-client helpers matter most. They are the documented fallback for when channel injection is unavailable, which per D2 is Deno's default state.
**Work item.** Add the `@sentry/core` and `@sentry/server-utils` re-exports. They are pure re-exports with no new code. Add `initWithoutDefaultIntegrations` to `deno/src/sdk.ts`.
**Prior art ***(related history only)*. No issue. Related history: [#22306]() (closed) covered pulling the integrations themselves into Deno, and the `feat(deno): add * integration` series (#22448 through #22472, all merged) added them one by one. The manual `instrument*Client` helpers were never part of that sweep.
Contributor guide
Research direction
Compare packages/deno/src/index.ts with packages/cloudflare/src/index.ts and inspect deno/src/sdk.ts first. Done means the requested @sentry/core and @sentry/server-utils re-exports are present and initWithoutDefaultIntegrations is exposed from the Deno SDK; spotlightIntegration and httpServerIntegration remain undecided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- deno, typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100