diff --git a/package-lock.json b/package-lock.json index 6660840..2079b73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scope3/observability-js", - "version": "2.4.0", + "version": "2.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@scope3/observability-js", - "version": "2.4.0", + "version": "2.4.1", "license": "MIT", "dependencies": { "@opentelemetry/api": "^1.9.0", diff --git a/package.json b/package.json index b755946..893fafe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@scope3/observability-js", - "version": "2.4.0", + "version": "2.4.1", "description": "Unified observability (Sentry, OpenTelemetry, Pyroscope) for Node.js services", "keywords": [ "observability", diff --git a/src/__tests__/otel-setup.test.ts b/src/__tests__/otel-setup.test.ts index b3428cf..43cd691 100644 --- a/src/__tests__/otel-setup.test.ts +++ b/src/__tests__/otel-setup.test.ts @@ -4,6 +4,7 @@ import * as Sentry from '@sentry/node' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { init, resetForTesting } from '../provider' +import type { ObservabilityConfig } from '../types' const SENTRY_DSN = 'https://examplePublicKey@o0.ingest.sentry.io/0' @@ -195,3 +196,14 @@ describe('Sentry span filtering', () => { expect(Sentry.getClient()?.getOptions().ignoreSpans).toEqual([]) }) }) + +describe('Sentry integrations config', () => { + it('accepts integrations other than Express', () => { + const config: ObservabilityConfig = { + serviceName: 'otel-setup-test', + sentry: { integrations: [Sentry.httpIntegration()] }, + } + + expect(config.sentry?.integrations?.[0]?.name).toBe('Http') + }) +}) diff --git a/src/types.ts b/src/types.ts index 7d4c871..2e33073 100644 --- a/src/types.ts +++ b/src/types.ts @@ -4,7 +4,10 @@ import type * as Sentry from '@sentry/node' type SamplingContext = Parameters< NonNullable >[0] -type SentryIntegration = ReturnType +type SentryIntegration = Extract< + NonNullable, + unknown[] +>[number] /** Sentry error monitoring and profiling configuration. */ export interface SentryConfig {