Skip to content

Elysia on Node reports runtime: {name: 'bun', version: 'unknown'} #24047

Description

@isaacs

elysia/src/sdk.ts:46 sets runtime: getRuntime(), which correctly returns {name:'node'} off Bun. Then bun/src/sdk.ts:145 spreads the user options and overwrites runtime with its own hard-coded Bun value. Every Elysia-on-Node event is attributed to the wrong runtime. There is an elysia-node e2e app, so this configuration is supported.

Work item Make bun/src/sdk.ts:148 respect a caller-supplied runtime (only default it when absent), matching packages/node/src/sdk/client.ts:47. Assert both runtimes in the Bun tests, and again in the Elysia tests.

Prior art: #19269 is the same bug one layer up: "NodeClient always overrides runtime context to 'node', ignoring Bun SDK's runtime option". It was fixed by making NodeClient respect a caller-supplied value, which is now packages/node/src/sdk/client.ts:47:

runtime: options.runtime || { name: 'node', version: global.process.version },

packages/bun/src/sdk.ts:145 still does the unconditional override that #19269 removed from NodeClient, so any SDK wrapping @sentry/bun hits it. Apply the same one-line remedy there.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugBunjavascriptPull requests that update javascript code

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions