You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: Remove lazy loading for hook registration (#22443)
This PR simplifies the `register.ts` hook registration to remove all the
lazy loading.
Once the lazy loading was removed there were a number of other things
required to get this actually passing all the e2e tests:
- [x] Bundle the whole orchestrion runtime chain (`@apm-js-collab/*`,
meriyah, esquery, …) into `@sentry/server-utils`' build (all now
devDependencies). The dist only has relative requires, which removes two
classes of breakage:
- `require(esm)`: the CJS build is now genuine CJS — fixes AWS Lambda
(`--no-experimental-require-module`) and the `Module.register`
loader-thread crash on Node 22.15–24.12
- Build-time tracer vs runtime exports-map divergence on meriyah's
`module-sync` condition (vercel/nft#603,
nitrojs/nitro#4456) — no runtime package
resolution left to get wrong
- This also reduces the bundler impact of all these dependencies from
+70kB to +20kB
- [x] The `Module.register` async hook is now a self-referenced
entrypoint of our own ESM build
(`@sentry/server-utils/orchestrion/hook`), sharing the vendored chunks
- [x] The webpack/Turbopack loader ships as a bundled entrypoint
(`./orchestrion/webpack-loader`), resolved by self-reference since the
`@apm-js-collab` packages are no longer installed
- [x] Fix build-time Rollup ESM interop issues (Node builtins need
`default` interop; default-only ESM deps need `requireReturnsDefault:
'auto'`)
- [x] NextJS: force `@sentry/server-utils` external via absolute-path
externals so `register.ts` stays in `node_modules` and its
`Module.register` self-reference resolves under pnpm — also removes the
`tracingHooksPath` workaround
- [x] Bumps the `@sentry/node` size limit by ~40kb — the lazy loading
previously hid this code from the size report
- [x] #22513
0 commit comments