From b1e7e4ea61164ffcb0619fc1293ceb8e668bb9ca Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Tue, 19 May 2026 18:51:51 +0200 Subject: [PATCH 1/3] ref(node): Vendor minimal types for dataloader and generic-pool instrumentations Co-Authored-By: Claude Opus 4.6 (1M context) --- .../dataloader/vendored/dataloader-types.ts | 20 +++++++++++++++++++ .../dataloader/vendored/instrumentation.ts | 2 +- .../vendored/generic-pool-types.ts | 9 +++++++++ .../genericPool/vendored/instrumentation.ts | 2 +- 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts create mode 100644 packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts diff --git a/packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts b/packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts new file mode 100644 index 000000000000..e302de4d0cb2 --- /dev/null +++ b/packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts @@ -0,0 +1,20 @@ +/* + * Simplified types inlined from dataloader. + * Only includes members accessed by this instrumentation. + */ + +declare class DataLoader { + constructor(batchLoadFn: DataLoader.BatchLoadFn, options?: any); + load(key: K): Promise; + loadMany(keys: ArrayLike): Promise>; + prime(key: K, value: V | Error): this; + clear(key: K): this; + clearAll(): this; + [key: string]: any; +} + +declare namespace DataLoader { + type BatchLoadFn = (keys: ReadonlyArray) => PromiseLike>; +} + +export = DataLoader; diff --git a/packages/node/src/integrations/tracing/dataloader/vendored/instrumentation.ts b/packages/node/src/integrations/tracing/dataloader/vendored/instrumentation.ts index 973c47023a58..bfa8bb2b49f7 100644 --- a/packages/node/src/integrations/tracing/dataloader/vendored/instrumentation.ts +++ b/packages/node/src/integrations/tracing/dataloader/vendored/instrumentation.ts @@ -24,7 +24,7 @@ import { InstrumentationBase, InstrumentationNodeModuleDefinition, isWrapped } f import { trace, context, Link, SpanStatusCode, SpanKind } from '@opentelemetry/api'; import { DataloaderInstrumentationConfig } from './types'; import { SDK_VERSION } from '@sentry/core'; -import type * as Dataloader from 'dataloader'; +import type * as Dataloader from './dataloader-types'; const MODULE_NAME = 'dataloader'; const PACKAGE_NAME = '@sentry/instrumentation-dataloader'; diff --git a/packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts b/packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts new file mode 100644 index 000000000000..bd727941ae11 --- /dev/null +++ b/packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts @@ -0,0 +1,9 @@ +/* + * Simplified types inlined from generic-pool. + * Only includes members accessed by this instrumentation. + */ + +export declare class Pool { + acquire(priority?: number): PromiseLike; + [key: string]: any; +} diff --git a/packages/node/src/integrations/tracing/genericPool/vendored/instrumentation.ts b/packages/node/src/integrations/tracing/genericPool/vendored/instrumentation.ts index 230933eee91d..aa1615669e5a 100644 --- a/packages/node/src/integrations/tracing/genericPool/vendored/instrumentation.ts +++ b/packages/node/src/integrations/tracing/genericPool/vendored/instrumentation.ts @@ -28,7 +28,7 @@ import { isWrapped, } from '@opentelemetry/instrumentation'; -import type * as genericPool from 'generic-pool'; +import type * as genericPool from './generic-pool-types'; import { SDK_VERSION } from '@sentry/core'; From 585472bd92b0ed0ec148cd3caff775ded3411a93 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Tue, 19 May 2026 18:55:30 +0200 Subject: [PATCH 2/3] ref: Remove unnecessary comments from vendored type files Co-Authored-By: Claude Opus 4.6 (1M context) --- .../dataloader/vendored/dataloader-types.ts | 1 - .../vendored/generic-pool-types.ts | 1 - .../tracing/tedious/vendored/tedious-types.ts | 31 +++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts diff --git a/packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts b/packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts index e302de4d0cb2..d979b5c5871d 100644 --- a/packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts +++ b/packages/node/src/integrations/tracing/dataloader/vendored/dataloader-types.ts @@ -1,6 +1,5 @@ /* * Simplified types inlined from dataloader. - * Only includes members accessed by this instrumentation. */ declare class DataLoader { diff --git a/packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts b/packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts index bd727941ae11..2b380f7ab431 100644 --- a/packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts +++ b/packages/node/src/integrations/tracing/genericPool/vendored/generic-pool-types.ts @@ -1,6 +1,5 @@ /* * Simplified types inlined from generic-pool. - * Only includes members accessed by this instrumentation. */ export declare class Pool { diff --git a/packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts b/packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts new file mode 100644 index 000000000000..fe435224fc54 --- /dev/null +++ b/packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts @@ -0,0 +1,31 @@ +/* + * Simplified types inlined from tedious. + * Only includes members accessed by this instrumentation. + */ + +import { EventEmitter } from 'events'; + +export declare class Connection extends EventEmitter { + config: any; + connect(connectListener?: (err?: Error) => void): void; + execSql(request: Request): void; + [key: string]: any; +} + +export declare class Request extends EventEmitter { + sqlTextOrProcedure: string | undefined; + callback: any; + table: string | undefined; + parametersByName: any; + constructor( + sqlTextOrProcedure: string | undefined, + callback: (error: Error | null | undefined, rowCount?: number, rows?: any) => void, + ); + addParameter(name: string, type: any, value?: unknown, options?: any): void; + [key: string]: any; +} + +export declare const TYPES: { + VarBinary: any; + [key: string]: any; +}; From f92b82a2e8692635d35ebd45532b0c651f6355f4 Mon Sep 17 00:00:00 2001 From: Nicolas Hrubec Date: Tue, 19 May 2026 18:58:12 +0200 Subject: [PATCH 3/3] ref: Remove accidentally staged tedious-types.ts Co-Authored-By: Claude Opus 4.6 (1M context) --- .../tracing/tedious/vendored/tedious-types.ts | 31 ------------------- 1 file changed, 31 deletions(-) delete mode 100644 packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts diff --git a/packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts b/packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts deleted file mode 100644 index fe435224fc54..000000000000 --- a/packages/node/src/integrations/tracing/tedious/vendored/tedious-types.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Simplified types inlined from tedious. - * Only includes members accessed by this instrumentation. - */ - -import { EventEmitter } from 'events'; - -export declare class Connection extends EventEmitter { - config: any; - connect(connectListener?: (err?: Error) => void): void; - execSql(request: Request): void; - [key: string]: any; -} - -export declare class Request extends EventEmitter { - sqlTextOrProcedure: string | undefined; - callback: any; - table: string | undefined; - parametersByName: any; - constructor( - sqlTextOrProcedure: string | undefined, - callback: (error: Error | null | undefined, rowCount?: number, rows?: any) => void, - ); - addParameter(name: string, type: any, value?: unknown, options?: any): void; - [key: string]: any; -} - -export declare const TYPES: { - VarBinary: any; - [key: string]: any; -};