Skip to content

Commit 99351c3

Browse files
authored
feat(node): Use node: prefix for node built-ins (#11895)
Cloudflare workers Node compatibility mode requires that all node built-ins are loaded with the `node:` prefix. `@sentry/node` still wont work in compat mode for now because our dependencies (ie. otel) are not using the prefix, I guess due to their current Node version support. They state that they support Node v14 but v14.18 is required to use the prefix.
1 parent 344cd9d commit 99351c3

File tree

25 files changed

+60
-47
lines changed

25 files changed

+60
-47
lines changed

.size-limit.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,19 @@ module.exports = [
194194
'node:http',
195195
'node:https',
196196
'node:diagnostics_channel',
197+
'node:perf_hooks',
198+
'node:worker_threads',
199+
'node:inspector',
200+
'node:path',
201+
'node:fs',
202+
'node:stream',
203+
'node:os',
204+
'node:net',
205+
'node:zlib',
206+
'node:child_process',
207+
'node:tls',
208+
'node:async_hooks',
209+
'node:util',
197210
'async_hooks',
198211
'child_process',
199212
'fs',

packages/node/src/integrations/anr/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import * as inspector from 'node:inspector';
2+
import { Worker } from 'node:worker_threads';
13
import { defineIntegration, mergeScopeData } from '@sentry/core';
24
import type { Contexts, Event, EventHint, Integration, IntegrationFn, ScopeData } from '@sentry/types';
35
import { GLOBAL_OBJ, logger } from '@sentry/utils';
4-
import * as inspector from 'inspector';
5-
import { Worker } from 'worker_threads';
66
import { getCurrentScope, getGlobalScope, getIsolationScope } from '../..';
77
import { NODE_VERSION } from '../../nodeVersion';
88
import type { NodeClient } from '../../sdk/client';

packages/node/src/integrations/anr/worker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { parentPort, workerData } from 'node:worker_threads';
12
import {
23
applyScopeDataToEvent,
34
createEventEnvelope,
@@ -15,7 +16,6 @@ import {
1516
watchdogTimer,
1617
} from '@sentry/utils';
1718
import { Session as InspectorSession } from 'inspector';
18-
import { parentPort, workerData } from 'worker_threads';
1919

2020
import { makeNodeTransport } from '../../transports';
2121
import { createGetModuleFromFilename } from '../../utils/module';

packages/node/src/integrations/console.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as util from 'util';
1+
import * as util from 'node:util';
22
import { addBreadcrumb, defineIntegration, getClient } from '@sentry/core';
33
import type { IntegrationFn } from '@sentry/types';
44
import { addConsoleInstrumentationHandler, severityLevelFromString } from '@sentry/utils';

packages/node/src/integrations/context.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { execFile } from 'child_process';
2-
import { readFile, readdir } from 'fs';
3-
import * as os from 'os';
4-
import { join } from 'path';
5-
import { promisify } from 'util';
1+
import { execFile } from 'node:child_process';
2+
import { readFile, readdir } from 'node:fs';
3+
import * as os from 'node:os';
4+
import { join } from 'node:path';
5+
import { promisify } from 'node:util';
66
import { defineIntegration } from '@sentry/core';
77
import type {
88
AppContext,

packages/node/src/integrations/contextlines.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { promises } from 'fs';
1+
import { promises } from 'node:fs';
22
import { defineIntegration } from '@sentry/core';
33
import type { Event, IntegrationFn, StackFrame } from '@sentry/types';
44
import { LRUMap, addContextToFrame } from '@sentry/utils';

packages/node/src/integrations/http.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { ClientRequest, IncomingMessage, ServerResponse } from 'http';
1+
import type { ClientRequest, IncomingMessage, ServerResponse } from 'node:http';
22
import type { Span } from '@opentelemetry/api';
33
import { SpanKind } from '@opentelemetry/api';
44
import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';

packages/node/src/integrations/local-variables/common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import type { Debugger } from 'node:inspector';
12
import type { StackFrame, StackParser } from '@sentry/types';
2-
import type { Debugger } from 'inspector';
33

44
export type Variables = Record<string, unknown>;
55

packages/node/src/integrations/local-variables/local-variables-async.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { Worker } from 'node:worker_threads';
12
import { defineIntegration } from '@sentry/core';
23
import type { Event, Exception, IntegrationFn } from '@sentry/types';
34
import { LRUMap, logger } from '@sentry/utils';
4-
import { Worker } from 'worker_threads';
55

66
import type { NodeClient } from '../../sdk/client';
77
import type { FrameVariables, LocalVariablesIntegrationOptions, LocalVariablesWorkerArgs } from './common';

packages/node/src/integrations/local-variables/local-variables-sync.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import type { Debugger, InspectorNotification, Runtime } from 'node:inspector';
2+
import { Session } from 'node:inspector';
13
import { defineIntegration, getClient } from '@sentry/core';
24
import type { Event, Exception, IntegrationFn, StackParser } from '@sentry/types';
35
import { LRUMap, logger } from '@sentry/utils';
4-
import type { Debugger, InspectorNotification, Runtime } from 'inspector';
5-
import { Session } from 'inspector';
66

77
import { NODE_MAJOR } from '../../nodeVersion';
88
import type { NodeClient } from '../../sdk/client';

0 commit comments

Comments
 (0)