Is there an existing issue for this?
How do you use Sentry?
Sentry Saas (sentry.io)
Which package are you using?
@sentry/nextjs
SDK Version
7.31.0
Framework Version
next@12.2.5
Link to Sentry event
No response
SDK Setup
import*asSentryfrom'@sentry/nextjs';Sentry.init({dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,environment: process.env.NEXT_PUBLIC_ENV,});Steps to Reproduce
My project uses Next.js v12.2.5, Sentry v7.31, and Storybook v6.4.20. After upgrading to @sentry/nextjs v7.31, Storybook fails to build (see error below). The Next.js app builds fine.
Some components that are rendered in Storybook import Sentry. I've traced the issue to the removal of the browser field in the package.json file in #6753 which causes Storybook to attempt to import Node-specific code to the client bundle. Re-adding the field seems to fix the issue.
Expected Result
Storybook builds without error
Actual Result
ModuleNotFoundError: Module not found: Error: Can't resolve 'domain' in '/Users/<project>/node_modules/@sentry/nextjs/esm/server'ERR! ERR! BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.ERR! This is no longer the case. Verify if you need this module and configure a polyfill for it.ERR! ERR! If you want to include a polyfill, you need to:ERR! - add a fallback 'resolve.fallback: { "domain": require.resolve("domain-browser") }'ERR! - install 'domain-browser'ERR! If you don't want to include a polyfill, you can use an empty module like this:
ERR! resolve.fallback: { "domain": false }
ERR! at /Users/<project>/node_modules/webpack/lib/Compilation.js:2016:28
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:798:13
ERR! at eval (eval at create (/Users/<project>/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:10:1)
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:270:22
ERR! at eval (eval at create (/Users/<project>/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:9:1)
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:434:22
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:116:11
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:670:25
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:855:8
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:975:5
ERR! at /Users/<project>/node_modules/neo-async/async.js:6883:13
ERR! at /Users/<project>/node_modules/webpack/lib/NormalModuleFactory.js:958:45
ERR! at finishWithoutResolve (/Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:312:11)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:386:15
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:87:43
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/forEachBail.js:16:12
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/AliasPlugin.js:125:14
ERR! at next (/Users/<project>/node_modules/enhanced-resolve/lib/forEachBail.js:14:3)
ERR! at forEachBail (/Users/<project>/node_modules/enhanced-resolve/lib/forEachBail.js:24:9)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/AliasPlugin.js:51:5
ERR! at _next0 (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:8:1)
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:30:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:27:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:87:43
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:16:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/Resolver.js:435:5
ERR! at eval (eval at create (/Users/<project>/node_modules/enhanced-resolve/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
ERR! at /Users/<project>/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js:41:15
ERR! at processTicksAndRejections (node:internal/process/task_queues:82:21)
ERR! resolve 'domain'in'/Users/<project>/node_modules/@sentry/nextjs/esm/server'
ERR! Parsed request is a module
ERR! using description file: /Users/<project>/node_modules/@sentry/nextjs/package.json (relative path: ./esm/server)
ERR! Field 'browser' doesn't contain a valid alias configurationERR! resolve as moduleERR! /Users/<project>/node_modules/@sentry/nextjs/esm/server/node_modules doesn't exist or is not a directory
ERR! /Users/<project>/node_modules/@sentry/nextjs/esm/node_modules doesn't exist or is not a directoryERR! looking for modules in /Users/<project>/node_modules/@sentry/nextjs/node_modulesERR! single file moduleERR! using description file: /Users/<project>/node_modules/@sentry/nextjs/package.json (relative path: ./node_modules/domain)ERR! no extensionERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain doesn't existERR! .mjsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain.mjs doesn't existERR! .jsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain.js doesn't existERR! .jsxERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain.jsx doesn't existERR! .tsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain.ts doesn't existERR! .tsxERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain.tsx doesn't existERR! .jsonERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain.json doesn't existERR! .cjsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain.cjs doesn't existERR! /Users/<project>/node_modules/@sentry/nextjs/node_modules/domain doesn't exist
ERR! /Users/<project>/node_modules/@sentry/node_modules doesn't exist or is not a directoryERR! /Users/<project>/node_modules/node_modules doesn't exist or is not a directory
ERR! looking formodulesin /Users/<project>/node_modules
ERR! single file module
ERR! using description file: /Users/<project>/package.json (relative path: ./node_modules/domain)
ERR! no extension
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain doesn't exist
ERR! .mjs
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain.mjs doesn't exist
ERR! .js
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain.js doesn't exist
ERR! .jsx
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain.jsx doesn't exist
ERR! .ts
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain.ts doesn't exist
ERR! .tsx
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain.tsx doesn't exist
ERR! .json
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain.json doesn't exist
ERR! .cjs
ERR! Field 'browser' doesn't contain a valid alias configurationERR! /Users/<project>/node_modules/domain.cjs doesn't exist
ERR! /Users/<project>/node_modules/domain doesn't existERR! /Users/connorbar/Projects/github.com/sumup/node_modules doesn't exist or is not a directory
ERR! /Users/connorbar/Projects/github.com/node_modules doesn't exist or is not a directoryERR! /Users/connorbar/Projects/node_modules doesn't exist or is not a directory
ERR! /Users/connorbar/node_modules doesn't exist or is not a directoryERR! /Users/node_modules doesn't exist or is not a directory
ERR! /node_modules doesn't exist or is not a directoryERR! looking for modules in /Users/<project>/srcERR! single file moduleERR! using description file: /Users/<project>/package.json (relative path: ./src/domain)ERR! no extensionERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain doesn't existERR! .mjsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain.mjs doesn't existERR! .jsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain.js doesn't existERR! .jsxERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain.jsx doesn't existERR! .tsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain.ts doesn't existERR! .tsxERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain.tsx doesn't existERR! .jsonERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain.json doesn't existERR! .cjsERR! Field 'browser' doesn't contain a valid alias configuration
ERR! /Users/<project>/src/domain.cjs doesn't exist
Is there an existing issue for this?
How do you use Sentry?
Sentry Saas (sentry.io)
Which package are you using?
@sentry/nextjs
SDK Version
7.31.0
Framework Version
next@12.2.5
Link to Sentry event
No response
SDK Setup
Steps to Reproduce
My project uses Next.js v12.2.5, Sentry v7.31, and Storybook v6.4.20. After upgrading to
@sentry/nextjsv7.31, Storybook fails to build (see error below). The Next.js app builds fine.Some components that are rendered in Storybook import Sentry. I've traced the issue to the removal of the
browserfield in thepackage.jsonfile in #6753 which causes Storybook to attempt to import Node-specific code to the client bundle. Re-adding the field seems to fix the issue.Expected Result
Storybook builds without error
Actual Result