Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERROR Cannot find module '@sentry/utils' breaking Vercel deployments #10429

Open
3 tasks done
mcmxcdev opened this issue Jan 30, 2024 · 33 comments
Open
3 tasks done

ERROR Cannot find module '@sentry/utils' breaking Vercel deployments #10429

mcmxcdev opened this issue Jan 30, 2024 · 33 comments
Labels
Package: sveltekit Issues related to the Sentry SvelteKit SDK Type: Bug Waiting for: Community

Comments

@mcmxcdev
Copy link

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/sveltekit

SDK Version

7.98.0

Framework Version

7.98.0

Link to Sentry event

No response

SDK Setup

Sentry.init({
  dsn: PUBLIC_SENTRY_DSN,
  environment: appConfig.settings.reportingEnvironment,
  tracesSampleRate: appConfig.settings.sentrySamplingRate,
  // switching from CaptureConsole class to captureConsoleIntegration leads to breakage 
  integrations: [captureConsoleIntegration({ levels: ['warn', 'error', 'assert'] })],
  enabled: process.env.NODE_ENV === 'production',
})

Steps to Reproduce

We upgraded from 7.91.0 to 7.98.0 today and encountered breaking Vercel deployments:

2024-01-30T19:28:44.383Z	undefined	ERROR	Cannot find module '@sentry/utils'
Require stack:
- /var/task/node_modules/.pnpm/@[email protected]/node_modules/@sentry/integrations/cjs/captureconsole.js
- /var/task/node_modules/.pnpm/@[email protected]/node_modules/@sentry/integrations/cjs/index.js
2024-01-30T19:28:44.384Z	undefined	ERROR	Did you forget to add it to "dependencies" in `package.json`?
INIT_REPORT Init Duration: 476.37 ms	Phase: invoke	Status: error	Error Type: Runtime.ExitError
Error: Runtime exited with error: exit status 1

The stack trace clearly points to captureconsole.js which made it clear for me that switching from CaptureConsole class to captureConsoleIntegration led to the breakage.

Expected Result

Vercel deployments should work as normal

Actual Result

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 2 Jan 30, 2024
@github-actions github-actions bot added the Package: sveltekit Issues related to the Sentry SvelteKit SDK label Jan 30, 2024
@AbhiPrasad
Copy link
Member

"@sentry/utils": "7.99.0",

integrations should use utils package as usual. Were you able to replicate this locally? Does clearing the vercel caching work?

@mcmxcdev
Copy link
Author

We reverted to CaptureConsole class usage for the time being, so I cannot easily reproduce it right now.

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 2 Jan 30, 2024
@AbhiPrasad
Copy link
Member

I tested in Vercel myself with basic SvelteKit app and couldn't reproduce, so going to close this for now, we'll need a reproduction to dig in further.

If anyone else experiences this please reach out, we can re-open the issue and take a look. Thanks!

@AbhiPrasad AbhiPrasad closed this as not planned Won't fix, can't repro, duplicate, stale Jan 31, 2024
@madeleineostoja
Copy link

madeleineostoja commented Feb 2, 2024

I’m also hitting this with a sveltekit app — fails consistently on every second or third deployment, not reproducible locally. Same error, that @sentry/utils can’t be found, using a pnpm monorepo with sentry in a shared package if that helps. Also did nothing other than updating packages.

Completely breaks our app in production, and should be reopened. I’ve had to remove all traces of Sentry in the meantime.

@AbhiPrasad
Copy link
Member

@madeleineostoja please share your sveltekit, vite and sdk version so we can try and reproduce it!

fails consistently on every second or third deployment, not reproducible locally

This makes me feel like it's a caching issue, either because of vercel or pnpm or both. If you run pnpm why @sentry/utils in your repo, what does it return?

@AbhiPrasad AbhiPrasad reopened this Feb 2, 2024
@madeleineostoja
Copy link

madeleineostoja commented Feb 3, 2024

Versions:

  • Sveltekit: 2.4.3
  • Vite: 5.0.12
  • @sentry/sveltekit: 7.95.0

My full dependency graph for @sentry/utils is a bit of a monster because of how much it's used throughout my monorepo, but if it's helpful here's the full output (@bokeh/:package are all internal monorepo packages — @bokeh/utils exports the sanity client and base config to be used by packages, @bokeh/config exports base vite config which includes the sanity plugin)

pnpm -r why @sentry/utils
@bokeh/app /Users/madi/Bokeh/bokeh/apps/app

dependencies:
@bokeh/design link:../../packages/design
└─┬ @bokeh/config link:../../packages/config
  └─┬ @sentry/sveltekit 7.95.0
    ├─┬ @sentry-internal/tracing 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/core 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/integrations 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/node 7.95.0
    │ ├─┬ @sentry-internal/tracing 7.95.0
    │ │ ├─┬ @sentry/core 7.95.0
    │ │ │ └── @sentry/utils 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    └─┬ @sentry/svelte 7.95.0
      └─┬ @sentry/browser 7.95.0
        └─┬ @sentry-internal/feedback 7.95.0
          └─┬ @sentry/core 7.95.0
            └── @sentry/utils 7.95.0

devDependencies:
@bokeh/config link:../../packages/config
└─┬ @sentry/sveltekit 7.95.0
  ├─┬ @sentry-internal/tracing 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/core 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/integrations 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/node 7.95.0
  │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/svelte 7.95.0
  │ ├─┬ @sentry/browser 7.95.0
  │ │ ├─┬ @sentry-internal/feedback 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/replay-canvas 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├── @sentry/utils 7.95.0
  └─┬ @sentry/vite-plugin 0.6.1
    └─┬ @sentry/bundler-plugin-core 0.6.1
      ├─┬ @sentry/node 7.95.0
      │ ├─┬ @sentry-internal/tracing 7.95.0
      │ │ ├─┬ @sentry/core 7.95.0
      │ │ │ └── @sentry/utils 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ ├─┬ @sentry/core 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ └── @sentry/utils 7.95.0
      └─┬ @sentry/tracing 7.48.0
        └─┬ @sentry-internal/tracing 7.48.0
          ├─┬ @sentry/core 7.48.0
          │ └── @sentry/utils 7.48.0
          └── @sentry/utils 7.48.0

@bokeh/platform /Users/madi/Bokeh/bokeh/apps/platform

dependencies:
@bokeh/design link:../../packages/design
└─┬ @bokeh/config link:../../packages/config
  └─┬ @sentry/sveltekit 7.95.0
    ├─┬ @sentry-internal/tracing 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/core 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/integrations 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/node 7.95.0
    │ ├─┬ @sentry-internal/tracing 7.95.0
    │ │ ├─┬ @sentry/core 7.95.0
    │ │ │ └── @sentry/utils 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    └─┬ @sentry/svelte 7.95.0
      └─┬ @sentry/browser 7.95.0
        └─┬ @sentry-internal/feedback 7.95.0
          └─┬ @sentry/core 7.95.0
            └── @sentry/utils 7.95.0

devDependencies:
@bokeh/config link:../../packages/config
└─┬ @sentry/sveltekit 7.95.0
  ├─┬ @sentry-internal/tracing 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/core 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/integrations 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/node 7.95.0
  │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/svelte 7.95.0
  │ ├─┬ @sentry/browser 7.95.0
  │ │ ├─┬ @sentry-internal/feedback 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/replay-canvas 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├── @sentry/utils 7.95.0
  └─┬ @sentry/vite-plugin 0.6.1
    └─┬ @sentry/bundler-plugin-core 0.6.1
      ├─┬ @sentry/node 7.95.0
      │ ├─┬ @sentry-internal/tracing 7.95.0
      │ │ ├─┬ @sentry/core 7.95.0
      │ │ │ └── @sentry/utils 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ ├─┬ @sentry/core 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ └── @sentry/utils 7.95.0
      └─┬ @sentry/tracing 7.48.0
        └─┬ @sentry-internal/tracing 7.48.0
          ├─┬ @sentry/core 7.48.0
          │ └── @sentry/utils 7.48.0
          └── @sentry/utils 7.48.0

@bokeh/portfolio /Users/madi/Bokeh/bokeh/apps/portfolio

dependencies:
@bokeh/design link:../../packages/design
└─┬ @bokeh/config link:../../packages/config
  └─┬ @sentry/sveltekit 7.95.0
    ├─┬ @sentry-internal/tracing 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/core 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/integrations 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    ├─┬ @sentry/node 7.95.0
    │ ├─┬ @sentry-internal/tracing 7.95.0
    │ │ ├─┬ @sentry/core 7.95.0
    │ │ │ └── @sentry/utils 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ ├─┬ @sentry/core 7.95.0
    │ │ └── @sentry/utils 7.95.0
    │ └── @sentry/utils 7.95.0
    └─┬ @sentry/svelte 7.95.0
      └─┬ @sentry/browser 7.95.0
        └─┬ @sentry-internal/feedback 7.95.0
          └─┬ @sentry/core 7.95.0
            └── @sentry/utils 7.95.0

devDependencies:
@bokeh/config link:../../packages/config
└─┬ @sentry/sveltekit 7.95.0
  ├─┬ @sentry-internal/tracing 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/core 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/integrations 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/node 7.95.0
  │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/svelte 7.95.0
  │ ├─┬ @sentry/browser 7.95.0
  │ │ ├─┬ @sentry-internal/feedback 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/replay-canvas 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├── @sentry/utils 7.95.0
  └─┬ @sentry/vite-plugin 0.6.1
    └─┬ @sentry/bundler-plugin-core 0.6.1
      ├─┬ @sentry/node 7.95.0
      │ ├─┬ @sentry-internal/tracing 7.95.0
      │ │ ├─┬ @sentry/core 7.95.0
      │ │ │ └── @sentry/utils 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ ├─┬ @sentry/core 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ └── @sentry/utils 7.95.0
      └─┬ @sentry/tracing 7.48.0
        └─┬ @sentry-internal/tracing 7.48.0
          ├─┬ @sentry/core 7.48.0
          │ └── @sentry/utils 7.48.0
          └── @sentry/utils 7.48.0

@bokeh/actions /Users/madi/Bokeh/bokeh/packages/actions

devDependencies:
@bokeh/config link:../config
└─┬ @sentry/sveltekit 7.95.0
  ├─┬ @sentry-internal/tracing 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/core 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/integrations 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/node 7.95.0
  │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/svelte 7.95.0
  │ ├─┬ @sentry/browser 7.95.0
  │ │ ├─┬ @sentry-internal/feedback 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/replay-canvas 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├── @sentry/utils 7.95.0
  └─┬ @sentry/vite-plugin 0.6.1
    └─┬ @sentry/bundler-plugin-core 0.6.1
      ├─┬ @sentry/node 7.95.0
      │ ├─┬ @sentry-internal/tracing 7.95.0
      │ │ ├─┬ @sentry/core 7.95.0
      │ │ │ └── @sentry/utils 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ ├─┬ @sentry/core 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ └── @sentry/utils 7.95.0
      └─┬ @sentry/tracing 7.48.0
        └─┬ @sentry-internal/tracing 7.48.0
          ├─┬ @sentry/core 7.48.0
          │ └── @sentry/utils 7.48.0
          └── @sentry/utils 7.48.0

@bokeh/config /Users/madi/Bokeh/bokeh/packages/config

dependencies:
@sentry/sveltekit 7.95.0
├─┬ @sentry-internal/tracing 7.95.0
│ ├─┬ @sentry/core 7.95.0
│ │ └── @sentry/utils 7.95.0
│ └── @sentry/utils 7.95.0
├─┬ @sentry/core 7.95.0
│ └── @sentry/utils 7.95.0
├─┬ @sentry/integrations 7.95.0
│ ├─┬ @sentry/core 7.95.0
│ │ └── @sentry/utils 7.95.0
│ └── @sentry/utils 7.95.0
├─┬ @sentry/node 7.95.0
│ ├─┬ @sentry-internal/tracing 7.95.0
│ │ ├─┬ @sentry/core 7.95.0
│ │ │ └── @sentry/utils 7.95.0
│ │ └── @sentry/utils 7.95.0
│ ├─┬ @sentry/core 7.95.0
│ │ └── @sentry/utils 7.95.0
│ └── @sentry/utils 7.95.0
└─┬ @sentry/svelte 7.95.0
  └─┬ @sentry/browser 7.95.0
    └─┬ @sentry-internal/feedback 7.95.0
      └─┬ @sentry/core 7.95.0
        └── @sentry/utils 7.95.0

@bokeh/design /Users/madi/Bokeh/bokeh/packages/design

dependencies:
@bokeh/config link:../config
└─┬ @sentry/sveltekit 7.95.0
  ├─┬ @sentry-internal/tracing 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/core 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/integrations 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/node 7.95.0
  │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  └─┬ @sentry/svelte 7.95.0
    └─┬ @sentry/browser 7.95.0
      └─┬ @sentry-internal/feedback 7.95.0
        └─┬ @sentry/core 7.95.0
          └── @sentry/utils 7.95.0

@bokeh/utils /Users/madi/Bokeh/bokeh/packages/utils

dependencies:
@sentry/sveltekit 7.95.0
├─┬ @sentry-internal/tracing 7.95.0
│ ├─┬ @sentry/core 7.95.0
│ │ └── @sentry/utils 7.95.0
│ └── @sentry/utils 7.95.0
├─┬ @sentry/core 7.95.0
│ └── @sentry/utils 7.95.0
├─┬ @sentry/integrations 7.95.0
│ ├─┬ @sentry/core 7.95.0
│ │ └── @sentry/utils 7.95.0
│ └── @sentry/utils 7.95.0
├─┬ @sentry/node 7.95.0
│ ├─┬ @sentry-internal/tracing 7.95.0
│ │ ├─┬ @sentry/core 7.95.0
│ │ │ └── @sentry/utils 7.95.0
│ │ └── @sentry/utils 7.95.0
│ ├─┬ @sentry/core 7.95.0
│ │ └── @sentry/utils 7.95.0
│ └── @sentry/utils 7.95.0
└─┬ @sentry/svelte 7.95.0
  └─┬ @sentry/browser 7.95.0
    └─┬ @sentry-internal/feedback 7.95.0
      └─┬ @sentry/core 7.95.0
        └── @sentry/utils 7.95.0

devDependencies:
@bokeh/config link:../config
└─┬ @sentry/sveltekit 7.95.0
  ├─┬ @sentry-internal/tracing 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/core 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/integrations 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/node 7.95.0
  │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├─┬ @sentry/svelte 7.95.0
  │ ├─┬ @sentry/browser 7.95.0
  │ │ ├─┬ @sentry-internal/feedback 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/replay-canvas 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ ├─┬ @sentry/replay 7.95.0
  │ │ │ ├─┬ @sentry-internal/tracing 7.95.0
  │ │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ ├─┬ @sentry/core 7.95.0
  │ │ │ │ └── @sentry/utils 7.95.0
  │ │ │ └── @sentry/utils 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ ├─┬ @sentry/core 7.95.0
  │ │ └── @sentry/utils 7.95.0
  │ └── @sentry/utils 7.95.0
  ├── @sentry/utils 7.95.0
  └─┬ @sentry/vite-plugin 0.6.1
    └─┬ @sentry/bundler-plugin-core 0.6.1
      ├─┬ @sentry/node 7.95.0
      │ ├─┬ @sentry-internal/tracing 7.95.0
      │ │ ├─┬ @sentry/core 7.95.0
      │ │ │ └── @sentry/utils 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ ├─┬ @sentry/core 7.95.0
      │ │ └── @sentry/utils 7.95.0
      │ └── @sentry/utils 7.95.0
      └─┬ @sentry/tracing 7.48.0
        └─┬ @sentry-internal/tracing 7.48.0
          ├─┬ @sentry/core 7.48.0
          │ └── @sentry/utils 7.48.0
          └── @sentry/utils 7.48.0

Worth noting that @sentry/sveltekit is a direct dependency of each app (bokeh/apps/app, bokeh/apps/portfolio, etc), but the above output shows @sentry/utils pulled in from the shared monorepo packages its used in instead. Unsure if that could cause any issues.

This makes me feel like it's a caching issue, either because of vercel or pnpm or both

My thoughts too, though pnpm's dep graph should be very deterministic, so it's strange I can't reproduce locally

@madeleineostoja
Copy link

madeleineostoja commented Feb 3, 2024

This seems to have self resolved for me for now by deleting and regenerating my pnpm lockfile. Still weird and still probably warrants some more investigation, but unfortunately I don’t have time to dive much deeper at the moment

EDIT: I lied, issue has resurfaced. Again I changed nothing to do with sentry, and again redeploying the same build can fix it, suggesting a caching issue with Sentry + Vercel.

Also worth noting I use Turborepo with Vercel's remote caching, and forcing a redeployment busts this remote cache. I'd suspect something going on there, but I haven't had time to nail down a consistent repro, especially since this is effecting the uptime of our production app, I just need it to work and can't be experimenting.

@lforst
Copy link
Member

lforst commented Feb 6, 2024

Package caching is unfortunately not something we can influence from within our packages. All we can do is declare our dependencies carefully and correctly (which I believe we do). Please check the behaviour of your build tooling and let us know if you have any concrete suspicions that we are doing something wrong!

@madeleineostoja
Copy link

Only suspicion is that sentry is the only package this happens for out of the dozens and dozens I have installed, and it seems I’m not the only one.

Happy to just leave sentry out of my stack, it’s not the first production breaking bug I’ve had with these SDKs

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 2 Feb 7, 2024
@lforst
Copy link
Member

lforst commented Feb 7, 2024

@madeleineostoja Totally fair. I'd personally rather blame pnpm than Sentry here but your technical decisions are up to you.

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 May 15, 2024
@ludwighogstrom
Copy link

Got a similar error for @sentry/nextjs when running Jest (29.7.0) after upgrading from 7 to 8.3.0Cannot find module '@sentry/nextjs'.

We're using pnpm and have a turborepo setup.

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 May 23, 2024
@lforst
Copy link
Member

lforst commented May 23, 2024

@ludwighogstrom can you share more of the error? Is there a stack trace? More information? Thank you!

@ludwighogstrom
Copy link

ludwighogstrom commented May 23, 2024

@ludwighogstrom can you share more of the error? Is there a stack trace? More information? Thank you!

Here is the stack trace

at Resolver._throwModNotFoundError (../../node_modules/.pnpm/[email protected]/node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (src/hooks/__tests__/useReportToSentry.test.ts:8:57)

In the test we're importing @sentry/nextjs to be able to check if error details are being send to Sentry.

import * as Sentry from "@sentry/nextjs";

...

const captureExceptionSpy = jest.spyOn(Sentry, "captureException");

...etc

However, there are other tests that breaks in the same way where we don't import @sentry/nextjs in the actual test and only import Sentry in the file that are being tested.

Everything seems to work fine otherwise. It's only when running Jest we have spotted the error.


Not sure if it's related, but we have followed a "guide" from MSW to solve another Cannot find module problem - Cannot find module 'msw/node' from 'src/__mocks__/api/server.ts'.

Stack trace

      at Resolver._throwModNotFoundError (../../node_modules/.pnpm/[email protected]/node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (src/__mocks__/api/server.ts:11:15)
      at Object.<anonymous> (jest.setup.js:11:17)

The guide:
mswjs/msw#1786 (comment)

Not sure if worth mention but in this test we have the jsdom environment

/**
 * @jest-environment jsdom
 */

The solution from the "guide"

  testEnvironmentOptions: {
    // This is needed to make MSW (node) work in JSDOM environment.
    // See https://github.com/mswjs/msw/issues/1786#issuecomment-1786122056
    // See https://mswjs.io/docs/migrations/1.x-to-2.x#cannot-find-module-mswnode-jsdom
    customExportConditions: [""],
  },

...could maybe affect how Sentry gets imported?

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 May 23, 2024
@lforst
Copy link
Member

lforst commented May 23, 2024

@ludwighogstrom My mental pattern matching makes me think that this is less an issue with the SDK but jest resolving (or rather your setup thereof). Since it is very hard to debug without having the setup, would you mind sharing a reproduction example?

@ludwighogstrom
Copy link

@ludwighogstrom My mental pattern matching makes me think that this is less an issue with the SDK but jest resolving (or rather your setup thereof). Since it is very hard to debug without having the setup, would you mind sharing a reproduction example?

I see! Not sure how easy that would be... let's see if I have the time later today to look into that.

Added some more info in my comment above. Could potentially be several libraries/configurations that causes the problem (making it hard to know what to pick for a minimal reproduction 😅).

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 May 23, 2024
@lforst
Copy link
Member

lforst commented May 23, 2024

Added some more info in my comment above

Ah, we definitely use export conditions in the SDKs package.json, it's possible that that will mess up your module resolution. Unfortunately, I don't think this is something we will be able to fix from within the SDK meaning that this is something msw should change. Maybe you can somehow configure msw to be resolved in a specific way, then you can get rid of this export condition override.

@ludwighogstrom
Copy link

Added some more info in my comment above

Ah, we definitely use export conditions in the SDKs package.json, it's possible that that will mess up your module resolution. Unfortunately, I don't think this is something we will be able to fix from within the SDK meaning that this is something msw should change. Maybe you can somehow configure msw to be resolved in a specific way, then you can get rid of this export condition override.

Thanks! Will look into that. Some comments in the MSW thread points out that their suggested solution is a bit blunt. Focusing on solving that instead of creating minimal reproduction.

Sorry for hijacking this issue :)

@Lms24
Copy link
Member

Lms24 commented Jan 13, 2025

Hi, this issue has been stale for a while now. I've added the Waiting for: Community label which means that we're still waiting on a reproducible example of this issue. This will also trigger an auto-close, in case we don't get a reply in the next weeks.

  • So far all reports show a problem with 7.x versions of the SDK. I'm be curious if anyone is experiencing the same isses in the latest v8 versions?
  • With v9 of our SDK (currently WIP), we've removed @sentry/utils and hoisted its exports mostly into @sentry/core. While I have no idea why the utils package was causing this issue specifically, it might just solve itself with v9.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Package: sveltekit Issues related to the Sentry SvelteKit SDK Type: Bug Waiting for: Community
Projects
Status: No status
Status: Waiting for: Community
Development

No branches or pull requests

9 participants