Repository navigation
Conversation
c67abc7 to
87bf529
Compare
|
Semgrep found 2 🟡 Medium severity issue identified in your code: Risk: Affected versions of @babel/helpers, @babel/runtime, @babel/runtime-corejs2, and @babel/runtime-corejs3 are vulnerable to Inefficient Regular Expression Complexity. Babel generates a polyfill (the Fix: Upgrade this library to at least version 7.26.10 at sentry-javascript/pnpm-lock.yaml:3694. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-7806, GHSA-968p-4wvh-cqc8, CVE-2025-27789 Semgrep found 3 🟡 Medium severity issue identified in your code: Risk: Affected versions of esbuild are vulnerable to Origin Validation Error. esbuild's development server responds to every request, including Server-Sent Events connections, with Manual Review Advice: A vulnerability from this advisory is reachable if you run esbuild with the Fix: Upgrade this library to at least version 0.25.0 at sentry-javascript/pnpm-lock.yaml:11523. Reference(s): GHSA-67mh-4wv8-2f99 Semgrep found 1 🟡 Medium severity issue identified in your code: Risk: Affected versions of jsondiffpatch are vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). jsondiffpatch renders JSON object keys into HTML without escaping in its HTML formatter (HtmlFormatter / format). An attacker who controls the JSON being diffed can inject a malicious object key (e.g. a Manual Review Advice: A vulnerability from this advisory is reachable if you are uisng jsondiffpatch on the CLI Fix: Upgrade this library to at least version 0.7.2 at sentry-javascript/pnpm-lock.yaml:13291. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-27629, GHSA-33vc-wfww-vjfv, CVE-2025-9910 Semgrep found 2 🟡 Medium severity issue identified in your code: Risk: Affected versions of svelte are vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Svelte versions before 4.2.19 improperly escape HTML during server-side rendering (SSR): attribute values only escape Manual Review Advice: A vulnerability from this advisory is reachable if you use Svelte server-side rendering with a component that places user-controlled data in an element attribute inside a Fix: Upgrade this library to at least version 4.2.19 at sentry-javascript/pnpm-lock.yaml:17318. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2024-2530, GHSA-8266-84wp-wv5c, CVE-2024-45047 Semgrep found 1 🟡 Medium severity issue identified in your code: Risk: Affected versions of webpack-dev-server are vulnerable to Exposed Dangerous Method or Function. webpack-dev-server serves bundled assets without rejecting cross-origin classic script requests. Because such Manual Review Advice: A vulnerability from this advisory is reachable if you are using Fix: Upgrade this library to at least version 5.2.1 at sentry-javascript/pnpm-lock.yaml:18740. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-16767, GHSA-4v9v-hfq4-rm2v, CVE-2025-30359 Semgrep found 1 🟡 Medium severity issue identified in your code: Risk: Affected versions of webpack-dev-server are vulnerable to Origin Validation Error. webpack-dev-server improperly validates the WebSocket connection Origin header, unconditionally accepting any IP-address-based Origin. A malicious website can perform a cross-site WebSocket hijack against a running dev server and exfiltrate the developer source code carried in Hot Module Reloading (HMR) messages. The insecure origin check is the package default and is reached on every WebSocket connection, so any project running an affected version is vulnerable. Manual Review Advice: A vulnerability from this advisory is reachable if you are using Fix: Upgrade this library to at least version 5.2.1 at sentry-javascript/pnpm-lock.yaml:18740. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-16764, GHSA-9jgg-88mc-972h, CVE-2025-30360 Semgrep found 1 🟡 Medium severity issue identified in your code: Risk: Affected versions of webpack are vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). webpack's AutoPublicPathRuntimeModule emits runtime code that derives the asset public path from document.currentScript. Because document.currentScript can be DOM-clobbered by an injected scriptless element (e.g. Manual Review Advice: A vulnerability from this advisory is reachable if you build with output.publicPath unset Fix: Upgrade this library to at least version 5.94.0 at sentry-javascript/pnpm-lock.yaml:18792. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2024-2497, GHSA-4vvj-4cpr-p986, CVE-2024-43788 Semgrep found 2 🟠 High severity issue identified in your code: Risk: Affected versions of sharp are vulnerable to Dependency on Vulnerable Third-Party Component / Use After Free. The prebuilt libvips binaries shipped with sharp bundle a vulnerable librsvg that has a use-after-free when decoding SVG images, which can lead to remote code execution when sharp processes an attacker-supplied SVG. Upgrade to sharp 0.35.5 or later, or block SVG decoding with sharp.block({ operation: ["VipsForeignLoadSvg"] }). Manual Review Advice: A vulnerability from this advisory is reachable if you decode SVG input with sharp, which is enabled by default, and have not disabled it with sharp.block({ operation: ["VipsForeignLoadSvg"] }) Fix: Upgrade this library to at least version 0.35.5 at sentry-javascript/pnpm-lock.yaml:16802. Reference(s): GHSA-wq5f-xc86-pv6w Semgrep found 2 🟠 High severity issue identified in your code: Risk: Affected versions of webpack-dev-middleware are vulnerable to Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'). When Fix: Upgrade this library to at least version 7.4.6 at sentry-javascript/pnpm-lock.yaml:18734. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-64850, GHSA-g84c-rxfj-3j2c, GHSA-wr3j-pwj9-hqq6, CVE-2026-76844 Semgrep found 2 🟠 High severity issue identified in your code: Risk: Affected versions of @angular/compiler and @angular/core are vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Angular's compiler internationalization (i18n) pipeline does not reject static event-handler attributes that are marked for translation with the Manual Review Advice: A vulnerability from this advisory is reachable if you are using Angular's i18n pipeline and also set the matching static Fix: Upgrade this library to at least version 20.3.27 at sentry-javascript/pnpm-lock.yaml:2424. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-52369, GHSA-jj27-h5hq-8x99 Semgrep found 2 🟠 High severity issue identified in your code: Risk: Affected versions of sharp are vulnerable to Dependency on Vulnerable Third-Party Component. sharp bundles a vulnerable version of the native libvips library, inheriting four memory-safety flaws: an integer overflow leading to a heap-based buffer overflow in the VIPS loader ( Fix: Upgrade this library to at least version 0.35.0 at sentry-javascript/pnpm-lock.yaml:16802. Reference(s): GHSA-f88m-g3jw-g9cj Semgrep found 1 🟠 High severity issue identified in your code: Risk: Affected versions of vite and vite-plus are vulnerable to Exposure of Sensitive Information to an Unauthorized Actor / Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'). Vite's server.fs.deny blocklist—which protects sensitive files such as .env and certificate files from being served—can be bypassed on Windows using alternate path representations (NTFS Alternate Data Stream syntax like Manual Review Advice: A vulnerability from this advisory is reachable if you expose the Vite dev server or vite-plus to the network by configuring a non-loopback address using the --host CLI flag on Windows Fix: Upgrade this library to at least version 6.4.3 at sentry-javascript/pnpm-lock.yaml:18370. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-38303, GHSA-fx2h-pf6j-xcff, CVE-2026-53571 Semgrep found 1 🟠 High severity issue identified in your code: Risk: Affected versions of react-router and turbo-stream are vulnerable to Allocation of Resources Without Limits or Throttling. React Router Framework Mode uses turbo-stream to serialize loader/action data into Single Fetch responses. The underlying serialization algorithm becomes a bottleneck on certain data shapes, so an attacker who can influence the serialized data can cause excessive resource consumption and a Denial of Service. Manual Review Advice: A vulnerability from this advisory is reachable if you use React Router Framework Mode with Single Fetch enabled (the default in v7 Framework Mode, or opt-in via future.unstable_singleFetch in Remix v2.9.0+) and not Declarative or Data mode Fix: Upgrade this library to at least version 3.0.0 at sentry-javascript/pnpm-lock.yaml:17695. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-33994, GHSA-rxv8-25v2-qmq8, CVE-2026-34077 Semgrep found 1 🟠 High severity issue identified in your code: Risk: Affected versions of @angular/compiler are vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). A stored XSS vulnerability in the Angular Template Compiler arises because its internal security schema doesn't classify certain URL‐ holding attributes (e.g. xlink:href, math|href, annotation|href) or the Manual Review Advice: A vulnerability from this advisory is reachable if you allow Fix: Upgrade this library to at least version 19.2.17 at sentry-javascript/pnpm-lock.yaml:2415. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-200118, GHSA-v4hv-rgfq-gp49, CVE-2025-66412 Semgrep found 6
🔴 Critical severity issue identified in your code: Risk: Affected versions of @babel/traverse and babel-traverse are vulnerable to Incomplete List of Disallowed Inputs / Incorrect Comparison. Compiling untrusted code with Babel using plugins that invoke the internal path.evaluate() or path.evaluateTruthy() methods (for example @babel/plugin-transform-runtime, @babel/preset-env with useBuiltIns, or any polyfill‐provider plugin) allows a maliciously crafted AST to execute arbitrary code on the build machine during compilation. Manual Review Advice: A vulnerability from this advisory is reachable if you use Babel to compile untrusted JavaScript Fix: There are no safe versions of this library available for upgrade. Library included at sentry-javascript/pnpm-lock.yaml:9677. Reference(s): https://euvd.enisa.europa.eu/vulnerability/EUVD-2023-2669, GHSA-67hx-6x53-jw92, CVE-2023-45133 |
size-limit report 📦
|
c93a7bc to
a15b984
Compare
Create pnpm-lock.yaml with `pnpm import` (pnpm 9.15.9) from the current yarn.lock, without other changes to the dependencies. The import needs pnpm-workspace.yaml for the list of workspace packages, the .npmrc settings that change the lockfile (`auto-install-peers=false`), and the Yarn `resolutions` in the pnpm syntax (`pnpm.overrides`). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
a15b984 to
ac5c4a4
Compare
Change pnpm-lock.yaml from the plain `pnpm import` of the previous commit to the dependencies that the monorepo needs with pnpm: - The root package.json lists every workspace package with `workspace:*`, so that pnpm links them into the root node_modules like Yarn did. - @sentry/nitro and @sentry/nuxt declare `h3` and `unstorage`. They imported them without a declaration, and with pnpm these imports resolved to other versions. - @sentry/server-runtime-injection declares `supports-color` 7.2.0, the version that it vendors for `debug` with Yarn. With pnpm, another version is next to `debug`. - `yarn-deduplicate` is removed. - The npm aliases `redis-4`, `ioredis-5` and `pino-next` keep their yarn.lock versions (4.6.14, 5.11.0 and 9.12.0). `pnpm import` resolved them again to the newest version in their range. `history@^4` resolves to 4.10.1 again, like in yarn.lock, and not to the 4.9.0 of an alias. - `pnpm dedupe` merged a few versions, for example esbuild 0.28.2 into 0.28.1, because CI checks that the lockfile is deduplicated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
b4d6b4b to
2f89853
Compare
Replace Yarn 1 with pnpm 9.15.9 (pinned in Volta) for installs and scripts in the monorepo, the CI workflows, the release scripts and the contributor docs. yarn.lock and .yarnrc are removed. - pnpm reads pnpm-workspace.yaml. The `workspaces` list in package.json stays for Deno and the repo scripts, and verify-packages-versions.js checks that both lists are the same. - CI installs the root pnpm with the install-pnpm action. The E2E jobs use it for the apps too. - The Lambda layer install uses a hoisted node_modules folder, and the SDK source replacement does not write through pnpm's hard links into packages/core/build. - The NODE_OPTIONS line of .yarnrc is gone. Yarn 1 never applied it. - Scripts are called with `pnpm run <script>` and package binaries with `pnpm exec <bin>`. The pnpm 9 `test` command does not pass options to the script like `yarn test` did, and `pnpm run` does not run binaries. - node-integration-tests calls its sub-scripts with `pnpm run` instead of `run-s` and `run-p`. npm-run-all2 passes the `config` field of its package.json to pnpm as `--<name>:<key>=<value>` options, and pnpm rejects them. - The bundler plugin fixtures and the local E2E runner install standalone projects with the pnpm defaults. They remove the `npm_config_*` variables that `pnpm run` passes from the root .npmrc, and the fixtures set `NPM_CONFIG_WORKSPACE_DIR`, so that pnpm does not read that file. - @sentry/server-runtime-injection resolves `supports-color` from its own devDependencies, so it vendors the same version as with Yarn. Without this, `debug` finds the `supports-color` that pnpm installs next to it. - @sentry/server-utils and @sentry/server-runtime-injection name each vendored file by its path after the last `node_modules/`, because pnpm installs some vendored dependencies in nested folders. The published file names stay the same. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2f89853 to
98a01d9
Compare
Set `packageManager` to pnpm 12.11.2 and remove the pnpm devDependency that the E2E tests and the bundler fixtures used. Volta keeps pnpm 9.15.9, because it cannot run pnpm 12, and `manage-package-manager-versions` makes pnpm 9 switch to the `packageManager` version. CI installs that version with the install-pnpm action. pnpm 11+ reads its settings only from pnpm-workspace.yaml, so the .npmrc settings and the overrides move there. `allowBuilds` lists the dependencies whose install scripts run, because pnpm 11+ fails the install on scripts that are not listed. - pnpm-lock.yaml gets the pnpm version in a new first document. `pnpm dedupe` with pnpm 12 merges 10 versions into versions that are already in the lockfile and changes peer suffixes. It adds no versions. - pnpm 11.15+ resolves optional peers that only `peerDependenciesMeta` declares (for example the `supports-color` peer of `debug`) from the dependency graph, so the hoisted node_modules folder changes. For example, the root folder has no `@babel/preset-react`, so the rollup bundler fixtures declare it. - The Lambda layer install writes its overrides to a pnpm-workspace.yaml, because pnpm 12 does not read `resolutions`. Without them, the layer gets the @sentry/* packages from npm. - pnpm 12 does not pass its settings to scripts as `npm_config_*` variables, and the fixtures and the E2E apps have their own pnpm-workspace.yaml. So the bundler fixtures and the local E2E runner install them without the workarounds for the root settings. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
98a01d9 to
61ff53a
Compare
This moves the monorepo from Yarn 1 to pnpm 12.11.2 (
packageManager): scripts, CI workflows, the release script and the contributor docs.Review it commit by commit:
pnpm importofyarn.lock. Most of the added lines of the PR are here.workspace:*entries,h3andunstoragefor@sentry/nitroand@sentry/nuxt, theyarn.lockversions of the npm aliases (pnpm importresolves them again), andpnpm dedupe.pnpm-workspace.yaml, the pnpm devDependency of ci(e2e): Run E2E tests with pnpm 12 #25334 is removed, andpnpm dedupewith pnpm 12 merges 10 versions (no new versions).Other changes beyond the rename:
pnpm run <script>and package binaries withpnpm exec <bin>. Volta's pnpm 9 rejects the options ofpnpm test(for example--watch) before it switches to pnpm 12.@sentry/server-runtime-injectionvendors the same files as with Yarn. It declaressupports-color7.2.0, because pnpm installs another version next todebug, and it names vendored files by their path after the lastnode_modules/.pnpm-workspace.yaml(pnpm 12 does not readresolutions), and it no longer writes through pnpm's hard links intopackages/core/build.Install layout decisions
nodeLinker: hoistedandautoInstallPeers: falsegive the same flatnode_modulesas Yarn 1. This is only for now, to make the switch from Yarn easier. The next PR moves to the isolated pnpm default, where every package must declare all its imports.Workspace decisions
All workspace packages are root
devDependencies(workspace:*), because some configs import workspace packages without declaring them. The next PR removes them. Theworkspaceslist stays inpackage.jsonfor Deno, andverify-packages-versions.jschecks that it matchespnpm-workspace.yaml. New packages must go into both lists.pnpm version decisions
This goes directly to pnpm 12, because a pnpm 9 root does not work with the pnpm 12 devDependency of #25334: nested
pnpmcalls in scripts get pnpm 12, which refuses the pnpm 9 install. Volta cannot run pnpm 12, so it keeps pnpm 9.15.9, andmanage-package-manager-versionsin.npmrcswitches it to thepackageManagerversion.Known issues
yarn.lockversions that are dismissed in Dependabot. After the merge, it checks only lockfile changes again.