Skip to content

feat(server-utils): initial module scaffolding#21200

Draft
isaacs wants to merge 1 commit into
developfrom
isaacs/sentry-internal-server-utils
Draft

feat(server-utils): initial module scaffolding#21200
isaacs wants to merge 1 commit into
developfrom
isaacs/sentry-internal-server-utils

Conversation

@isaacs
Copy link
Copy Markdown
Member

@isaacs isaacs commented May 27, 2026

This is phase 1 of the plan to move all server utils into a single reusable package that can be shared across SSJS SDKs.

Right now it does not do anything, but in subsequent steps:

  1. Code will be moved out of @sentry/core/server, into @sentry-internal/server-utils.
  2. @sentry/core/server will live on, but re-export the contents of the server-utils module.
  3. To minimize the cyclical dependency (ie, server-utils depends on core for isomorphic utilities, core depends on server-utils for ./server exports), server-utils will have a types-only dependency on core, which can be removed in v11. For now, an nx override allows the cycle explicitly.

This is phase 1 of the plan to move all server utils into a single
reusable package that can be shared across SSJS SDKs.

Right now it does not do anything, but in subsequent steps:

1. Code will be moved out of @sentry/core/server, into
   @sentry-internal/server-utils.
2. @sentry/core/server will live on, but re-export the contents of the
   server-utils module.
3. To minimize the cyclical dependency (ie, server-utils depends on
   core for isomorphic utilities, core depends on server-utils for
   ./server exports), server-utils will have a types-only dependency on
   core, which can be removed in v11. For now, an nx override allows the
   cycle explicitly.
@isaacs isaacs requested review from JPeer264 and Lms24 May 27, 2026 19:43
@isaacs isaacs marked this pull request as draft May 27, 2026 20:21
@isaacs
Copy link
Copy Markdown
Member Author

isaacs commented May 27, 2026

Actually it looks like this might not be possible without a breaking change, because the cycles will end up confounding TSC when it builds our code, as core and server-utils would depend on one another for types. The only option would be to shim everything, which gets pretty gross.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant