Skip to content

Sentry.nativeNodeFetchIntegration fails to import opentelemetry-instrumentation-fetch-node in jest #12225

Closed
@TheHolyWaffle

Description

@TheHolyWaffle

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/node

SDK Version

8.4.0

Framework Version

No response

Link to Sentry event

No response

SDK Setup

            Sentry.init({
                dsn: 'https://00000000000000000000000000000000@0000000.ingest.us.sentry.io/0000000',
                integrations: [Sentry.nativeNodeFetchIntegration()],
            });

Steps to Reproduce

  1. Run the SDK setup in debug mode in a commonjs environment such as jest
  2. add breakpoint in node_modules/@sentry/node/cjs/integrations/node-fetch.js on the line const pkg = await import('opentelemetry-instrumentation-fetch-node');

Expected Result

It correctly imports opentelemetry-instrumentation-fetch-node without throwing an error in cjs mode

Actual Result

It throws an error

image

TypeError: A dynamic import callback was invoked without --experimental-vm-modules
    at importModuleDynamicallyCallback (node:internal/modules/esm/utils:226:11)
    at getInstrumentation (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/integrations/node-fetch.ts:51:19)
    at Object.setupOnce (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/integrations/node-fetch.ts:85:7)
    at setupIntegration (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/integration.ts:122:105)
    at /Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/integration.ts:93:7
    at Array.forEach (<anonymous>)
    at Object.setupIntegrations (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/integration.ts:90:16)
    at NodeClient.setupIntegrations [as _setupIntegrations] (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/baseclient.ts:554:20)
    at NodeClient.init (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/baseclient.ts:313:12)
    at _init (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/sdk/init.ts:170:12)
    at Object.init (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/node_modules/@sentry/src/sdk/init.ts:101:10)
    at Object.init (/Users/bert.degeyter/dev/showpad-typescript/packages/sentry-utils/src/lib/before-breadcrumb.spec.ts:17:20)
    at Promise.then.completed (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/utils.js:298:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/utils.js:231:10)
    at _callCircusHook (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/run.js:281:40)
    at _runTestsForDescribeBlock (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/run.js:95:7)
    at _runTestsForDescribeBlock (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/run.js:121:9)
    at _runTestsForDescribeBlock (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/run.js:121:9)
    at run (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/run.js:71:3)
    at runAndTransformResultsToJestFormat (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-runner/build/runTest.js:367:16)
    at runTest (/Users/bert.degeyter/dev/showpad-typescript/node_modules/jest-runner/build/runTest.js:444:34)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Package: nodeIssues related to the Sentry Node SDK

    Type

    Projects

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions