diff --git a/dev-packages/e2e-tests/test-applications/elysia-bun/tests/errors.test.ts b/dev-packages/e2e-tests/test-applications/elysia-bun/tests/errors.test.ts index 5e587e28fd41..0b3ac95d7cb4 100644 --- a/dev-packages/e2e-tests/test-applications/elysia-bun/tests/errors.test.ts +++ b/dev-packages/e2e-tests/test-applications/elysia-bun/tests/errors.test.ts @@ -19,6 +19,7 @@ test('Captures an error thrown in a route handler', async ({ baseURL, request }) }); expect(errorEvent.transaction).toEqual('GET /test-exception/:id'); + expect(errorEvent.sdk?.name).toBe('sentry.javascript.elysia'); expect(errorEvent.contexts?.trace).toEqual( expect.objectContaining({ diff --git a/dev-packages/e2e-tests/test-applications/elysia-node/tests/errors.test.ts b/dev-packages/e2e-tests/test-applications/elysia-node/tests/errors.test.ts index 258d7abc5adf..64fc4a132d80 100644 --- a/dev-packages/e2e-tests/test-applications/elysia-node/tests/errors.test.ts +++ b/dev-packages/e2e-tests/test-applications/elysia-node/tests/errors.test.ts @@ -19,6 +19,7 @@ test('Captures an error thrown in a route handler', async ({ baseURL, request }) }); expect(errorEvent.transaction).toEqual('GET /test-exception/:id'); + expect(errorEvent.sdk?.name).toBe('sentry.javascript.elysia'); expect(errorEvent.contexts?.trace).toEqual( expect.objectContaining({ diff --git a/packages/elysia/src/sdk.ts b/packages/elysia/src/sdk.ts index f8d8dd9d8a35..b151b8282361 100644 --- a/packages/elysia/src/sdk.ts +++ b/packages/elysia/src/sdk.ts @@ -48,7 +48,7 @@ export function init(userOptions: ElysiaOptions = {}): NodeClient | undefined { serverName: userOptions.serverName || global.process.env.SENTRY_NAME || os.hostname(), }; - applySdkMetadata(userOptions, 'elysia', ['elysia', options.runtime.name]); + applySdkMetadata(options, 'elysia', ['elysia', options.runtime.name]); options.transport = options.transport || makeFetchTransport; diff --git a/packages/elysia/test/sdk.test.ts b/packages/elysia/test/sdk.test.ts index d27011f0e416..af0881d90485 100644 --- a/packages/elysia/test/sdk.test.ts +++ b/packages/elysia/test/sdk.test.ts @@ -1,20 +1,10 @@ import type { Integration } from '@sentry/core'; import { afterEach, describe, expect, it, vi } from 'vitest'; -const mockApplySdkMetadata = vi.fn(); const mockInitNode = vi.fn(); const mockGetBunDefaultIntegrations = vi.fn(() => [] as Integration[]); const mockMakeFetchTransport = vi.fn(); -vi.mock('@sentry/core', async importActual => { - // eslint-disable-next-line @typescript-eslint/consistent-type-imports - const actual = await importActual(); - return { - ...actual, - applySdkMetadata: mockApplySdkMetadata, - }; -}); - vi.mock('@sentry/bun', () => ({ init: mockInitNode, getDefaultIntegrations: mockGetBunDefaultIntegrations, @@ -31,13 +21,13 @@ describe('init', () => { vi.clearAllMocks(); }); - it('sets SDK metadata to elysia', () => { + it('passes Elysia SDK metadata to initNode', () => { init({ dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' }); - expect(mockApplySdkMetadata).toHaveBeenCalledWith( - expect.objectContaining({ dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' }), - 'elysia', - ['elysia', 'node'], + expect(mockInitNode).toHaveBeenCalledWith( + expect.objectContaining({ + _metadata: { sdk: expect.objectContaining({ name: 'sentry.javascript.elysia' }) }, + }), ); });