Description
Problem Statement
Hi Sentry team 👋,
We’re running into issues due to a dependency introduced in @sentry/node@9.19.0
which references a GitHub tarball directly:
Reference PR - #16287
"@fastify/otel": "https://codeload.github.com/getsentry/fastify-otel/tar.gz/ae3088d65e286bdc94ac5d722573537d6a6671bb"
This causes real problems in environments like ours, where only private registries (e.g., AWS CodeArtifact) are allowed for security and compliance reasons.
Problem
Since this dependency is declared as a tarball URL:
npm
andyarn
bypass.npmrc
registry settings.- The URL appears in
package-lock.json
, triggering CI validation errors like:
wrong registries appear in package-lock.json file:
https://codeload.github.com/getsentry/fastify-otel/tar.gz/...
- The package cannot be fetched from our private registry, even though version
@fastify/otel@0.8.0
exists there. - Our only workaround is to use
overrides
orresolutions
, which we’d prefer to avoid.
Solution Brainstorm
Expected Behavior
We’d like to see Sentry declare the dependency as a semver range like:
"@fastify/otel": "^0.8.0"
This:
- Respects
.npmrc
and private registries. - Still resolves the correct version.
- Maintains security and reproducibility (e.g., you can pin
@fastify/otel@0.8.0
in your lockfile).
Why This Matters
Many regulated environments prohibit installing packages from arbitrary URLs. Package managers like npm
and yarn
are designed to route semver-based dependencies through controlled registries, which allows:
- Auditing
- Mirror caching
- Dependency tracking
- Strict CI enforcement
Hardcoded tarball URLs break that model.
Ask
Would you consider:
- Removing the tarball URL reference to
@fastify/otel
- Replacing it with a proper version (e.g.,
^0.8.0
) - Or publishing
@fastify/otel
to npm under the Sentry organization and referencing that
This small change would make Sentry easier to adopt in enterprise environments.
Thank you for the great work on the SDK!
Metadata
Metadata
Assignees
Type
Projects
Status