From 786b0ae5199b95c85f3e264ac29ae798267892a2 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 09:34:57 +0000 Subject: [PATCH 01/13] chore: [WIP] Replace Volta with pnpm-managed node versions (experimental) Co-Authored-By: Francesco Gringl-Novy --- .claude/CLOUD.md | 2 +- .cursor/environment.json | 8 +-- .github/actions/prepare-e2e-test/action.yml | 8 ++- .github/workflows/canary.yml | 8 ++- AGENTS.md | 5 +- CONTRIBUTING.md | 22 ++++++-- .../browser-integration-tests/package.json | 3 - .../bun-integration-tests/package.json | 3 - .../package.json | 3 - dev-packages/bundler-tests/package.json | 3 - .../clear-cache-gh-action/package.json | 3 - .../cloudflare-integration-tests/package.json | 3 - .../deno-integration-tests/package.json | 3 - dev-packages/e2e-tests/lib/copyToTemp.mjs | 55 +++++++++++++------ dev-packages/e2e-tests/package.json | 3 - dev-packages/e2e-tests/run.mjs | 25 +-------- .../test-applications/angular-17/package.json | 3 - .../test-applications/angular-18/package.json | 3 - .../test-applications/angular-19/package.json | 3 - .../test-applications/angular-20/package.json | 3 - .../test-applications/angular-21/package.json | 3 - .../test-applications/angular-22/package.json | 3 - .../test-applications/astro-4/package.json | 3 - .../astro-5-cf-workers/package.json | 3 - .../test-applications/astro-5/package.json | 3 - .../astro-6-cf-workers/package.json | 3 - .../test-applications/astro-6/package.json | 3 - .../astro-7-sourcemaps/package.json | 3 - .../astro-7-static/package.json | 3 - .../test-applications/astro-7/package.json | 3 - .../aws-serverless-layer/package.json | 3 - .../aws-serverless-layer/pull-sam-image.sh | 2 +- .../tests/lambda-fixtures.ts | 2 +- .../aws-serverless/package.json | 3 - .../aws-serverless/pull-sam-image.sh | 2 +- .../aws-serverless/tests/lambda-fixtures.ts | 2 +- .../browser-bfcache/package.json | 3 - .../browser-mfe-vite/package.json | 3 - .../browser-webworker-vite/package.json | 3 - .../bun-bytecode/package.json | 3 - .../bun-express/package.json | 3 - .../test-applications/bun-mysql/package.json | 3 - .../cloudflare-agent/package.json | 3 - .../cloudflare-autoinstrument/package.json | 3 - .../package.json | 3 - .../cloudflare-local-workers/package.json | 3 - .../cloudflare-mastra/package.json | 3 - .../cloudflare-mcp-agent/package.json | 3 - .../cloudflare-mcp/package.json | 3 - .../cloudflare-orchestrion-mysql/package.json | 3 - .../cloudflare-pi-durable/package.json | 3 - .../cloudflare-think/package.json | 3 - .../cloudflare-vercelai-v7/package.json | 3 - .../package.json | 3 - .../cloudflare-workers-static/package.json | 3 - .../package.json | 3 - .../cloudflare-workers/package.json | 3 - .../cloudflare-workersentrypoint/package.json | 3 - .../create-react-app/package.json | 3 - .../package.json | 3 - .../create-remix-app-express/package.json | 3 - .../create-remix-app-v2-non-vite/package.json | 3 - .../create-remix-app-v2-static/package.json | 3 - .../create-remix-app-v2/package.json | 3 - .../debug-id-sourcemaps/package.json | 3 - .../default-browser-static/package.json | 3 - .../default-browser/package.json | 3 - .../test-applications/deno/package.json | 3 - .../effect-3-browser/package.json | 3 - .../effect-3-node/package.json | 3 - .../effect-4-browser/package.json | 3 - .../effect-4-node/package.json | 3 - .../elysia-bun-static/package.json | 3 - .../test-applications/elysia-bun/package.json | 3 - .../elysia-node/package.json | 3 - .../ember-classic/package.json | 3 - .../ember-embroider/package.json | 3 - .../ember-strict-resolver/package.json | 3 - .../test-applications/ember-vite/package.json | 3 - .../gen-ai-libraries/package.json | 3 - .../generic-ts5.0/package.json | 3 - .../hono-4-legacy/package.json | 3 - .../test-applications/hono-4/package.json | 3 - .../hydrogen-react-router-7/package.json | 3 - .../lighthouse-react/package.json | 3 - .../nestjs-11-static/package.json | 3 - .../test-applications/nestjs-11/package.json | 3 - .../test-applications/nestjs-12/package.json | 3 - .../test-applications/nestjs-8/package.json | 3 - .../nestjs-basic-with-graphql/package.json | 3 - .../nestjs-basic/package.json | 3 - .../nestjs-bullmq/package.json | 3 - .../nestjs-distributed-tracing/package.json | 3 - .../nestjs-fastify/package.json | 3 - .../nestjs-graphql/package.json | 3 - .../nestjs-microservices/package.json | 3 - .../nestjs-websockets/package.json | 3 - .../package.json | 3 - .../nestjs-with-submodules/package.json | 3 - .../test-applications/nextjs-14/package.json | 3 - .../nextjs-15-basepath/package.json | 3 - .../nextjs-15-intl/package.json | 3 - .../nextjs-15-t3/package.json | 3 - .../test-applications/nextjs-15/package.json | 3 - .../nextjs-16-cacheComponents/package.json | 3 - .../nextjs-16-standalone/package.json | 3 - .../nextjs-16-static/package.json | 3 - .../package.json | 3 - .../nextjs-16-streaming/package.json | 3 - .../package.json | 3 - .../nextjs-16-trailing-slash/package.json | 3 - .../nextjs-16-tunnel/package.json | 3 - .../nextjs-16-userfeedback/package.json | 3 - .../test-applications/nextjs-16/package.json | 3 - .../nextjs-app-dir/package.json | 3 - .../nextjs-orpc/package.json | 3 - .../nextjs-otlp/package.json | 3 - .../nextjs-pages-dir/package.json | 3 - .../nextjs-sourcemaps/package.json | 3 - .../test-applications/nitro-3/package.json | 3 - .../package.json | 3 - .../node-esbuild/package.json | 3 - .../test-applications/node-eve/package.json | 3 - .../node-exports-test-app/package.json | 3 - .../node-express-esm-loader/package.json | 3 - .../package.json | 3 - .../node-express-mcp-v1/package.json | 3 - .../node-express-mcp-v2/package.json | 3 - .../node-express-otlp/package.json | 3 - .../package.json | 3 - .../node-express-send-to-sentry/package.json | 3 - .../node-express-static/package.json | 3 - .../node-express-streaming/package.json | 3 - .../node-express-v5/package.json | 3 - .../node-express/package.json | 3 - .../node-fastify-3/package.json | 3 - .../node-fastify-4/package.json | 3 - .../node-fastify-5/package.json | 3 - .../node-fastify-6/package.json | 3 - .../node-firebase/package.json | 3 - .../test-applications/node-flue/package.json | 3 - .../test-applications/node-hapi/package.json | 3 - .../test-applications/node-koa/package.json | 3 - .../node-mastra/package.json | 3 - .../package.json | 9 ++- .../node-openai-send-to-sentry/package.json | 3 - .../node-otel-sdk-node-v3/package.json | 3 - .../node-otel-sdk-node/package.json | 3 - .../node-pi-durable/package.json | 3 - .../node-prisma-8/package.json | 3 - .../node-profiling-cjs/package.json | 3 - .../node-profiling-electron/package.json | 3 - .../node-profiling-esm/package.json | 3 - .../node-rolldown/package.json | 3 - .../node-rollup/package.json | 3 - .../test-applications/node-vite/package.json | 3 - .../node-webpack/package.json | 3 - .../nuxt-3-dynamic-import/package.json | 3 - .../test-applications/nuxt-3-min/package.json | 3 - .../nuxt-3-top-level-import/package.json | 3 - .../test-applications/nuxt-3/package.json | 3 - .../nuxt-4-cloudflare/package.json | 3 - .../nuxt-4-sourcemaps/package.json | 3 - .../nuxt-4-static/package.json | 3 - .../test-applications/nuxt-4/package.json | 3 - .../nuxt-5-sourcemaps/package.json | 3 - .../test-applications/nuxt-5/package.json | 3 - .../react-17-static/package.json | 3 - .../test-applications/react-17/package.json | 3 - .../test-applications/react-19/package.json | 3 - .../react-create-browser-router/package.json | 3 - .../react-create-hash-router/package.json | 3 - .../react-create-memory-router/package.json | 3 - .../react-router-5/package.json | 3 - .../package.json | 3 - .../react-router-6-router-entry/package.json | 3 - .../react-router-6-use-routes/package.json | 3 - .../react-router-6/package.json | 3 - .../react-router-7-cross-usage/package.json | 3 - .../package.json | 3 - .../react-router-7-framework-spa/package.json | 3 - .../package.json | 3 - .../react-router-7-framework/package.json | 3 - .../react-router-7-lazy-routes/package.json | 3 - .../react-router-7-router-entry/package.json | 3 - .../react-router-7-spa-streaming/package.json | 3 - .../react-router-7-spa/package.json | 3 - .../react-router-8-cross-usage/package.json | 3 - .../react-router-8-framework/package.json | 3 - .../react-router-8-router-entry/package.json | 3 - .../react-router-8-spa/package.json | 3 - .../react-router-sourcemaps/package.json | 3 - .../react-send-to-sentry/package.json | 3 - .../remix-hydrogen/package.json | 3 - .../remix-server-timing/package.json | 3 - .../remix-sourcemaps/package.json | 3 - .../test-applications/remix-v3/package.json | 3 - .../solid-static/package.json | 3 - .../solid-tanstack-router/package.json | 3 - .../test-applications/solid/package.json | 3 - .../solidstart-2/package.json | 3 - .../solidstart-dynamic-import/package.json | 3 - .../solidstart-spa/package.json | 3 - .../solidstart-static/package.json | 3 - .../solidstart-top-level-import/package.json | 3 - .../test-applications/solidstart/package.json | 3 - .../supabase-nextjs/package.json | 3 - .../svelte-5-static/package.json | 3 - .../test-applications/svelte-5/package.json | 3 - .../sveltekit-2-kit-tracing/package.json | 5 +- .../sveltekit-2-otlp/package.json | 5 +- .../sveltekit-2-static/package.json | 3 - .../sveltekit-2-svelte-5/package.json | 5 +- .../sveltekit-2.5.0-twp/package.json | 5 +- .../sveltekit-2/package.json | 3 - .../package.json | 3 - .../sveltekit-3-sourcemaps/package.json | 3 - .../sveltekit-3/package.json | 3 - .../sveltekit-cloudflare-pages/package.json | 3 - .../tanstack-router/package.json | 3 - .../package.json | 3 - .../tanstackstart-react-static/package.json | 3 - .../tanstackstart-react/package.json | 3 - .../tsx-express/package.json | 3 - .../vinext-cf-workers/package.json | 3 - .../vue-3-static/package.json | 3 - .../test-applications/vue-3/package.json | 3 - .../vue-tanstack-router/package.json | 3 - .../test-applications/webpack-4/package.json | 3 - .../test-applications/webpack-5/package.json | 3 - .../package.json | 3 - .../node-integration-tests/package.json | 3 - .../optional-e2e-gh-action/package.json | 3 - dev-packages/rollup-utils/package.json | 3 - .../size-limit-gh-action/package.json | 3 - dev-packages/test-utils/package.json | 3 - package.json | 15 +++-- packages/angular/package.json | 3 - packages/astro/package.json | 3 - packages/aws-serverless/package.json | 3 - packages/browser-utils/package.json | 3 - packages/browser/package.json | 3 - packages/bun/package.json | 3 - packages/bundler-plugins/package.json | 3 - packages/cloudflare/package.json | 3 - packages/core/package.json | 3 - packages/deno/package.json | 3 - packages/effect/package.json | 3 - packages/elysia/package.json | 3 - packages/ember/package.json | 3 - packages/esbuild-plugin/package.json | 3 - packages/eslint-config-sdk/package.json | 3 - packages/eslint-plugin-sdk/package.json | 3 - packages/feedback/package.json | 3 - packages/gatsby/package.json | 3 - packages/google-cloud-serverless/package.json | 3 - packages/hono/package.json | 3 - packages/integration-shims/package.json | 3 - packages/nestjs/package.json | 3 - packages/nextjs/package.json | 3 - packages/nitro/package.json | 3 - packages/node-native/package.json | 3 - packages/node/package.json | 3 - packages/nuxt/package.json | 3 - packages/opentelemetry/package.json | 3 - packages/profiling-node/package.json | 3 - packages/react-router/package.json | 3 - packages/react/package.json | 3 - packages/remix/package.json | 3 - packages/replay-canvas/package.json | 3 - packages/replay-internal/package.json | 3 - packages/replay-worker/package.json | 3 - packages/rollup-plugin/package.json | 3 - .../server-runtime-injection/package.json | 3 - packages/server-utils/package.json | 3 - packages/solid/package.json | 3 - packages/solidstart/package.json | 3 - packages/svelte/package.json | 3 - packages/sveltekit/package.json | 3 - packages/tanstackstart-react/package.json | 3 - packages/typescript/package.json | 3 - packages/vercel-edge/package.json | 3 - packages/vite-plugin/package.json | 3 - packages/vue/package.json | 3 - packages/wasm/package.json | 3 - packages/webpack-plugin/package.json | 3 - scripts/claude-cloud-setup.sh | 2 +- 287 files changed, 101 insertions(+), 890 deletions(-) diff --git a/.claude/CLOUD.md b/.claude/CLOUD.md index 3a7f737b2337..1a4fce301258 100644 --- a/.claude/CLOUD.md +++ b/.claude/CLOUD.md @@ -23,5 +23,5 @@ These cannot live in the repo and must be set once per environment: ## Notes -- Node/pnpm versions come from `package.json` (Volta locally). In the cloud we use the sandbox Node runtime, and the setup script installs the pinned pnpm version when the sandbox has none. +- Node/pnpm versions come from `package.json` (`devEngines.runtime` and `packageManager`, managed by pnpm locally). In the cloud we use the sandbox Node runtime, and the setup script installs the pinned pnpm version when the sandbox has none. - The full production `pnpm run build` is not run at startup; `build:dev` (transpile + types) is enough for editing and running unit tests. Run `pnpm run build` manually if you need bundles. diff --git a/.cursor/environment.json b/.cursor/environment.json index a3d966d9a041..a427c1310f25 100644 --- a/.cursor/environment.json +++ b/.cursor/environment.json @@ -1,12 +1,12 @@ { "name": "Sentry JavaScript SDK Development", - "install": "curl https://get.volta.sh | bash && export VOLTA_HOME=\"$HOME/.volta\" && export PATH=\"$VOLTA_HOME/bin:$PATH\" && export VOLTA_FEATURE_PNPM=1 && pnpm install", - "start": "export VOLTA_HOME=\"$HOME/.volta\" && export PATH=\"$VOLTA_HOME/bin:$PATH\" && export VOLTA_FEATURE_PNPM=1", + "install": "curl -fsSL https://get.pnpm.io/install.sh | sh - && export PNPM_HOME=\"$HOME/.local/share/pnpm\" && export PATH=\"$PNPM_HOME/bin:$PATH\" && pnpm runtime set node 24 -g -y && pnpm install", + "start": "export PNPM_HOME=\"$HOME/.local/share/pnpm\" && export PATH=\"$PNPM_HOME/bin:$PATH\"", "terminals": [ { "name": "Development", - "command": "export VOLTA_HOME=\"$HOME/.volta\" && export PATH=\"$VOLTA_HOME/bin:$PATH\" && export VOLTA_FEATURE_PNPM=1 && echo 'Volta setup complete. Node version:' && node --version && echo 'pnpm version:' && pnpm --version", - "description": "Main development terminal with Volta environment configured" + "command": "export PNPM_HOME=\"$HOME/.local/share/pnpm\" && export PATH=\"$PNPM_HOME/bin:$PATH\" && echo 'pnpm setup complete. Node version:' && node --version && echo 'pnpm version:' && pnpm --version", + "description": "Main development terminal with pnpm-managed node" } ] } diff --git a/.github/actions/prepare-e2e-test/action.yml b/.github/actions/prepare-e2e-test/action.yml index 3f5b37b41506..486e49df6ada 100644 --- a/.github/actions/prepare-e2e-test/action.yml +++ b/.github/actions/prepare-e2e-test/action.yml @@ -25,7 +25,7 @@ runs: - name: Set up Node uses: actions/setup-node@v7 with: - node-version-file: 'dev-packages/e2e-tests/test-applications/${{ inputs.test-application }}/package.json' + node-version-file: 'package.json' - name: Set up Bun if: inputs.test-application == 'node-exports-test-app' || contains(inputs.test-application, 'bun') || inputs.runtime @@ -102,6 +102,12 @@ runs: shell: bash working-directory: dev-packages/e2e-tests + # The copy pins the node version that the app inherits or overrides in `devEngines.runtime`. + - name: Set up Node for the E2E app + uses: actions/setup-node@v7 + with: + node-version-file: '${{ runner.temp }}/test-application/package.json' + - name: Add pnpm overrides run: pnpm run ci:pnpm-overrides ${{ runner.temp }}/test-application ${{ github.workspace diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index 45d9191abae5..e7593938ac5d 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -125,7 +125,7 @@ jobs: - name: Set up Node uses: actions/setup-node@v7 with: - node-version-file: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json' + node-version-file: 'package.json' - name: Restore canary cache uses: actions/cache/restore@v6.1.0 @@ -147,6 +147,12 @@ jobs: }}/test-application working-directory: dev-packages/e2e-tests + # The copy pins the node version that the app inherits or overrides in `devEngines.runtime`. + - name: Set up Node for the E2E app + uses: actions/setup-node@v7 + with: + node-version-file: '${{ runner.temp }}/test-application/package.json' + - name: Add pnpm overrides run: pnpm run ci:pnpm-overrides ${{ runner.temp }}/test-application ${{ github.workspace diff --git a/AGENTS.md b/AGENTS.md index 42822b78762f..eb0a569db184 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,10 +4,9 @@ Monorepo with 40+ packages in `@sentry/*`, managed with pnpm workspaces and Nx. ## Setup -- [Volta](https://volta.sh/) for Node.js/pnpm version management -- Requires `VOLTA_FEATURE_PNPM=1` +- pnpm 12 manages Node.js and pnpm versions (experimental, see `CONTRIBUTING.md`): node in `devEngines.runtime`, pnpm in `packageManager` - After cloning: `pnpm install && pnpm run build` -- Never change Volta, pnpm, or package manager versions unless explicitly asked +- Never change Node.js, pnpm, or package manager versions unless explicitly asked ### Code Intelligence diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21e4e8fd549d..bafd4935dfbc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,9 +18,21 @@ you get started, but if you have further questions, please feel free to reach ou ## Setting up an Environment -We use [Volta](https://volta.sh/) to ensure we use consistent versions of node and pnpm. Volta manages pnpm only when -[pnpm support](https://docs.volta.sh/advanced/pnpm) is enabled, so add `export VOLTA_FEATURE_PNPM=1` to your shell -profile (for example `~/.zshrc`). +> [!NOTE] +> This setup is experimental: we are moving from Volta (which is unmaintained) to pnpm-managed node versions. + +pnpm manages the versions of node and pnpm. The root `package.json` pins node in `devEngines.runtime` and pnpm in +`packageManager`. A package or E2E test app can override the node version with its own `devEngines.runtime`. + +1. Install pnpm 12 with the [standalone script](https://pnpm.io/installation#using-a-standalone-script), for example + `curl -fsSL https://get.pnpm.io/install.sh | sh -`. +2. Install node through pnpm: `pnpm runtime set node 24 -g`. pnpm's `node` in `$PNPM_HOME/bin` then runs the version + that the nearest `package.json` pins, and downloads it if needed + ([project-aware global bins](https://pnpm.io/global-packages#project-aware-global-bins)). +3. If you use Volta, nvm or a similar tool, remove it from your `PATH` (or put `$PNPM_HOME/bin` first), so `node` + resolves to pnpm's shim. Check with `node --version` in the repo root. + +pnpm switches to the `packageManager` version by itself, so you do not have to install a specific pnpm version. `sentry-javascript` is a monorepo containing several packages, managed with pnpm workspaces and Nx. To get started, install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions. @@ -83,8 +95,8 @@ E2E tests verify SDK behavior in real-world framework scenarios. ### Prerequisites 1. **Docker**: Required for some E2E tests -2. **Volta**: The E2E tests run each app on the node version that it pins. Without Volta, they use your current node - version. +2. **pnpm-managed node** (see [Setting up an Environment](#setting-up-an-environment)): The E2E tests run each app on + the node version that it pins. Without pnpm's `node` shim, they use your current node version. ### Step-by-Step Instructions diff --git a/dev-packages/browser-integration-tests/package.json b/dev-packages/browser-integration-tests/package.json index bd00cdd2638e..19d3316e7742 100644 --- a/dev-packages/browser-integration-tests/package.json +++ b/dev-packages/browser-integration-tests/package.json @@ -80,8 +80,5 @@ "@types/node": "^20.19.0", "eslint-plugin-regexp": "^3.1.0", "glob": "^13.0.6" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/bun-integration-tests/package.json b/dev-packages/bun-integration-tests/package.json index c12e25598915..56460de1d10e 100644 --- a/dev-packages/bun-integration-tests/package.json +++ b/dev-packages/bun-integration-tests/package.json @@ -28,8 +28,5 @@ "@types/pg": "^8.20.0", "bun-types": "^1.2.9", "vitest": "^4.1.11" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/bundler-plugin-integration-tests/package.json b/dev-packages/bundler-plugin-integration-tests/package.json index c29c03e65b82..56f7f8040a07 100644 --- a/dev-packages/bundler-plugin-integration-tests/package.json +++ b/dev-packages/bundler-plugin-integration-tests/package.json @@ -19,8 +19,5 @@ "sentry": "^0.45.0", "typescript": "~6.0.3", "vitest": "^4.1.11" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/bundler-tests/package.json b/dev-packages/bundler-tests/package.json index 1210085b32ef..467fd9325fbf 100644 --- a/dev-packages/bundler-tests/package.json +++ b/dev-packages/bundler-tests/package.json @@ -19,8 +19,5 @@ "vitest": "^4.1.11", "webpack": "^5.0.0" }, - "volta": { - "extends": "../../package.json" - }, "type": "module" } diff --git a/dev-packages/clear-cache-gh-action/package.json b/dev-packages/clear-cache-gh-action/package.json index 40ead9d8be60..0c51d7a82217 100644 --- a/dev-packages/clear-cache-gh-action/package.json +++ b/dev-packages/clear-cache-gh-action/package.json @@ -19,8 +19,5 @@ }, "devDependencies": { "eslint-plugin-regexp": "^3.1.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/cloudflare-integration-tests/package.json b/dev-packages/cloudflare-integration-tests/package.json index 110e90f3d240..a81c60d026ff 100644 --- a/dev-packages/cloudflare-integration-tests/package.json +++ b/dev-packages/cloudflare-integration-tests/package.json @@ -42,8 +42,5 @@ "vite": "^8.3.1", "vitest": "^4.1.11", "wrangler": "4.86.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/deno-integration-tests/package.json b/dev-packages/deno-integration-tests/package.json index 693e80db1d5c..58809ae6896c 100644 --- a/dev-packages/deno-integration-tests/package.json +++ b/dev-packages/deno-integration-tests/package.json @@ -25,8 +25,5 @@ "@sentry-internal/node-integration-tests": "11.9.0", "@sentry/conventions": "^0.29.0", "vitest": "^4.1.11" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/lib/copyToTemp.mjs b/dev-packages/e2e-tests/lib/copyToTemp.mjs index ae7f5e04d5fe..c45e1ff362e4 100644 --- a/dev-packages/e2e-tests/lib/copyToTemp.mjs +++ b/dev-packages/e2e-tests/lib/copyToTemp.mjs @@ -1,11 +1,12 @@ // @ts-check /* eslint-disable no-console */ -import { readFileSync, writeFileSync } from 'node:fs'; +import { existsSync, readFileSync, writeFileSync } from 'node:fs'; import { cp } from 'node:fs/promises'; import { dirname, isAbsolute, join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); +const REPO_ROOT = resolve(__dirname, '../../..'); /** * @param {string} originalPath @@ -16,15 +17,16 @@ export async function copyToTemp(originalPath, tmpDirPath) { // copy files to tmp dir await cp(originalPath, tmpDirPath, { recursive: true }); - fixPackageJson(tmpDirPath); + fixPackageJson(originalPath, tmpDirPath); } /** + * @param {string} originalPath * @param {string} cwd */ -function fixPackageJson(cwd) { +function fixPackageJson(originalPath, cwd) { const packageJsonPath = join(cwd, 'package.json'); - /** @type {{ dependencies?: Record; devDependencies?: Record; volta?: Record }} */ + /** @type {{ dependencies?: Record; devDependencies?: Record; devEngines?: Record; packageManager?: string }} */ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')); // 1. Fix file dependencies @@ -35,25 +37,42 @@ function fixPackageJson(cwd) { fixFileLinkDependencies(packageJson.devDependencies); } - // 2. Fix volta extends - if (!packageJson.volta) { - throw new Error("No volta config found, please add one to the test app's package.json!"); - } - - if (typeof packageJson.volta.extends === 'string') { - const extendsPath = packageJson.volta.extends; - // We add a virtual dir to ensure that the relative depth is consistent - // dirPath is relative to ./../test-applications/xxx - const newPath = resolve(__dirname, 'virtual-dir/', extendsPath); - packageJson.volta.extends = newPath; - console.log(`Fixed volta.extends to ${newPath}`); - } else { - console.log('No volta.extends found'); + // 2. Pin node and pnpm. The tmp dir has no parent package.json to inherit them from. + const { nodeRuntime, packageManager } = resolveToolPins(originalPath); + if (!nodeRuntime || !packageManager) { + throw new Error(`Could not resolve the node and pnpm versions for ${originalPath}.`); } + packageJson.devEngines = { ...packageJson.devEngines, runtime: nodeRuntime }; + packageJson.packageManager = packageManager; + console.log(`Pinned node ${nodeRuntime.version} and ${packageManager}`); writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2)); } +/** + * The nearest `devEngines.runtime` node entry and `packageManager` between the app and the repo root. + * @param {string} appPath + * @returns {{ nodeRuntime?: { name: string; version: string }; packageManager?: string }} + */ +function resolveToolPins(appPath) { + /** @type {{ name: string; version: string } | undefined} */ + let nodeRuntime; + /** @type {string | undefined} */ + let packageManager; + + for (let dir = resolve(appPath); ; dir = dirname(dir)) { + const packageJsonPath = join(dir, 'package.json'); + if (existsSync(packageJsonPath)) { + const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')); + nodeRuntime ??= [packageJson.devEngines?.runtime].flat().find(runtime => runtime?.name === 'node'); + packageManager ??= packageJson.packageManager; + } + if (dir === REPO_ROOT || dir === dirname(dir)) { + return { nodeRuntime, packageManager }; + } + } +} + /** * Exported for pnpmOverrides as well * @param {Record} dependencyObj diff --git a/dev-packages/e2e-tests/package.json b/dev-packages/e2e-tests/package.json index c5e2662d08d6..ae64e8f1e670 100644 --- a/dev-packages/e2e-tests/package.json +++ b/dev-packages/e2e-tests/package.json @@ -21,8 +21,5 @@ "devDependencies": { "eslint-plugin-regexp": "^3.1.0", "rimraf": "^6.1.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/run.mjs b/dev-packages/e2e-tests/run.mjs index 0125ddd89179..d8ed9865b2f8 100644 --- a/dev-packages/e2e-tests/run.mjs +++ b/dev-packages/e2e-tests/run.mjs @@ -1,10 +1,10 @@ // @ts-check /* eslint-disable no-console */ -import { execFileSync, spawn } from 'node:child_process'; +import { spawn } from 'node:child_process'; import { existsSync, readdirSync } from 'node:fs'; import { mkdir, mkdtemp, readFile, rm } from 'node:fs/promises'; import { tmpdir } from 'node:os'; -import { delimiter, dirname, join, resolve } from 'node:path'; +import { dirname, join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; import { copyToTemp } from './lib/copyToTemp.mjs'; import { addPnpmOverrides } from './lib/pnpmOverrides.mjs'; @@ -127,25 +127,6 @@ async function getVariantBuildCommand(packageJsonPath, variantLabel, testAppPath }; } -/** - * The directory of the node version that the app pins. CI uses the same pin (see `node-version-file` in - * .github/workflows/build.yml). Only node comes from Volta: Volta cannot run pnpm 12 - * (https://github.com/volta-cli/volta/issues/2114), so the apps use the pnpm version that runs this script. - * @param {string} cwd - * @returns {string | undefined} - */ -function getPinnedNodeDir(cwd) { - try { - return dirname(execFileSync('volta', ['run', 'node', '-p', 'process.execPath'], { cwd, encoding: 'utf8' }).trim()); - } catch (error) { - if (/** @type {NodeJS.ErrnoException} */ (error).code !== 'ENOENT') { - throw error; - } - console.warn(`Volta is not installed, so ${cwd} runs on node ${process.version} instead of the version it pins.`); - return undefined; - } -} - async function run() { // Load environment variables from .env file locally const envFile = join(__dirname, '.env'); @@ -274,12 +255,10 @@ async function run() { applyRuntimeFiles(tmpDirPath, runtime); } - const nodeDir = getPinnedNodeDir(cwd); const appEnv = { ...env, SENTRY_CONFIG_DIR: sentryConfigDir, ...(runtime ? { RUNTIME: runtime } : {}), - ...(nodeDir ? { PATH: `${nodeDir}${delimiter}${process.env.PATH}` } : {}), }; console.log(`Building ${testLabel} in ${tmpDirPath}...`); diff --git a/dev-packages/e2e-tests/test-applications/angular-17/package.json b/dev-packages/e2e-tests/test-applications/angular-17/package.json index a109fa77a630..3dfb8de63f42 100644 --- a/dev-packages/e2e-tests/test-applications/angular-17/package.json +++ b/dev-packages/e2e-tests/test-applications/angular-17/package.json @@ -44,8 +44,5 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.3.2" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/angular-18/package.json b/dev-packages/e2e-tests/test-applications/angular-18/package.json index efb5e034a92f..a18c5e59adea 100644 --- a/dev-packages/e2e-tests/test-applications/angular-18/package.json +++ b/dev-packages/e2e-tests/test-applications/angular-18/package.json @@ -44,8 +44,5 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.4.5" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/angular-19/package.json b/dev-packages/e2e-tests/test-applications/angular-19/package.json index f17e7f9b42c4..c4d95a31e2cf 100644 --- a/dev-packages/e2e-tests/test-applications/angular-19/package.json +++ b/dev-packages/e2e-tests/test-applications/angular-19/package.json @@ -49,9 +49,6 @@ "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.6.2" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/angular-20/package.json b/dev-packages/e2e-tests/test-applications/angular-20/package.json index fd5a9d331d05..3f9606b689de 100644 --- a/dev-packages/e2e-tests/test-applications/angular-20/package.json +++ b/dev-packages/e2e-tests/test-applications/angular-20/package.json @@ -44,8 +44,5 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~5.9.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/angular-21/package.json b/dev-packages/e2e-tests/test-applications/angular-21/package.json index d628acdd6efe..60e53772f091 100644 --- a/dev-packages/e2e-tests/test-applications/angular-21/package.json +++ b/dev-packages/e2e-tests/test-applications/angular-21/package.json @@ -46,9 +46,6 @@ "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~6.0.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optionalVariants": [ { diff --git a/dev-packages/e2e-tests/test-applications/angular-22/package.json b/dev-packages/e2e-tests/test-applications/angular-22/package.json index cb1d2093b904..a66c7252ef21 100644 --- a/dev-packages/e2e-tests/test-applications/angular-22/package.json +++ b/dev-packages/e2e-tests/test-applications/angular-22/package.json @@ -46,9 +46,6 @@ "karma-jasmine-html-reporter": "~2.1.0", "typescript": "~6.0.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optionalVariants": [ { diff --git a/dev-packages/e2e-tests/test-applications/astro-4/package.json b/dev-packages/e2e-tests/test-applications/astro-4/package.json index e57cdfb9360a..5aad67f65d47 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-4/package.json @@ -23,8 +23,5 @@ }, "devDependencies": { "@astrojs/internal-helpers": "^0.4.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/package.json b/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/package.json index c340538766c1..f24bd3abf58e 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/package.json @@ -19,8 +19,5 @@ }, "devDependencies": { "wrangler": "^4.63.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/astro-5/package.json b/dev-packages/e2e-tests/test-applications/astro-5/package.json index b7169dbb341c..f7398ced6d2f 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-5/package.json @@ -18,8 +18,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/astro": "file:../../packed/sentry-astro-packed.tgz", "astro": "^5.0.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/package.json b/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/package.json index c73471ee6391..d474dc5b8d43 100644 --- a/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/package.json @@ -24,9 +24,6 @@ "mysql": "2.18.1", "wrangler": "^4.72.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/astro-6/package.json b/dev-packages/e2e-tests/test-applications/astro-6/package.json index b1cd5e483d9d..d0c24bda389a 100644 --- a/dev-packages/e2e-tests/test-applications/astro-6/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-6/package.json @@ -17,8 +17,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/astro": "file:../../packed/sentry-astro-packed.tgz", "astro": "^6.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/astro-7-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/astro-7-sourcemaps/package.json index afe49d64f5c1..586b73f4e4d1 100644 --- a/dev-packages/e2e-tests/test-applications/astro-7-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-7-sourcemaps/package.json @@ -20,9 +20,6 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@types/node": "^22.20.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/astro-7-static/package.json b/dev-packages/e2e-tests/test-applications/astro-7-static/package.json index 25fbdacf716c..b07b205a94d5 100644 --- a/dev-packages/e2e-tests/test-applications/astro-7-static/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-7-static/package.json @@ -23,9 +23,6 @@ "ioredis": "5.10.1", "mysql": "^2.18.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/astro-7/package.json b/dev-packages/e2e-tests/test-applications/astro-7/package.json index 3937af2414ac..5df25e28ff22 100644 --- a/dev-packages/e2e-tests/test-applications/astro-7/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-7/package.json @@ -25,9 +25,6 @@ "ioredis": "5.10.1", "mysql": "^2.18.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/package.json b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/package.json index f24cd95e12a0..eb082877e055 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/package.json +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/package.json @@ -20,9 +20,6 @@ "glob": "^11.0.3", "rimraf": "^5.0.10" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh index c9659547a4ea..de768a9961ba 100755 --- a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh @@ -1,7 +1,7 @@ #!/bin/bash # Pull the Lambda Node docker image for SAM local. NODE_VERSION should be the major only (e.g. 20). -# Defaults to 20 to match the repo's Volta Node major (see root package.json "volta.node"). +# Defaults to 20 to match the repo's Node major (see root package.json "devEngines.runtime"). set -e diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts index 0d4d123f05c3..fda3cd5d8739 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts @@ -14,7 +14,7 @@ const SAM_START_TIMEOUT_MS = 90_000; const SAM_START_ATTEMPTS = 2; const SAM_OUTPUT_MAX_CHARS = 20_000; -/** Major Node for SAM `--invoke-image`; default matches root `package.json` `volta.node` and `pull-sam-image.sh`. */ +/** Major Node for SAM `--invoke-image`; default matches root `package.json` `devEngines.runtime` and `pull-sam-image.sh`. */ const DEFAULT_NODE_VERSION_MAJOR = '20'; const SAM_INSTALL_ERROR = diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless/package.json b/dev-packages/e2e-tests/test-applications/aws-serverless/package.json index 1088ea1b3120..e8ef0fc4331a 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless/package.json +++ b/dev-packages/e2e-tests/test-applications/aws-serverless/package.json @@ -18,8 +18,5 @@ "aws-cdk-lib": "^2.210.0", "constructs": "^10.4.2", "rimraf": "^5.0.10" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh b/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh index c9659547a4ea..de768a9961ba 100755 --- a/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh +++ b/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh @@ -1,7 +1,7 @@ #!/bin/bash # Pull the Lambda Node docker image for SAM local. NODE_VERSION should be the major only (e.g. 20). -# Defaults to 20 to match the repo's Volta Node major (see root package.json "volta.node"). +# Defaults to 20 to match the repo's Node major (see root package.json "devEngines.runtime"). set -e diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts b/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts index 0d4d123f05c3..fda3cd5d8739 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts +++ b/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts @@ -14,7 +14,7 @@ const SAM_START_TIMEOUT_MS = 90_000; const SAM_START_ATTEMPTS = 2; const SAM_OUTPUT_MAX_CHARS = 20_000; -/** Major Node for SAM `--invoke-image`; default matches root `package.json` `volta.node` and `pull-sam-image.sh`. */ +/** Major Node for SAM `--invoke-image`; default matches root `package.json` `devEngines.runtime` and `pull-sam-image.sh`. */ const DEFAULT_NODE_VERSION_MAJOR = '20'; const SAM_INSTALL_ERROR = diff --git a/dev-packages/e2e-tests/test-applications/browser-bfcache/package.json b/dev-packages/e2e-tests/test-applications/browser-bfcache/package.json index e1c004757888..6ea89590f8c5 100644 --- a/dev-packages/e2e-tests/test-applications/browser-bfcache/package.json +++ b/dev-packages/e2e-tests/test-applications/browser-bfcache/package.json @@ -21,9 +21,6 @@ "typescript": "~5.8.3", "vite": "^7.3.2" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/browser-mfe-vite/package.json b/dev-packages/e2e-tests/test-applications/browser-mfe-vite/package.json index a1325c48dd0b..33ef345fe60e 100644 --- a/dev-packages/e2e-tests/test-applications/browser-mfe-vite/package.json +++ b/dev-packages/e2e-tests/test-applications/browser-mfe-vite/package.json @@ -16,8 +16,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "concurrently": "^8.2.2" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/browser-webworker-vite/package.json b/dev-packages/e2e-tests/test-applications/browser-webworker-vite/package.json index fdaf1b75ac9e..ef67e46ed634 100644 --- a/dev-packages/e2e-tests/test-applications/browser-webworker-vite/package.json +++ b/dev-packages/e2e-tests/test-applications/browser-webworker-vite/package.json @@ -20,8 +20,5 @@ "dependencies": { "@sentry/browser": "file:../../packed/sentry-browser-packed.tgz", "@sentry/vite-plugin": "^5.4.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/bun-bytecode/package.json b/dev-packages/e2e-tests/test-applications/bun-bytecode/package.json index 8b4f6d7a3668..e777afdfa887 100644 --- a/dev-packages/e2e-tests/test-applications/bun-bytecode/package.json +++ b/dev-packages/e2e-tests/test-applications/bun-bytecode/package.json @@ -12,8 +12,5 @@ }, "devDependencies": { "bun-types": "^1.2.9" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/bun-express/package.json b/dev-packages/e2e-tests/test-applications/bun-express/package.json index 3e7f7ec66245..d657af4c94f6 100644 --- a/dev-packages/e2e-tests/test-applications/bun-express/package.json +++ b/dev-packages/e2e-tests/test-applications/bun-express/package.json @@ -19,8 +19,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@types/express": "^5.0.0", "bun-types": "^1.2.9" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/bun-mysql/package.json b/dev-packages/e2e-tests/test-applications/bun-mysql/package.json index 535242ef7fa7..5527205df01a 100644 --- a/dev-packages/e2e-tests/test-applications/bun-mysql/package.json +++ b/dev-packages/e2e-tests/test-applications/bun-mysql/package.json @@ -18,8 +18,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "bun-types": "^1.2.9" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-agent/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-agent/package.json index 703b181b4618..45e8c7dcda56 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-agent/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-agent/package.json @@ -43,8 +43,5 @@ }, "sentryTest": { "optional": true - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/package.json index 27a72cada9fc..ccdb6208ee1f 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/package.json @@ -30,8 +30,5 @@ "vite": "^8.1.5", "wrangler": "^4.114.0", "ws": "^8.21.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/package.json index 4e2b9827b56e..fedc2c62f3a2 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/package.json @@ -32,9 +32,6 @@ "vite": "7.3.5", "wrangler": "^4.114.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-local-workers/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-local-workers/package.json index e446c93773df..48963fd70fa8 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-local-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-local-workers/package.json @@ -23,8 +23,5 @@ "typescript": "^5.5.2", "wrangler": "^4.61.0", "ws": "^8.18.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mastra/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-mastra/package.json index 85639e8bd92f..15ba4efc715c 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-mastra/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mastra/package.json @@ -33,9 +33,6 @@ "wrangler": "^4.86.0", "ws": "^8.18.3" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/package.json index 6d647ef1a57b..15331dcb5861 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/package.json @@ -25,8 +25,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "typescript": "^6.0.3", "wrangler": "^4.86.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mcp/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-mcp/package.json index 3643b8d70e28..6b2cb1ea3043 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-mcp/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mcp/package.json @@ -26,8 +26,5 @@ "typescript": "^5.5.2", "wrangler": "^4.61.0", "ws": "^8.18.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/package.json index a1e072102ab5..b7de7ca0eea5 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/package.json @@ -26,8 +26,5 @@ "vite": "7.3.2", "wrangler": "^4.61.0", "ws": "^8.18.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/package.json index 11e6f89ec741..4d537a600017 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/package.json @@ -27,9 +27,6 @@ "vite": "7.3.5", "wrangler": "^4.136.2" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-think/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-think/package.json index 61af0e0803a1..584491363792 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-think/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-think/package.json @@ -33,9 +33,6 @@ "wrangler": "^4.136.2", "ws": "^8.18.3" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/package.json index e14df947054b..8f75bd48b26b 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/package.json @@ -25,8 +25,5 @@ "vite": "7.3.5", "wrangler": "^4.86.0", "ws": "^8.18.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/package.json index 13f859972700..f32066af21d8 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/package.json @@ -26,9 +26,6 @@ "vite": "^8.1.5", "wrangler": "^4.114.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers-static/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-workers-static/package.json index f17fcc0e071b..827a00fbf357 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers-static/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers-static/package.json @@ -23,8 +23,5 @@ "typescript": "^5.5.2", "wrangler": "^4.61.0", "ws": "^8.18.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/package.json index 96b3dbdd0126..ed9236a979ce 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/package.json @@ -19,8 +19,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "typescript": "^5.5.2", "wrangler": "4.70.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json index 9b331ea42a6f..4701525fca36 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json @@ -23,8 +23,5 @@ "typescript": "^5.5.2", "wrangler": "^4.61.0", "ws": "^8.18.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/package.json b/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/package.json index 276cf23367f4..695f54736d50 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/package.json @@ -23,8 +23,5 @@ "typescript": "^5.5.2", "wrangler": "^4.61.0", "ws": "^8.18.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/create-react-app/package.json b/dev-packages/e2e-tests/test-applications/create-react-app/package.json index 2c95f69f6ae3..9858e5c45875 100644 --- a/dev-packages/e2e-tests/test-applications/create-react-app/package.json +++ b/dev-packages/e2e-tests/test-applications/create-react-app/package.json @@ -39,8 +39,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json index 7a65706203a0..3d9a8c55afca 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/package.json @@ -45,8 +45,5 @@ "typescript": "^5.1.6", "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json index fe13510bd771..f15a38048bef 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/package.json @@ -49,8 +49,5 @@ "typescript": "^5.1.6", "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/package.json index 70ceed4e0bed..9023c5b8487a 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/package.json @@ -29,8 +29,5 @@ "@types/react-dom": "^18.0.11", "eslint": "^8.38.0", "typescript": "^5.0.4" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/package.json index d8d6344d1712..efa2c4cf4761 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/package.json @@ -36,8 +36,5 @@ "typescript": "^5.1.6", "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json index d8d6344d1712..efa2c4cf4761 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/package.json @@ -36,8 +36,5 @@ "typescript": "^5.1.6", "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json index 8a24a5a34fbc..1020125e3214 100644 --- a/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/package.json @@ -17,9 +17,6 @@ "vitest": "^4.1.11", "@sentry/rollup-plugin": "^5.4.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/default-browser-static/package.json b/dev-packages/e2e-tests/test-applications/default-browser-static/package.json index cdd05d10d17b..003d3181f2e4 100644 --- a/dev-packages/e2e-tests/test-applications/default-browser-static/package.json +++ b/dev-packages/e2e-tests/test-applications/default-browser-static/package.json @@ -34,8 +34,5 @@ "serve": "14.0.1", "terser-webpack-plugin": "^5.3.10", "html-webpack-plugin": "^5.6.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/default-browser/package.json b/dev-packages/e2e-tests/test-applications/default-browser/package.json index f77d34c59e5f..518c764d0333 100644 --- a/dev-packages/e2e-tests/test-applications/default-browser/package.json +++ b/dev-packages/e2e-tests/test-applications/default-browser/package.json @@ -34,8 +34,5 @@ "serve": "14.0.1", "terser-webpack-plugin": "^5.3.10", "html-webpack-plugin": "^5.6.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/deno/package.json b/dev-packages/e2e-tests/test-applications/deno/package.json index 97196e06b30d..df4fb4e3e705 100644 --- a/dev-packages/e2e-tests/test-applications/deno/package.json +++ b/dev-packages/e2e-tests/test-applications/deno/package.json @@ -25,9 +25,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/effect-3-browser/package.json b/dev-packages/e2e-tests/test-applications/effect-3-browser/package.json index a760831a1b40..d46cae9e4194 100644 --- a/dev-packages/e2e-tests/test-applications/effect-3-browser/package.json +++ b/dev-packages/e2e-tests/test-applications/effect-3-browser/package.json @@ -35,8 +35,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/effect-3-node/package.json b/dev-packages/e2e-tests/test-applications/effect-3-node/package.json index 48e05c81d61c..e30af75e8107 100644 --- a/dev-packages/e2e-tests/test-applications/effect-3-node/package.json +++ b/dev-packages/e2e-tests/test-applications/effect-3-node/package.json @@ -22,8 +22,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/effect-4-browser/package.json b/dev-packages/e2e-tests/test-applications/effect-4-browser/package.json index 611eaeb77fc2..bf1091351fb7 100644 --- a/dev-packages/e2e-tests/test-applications/effect-4-browser/package.json +++ b/dev-packages/e2e-tests/test-applications/effect-4-browser/package.json @@ -35,8 +35,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/effect-4-node/package.json b/dev-packages/e2e-tests/test-applications/effect-4-node/package.json index d76dd79967d3..3c0374f1bd07 100644 --- a/dev-packages/e2e-tests/test-applications/effect-4-node/package.json +++ b/dev-packages/e2e-tests/test-applications/effect-4-node/package.json @@ -21,8 +21,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/elysia-bun-static/package.json b/dev-packages/e2e-tests/test-applications/elysia-bun-static/package.json index 330d4d42bfeb..7aba5a42edd0 100644 --- a/dev-packages/e2e-tests/test-applications/elysia-bun-static/package.json +++ b/dev-packages/e2e-tests/test-applications/elysia-bun-static/package.json @@ -18,8 +18,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "bun-types": "^1.2.9" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/elysia-bun/package.json b/dev-packages/e2e-tests/test-applications/elysia-bun/package.json index 454307a5601b..06118a75e1c1 100644 --- a/dev-packages/e2e-tests/test-applications/elysia-bun/package.json +++ b/dev-packages/e2e-tests/test-applications/elysia-bun/package.json @@ -18,8 +18,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "bun-types": "^1.2.9" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/elysia-node/package.json b/dev-packages/e2e-tests/test-applications/elysia-node/package.json index 50aa77e227ae..f5b18d32baed 100644 --- a/dev-packages/e2e-tests/test-applications/elysia-node/package.json +++ b/dev-packages/e2e-tests/test-applications/elysia-node/package.json @@ -18,8 +18,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/package.json b/dev-packages/e2e-tests/test-applications/ember-classic/package.json index c5b9e4ea812e..8da9cf54b799 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-classic/package.json @@ -76,8 +76,5 @@ }, "ember": { "edition": "octane" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/ember-embroider/package.json b/dev-packages/e2e-tests/test-applications/ember-embroider/package.json index dc2a3fc6832c..a39ef34b9fd6 100644 --- a/dev-packages/e2e-tests/test-applications/ember-embroider/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-embroider/package.json @@ -65,8 +65,5 @@ }, "ember": { "edition": "octane" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/ember-strict-resolver/package.json b/dev-packages/e2e-tests/test-applications/ember-strict-resolver/package.json index 7d235b5e9dc0..1ec62aa127ef 100644 --- a/dev-packages/e2e-tests/test-applications/ember-strict-resolver/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-strict-resolver/package.json @@ -42,9 +42,6 @@ "ember": { "edition": "octane" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/ember-vite/package.json b/dev-packages/e2e-tests/test-applications/ember-vite/package.json index 9870657e5024..be30b4da1403 100644 --- a/dev-packages/e2e-tests/test-applications/ember-vite/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-vite/package.json @@ -66,8 +66,5 @@ }, "ember": { "edition": "octane" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/gen-ai-libraries/package.json b/dev-packages/e2e-tests/test-applications/gen-ai-libraries/package.json index 2dbf1013a228..35f5df09e3e3 100644 --- a/dev-packages/e2e-tests/test-applications/gen-ai-libraries/package.json +++ b/dev-packages/e2e-tests/test-applications/gen-ai-libraries/package.json @@ -48,8 +48,5 @@ "label": "gen-ai-libraries (cloudflare)" } ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/generic-ts5.0/package.json b/dev-packages/e2e-tests/test-applications/generic-ts5.0/package.json index fb793e905d83..d3164ac7d6ca 100644 --- a/dev-packages/e2e-tests/test-applications/generic-ts5.0/package.json +++ b/dev-packages/e2e-tests/test-applications/generic-ts5.0/package.json @@ -19,8 +19,5 @@ "@sentry/node": "file:../../packed/sentry-node-packed.tgz", "@sentry/replay": "file:../../packed/sentry-replay-packed.tgz", "@sentry/wasm": "file:../../packed/sentry-wasm-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/hono-4-legacy/package.json b/dev-packages/e2e-tests/test-applications/hono-4-legacy/package.json index 99f96170110f..53a6fc1b33b6 100644 --- a/dev-packages/e2e-tests/test-applications/hono-4-legacy/package.json +++ b/dev-packages/e2e-tests/test-applications/hono-4-legacy/package.json @@ -30,9 +30,6 @@ "typescript": "^5.5.2", "wrangler": "^4.61.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/hono-4/package.json b/dev-packages/e2e-tests/test-applications/hono-4/package.json index 82f47a8b7368..008be0636b19 100644 --- a/dev-packages/e2e-tests/test-applications/hono-4/package.json +++ b/dev-packages/e2e-tests/test-applications/hono-4/package.json @@ -35,9 +35,6 @@ "vite": "^8.1.5", "wrangler": "^4.114.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json index 1779f0651392..db70cefd152d 100644 --- a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/package.json @@ -43,8 +43,5 @@ "typescript": "^5.2.2", "vite": "^6.2.4", "vite-tsconfig-paths": "^4.3.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/lighthouse-react/package.json b/dev-packages/e2e-tests/test-applications/lighthouse-react/package.json index 5b7b01ee4d4a..b0a9d2858d57 100644 --- a/dev-packages/e2e-tests/test-applications/lighthouse-react/package.json +++ b/dev-packages/e2e-tests/test-applications/lighthouse-react/package.json @@ -33,8 +33,5 @@ "@vitejs/plugin-react-swc": "^3.7.0", "typescript": "~5.4.0", "vite": "^5.4.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-11-static/package.json b/dev-packages/e2e-tests/test-applications/nestjs-11-static/package.json index 19fa66b0e30b..36a8ae821650 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-11-static/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-11-static/package.json @@ -40,8 +40,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-11/package.json b/dev-packages/e2e-tests/test-applications/nestjs-11/package.json index 132c754e29d1..97386efde9bf 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-11/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-11/package.json @@ -40,8 +40,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-12/package.json b/dev-packages/e2e-tests/test-applications/nestjs-12/package.json index f17e3d5e5950..724a30b63c0f 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-12/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-12/package.json @@ -42,8 +42,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.9.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-8/package.json b/dev-packages/e2e-tests/test-applications/nestjs-8/package.json index efc2ee091aea..c1b77a1b000b 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-8/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-8/package.json @@ -40,8 +40,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json b/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json index 04bf0b8024f7..e20dc9ccb320 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/package.json @@ -42,8 +42,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json b/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json index d5763452a60c..76340f92e80a 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-basic/package.json @@ -42,9 +42,6 @@ "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/nestjs-bullmq/package.json b/dev-packages/e2e-tests/test-applications/nestjs-bullmq/package.json index 4700b59ba28b..ee5c97859d76 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-bullmq/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-bullmq/package.json @@ -29,8 +29,5 @@ "@nestjs/schematics": "^11.0.0", "@types/node": "^18.19.1", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json b/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json index c417e851a114..74adc5bda089 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/package.json @@ -39,8 +39,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json b/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json index c145694fc9ab..170b04e67123 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-fastify/package.json @@ -40,8 +40,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "^5.1.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json b/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json index 563bc219fdc7..d6febbcfbbd5 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-graphql/package.json @@ -42,8 +42,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-microservices/package.json b/dev-packages/e2e-tests/test-applications/nestjs-microservices/package.json index ab8af3f728a4..7e9856b2beaa 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-microservices/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-microservices/package.json @@ -26,8 +26,5 @@ "@nestjs/schematics": "^11.0.0", "@types/node": "^18.19.1", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-websockets/package.json b/dev-packages/e2e-tests/test-applications/nestjs-websockets/package.json index 143c0cca0573..9e500e740e84 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-websockets/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-websockets/package.json @@ -26,8 +26,5 @@ "@types/node": "^18.19.1", "socket.io-client": "^4.0.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json index d6a95126436d..967045d49e4e 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/package.json @@ -38,8 +38,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json index e903d6a38447..27fed5b9aa10 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/package.json @@ -38,8 +38,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/package.json b/dev-packages/e2e-tests/test-applications/nextjs-14/package.json index 98db0c4ec798..9a3aa45dc92b 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/package.json @@ -27,9 +27,6 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optionalVariants": [ { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15-basepath/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15-basepath/package.json index 379b4038a5e9..576cd662335d 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15-basepath/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15-basepath/package.json @@ -24,9 +24,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15-intl/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15-intl/package.json index 15294b246cbc..59d044708b93 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15-intl/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15-intl/package.json @@ -25,9 +25,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15-t3/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15-t3/package.json index 2bbf3cdb8dcb..115787f8fbbd 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15-t3/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15-t3/package.json @@ -44,9 +44,6 @@ "ct3aMetadata": { "initVersion": "7.47.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json index 7f18b33c2879..fb1cad71c57e 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/package.json @@ -30,9 +30,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/package.json index e90155de6c2c..eba44d444994 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/package.json @@ -42,9 +42,6 @@ "eslint-config-next": "^16", "typescript": "^5" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-standalone/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-standalone/package.json index ce6fd059b894..df76d8284b31 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-standalone/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-standalone/package.json @@ -36,9 +36,6 @@ "eslint-config-next": "^16", "typescript": "^5" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-static/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-static/package.json index b2b626143a71..a8a2366e2445 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-static/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-static/package.json @@ -40,9 +40,6 @@ "eslint-config-next": "^16", "typescript": "^5" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/package.json index 231afe799973..24c37deeba72 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/package.json @@ -42,9 +42,6 @@ "eslint-config-next": "^16", "typescript": "^5" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-streaming/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming/package.json index af35c23fcc8d..9870a3f02d64 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-streaming/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming/package.json @@ -40,9 +40,6 @@ "eslint-config-next": "^16", "typescript": "^5" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/package.json index 257b5105bafd..6e0d8bb66455 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/package.json @@ -27,8 +27,5 @@ "@types/react": "^19", "@types/react-dom": "^19", "typescript": "^5" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/package.json index c21a67f1b492..2b01d1438956 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/package.json @@ -29,9 +29,6 @@ "@types/react-dom": "^19", "typescript": "^5" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/package.json index 148f8af3c086..49fab7eb7fe7 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/package.json @@ -50,9 +50,6 @@ "typescript": "^5", "wrangler": "^4.61.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/package.json index 5b72e19f636f..313418cda7c3 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/package.json @@ -26,8 +26,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@tailwindcss/postcss": "^4", "tailwindcss": "^4" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16/package.json b/dev-packages/e2e-tests/test-applications/nextjs-16/package.json index e84651e171c3..84b7620971b6 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-16/package.json @@ -63,9 +63,6 @@ "vite": "^8.3.0", "wrangler": "^4.61.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json index 1fd3800e0d2e..2f9889c336f1 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/package.json @@ -28,9 +28,6 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "ts-node": "10.9.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json index bf9d0b70a41a..fa5eef6fd840 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json @@ -39,9 +39,6 @@ "typescript": "^5.5.3", "zod": "^3.24.2" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/nextjs-otlp/package.json b/dev-packages/e2e-tests/test-applications/nextjs-otlp/package.json index 4bc498a3e49d..57dbccddf186 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-otlp/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-otlp/package.json @@ -42,9 +42,6 @@ "eslint-config-next": "^16", "typescript": "^5" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/package.json b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/package.json index 44591f3a2ec0..d3e2f51b92ff 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/package.json @@ -29,9 +29,6 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "ts-node": "10.9.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/package.json index 2ac8a40dc26a..993eef30d1ee 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/package.json @@ -22,8 +22,5 @@ "@types/react": "^19", "@types/react-dom": "^19", "ts-node": "10.9.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nitro-3/package.json b/dev-packages/e2e-tests/test-applications/nitro-3/package.json index 4dd18fb64828..05907e35b114 100644 --- a/dev-packages/e2e-tests/test-applications/nitro-3/package.json +++ b/dev-packages/e2e-tests/test-applications/nitro-3/package.json @@ -27,9 +27,6 @@ "rolldown": "latest", "vite": "latest" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/package.json index ae065284ff58..9f7d8ae4fa75 100644 --- a/dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/package.json @@ -32,8 +32,5 @@ "label": "node-anthropic-send-to-sentry (latest)" } ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-esbuild/package.json b/dev-packages/e2e-tests/test-applications/node-esbuild/package.json index 856891177c42..11eb547f133d 100644 --- a/dev-packages/e2e-tests/test-applications/node-esbuild/package.json +++ b/dev-packages/e2e-tests/test-applications/node-esbuild/package.json @@ -17,8 +17,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "graphql": "16.9.0", "esbuild": "0.28.2" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-eve/package.json b/dev-packages/e2e-tests/test-applications/node-eve/package.json index 6537b9845f3f..bf4389573a07 100644 --- a/dev-packages/e2e-tests/test-applications/node-eve/package.json +++ b/dev-packages/e2e-tests/test-applications/node-eve/package.json @@ -40,9 +40,6 @@ "engines": { "node": "24.x" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json b/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json index a836b2b618ba..fc1b592adbe8 100644 --- a/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json +++ b/dev-packages/e2e-tests/test-applications/node-exports-test-app/package.json @@ -22,8 +22,5 @@ "@sentry/bun": "file:../../packed/sentry-bun-packed.tgz", "@types/node": "^18.19.1", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json index 914036976778..b7e349125d37 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/package.json @@ -17,8 +17,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/package.json b/dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/package.json index 60de9b4174d3..fb5517e65d30 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/package.json @@ -16,8 +16,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-express-mcp-v1/package.json b/dev-packages/e2e-tests/test-applications/node-express-mcp-v1/package.json index 111200dd2b3d..4dda82a346a3 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-mcp-v1/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-mcp-v1/package.json @@ -25,9 +25,6 @@ "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, "type": "module", - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/node-express-mcp-v2/package.json b/dev-packages/e2e-tests/test-applications/node-express-mcp-v2/package.json index ab20b660beef..b0d70c570d18 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-mcp-v2/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-mcp-v2/package.json @@ -28,9 +28,6 @@ "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, "type": "module", - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/node-express-otlp/package.json b/dev-packages/e2e-tests/test-applications/node-express-otlp/package.json index a63e7392a49d..70d0b7343d22 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-otlp/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-otlp/package.json @@ -24,8 +24,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/package.json b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/package.json index b7807eaa8d27..488ca4b8949c 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/package.json @@ -20,9 +20,6 @@ "devDependencies": { "@playwright/test": "1.64.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/package.json index d9979058c198..0ca6a0cb481c 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/package.json @@ -20,9 +20,6 @@ "devDependencies": { "@playwright/test": "1.64.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/node-express-static/package.json b/dev-packages/e2e-tests/test-applications/node-express-static/package.json index 3973ba323170..4e05d8429c08 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-static/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-static/package.json @@ -26,9 +26,6 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/node-express-streaming/package.json b/dev-packages/e2e-tests/test-applications/node-express-streaming/package.json index 34148aa75228..a96bd53edca4 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-streaming/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-streaming/package.json @@ -25,8 +25,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-express-v5/package.json b/dev-packages/e2e-tests/test-applications/node-express-v5/package.json index 59080bbc325c..2bc47012a8ef 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-v5/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express-v5/package.json @@ -26,8 +26,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-express/package.json b/dev-packages/e2e-tests/test-applications/node-express/package.json index 6acc2b653186..adc4b406f5d4 100644 --- a/dev-packages/e2e-tests/test-applications/node-express/package.json +++ b/dev-packages/e2e-tests/test-applications/node-express/package.json @@ -26,9 +26,6 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json b/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json index 2efbfa29641f..dc3953ddf526 100644 --- a/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json +++ b/dev-packages/e2e-tests/test-applications/node-fastify-3/package.json @@ -20,8 +20,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json b/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json index 85fc0c8528b6..d253b8dfe01f 100644 --- a/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json +++ b/dev-packages/e2e-tests/test-applications/node-fastify-4/package.json @@ -20,8 +20,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json b/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json index 05144509cb6e..fc96a360b6ec 100644 --- a/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json +++ b/dev-packages/e2e-tests/test-applications/node-fastify-5/package.json @@ -21,9 +21,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-6/package.json b/dev-packages/e2e-tests/test-applications/node-fastify-6/package.json index dd231ca614f5..fc948455cba7 100644 --- a/dev-packages/e2e-tests/test-applications/node-fastify-6/package.json +++ b/dev-packages/e2e-tests/test-applications/node-fastify-6/package.json @@ -21,9 +21,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/node-firebase/package.json b/dev-packages/e2e-tests/test-applications/node-firebase/package.json index 62179b36597b..9bab9dc4d32c 100644 --- a/dev-packages/e2e-tests/test-applications/node-firebase/package.json +++ b/dev-packages/e2e-tests/test-applications/node-firebase/package.json @@ -23,8 +23,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "firebase-tools": "^14.20.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-flue/package.json b/dev-packages/e2e-tests/test-applications/node-flue/package.json index 3c718a6a029f..eb7949b020d5 100644 --- a/dev-packages/e2e-tests/test-applications/node-flue/package.json +++ b/dev-packages/e2e-tests/test-applications/node-flue/package.json @@ -34,9 +34,6 @@ "engines": { "node": "24.x" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/node-hapi/package.json b/dev-packages/e2e-tests/test-applications/node-hapi/package.json index 65ed01564dbd..2b0a3b370e22 100644 --- a/dev-packages/e2e-tests/test-applications/node-hapi/package.json +++ b/dev-packages/e2e-tests/test-applications/node-hapi/package.json @@ -19,8 +19,5 @@ "@playwright/test": "1.64.1", "@sentry/conventions": "0.29.0", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-koa/package.json b/dev-packages/e2e-tests/test-applications/node-koa/package.json index a3bbfc5359eb..ccb10ceee53c 100644 --- a/dev-packages/e2e-tests/test-applications/node-koa/package.json +++ b/dev-packages/e2e-tests/test-applications/node-koa/package.json @@ -20,8 +20,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-mastra/package.json b/dev-packages/e2e-tests/test-applications/node-mastra/package.json index 77dc91d58db9..7da482d6f186 100644 --- a/dev-packages/e2e-tests/test-applications/node-mastra/package.json +++ b/dev-packages/e2e-tests/test-applications/node-mastra/package.json @@ -36,9 +36,6 @@ "engines": { "node": "24.x" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json index 00870e099c73..ff1c5900fe0c 100644 --- a/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json @@ -39,8 +39,11 @@ } ] }, - "volta": { - "node": "24.15.0", - "extends": "../../package.json" + "devEngines": { + "runtime": { + "name": "node", + "version": "24.15.0", + "onFail": "warn" + } } } diff --git a/dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/package.json index 886458da80ef..f94e4d8cf2ba 100644 --- a/dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/package.json @@ -34,8 +34,5 @@ "label": "node-openai-send-to-sentry (latest)" } ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-otel-sdk-node-v3/package.json b/dev-packages/e2e-tests/test-applications/node-otel-sdk-node-v3/package.json index 264efe90d301..906c97985e07 100644 --- a/dev-packages/e2e-tests/test-applications/node-otel-sdk-node-v3/package.json +++ b/dev-packages/e2e-tests/test-applications/node-otel-sdk-node-v3/package.json @@ -21,8 +21,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-otel-sdk-node/package.json b/dev-packages/e2e-tests/test-applications/node-otel-sdk-node/package.json index ce771de4edba..809cb1a510fc 100644 --- a/dev-packages/e2e-tests/test-applications/node-otel-sdk-node/package.json +++ b/dev-packages/e2e-tests/test-applications/node-otel-sdk-node/package.json @@ -21,8 +21,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-pi-durable/package.json b/dev-packages/e2e-tests/test-applications/node-pi-durable/package.json index 1b68765330c8..423983c0ca7b 100644 --- a/dev-packages/e2e-tests/test-applications/node-pi-durable/package.json +++ b/dev-packages/e2e-tests/test-applications/node-pi-durable/package.json @@ -26,9 +26,6 @@ "engines": { "node": "24.x" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/node-prisma-8/package.json b/dev-packages/e2e-tests/test-applications/node-prisma-8/package.json index a9920f65d5a4..94c57f6271d9 100644 --- a/dev-packages/e2e-tests/test-applications/node-prisma-8/package.json +++ b/dev-packages/e2e-tests/test-applications/node-prisma-8/package.json @@ -23,8 +23,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-cjs/package.json b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/package.json index 736a3a2f2317..4db8e675ec8e 100644 --- a/dev-packages/e2e-tests/test-applications/node-profiling-cjs/package.json +++ b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/package.json @@ -17,8 +17,5 @@ "@types/node": "^18.19.1", "esbuild": "0.25.0", "typescript": "^5.7.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-electron/package.json b/dev-packages/e2e-tests/test-applications/node-profiling-electron/package.json index ba896ef7a85d..856d125aa141 100644 --- a/dev-packages/e2e-tests/test-applications/node-profiling-electron/package.json +++ b/dev-packages/e2e-tests/test-applications/node-profiling-electron/package.json @@ -15,9 +15,6 @@ "@sentry/profiling-node": "file:../../packed/sentry-profiling-node-packed.tgz", "electron": "^33.2.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "skip": true } diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/package.json b/dev-packages/e2e-tests/test-applications/node-profiling-esm/package.json index a2bd1e7119f6..3753211523c6 100644 --- a/dev-packages/e2e-tests/test-applications/node-profiling-esm/package.json +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/package.json @@ -17,8 +17,5 @@ "@types/node": "^18.19.1", "esbuild": "0.28.1", "typescript": "^5.7.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-rolldown/package.json b/dev-packages/e2e-tests/test-applications/node-rolldown/package.json index 10d70f8cc7dd..cb74b43858f5 100644 --- a/dev-packages/e2e-tests/test-applications/node-rolldown/package.json +++ b/dev-packages/e2e-tests/test-applications/node-rolldown/package.json @@ -17,8 +17,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "graphql": "16.9.0", "rolldown": "1.2.14" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-rollup/package.json b/dev-packages/e2e-tests/test-applications/node-rollup/package.json index 8786bca27919..86267a84fa07 100644 --- a/dev-packages/e2e-tests/test-applications/node-rollup/package.json +++ b/dev-packages/e2e-tests/test-applications/node-rollup/package.json @@ -19,8 +19,5 @@ "rollup": "4.62.3", "@rollup/plugin-node-resolve": "^16.0.0", "@rollup/plugin-commonjs": "^28.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-vite/package.json b/dev-packages/e2e-tests/test-applications/node-vite/package.json index b1302aa7a7e1..48738a440a3f 100644 --- a/dev-packages/e2e-tests/test-applications/node-vite/package.json +++ b/dev-packages/e2e-tests/test-applications/node-vite/package.json @@ -17,8 +17,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "graphql": "16.9.0", "vite": "6.4.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/node-webpack/package.json b/dev-packages/e2e-tests/test-applications/node-webpack/package.json index c4164c8fd4a1..1efc6ec0ff88 100644 --- a/dev-packages/e2e-tests/test-applications/node-webpack/package.json +++ b/dev-packages/e2e-tests/test-applications/node-webpack/package.json @@ -17,8 +17,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "graphql": "16.9.0", "webpack": "5.107.2" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/package.json b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/package.json index 5c53691ac811..06e4f650f55d 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/package.json @@ -20,8 +20,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json b/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json index 06fe7b58519a..a1fe29e4acc4 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-min/package.json @@ -25,9 +25,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/package.json b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/package.json index c872451dce47..7f4660ca2f3c 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/package.json @@ -21,8 +21,5 @@ "devDependencies": { "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3/package.json b/dev-packages/e2e-tests/test-applications/nuxt-3/package.json index 7fcb1fbf4080..d1891d751fc7 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-3/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-3/package.json @@ -31,8 +31,5 @@ "label": "nuxt-3 (canary)" } ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/package.json b/dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/package.json index 8b337c500493..7fb1258723d6 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/package.json @@ -23,9 +23,6 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "wrangler": "^4.72.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/package.json index fed9ff583515..89a72de550af 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/package.json @@ -28,9 +28,6 @@ "ts-node": "10.9.1", "typescript": "~5.0.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4-static/package.json b/dev-packages/e2e-tests/test-applications/nuxt-4-static/package.json index 6edeb2673788..e21627e76f08 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4-static/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-4-static/package.json @@ -29,9 +29,6 @@ "@sentry/conventions": "0.29.0", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4/package.json b/dev-packages/e2e-tests/test-applications/nuxt-4/package.json index 79d37fd9dfa3..abfe18e43daa 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-4/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-4/package.json @@ -34,9 +34,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-5-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/nuxt-5-sourcemaps/package.json index 88e1df2b5611..e2d35fd304b3 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-5-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-5-sourcemaps/package.json @@ -25,9 +25,6 @@ "ts-node": "10.9.1", "typescript": "~5.0.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true, "optionalVariants": [ diff --git a/dev-packages/e2e-tests/test-applications/nuxt-5/package.json b/dev-packages/e2e-tests/test-applications/nuxt-5/package.json index af98a6c5d4a3..bb03b840799c 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-5/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-5/package.json @@ -54,8 +54,5 @@ "label": "nuxt-5 (tunnel-dev)" } ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-17-static/package.json b/dev-packages/e2e-tests/test-applications/react-17-static/package.json index 6fd2d11b7272..c594a261f637 100644 --- a/dev-packages/e2e-tests/test-applications/react-17-static/package.json +++ b/dev-packages/e2e-tests/test-applications/react-17-static/package.json @@ -44,8 +44,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-17/package.json b/dev-packages/e2e-tests/test-applications/react-17/package.json index 1c58df6603e6..afae577f2e94 100644 --- a/dev-packages/e2e-tests/test-applications/react-17/package.json +++ b/dev-packages/e2e-tests/test-applications/react-17/package.json @@ -44,8 +44,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-19/package.json b/dev-packages/e2e-tests/test-applications/react-19/package.json index 136ea2fb3da7..157db2de17d6 100644 --- a/dev-packages/e2e-tests/test-applications/react-19/package.json +++ b/dev-packages/e2e-tests/test-applications/react-19/package.json @@ -45,8 +45,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-create-browser-router/package.json b/dev-packages/e2e-tests/test-applications/react-create-browser-router/package.json index d623410d8089..4405ba83c8c8 100644 --- a/dev-packages/e2e-tests/test-applications/react-create-browser-router/package.json +++ b/dev-packages/e2e-tests/test-applications/react-create-browser-router/package.json @@ -44,8 +44,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json b/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json index 9c3c47168004..a6c572225b97 100644 --- a/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json +++ b/dev-packages/e2e-tests/test-applications/react-create-hash-router/package.json @@ -45,8 +45,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-create-memory-router/package.json b/dev-packages/e2e-tests/test-applications/react-create-memory-router/package.json index cb4ca7a51512..419a9e289d61 100644 --- a/dev-packages/e2e-tests/test-applications/react-create-memory-router/package.json +++ b/dev-packages/e2e-tests/test-applications/react-create-memory-router/package.json @@ -44,8 +44,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-5/package.json b/dev-packages/e2e-tests/test-applications/react-router-5/package.json index 76c415c4711e..34d06520e4e9 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-5/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-5/package.json @@ -47,8 +47,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/package.json b/dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/package.json index 615dd4e6c8c7..16af3288c98c 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/package.json @@ -47,8 +47,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1", "npm-run-all2": "^6.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-6-router-entry/package.json b/dev-packages/e2e-tests/test-applications/react-router-6-router-entry/package.json index 7b3dc28177ef..5e76a677c8e6 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-6-router-entry/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-6-router-entry/package.json @@ -45,8 +45,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json b/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json index 16a4760a257d..87ddbf4ab3f8 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/package.json @@ -43,8 +43,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-6/package.json b/dev-packages/e2e-tests/test-applications/react-router-6/package.json index dd022fa72381..eabd1c9498b6 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-6/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-6/package.json @@ -48,9 +48,6 @@ "serve": "14.0.1", "npm-run-all2": "^6.2.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/package.json index 34d346d53abe..a546ef6ddb59 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/package.json @@ -45,8 +45,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1", "npm-run-all2": "^6.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/package.json index be9ce743d3e5..ad3dd46d1d6c 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/package.json @@ -57,9 +57,6 @@ "last 1 safari version" ] }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/package.json index 112dde94b5d8..6c93eacbf3d3 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/package.json @@ -49,8 +49,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework-static/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-framework-static/package.json index ff2f22e6f53c..7a5ccf0d4c6a 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework-static/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework-static/package.json @@ -52,8 +52,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-framework/package.json index 7b6814661dca..e0395c3ccad8 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-framework/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/package.json @@ -54,9 +54,6 @@ "last 1 safari version" ] }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/package.json index 605ff3df45a9..7d01de919ad9 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/package.json @@ -46,9 +46,6 @@ "serve": "14.0.1", "npm-run-all2": "^6.2.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript" } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-router-entry/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-router-entry/package.json index 3847a43b99e1..cfd7ece927fc 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-router-entry/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-router-entry/package.json @@ -45,8 +45,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/package.json index e1e5919dfb24..393dbaba42a1 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/package.json @@ -44,8 +44,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-spa/package.json b/dev-packages/e2e-tests/test-applications/react-router-7-spa/package.json index 5840ca72a034..5fc76a65c127 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-7-spa/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-7-spa/package.json @@ -44,8 +44,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/package.json b/dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/package.json index 4d248a95660a..9367f20cc478 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/package.json @@ -45,8 +45,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "serve": "14.0.1", "npm-run-all2": "^6.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-framework/package.json b/dev-packages/e2e-tests/test-applications/react-router-8-framework/package.json index ae9aac7ebe51..56c20ce35f2d 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-8-framework/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-8-framework/package.json @@ -68,9 +68,6 @@ "last 1 safari version" ] }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "runner": "namespace-profile-sentry-javascript", "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-router-entry/package.json b/dev-packages/e2e-tests/test-applications/react-router-8-router-entry/package.json index a4fb1e056324..9ad40aab4ad5 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-8-router-entry/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-8-router-entry/package.json @@ -45,8 +45,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-spa/package.json b/dev-packages/e2e-tests/test-applications/react-router-8-spa/package.json index 7521d43a3d74..d69fbb0eb1e7 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-8-spa/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-8-spa/package.json @@ -44,8 +44,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-router-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/react-router-sourcemaps/package.json index 28c54ab68ce5..cc3e75e3269a 100644 --- a/dev-packages/e2e-tests/test-applications/react-router-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/react-router-sourcemaps/package.json @@ -28,8 +28,5 @@ "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:assert": "pnpm tsx assert-build.ts" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/react-send-to-sentry/package.json index 6f488a3c7941..78309062e685 100644 --- a/dev-packages/e2e-tests/test-applications/react-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/react-send-to-sentry/package.json @@ -44,9 +44,6 @@ "@playwright/test": "1.64.1", "serve": "14.0.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json b/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json index 18de10d86b4a..f14be2a9bcbe 100644 --- a/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json @@ -50,8 +50,5 @@ "typescript": "^5.2.2", "vite": "^5.1.0", "vite-tsconfig-paths": "^4.3.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/remix-server-timing/package.json b/dev-packages/e2e-tests/test-applications/remix-server-timing/package.json index 8eb6004494fb..ee150587205c 100644 --- a/dev-packages/e2e-tests/test-applications/remix-server-timing/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-server-timing/package.json @@ -32,8 +32,5 @@ "typescript": "^5.1.6", "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/remix-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/remix-sourcemaps/package.json index 8c0d51b24a99..e8f95517358c 100644 --- a/dev-packages/e2e-tests/test-applications/remix-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-sourcemaps/package.json @@ -26,8 +26,5 @@ "tsx": "^4.23.0", "typescript": "^5.1.6", "vite": "^5.4.11" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/remix-v3/package.json b/dev-packages/e2e-tests/test-applications/remix-v3/package.json index abeb9f393e6f..557ccc9f0d72 100644 --- a/dev-packages/e2e-tests/test-applications/remix-v3/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-v3/package.json @@ -23,9 +23,6 @@ "@types/node": "^24.6.0", "typescript": "~5.9.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/solid-static/package.json b/dev-packages/e2e-tests/test-applications/solid-static/package.json index 3449cfe057c5..8cf9909a537a 100644 --- a/dev-packages/e2e-tests/test-applications/solid-static/package.json +++ b/dev-packages/e2e-tests/test-applications/solid-static/package.json @@ -26,8 +26,5 @@ "dependencies": { "solid-js": "^1.8.18", "@sentry/solid": "file:../../packed/sentry-solid-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/solid-tanstack-router/package.json b/dev-packages/e2e-tests/test-applications/solid-tanstack-router/package.json index f518fec30661..860c5c299dbc 100644 --- a/dev-packages/e2e-tests/test-applications/solid-tanstack-router/package.json +++ b/dev-packages/e2e-tests/test-applications/solid-tanstack-router/package.json @@ -27,8 +27,5 @@ "typescript": "^5.7.2", "vite": "^7.3.2", "vite-plugin-solid": "^2.11.2" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/solid/package.json b/dev-packages/e2e-tests/test-applications/solid/package.json index 7d9d35b3afa3..d3224e8db4bd 100644 --- a/dev-packages/e2e-tests/test-applications/solid/package.json +++ b/dev-packages/e2e-tests/test-applications/solid/package.json @@ -26,8 +26,5 @@ "dependencies": { "solid-js": "^1.8.18", "@sentry/solid": "file:../../packed/sentry-solid-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/solidstart-2/package.json b/dev-packages/e2e-tests/test-applications/solidstart-2/package.json index a8428951c236..a8336229c229 100644 --- a/dev-packages/e2e-tests/test-applications/solidstart-2/package.json +++ b/dev-packages/e2e-tests/test-applications/solidstart-2/package.json @@ -31,9 +31,6 @@ "vite": "^8.1.5", "vite-plugin-solid": "^2.11.6" }, - "volta": { - "extends": "../../package.json" - }, "engines": { "node": ">=24" }, diff --git a/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/package.json b/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/package.json index 7d4df305aadc..7dfcebfffef2 100644 --- a/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/package.json +++ b/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/package.json @@ -29,8 +29,5 @@ "vinxi": "^0.4.0", "vite": "^5.4.10", "vite-plugin-solid": "^2.11.6" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/solidstart-spa/package.json b/dev-packages/e2e-tests/test-applications/solidstart-spa/package.json index 417ec5c26a56..e8f890d6434d 100644 --- a/dev-packages/e2e-tests/test-applications/solidstart-spa/package.json +++ b/dev-packages/e2e-tests/test-applications/solidstart-spa/package.json @@ -29,8 +29,5 @@ "vinxi": "^0.4.0", "vite": "^5.4.11", "vite-plugin-solid": "^2.11.6" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/solidstart-static/package.json b/dev-packages/e2e-tests/test-applications/solidstart-static/package.json index 4bcb9b4a8214..38ddeac40f07 100644 --- a/dev-packages/e2e-tests/test-applications/solidstart-static/package.json +++ b/dev-packages/e2e-tests/test-applications/solidstart-static/package.json @@ -32,8 +32,5 @@ "vinxi": "^0.4.0", "vite": "^5.4.11", "vite-plugin-solid": "^2.11.6" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/package.json b/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/package.json index 660dfe575fa6..2b266bfdeb9b 100644 --- a/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/package.json +++ b/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/package.json @@ -29,8 +29,5 @@ "vinxi": "^0.4.0", "vite": "^5.4.11", "vite-plugin-solid": "^2.11.6" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/solidstart/package.json b/dev-packages/e2e-tests/test-applications/solidstart/package.json index 1d1076bd4843..daceab6d5f10 100644 --- a/dev-packages/e2e-tests/test-applications/solidstart/package.json +++ b/dev-packages/e2e-tests/test-applications/solidstart/package.json @@ -37,9 +37,6 @@ "vite": "^6.4.4", "vite-plugin-solid": "^2.11.6" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/supabase-nextjs/package.json b/dev-packages/e2e-tests/test-applications/supabase-nextjs/package.json index 8ef29339429e..ba96bf446930 100644 --- a/dev-packages/e2e-tests/test-applications/supabase-nextjs/package.json +++ b/dev-packages/e2e-tests/test-applications/supabase-nextjs/package.json @@ -34,9 +34,6 @@ "eslint": "8.34.0", "eslint-config-next": "14.2.25" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/svelte-5-static/package.json b/dev-packages/e2e-tests/test-applications/svelte-5-static/package.json index 23930326addc..02c83d3b83ad 100644 --- a/dev-packages/e2e-tests/test-applications/svelte-5-static/package.json +++ b/dev-packages/e2e-tests/test-applications/svelte-5-static/package.json @@ -25,8 +25,5 @@ }, "dependencies": { "@sentry/svelte": "file:../../packed/sentry-svelte-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/svelte-5/package.json b/dev-packages/e2e-tests/test-applications/svelte-5/package.json index 25013bcc894b..98d6261ce47b 100644 --- a/dev-packages/e2e-tests/test-applications/svelte-5/package.json +++ b/dev-packages/e2e-tests/test-applications/svelte-5/package.json @@ -25,8 +25,5 @@ }, "dependencies": { "@sentry/svelte": "file:../../packed/sentry-svelte-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/package.json index 3d00ca2b2b3b..c3b4ce462190 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/package.json @@ -30,8 +30,5 @@ "typescript": "^5.0.0", "vite": "^7.3.2" }, - "type": "module", - "volta": { - "extends": "../../package.json" - } + "type": "module" } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/package.json index d82441f2e072..cc17b79e7d20 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/package.json @@ -35,8 +35,5 @@ "typescript": "^5.0.0", "vite": "^7.3.2" }, - "type": "module", - "volta": { - "extends": "../../package.json" - } + "type": "module" } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-static/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2-static/package.json index 8012a82462df..f9a220037668 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2-static/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-static/package.json @@ -36,8 +36,5 @@ "typescript": "^5.0.0", "vite": "^5.4.11" }, - "volta": { - "extends": "../../package.json" - }, "type": "module" } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json index eb4e10fd26e4..45b5405a3433 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/package.json @@ -30,8 +30,5 @@ "typescript": "^5.0.0", "vite": "^5.4.11" }, - "type": "module", - "volta": { - "extends": "../../package.json" - } + "type": "module" } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/package.json index 0677dd30e040..18092c2dfef8 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/package.json @@ -29,8 +29,5 @@ "typescript": "^5.0.0", "vite": "^5.4.11" }, - "type": "module", - "volta": { - "extends": "../../package.json" - } + "type": "module" } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json index 86fa6669a880..1ca6fd124a5e 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json @@ -36,8 +36,5 @@ "typescript": "^5.0.0", "vite": "^5.4.11" }, - "volta": { - "extends": "../../package.json" - }, "type": "module" } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/package.json index d0c59c63f17f..62446e94a44f 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/package.json @@ -30,9 +30,6 @@ "vite": "^8.0.12", "wrangler": "^4.118.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/package.json index 089139dcb68f..2605575c9cb8 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/package.json @@ -22,8 +22,5 @@ "svelte": "^5.57.1", "typescript": "^6.0.0", "vite": "^8.0.12" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-3/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-3/package.json index 06533222d20e..32ccc8e5fffd 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-3/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-3/package.json @@ -31,9 +31,6 @@ "typescript": "^6.0.0", "vite": "^8.0.12" }, - "volta": { - "extends": "../../package.json" - }, "type": "module", "sentryTest": { "variants": [ diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/package.json b/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/package.json index 1be8a714f3fa..71d69c4b7c2f 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/package.json @@ -29,8 +29,5 @@ "typescript": "^5.0.0", "vite": "^6.4.2", "wrangler": "^4.61.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/tanstack-router/package.json b/dev-packages/e2e-tests/test-applications/tanstack-router/package.json index 31d436caf4e9..b7599df88450 100644 --- a/dev-packages/e2e-tests/test-applications/tanstack-router/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstack-router/package.json @@ -30,9 +30,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/package.json b/dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/package.json index f4e282ce3c4c..f140304221ec 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/package.json @@ -34,9 +34,6 @@ "vite-tsconfig-paths": "^6.1.1", "wrangler": "^4.68.1" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true } diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react-static/package.json b/dev-packages/e2e-tests/test-applications/tanstackstart-react-static/package.json index 71d2451351bc..e14277b3ff56 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react-static/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react-static/package.json @@ -45,8 +45,5 @@ "vite-tsconfig-paths": "^5.1.4", "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json b/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json index 028a50f63c6f..eb862db2b1e1 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json @@ -48,9 +48,6 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/tsx-express/package.json b/dev-packages/e2e-tests/test-applications/tsx-express/package.json index 14bc17d7fcb4..d90221546093 100644 --- a/dev-packages/e2e-tests/test-applications/tsx-express/package.json +++ b/dev-packages/e2e-tests/test-applications/tsx-express/package.json @@ -25,8 +25,5 @@ "@playwright/test": "1.64.1", "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "tsx": "^4.20.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/vinext-cf-workers/package.json b/dev-packages/e2e-tests/test-applications/vinext-cf-workers/package.json index b2872d7a62ae..38ddd3934aa1 100644 --- a/dev-packages/e2e-tests/test-applications/vinext-cf-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/vinext-cf-workers/package.json @@ -31,8 +31,5 @@ "vinext": "^1.0.1", "vite": "^8.3.0", "wrangler": "^4.135.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/vue-3-static/package.json b/dev-packages/e2e-tests/test-applications/vue-3-static/package.json index aa74d06bd3ad..ea53e5e51aaa 100644 --- a/dev-packages/e2e-tests/test-applications/vue-3-static/package.json +++ b/dev-packages/e2e-tests/test-applications/vue-3-static/package.json @@ -39,8 +39,5 @@ "typescript": "~5.3.0", "vite": "^5.4.11", "vue-tsc": "^1.8.27" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/vue-3/package.json b/dev-packages/e2e-tests/test-applications/vue-3/package.json index dc315b2fa624..60707aed87b5 100644 --- a/dev-packages/e2e-tests/test-applications/vue-3/package.json +++ b/dev-packages/e2e-tests/test-applications/vue-3/package.json @@ -43,9 +43,6 @@ "vite": "^5.4.11", "vue-tsc": "^1.8.27" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/vue-tanstack-router/package.json b/dev-packages/e2e-tests/test-applications/vue-tanstack-router/package.json index 190bb8024b68..f93f6f44d3d7 100644 --- a/dev-packages/e2e-tests/test-applications/vue-tanstack-router/package.json +++ b/dev-packages/e2e-tests/test-applications/vue-tanstack-router/package.json @@ -26,8 +26,5 @@ "@vue/tsconfig": "^0.5.1", "typescript": "~5.3.0", "vite": "^5.4.11" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/webpack-4/package.json b/dev-packages/e2e-tests/test-applications/webpack-4/package.json index 95f8b55d2f32..7509d22c09d2 100644 --- a/dev-packages/e2e-tests/test-applications/webpack-4/package.json +++ b/dev-packages/e2e-tests/test-applications/webpack-4/package.json @@ -18,8 +18,5 @@ "terser-webpack-plugin": "^4.2.3", "html-webpack-plugin": "^4.5.2", "serve": "^14.2.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/webpack-5/package.json b/dev-packages/e2e-tests/test-applications/webpack-5/package.json index 8e31878164e3..91d23df12fbc 100644 --- a/dev-packages/e2e-tests/test-applications/webpack-5/package.json +++ b/dev-packages/e2e-tests/test-applications/webpack-5/package.json @@ -15,8 +15,5 @@ "terser-webpack-plugin": "^5.3.10", "html-webpack-plugin": "^5.6.0", "serve": "^14.2.1" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/external-contributor-gh-action/package.json b/dev-packages/external-contributor-gh-action/package.json index 7a87bc18db07..4b705d1f9185 100644 --- a/dev-packages/external-contributor-gh-action/package.json +++ b/dev-packages/external-contributor-gh-action/package.json @@ -18,8 +18,5 @@ }, "devDependencies": { "eslint-plugin-regexp": "^3.1.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/node-integration-tests/package.json b/dev-packages/node-integration-tests/package.json index c8260c3b5813..33358dd59fc2 100644 --- a/dev-packages/node-integration-tests/package.json +++ b/dev-packages/node-integration-tests/package.json @@ -137,8 +137,5 @@ "preferGlobalPath": true, "runtimeDownload": false } - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/optional-e2e-gh-action/package.json b/dev-packages/optional-e2e-gh-action/package.json index ffc3e38564cf..a35e3621cd4e 100644 --- a/dev-packages/optional-e2e-gh-action/package.json +++ b/dev-packages/optional-e2e-gh-action/package.json @@ -17,8 +17,5 @@ "@actions/core": "1.10.1", "@actions/github": "^5.0.0", "markdown-table": "3.0.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/rollup-utils/package.json b/dev-packages/rollup-utils/package.json index 0c8602f49eff..30a34165adb3 100644 --- a/dev-packages/rollup-utils/package.json +++ b/dev-packages/rollup-utils/package.json @@ -15,8 +15,5 @@ "devDependencies": { "eslint-plugin-regexp": "^3.1.0" }, - "volta": { - "extends": "../../package.json" - }, "type": "module" } diff --git a/dev-packages/size-limit-gh-action/package.json b/dev-packages/size-limit-gh-action/package.json index 6c7848539fa2..ccb8a7a88194 100644 --- a/dev-packages/size-limit-gh-action/package.json +++ b/dev-packages/size-limit-gh-action/package.json @@ -22,8 +22,5 @@ "@actions/io": "3.0.2", "bytes-iec": "3.1.1", "markdown-table": "3.0.3" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/test-utils/package.json b/dev-packages/test-utils/package.json index 893950f01376..5b346f948464 100644 --- a/dev-packages/test-utils/package.json +++ b/dev-packages/test-utils/package.json @@ -71,8 +71,5 @@ "@types/express": "^4.17.21", "@types/ws": "^8.18.1", "eslint-plugin-regexp": "^3.1.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/package.json b/package.json index b62f656232f3..8b06e57b39b3 100644 --- a/package.json +++ b/package.json @@ -49,13 +49,16 @@ "yalc:publish": "nx run-many -t yalc:publish" }, "packageManager": "pnpm@12.11.2", - "//_volta_comment": [ - "Volta cannot start pnpm 11 or newer (volta-cli/volta#2114). It starts this pnpm 10 version, which switches to the `packageManager` version.", - "Volta reads the pnpm version only when `VOLTA_FEATURE_PNPM=1` is set, see CONTRIBUTING.md." + "//_devEngines_comment": [ + "pnpm's global `node` shim runs the nearest `devEngines.runtime` version, see CONTRIBUTING.md. Packages and E2E apps override it with their own entry.", + "`onFail: warn` keeps node out of the lockfile, so `pnpm run` uses the node of `setup-node` in the CI node version matrix." ], - "volta": { - "node": "24.22.1", - "pnpm": "10.34.6" + "devEngines": { + "runtime": { + "name": "node", + "version": "24.22.1", + "onFail": "warn" + } }, "//_workspaces_comment": [ "pnpm reads the workspace packages from pnpm-workspace.yaml. Deno and the repo scripts read this list.", diff --git a/packages/angular/package.json b/packages/angular/package.json index 5409c07d9c72..eeb70cb12cf1 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -61,9 +61,6 @@ "test:unit:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/astro/package.json b/packages/astro/package.json index 780ef8ff260f..bf1ef9a81cad 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -84,9 +84,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "astro": { "external": true }, diff --git a/packages/aws-serverless/package.json b/packages/aws-serverless/package.json index 43c67c7d3228..ee96999c0236 100644 --- a/packages/aws-serverless/package.json +++ b/packages/aws-serverless/package.json @@ -100,9 +100,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/browser-utils/package.json b/packages/browser-utils/package.json index 1273fd0e5305..bad56e53adf6 100644 --- a/packages/browser-utils/package.json +++ b/packages/browser-utils/package.json @@ -59,8 +59,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/browser/package.json b/packages/browser/package.json index fc788e404af0..786778dc9ae0 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -72,8 +72,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/bun/package.json b/packages/bun/package.json index 01efea07620e..11d630c9eb77 100644 --- a/packages/bun/package.json +++ b/packages/bun/package.json @@ -74,8 +74,5 @@ "test:watch": "bun test --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/bundler-plugins/package.json b/packages/bundler-plugins/package.json index 4e2a8a928025..3646b388e6f3 100644 --- a/packages/bundler-plugins/package.json +++ b/packages/bundler-plugins/package.json @@ -148,9 +148,6 @@ "vitest": "^4.1.11", "webpack": "5.104.1" }, - "volta": { - "extends": "../../package.json" - }, "engines": { "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" }, diff --git a/packages/cloudflare/package.json b/packages/cloudflare/package.json index 8abefbbfe8c6..579acff8f018 100644 --- a/packages/cloudflare/package.json +++ b/packages/cloudflare/package.json @@ -103,8 +103,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/core/package.json b/packages/core/package.json index 49e4958e39ad..cefeae6d9a5f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -86,9 +86,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "devDependencies": { "@sentry-internal/rollup-utils": "11.9.0", diff --git a/packages/deno/package.json b/packages/deno/package.json index 51dc5fa7f706..80192978281f 100644 --- a/packages/deno/package.json +++ b/packages/deno/package.json @@ -58,9 +58,6 @@ "test:unit:update": "deno test --allow-net --allow-read --allow-run --allow-env --no-check --allow-write -- --update", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": [ "./build/import.mjs" ], diff --git a/packages/effect/package.json b/packages/effect/package.json index 732ea58a2197..18c630ac3927 100644 --- a/packages/effect/package.json +++ b/packages/effect/package.json @@ -80,8 +80,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/elysia/package.json b/packages/elysia/package.json index b4bef8c55b5f..4a8d96ed5226 100644 --- a/packages/elysia/package.json +++ b/packages/elysia/package.json @@ -68,8 +68,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/ember/package.json b/packages/ember/package.json index 3f1ee98bd614..a7be16636789 100644 --- a/packages/ember/package.json +++ b/packages/ember/package.json @@ -68,9 +68,6 @@ "engines": { "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" }, - "volta": { - "extends": "../../package.json" - }, "publishConfig": { "access": "public" }, diff --git a/packages/esbuild-plugin/package.json b/packages/esbuild-plugin/package.json index 450a38bd2c08..11bf9aa60b61 100644 --- a/packages/esbuild-plugin/package.json +++ b/packages/esbuild-plugin/package.json @@ -52,8 +52,5 @@ }, "devDependencies": { "@sentry-internal/rollup-utils": "11.9.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/eslint-config-sdk/package.json b/packages/eslint-config-sdk/package.json index 618db9e1b79c..cf9adf13ecae 100644 --- a/packages/eslint-config-sdk/package.json +++ b/packages/eslint-config-sdk/package.json @@ -42,8 +42,5 @@ "clean": "pnpm exec rimraf sentry-eslint-config-sdk-*.tgz", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.js" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/eslint-plugin-sdk/package.json b/packages/eslint-plugin-sdk/package.json index 50d8234631fc..0d0af236391b 100644 --- a/packages/eslint-plugin-sdk/package.json +++ b/packages/eslint-plugin-sdk/package.json @@ -34,8 +34,5 @@ "test:watch": "vitest --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.js" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/feedback/package.json b/packages/feedback/package.json index 8f98f3805576..f86da267558c 100644 --- a/packages/feedback/package.json +++ b/packages/feedback/package.json @@ -60,8 +60,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json index 5d1a5b81b380..25af95b5f8a8 100644 --- a/packages/gatsby/package.json +++ b/packages/gatsby/package.json @@ -74,9 +74,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "nx": { "targets": { "build:transpile": { diff --git a/packages/google-cloud-serverless/package.json b/packages/google-cloud-serverless/package.json index a6ee05e9a43a..48fc86974e89 100644 --- a/packages/google-cloud-serverless/package.json +++ b/packages/google-cloud-serverless/package.json @@ -77,9 +77,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/hono/package.json b/packages/hono/package.json index 57d992c05494..13efe1db2f62 100644 --- a/packages/hono/package.json +++ b/packages/hono/package.json @@ -134,8 +134,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/integration-shims/package.json b/packages/integration-shims/package.json index 9112f5a81165..94904615179e 100644 --- a/packages/integration-shims/package.json +++ b/packages/integration-shims/package.json @@ -55,8 +55,5 @@ }, "engines": { "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 6aa9e51accee..7ed973221f41 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -91,9 +91,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "nx": { "targets": { "build:types": { diff --git a/packages/nextjs/package.json b/packages/nextjs/package.json index 1eb5fc66c040..df4689b0b218 100644 --- a/packages/nextjs/package.json +++ b/packages/nextjs/package.json @@ -131,9 +131,6 @@ "vercel:project": "source vercel/make-project-use-current-branch.sh", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "nx": { "targets": { "build:transpile": { diff --git a/packages/nitro/package.json b/packages/nitro/package.json index 335c3f864067..13137ad65167 100644 --- a/packages/nitro/package.json +++ b/packages/nitro/package.json @@ -69,9 +69,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/node-native/package.json b/packages/node-native/package.json index 4099a08d8e07..bc8c7bb00a5b 100644 --- a/packages/node-native/package.json +++ b/packages/node-native/package.json @@ -63,9 +63,6 @@ "@sentry-internal/rollup-utils": "11.9.0", "@types/node": "^20.19.0" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/node/package.json b/packages/node/package.json index d0e8ca29a58c..35ad65e7cb29 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -109,9 +109,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 770d513ba8c5..17e86d4b1eff 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -100,9 +100,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "nx": { "targets": { "build:transpile": { diff --git a/packages/opentelemetry/package.json b/packages/opentelemetry/package.json index e86737f32a10..e9fb730e6f1e 100644 --- a/packages/opentelemetry/package.json +++ b/packages/opentelemetry/package.json @@ -57,8 +57,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/profiling-node/package.json b/packages/profiling-node/package.json index 7f1adab6456c..e5ac71a01064 100644 --- a/packages/profiling-node/package.json +++ b/packages/profiling-node/package.json @@ -58,9 +58,6 @@ "@sentry-internal/rollup-utils": "11.9.0", "@types/node": "^20.19.0" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 640dff1199e6..097e965abe48 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -103,8 +103,5 @@ "test:unit": "vitest run", "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/react/package.json b/packages/react/package.json index 37455d4c5218..9ce7f6289594 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -110,8 +110,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/remix/package.json b/packages/remix/package.json index e2a4d8e8270a..35e651a3cdfa 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -128,9 +128,6 @@ "test:watch": "vitest --watch --config vitest.config.unit.ts", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/replay-canvas/package.json b/packages/replay-canvas/package.json index 0dc711b0784d..fe64168a5027 100644 --- a/packages/replay-canvas/package.json +++ b/packages/replay-canvas/package.json @@ -67,8 +67,5 @@ }, "engines": { "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/replay-internal/package.json b/packages/replay-internal/package.json index c5e224036ea3..4a870500b14f 100644 --- a/packages/replay-internal/package.json +++ b/packages/replay-internal/package.json @@ -87,8 +87,5 @@ }, "engines": { "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/replay-worker/package.json b/packages/replay-worker/package.json index a4c6b3d61ac2..48b2bf218f48 100644 --- a/packages/replay-worker/package.json +++ b/packages/replay-worker/package.json @@ -59,8 +59,5 @@ }, "engines": { "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/rollup-plugin/package.json b/packages/rollup-plugin/package.json index 070ca14eb146..c019b59372a4 100644 --- a/packages/rollup-plugin/package.json +++ b/packages/rollup-plugin/package.json @@ -61,8 +61,5 @@ "rollup": { "optional": true } - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/server-runtime-injection/package.json b/packages/server-runtime-injection/package.json index df48d3d90400..13c52608e8dd 100644 --- a/packages/server-runtime-injection/package.json +++ b/packages/server-runtime-injection/package.json @@ -76,9 +76,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": [ "**/import-hook.mjs" ], diff --git a/packages/server-utils/package.json b/packages/server-utils/package.json index c4fcc740ec4f..5ac7402840b8 100644 --- a/packages/server-utils/package.json +++ b/packages/server-utils/package.json @@ -128,9 +128,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/solid/package.json b/packages/solid/package.json index 825ce076aa3c..65642c9199bf 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -104,9 +104,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "nx": { "targets": { "build:types": { diff --git a/packages/solidstart/package.json b/packages/solidstart/package.json index 759966425158..bd3bf459cb15 100644 --- a/packages/solidstart/package.json +++ b/packages/solidstart/package.json @@ -128,9 +128,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "nx": { "targets": { "build:types": { diff --git a/packages/svelte/package.json b/packages/svelte/package.json index f2c7c4b0451f..f9f59c288044 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -66,8 +66,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/sveltekit/package.json b/packages/sveltekit/package.json index 6396e9bcf2a7..f5bf6beae848 100644 --- a/packages/sveltekit/package.json +++ b/packages/sveltekit/package.json @@ -113,8 +113,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/tanstackstart-react/package.json b/packages/tanstackstart-react/package.json index 13d211f6fff8..7f8e27ab2ebe 100644 --- a/packages/tanstackstart-react/package.json +++ b/packages/tanstackstart-react/package.json @@ -86,9 +86,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/typescript/package.json b/packages/typescript/package.json index 840abb140dad..2ca483836d82 100644 --- a/packages/typescript/package.json +++ b/packages/typescript/package.json @@ -18,8 +18,5 @@ "scripts": { "clean": "pnpm exec rimraf sentry-typescript-*.tgz", "build:tarball": "npm pack" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/vercel-edge/package.json b/packages/vercel-edge/package.json index d8722dbc5dd9..db4deeb45f49 100644 --- a/packages/vercel-edge/package.json +++ b/packages/vercel-edge/package.json @@ -60,8 +60,5 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/vite-plugin/package.json b/packages/vite-plugin/package.json index 3153da639359..3ae62f5d58ab 100644 --- a/packages/vite-plugin/package.json +++ b/packages/vite-plugin/package.json @@ -52,8 +52,5 @@ }, "devDependencies": { "@sentry-internal/rollup-utils": "11.9.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/packages/vue/package.json b/packages/vue/package.json index 84ba6bedd7d8..260253be913d 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -87,9 +87,6 @@ "test:watch": "vitest --watch", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false, "nx": { "targets": { diff --git a/packages/wasm/package.json b/packages/wasm/package.json index 6ecc3cb96d5c..9d9c981e4c51 100644 --- a/packages/wasm/package.json +++ b/packages/wasm/package.json @@ -59,8 +59,5 @@ "lint:es-compatibility": "es-check es2020 ./build/{bundles,npm/cjs}/*.js && es-check es2020 ./build/npm/esm/*.js --module", "yalc:publish": "yalc publish --push --sig" }, - "volta": { - "extends": "../../package.json" - }, "sideEffects": false } diff --git a/packages/webpack-plugin/package.json b/packages/webpack-plugin/package.json index 3418c9b17c36..61a6e373ac16 100644 --- a/packages/webpack-plugin/package.json +++ b/packages/webpack-plugin/package.json @@ -60,8 +60,5 @@ }, "peerDependencies": { "webpack": ">=5.1.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/scripts/claude-cloud-setup.sh b/scripts/claude-cloud-setup.sh index 3659a65720d2..48fbe5620ee3 100755 --- a/scripts/claude-cloud-setup.sh +++ b/scripts/claude-cloud-setup.sh @@ -9,7 +9,7 @@ # cheap: a frozen-lockfile install is a no-op when node_modules is warm, and Nx # only rebuilds packages whose inputs actually changed. # -# Node/pnpm versions come from `package.json` (managed by Volta locally); in the +# Node/pnpm versions come from `package.json` (managed by pnpm locally); in the # cloud we rely on whatever Node runtime the sandbox provides, and install the # `packageManager` pnpm version when the sandbox has none. set -euo pipefail From 5762c5c39fd6706506fcf837241266731be55cc7 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 09:38:03 +0000 Subject: [PATCH 02/13] docs: Explain pnpm version management, setup and Volta migration Co-Authored-By: Francesco Gringl-Novy --- CONTRIBUTING.md | 73 +++++++++++++++++++++++++++----- dev-packages/e2e-tests/README.md | 6 +++ 2 files changed, 68 insertions(+), 11 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bafd4935dfbc..1585fea7e49a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,20 +19,71 @@ you get started, but if you have further questions, please feel free to reach ou ## Setting up an Environment > [!NOTE] -> This setup is experimental: we are moving from Volta (which is unmaintained) to pnpm-managed node versions. +> This setup is experimental. We are moving from Volta, which is +> [unmaintained](https://github.com/volta-cli/volta#readme), to node versions managed by pnpm. If you use Volta today, +> see [Migrating from Volta](#migrating-from-volta). -pnpm manages the versions of node and pnpm. The root `package.json` pins node in `devEngines.runtime` and pnpm in -`packageManager`. A package or E2E test app can override the node version with its own `devEngines.runtime`. +### How versions are managed -1. Install pnpm 12 with the [standalone script](https://pnpm.io/installation#using-a-standalone-script), for example - `curl -fsSL https://get.pnpm.io/install.sh | sh -`. -2. Install node through pnpm: `pnpm runtime set node 24 -g`. pnpm's `node` in `$PNPM_HOME/bin` then runs the version - that the nearest `package.json` pins, and downloads it if needed - ([project-aware global bins](https://pnpm.io/global-packages#project-aware-global-bins)). -3. If you use Volta, nvm or a similar tool, remove it from your `PATH` (or put `$PNPM_HOME/bin` first), so `node` - resolves to pnpm's shim. Check with `node --version` in the repo root. +- **node:** the root `package.json` pins node in `devEngines.runtime`. Packages and E2E test apps inherit it, and can + override it with their own `devEngines.runtime`. pnpm's `node` command runs the version of the nearest + `package.json` that pins one, and downloads it if needed + ([project-aware global bins](https://pnpm.io/global-packages#project-aware-global-bins)). +- **pnpm:** the root `package.json` pins pnpm in `packageManager`. Any pnpm you run in the repo downloads that version + and switches to it, so your global pnpm only needs to be pnpm 12 or newer. All workspace packages use the root + version. E2E test apps can set their own `packageManager`, see `dev-packages/e2e-tests/README.md`. +- **CI** reads the same fields: `actions/setup-node` reads `devEngines.runtime`, and `pnpm/action-setup` reads + `packageManager`. -pnpm switches to the `packageManager` version by itself, so you do not have to install a specific pnpm version. +### First-time setup + +1. Install pnpm 12 or newer with the [standalone script](https://pnpm.io/installation#using-a-standalone-script): + + ```sh + curl -fsSL https://get.pnpm.io/install.sh | sh - + ``` + + The script adds `$PNPM_HOME/bin` to your shell profile. Open a new terminal afterwards. For Windows, see the + [pnpm installation docs](https://pnpm.io/installation). + +2. Install a default node through pnpm. pnpm uses it outside of projects that pin node: + + ```sh + pnpm runtime set node 24 -g + ``` + +3. Check that `node` and `pnpm` come from pnpm. In the repo root, `node --version` should print the version of + `devEngines.runtime`, and `pnpm --version` the version of `packageManager`: + + ```sh + which node pnpm # both in $PNPM_HOME/bin + node --version + pnpm --version + ``` + + If `which` shows another location, a different tool (Volta, nvm, fnm, corepack, Homebrew node) comes first in your + `PATH`. Remove it, or move `$PNPM_HOME/bin` before it. + +### Updating versions + +- **node:** change `devEngines.runtime.version` in the root `package.json`, or in a package or E2E test app to override + it there. Contributors get the new version with their next `node` command, CI with its next run. +- **pnpm:** change `packageManager` in the root `package.json`. `pnpm self-update ` in the repo does this for + you. To update only your global pnpm, run `pnpm self-update` outside of the repo. + +### Migrating from Volta + +The repo no longer has a `volta` field, so Volta runs its default node instead of the version the repo pins, and pnpm +only works if you installed a default pnpm with Volta (`volta install pnpm`). + +- **If you don't need Volta for other projects:** remove it as described in the + [Volta docs](https://docs.volta.sh/advanced/uninstall): delete `~/.volta`, remove the Volta lines (`VOLTA_HOME`, + `VOLTA_FEATURE_PNPM` and the `PATH` entry) from your shell profile, and open a new terminal. Then follow the + [first-time setup](#first-time-setup). +- **If other projects still need Volta:** follow the [first-time setup](#first-time-setup) and make sure that + `$PNPM_HOME/bin` comes before `~/.volta/bin` in your `PATH`. pnpm's `node` does not read the `volta` field, so in + projects that pin node only with Volta, `node` runs pnpm's default node. Use `volta run node` or `volta run pnpm` + there to get the Volta version. `sentry-javascript` is a monorepo containing several packages, managed with pnpm workspaces and Nx. To get started, install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions. diff --git a/dev-packages/e2e-tests/README.md b/dev-packages/e2e-tests/README.md index d71ba9b1b8a3..c337b997dee5 100644 --- a/dev-packages/e2e-tests/README.md +++ b/dev-packages/e2e-tests/README.md @@ -131,6 +131,12 @@ Apps use the pnpm version of `packageManager` in the root `package.json`. To use `package.json` (for example `"packageManager": "pnpm@10.34.6"`), and use the settings of that version in its `pnpm-workspace.yaml`. pnpm then switches to that version, locally and in CI. The lowest supported version is pnpm 10. +Apps use the node version of `devEngines.runtime` in the root `package.json`. To use another version, set +`devEngines.runtime` in the app's `package.json` (for example `{ "name": "node", "version": "24.15.0", "onFail": "warn" }`). +Because the apps run in a temporary directory without the repo's `package.json` files above it, the copy step writes the +app's node and pnpm versions into the copied `package.json`. pnpm's `node` and `actions/setup-node` in CI read them +from there. + ### Test apps that deploy a real Cloudflare Worker Apps like `cloudflare-workers-send-to-sentry` deploy the built app as a real Worker and check what arrives in Sentry: From ce92958ed9eb72ec95da5235fc2adeafad17b3d9 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 09:45:53 +0000 Subject: [PATCH 03/13] test(e2e): Keep other devEngines runtimes when pinning node in the copied app Co-Authored-By: Francesco Gringl-Novy --- dev-packages/e2e-tests/lib/copyToTemp.mjs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/dev-packages/e2e-tests/lib/copyToTemp.mjs b/dev-packages/e2e-tests/lib/copyToTemp.mjs index c45e1ff362e4..269c95f9c736 100644 --- a/dev-packages/e2e-tests/lib/copyToTemp.mjs +++ b/dev-packages/e2e-tests/lib/copyToTemp.mjs @@ -8,6 +8,8 @@ import { fileURLToPath } from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); const REPO_ROOT = resolve(__dirname, '../../..'); +/** @typedef {{ name: string; version: string; onFail?: string }} RuntimeEntry */ + /** * @param {string} originalPath * @param {string} tmpDirPath @@ -26,7 +28,7 @@ export async function copyToTemp(originalPath, tmpDirPath) { */ function fixPackageJson(originalPath, cwd) { const packageJsonPath = join(cwd, 'package.json'); - /** @type {{ dependencies?: Record; devDependencies?: Record; devEngines?: Record; packageManager?: string }} */ + /** @type {{ dependencies?: Record; devDependencies?: Record; devEngines?: { runtime?: RuntimeEntry | RuntimeEntry[] } & Record; packageManager?: string }} */ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')); // 1. Fix file dependencies @@ -42,7 +44,11 @@ function fixPackageJson(originalPath, cwd) { if (!nodeRuntime || !packageManager) { throw new Error(`Could not resolve the node and pnpm versions for ${originalPath}.`); } - packageJson.devEngines = { ...packageJson.devEngines, runtime: nodeRuntime }; + const ownRuntimes = [packageJson.devEngines?.runtime].flat().filter(runtime => runtime !== undefined); + if (!ownRuntimes.some(runtime => runtime.name === 'node')) { + const runtime = ownRuntimes.length ? [...ownRuntimes, nodeRuntime] : nodeRuntime; + packageJson.devEngines = { ...packageJson.devEngines, runtime }; + } packageJson.packageManager = packageManager; console.log(`Pinned node ${nodeRuntime.version} and ${packageManager}`); @@ -52,10 +58,10 @@ function fixPackageJson(originalPath, cwd) { /** * The nearest `devEngines.runtime` node entry and `packageManager` between the app and the repo root. * @param {string} appPath - * @returns {{ nodeRuntime?: { name: string; version: string }; packageManager?: string }} + * @returns {{ nodeRuntime?: RuntimeEntry; packageManager?: string }} */ function resolveToolPins(appPath) { - /** @type {{ name: string; version: string } | undefined} */ + /** @type {RuntimeEntry | undefined} */ let nodeRuntime; /** @type {string | undefined} */ let packageManager; From 250cb67ec774bd8c02d16bc2c9eaea76931b7c83 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 09:47:14 +0000 Subject: [PATCH 04/13] ci: Explain the two setup-node steps in the E2E setup Co-Authored-By: Francesco Gringl-Novy --- .github/actions/prepare-e2e-test/action.yml | 6 +++++- .github/workflows/canary.yml | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/actions/prepare-e2e-test/action.yml b/.github/actions/prepare-e2e-test/action.yml index 486e49df6ada..4a4c8a012026 100644 --- a/.github/actions/prepare-e2e-test/action.yml +++ b/.github/actions/prepare-e2e-test/action.yml @@ -22,6 +22,8 @@ inputs: runs: using: 'composite' steps: + # Uses the repo's root node pin for the steps before the app is copied (installing pnpm, `test:prepare`, + # `test:validate`, `ci:copy-to-temp`). The app's own node version is set up after the copy below. - name: Set up Node uses: actions/setup-node@v7 with: @@ -102,7 +104,9 @@ runs: shell: bash working-directory: dev-packages/e2e-tests - # The copy pins the node version that the app inherits or overrides in `devEngines.runtime`. + # Reads the node version that `ci:copy-to-temp` wrote into the copied app's `devEngines.runtime`: the app's own pin + # if it has one, otherwise the one inherited from the repo root. setup-node can't look up parent directories, so the + # temp copy has to carry the resolved version. - name: Set up Node for the E2E app uses: actions/setup-node@v7 with: diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index e7593938ac5d..55a6d1f10bef 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -122,6 +122,8 @@ jobs: ref: ${{ env.HEAD_COMMIT }} - name: Install pnpm uses: ./.github/actions/install-pnpm + # Uses the repo's root node pin for the steps before the app is copied (`test:prepare`, `test:validate`, + # `ci:copy-to-temp`). The app's own node version is set up after the copy below. - name: Set up Node uses: actions/setup-node@v7 with: @@ -147,7 +149,9 @@ jobs: }}/test-application working-directory: dev-packages/e2e-tests - # The copy pins the node version that the app inherits or overrides in `devEngines.runtime`. + # Reads the node version that `ci:copy-to-temp` wrote into the copied app's `devEngines.runtime`: the app's own pin + # if it has one, otherwise the one inherited from the repo root. setup-node can't look up parent directories, so + # the temp copy has to carry the resolved version. - name: Set up Node for the E2E app uses: actions/setup-node@v7 with: From 202353fdece28daf1f1be65b489589b1c2d7f18c Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 09:53:35 +0000 Subject: [PATCH 05/13] test(e2e): Drop the node 24.15.0 pin from node-openai-decisions-send-to-sentry The pin came in with the app in #25331 without a stated reason and was already older than the repo's node version at the time, so the app now uses the root pin. Co-Authored-By: Francesco Gringl-Novy --- .../node-openai-decisions-send-to-sentry/package.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json b/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json index ff1c5900fe0c..5f2855dd6dc1 100644 --- a/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json +++ b/dev-packages/e2e-tests/test-applications/node-openai-decisions-send-to-sentry/package.json @@ -38,12 +38,5 @@ "label": "node-openai-decisions-send-to-sentry (latest)" } ] - }, - "devEngines": { - "runtime": { - "name": "node", - "version": "24.15.0", - "onFail": "warn" - } } } From 6a4c2e38569718dc3dd6a61a7aeaddd25da98e71 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 10:09:36 +0000 Subject: [PATCH 06/13] docs: Address review feedback on setup docs and SAM node comments Link the pnpm install docs instead of repeating them, move PATH checks and the Volta migration into a troubleshooting section, and fix the SAM image comments, which claimed the node 20 default matched the root pin. --- CONTRIBUTING.md | 50 +++++++------------ .../aws-serverless-layer/pull-sam-image.sh | 2 +- .../tests/lambda-fixtures.ts | 2 +- .../aws-serverless/pull-sam-image.sh | 2 +- .../aws-serverless/tests/lambda-fixtures.ts | 2 +- 5 files changed, 23 insertions(+), 35 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1585fea7e49a..68247d8ec78d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,32 +37,16 @@ you get started, but if you have further questions, please feel free to reach ou ### First-time setup -1. Install pnpm 12 or newer with the [standalone script](https://pnpm.io/installation#using-a-standalone-script): - - ```sh - curl -fsSL https://get.pnpm.io/install.sh | sh - - ``` - - The script adds `$PNPM_HOME/bin` to your shell profile. Open a new terminal afterwards. For Windows, see the - [pnpm installation docs](https://pnpm.io/installation). - +1. Install pnpm 12 or newer, see the [pnpm installation docs](https://pnpm.io/installation). The + [standalone script](https://pnpm.io/installation#using-a-standalone-script) works without an existing node. 2. Install a default node through pnpm. pnpm uses it outside of projects that pin node: ```sh pnpm runtime set node 24 -g ``` -3. Check that `node` and `pnpm` come from pnpm. In the repo root, `node --version` should print the version of - `devEngines.runtime`, and `pnpm --version` the version of `packageManager`: - - ```sh - which node pnpm # both in $PNPM_HOME/bin - node --version - pnpm --version - ``` - - If `which` shows another location, a different tool (Volta, nvm, fnm, corepack, Homebrew node) comes first in your - `PATH`. Remove it, or move `$PNPM_HOME/bin` before it. +3. In the repo root, `node --version` should print the version of `devEngines.runtime`, and `pnpm --version` the version + of `packageManager`. If not, see [Troubleshooting](#troubleshooting). ### Updating versions @@ -71,19 +55,23 @@ you get started, but if you have further questions, please feel free to reach ou - **pnpm:** change `packageManager` in the root `package.json`. `pnpm self-update ` in the repo does this for you. To update only your global pnpm, run `pnpm self-update` outside of the repo. -### Migrating from Volta +### Troubleshooting + +#### `node` or `pnpm` has the wrong version + +Run `which node pnpm`. Both should be in `$PNPM_HOME/bin`. If not, a different tool (Volta, nvm, fnm, corepack, +Homebrew node) comes first in your `PATH`. Remove it, or move `$PNPM_HOME/bin` before it. + +#### Migrating from Volta The repo no longer has a `volta` field, so Volta runs its default node instead of the version the repo pins, and pnpm -only works if you installed a default pnpm with Volta (`volta install pnpm`). - -- **If you don't need Volta for other projects:** remove it as described in the - [Volta docs](https://docs.volta.sh/advanced/uninstall): delete `~/.volta`, remove the Volta lines (`VOLTA_HOME`, - `VOLTA_FEATURE_PNPM` and the `PATH` entry) from your shell profile, and open a new terminal. Then follow the - [first-time setup](#first-time-setup). -- **If other projects still need Volta:** follow the [first-time setup](#first-time-setup) and make sure that - `$PNPM_HOME/bin` comes before `~/.volta/bin` in your `PATH`. pnpm's `node` does not read the `volta` field, so in - projects that pin node only with Volta, `node` runs pnpm's default node. Use `volta run node` or `volta run pnpm` - there to get the Volta version. +only works if you installed a default pnpm with Volta. + +- **If you don't need Volta for other projects:** [uninstall it](https://docs.volta.sh/advanced/uninstall), then follow + the [first-time setup](#first-time-setup). +- **If other projects still need Volta:** follow the [first-time setup](#first-time-setup) and put `$PNPM_HOME/bin` + before `~/.volta/bin` in your `PATH`. pnpm's `node` does not read the `volta` field, so use `volta run node` in + projects that pin node only with Volta. `sentry-javascript` is a monorepo containing several packages, managed with pnpm workspaces and Nx. To get started, install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions. diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh index de768a9961ba..03855b9aaea2 100755 --- a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pull-sam-image.sh @@ -1,7 +1,7 @@ #!/bin/bash # Pull the Lambda Node docker image for SAM local. NODE_VERSION should be the major only (e.g. 20). -# Defaults to 20 to match the repo's Node major (see root package.json "devEngines.runtime"). +# Defaults to 20, the oldest node major the SDK supports (see `engines` in packages/aws-serverless/package.json). set -e diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts index fda3cd5d8739..1a041f9cd638 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/tests/lambda-fixtures.ts @@ -14,7 +14,7 @@ const SAM_START_TIMEOUT_MS = 90_000; const SAM_START_ATTEMPTS = 2; const SAM_OUTPUT_MAX_CHARS = 20_000; -/** Major Node for SAM `--invoke-image`; default matches root `package.json` `devEngines.runtime` and `pull-sam-image.sh`. */ +/** Major Node for SAM `--invoke-image`; default is the oldest major the SDK supports and matches `pull-sam-image.sh`. */ const DEFAULT_NODE_VERSION_MAJOR = '20'; const SAM_INSTALL_ERROR = diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh b/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh index de768a9961ba..03855b9aaea2 100755 --- a/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh +++ b/dev-packages/e2e-tests/test-applications/aws-serverless/pull-sam-image.sh @@ -1,7 +1,7 @@ #!/bin/bash # Pull the Lambda Node docker image for SAM local. NODE_VERSION should be the major only (e.g. 20). -# Defaults to 20 to match the repo's Node major (see root package.json "devEngines.runtime"). +# Defaults to 20, the oldest node major the SDK supports (see `engines` in packages/aws-serverless/package.json). set -e diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts b/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts index fda3cd5d8739..1a041f9cd638 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts +++ b/dev-packages/e2e-tests/test-applications/aws-serverless/tests/lambda-fixtures.ts @@ -14,7 +14,7 @@ const SAM_START_TIMEOUT_MS = 90_000; const SAM_START_ATTEMPTS = 2; const SAM_OUTPUT_MAX_CHARS = 20_000; -/** Major Node for SAM `--invoke-image`; default matches root `package.json` `devEngines.runtime` and `pull-sam-image.sh`. */ +/** Major Node for SAM `--invoke-image`; default is the oldest major the SDK supports and matches `pull-sam-image.sh`. */ const DEFAULT_NODE_VERSION_MAJOR = '20'; const SAM_INSTALL_ERROR = From d148cc4712a530617c4f358fd1a14a41de0047f7 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 11:12:14 +0000 Subject: [PATCH 07/13] docs: Keep only setup steps at the top of CONTRIBUTING.md Move how node and pnpm versions are managed, the PATH check and the Volta migration into a short section at the end, and drop the updating-versions part. --- CONTRIBUTING.md | 89 ++++++++++++++++++------------------------------- 1 file changed, 33 insertions(+), 56 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 68247d8ec78d..f82cb1f58f78 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,70 +18,26 @@ you get started, but if you have further questions, please feel free to reach ou ## Setting up an Environment -> [!NOTE] -> This setup is experimental. We are moving from Volta, which is -> [unmaintained](https://github.com/volta-cli/volta#readme), to node versions managed by pnpm. If you use Volta today, -> see [Migrating from Volta](#migrating-from-volta). +`sentry-javascript` is a monorepo containing several packages, managed with pnpm workspaces and Nx. pnpm installs the +node and pnpm versions the repo pins. -### How versions are managed - -- **node:** the root `package.json` pins node in `devEngines.runtime`. Packages and E2E test apps inherit it, and can - override it with their own `devEngines.runtime`. pnpm's `node` command runs the version of the nearest - `package.json` that pins one, and downloads it if needed - ([project-aware global bins](https://pnpm.io/global-packages#project-aware-global-bins)). -- **pnpm:** the root `package.json` pins pnpm in `packageManager`. Any pnpm you run in the repo downloads that version - and switches to it, so your global pnpm only needs to be pnpm 12 or newer. All workspace packages use the root - version. E2E test apps can set their own `packageManager`, see `dev-packages/e2e-tests/README.md`. -- **CI** reads the same fields: `actions/setup-node` reads `devEngines.runtime`, and `pnpm/action-setup` reads - `packageManager`. - -### First-time setup - -1. Install pnpm 12 or newer, see the [pnpm installation docs](https://pnpm.io/installation). The - [standalone script](https://pnpm.io/installation#using-a-standalone-script) works without an existing node. -2. Install a default node through pnpm. pnpm uses it outside of projects that pin node: +1. Install pnpm 12 or newer, see the [pnpm installation docs](https://pnpm.io/installation). +2. Install a default node through pnpm: ```sh pnpm runtime set node 24 -g ``` -3. In the repo root, `node --version` should print the version of `devEngines.runtime`, and `pnpm --version` the version - of `packageManager`. If not, see [Troubleshooting](#troubleshooting). - -### Updating versions - -- **node:** change `devEngines.runtime.version` in the root `package.json`, or in a package or E2E test app to override - it there. Contributors get the new version with their next `node` command, CI with its next run. -- **pnpm:** change `packageManager` in the root `package.json`. `pnpm self-update ` in the repo does this for - you. To update only your global pnpm, run `pnpm self-update` outside of the repo. - -### Troubleshooting - -#### `node` or `pnpm` has the wrong version - -Run `which node pnpm`. Both should be in `$PNPM_HOME/bin`. If not, a different tool (Volta, nvm, fnm, corepack, -Homebrew node) comes first in your `PATH`. Remove it, or move `$PNPM_HOME/bin` before it. - -#### Migrating from Volta - -The repo no longer has a `volta` field, so Volta runs its default node instead of the version the repo pins, and pnpm -only works if you installed a default pnpm with Volta. - -- **If you don't need Volta for other projects:** [uninstall it](https://docs.volta.sh/advanced/uninstall), then follow - the [first-time setup](#first-time-setup). -- **If other projects still need Volta:** follow the [first-time setup](#first-time-setup) and put `$PNPM_HOME/bin` - before `~/.volta/bin` in your `PATH`. pnpm's `node` does not read the `volta` field, so use `volta run node` in - projects that pin node only with Volta. - -`sentry-javascript` is a monorepo containing several packages, managed with pnpm workspaces and Nx. To get started, -install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions. +3. Install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type + definitions: -``` -$ pnpm install -$ pnpm run build -``` + ```sh + pnpm install + pnpm run build + ``` -With that, the repo is fully set up and you are ready to run all commands. +With that, the repo is fully set up and you are ready to run all commands. If you used Volta before, or `node --version` +doesn't match the repo, see [Node and pnpm Versions](#node-and-pnpm-versions). ## Building Packages @@ -267,3 +223,24 @@ See [PR Reviews](./docs/pr-reviews.md). _These steps are only relevant to Sentry employees when preparing and publishing a new SDK release._ [See the docs for publishing a release](./docs/publishing-a-release.md) + +## Node and pnpm Versions + +_Experimental: we are moving from Volta, which is [unmaintained](https://github.com/volta-cli/volta#readme), to node +versions managed by pnpm._ + +- The root `package.json` pins node in `devEngines.runtime` and pnpm in `packageManager`. CI reads the same fields. +- pnpm's `node` command runs the node version of the nearest `package.json` that pins one + ([project-aware global bins](https://pnpm.io/global-packages#project-aware-global-bins)). Packages and E2E test apps + inherit the root version, and can override it with their own `devEngines.runtime`. + +If `node --version` or `pnpm --version` doesn't match the repo, run `which node pnpm`. Both should be in +`$PNPM_HOME/bin`. If not, another tool (Volta, nvm, fnm, corepack, Homebrew node) comes first in your `PATH`. Remove it, +or move `$PNPM_HOME/bin` before it. + +### Migrating from Volta + +The repo no longer has a `volta` field, so Volta runs its default node instead of the version the repo pins. +[Uninstall Volta](https://docs.volta.sh/advanced/uninstall) and follow the +[setup](#setting-up-an-environment). If other projects still need Volta, keep it, but put `$PNPM_HOME/bin` before +`~/.volta/bin` in your `PATH`, and use `volta run node` in those projects. From 07b7b20ea27fe4626ec55b1e13bfef3823851ad2 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 11:15:00 +0000 Subject: [PATCH 08/13] docs: Apply review wording in CONTRIBUTING.md --- CONTRIBUTING.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f82cb1f58f78..09904f4c6e75 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,7 +22,7 @@ you get started, but if you have further questions, please feel free to reach ou node and pnpm versions the repo pins. 1. Install pnpm 12 or newer, see the [pnpm installation docs](https://pnpm.io/installation). -2. Install a default node through pnpm: +2. Install a default node version through pnpm: ```sh pnpm runtime set node 24 -g @@ -226,9 +226,6 @@ _These steps are only relevant to Sentry employees when preparing and publishing ## Node and pnpm Versions -_Experimental: we are moving from Volta, which is [unmaintained](https://github.com/volta-cli/volta#readme), to node -versions managed by pnpm._ - - The root `package.json` pins node in `devEngines.runtime` and pnpm in `packageManager`. CI reads the same fields. - pnpm's `node` command runs the node version of the nearest `package.json` that pins one ([project-aware global bins](https://pnpm.io/global-packages#project-aware-global-bins)). Packages and E2E test apps From c1584bf5198561ff5695434899ad67724ed7cbd1 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 11:16:42 +0000 Subject: [PATCH 09/13] docs: Drop experimental wording from AGENTS.md Co-Authored-By: Francesco Gringl-Novy --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index eb0a569db184..c756c4ada989 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ Monorepo with 40+ packages in `@sentry/*`, managed with pnpm workspaces and Nx. ## Setup -- pnpm 12 manages Node.js and pnpm versions (experimental, see `CONTRIBUTING.md`): node in `devEngines.runtime`, pnpm in `packageManager` +- pnpm 12 manages Node.js and pnpm versions (see `CONTRIBUTING.md`): node in `devEngines.runtime`, pnpm in `packageManager` - After cloning: `pnpm install && pnpm run build` - Never change Node.js, pnpm, or package manager versions unless explicitly asked From 6029c7205e6de6c69ba8901f5e3598f63bc04406 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 14:23:01 +0000 Subject: [PATCH 10/13] docs: Drop pnpm major version from AGENTS.md setup note --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index c756c4ada989..f6fbb3bb9246 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ Monorepo with 40+ packages in `@sentry/*`, managed with pnpm workspaces and Nx. ## Setup -- pnpm 12 manages Node.js and pnpm versions (see `CONTRIBUTING.md`): node in `devEngines.runtime`, pnpm in `packageManager` +- pnpm manages Node.js and pnpm versions (see `CONTRIBUTING.md`): node in `devEngines.runtime`, pnpm in `packageManager` - After cloning: `pnpm install && pnpm run build` - Never change Node.js, pnpm, or package manager versions unless explicitly asked From 4ba8b30e721178bcab87a790e727bbc314c08882 Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:04:29 +0000 Subject: [PATCH 11/13] docs: Point to pnpm setup when the global bin dir is not in PATH --- CONTRIBUTING.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 09904f4c6e75..c81a77b0a908 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,6 +28,10 @@ node and pnpm versions the repo pins. pnpm runtime set node 24 -g ``` + If this fails with `ERR_PNPM_GLOBAL_BIN_DIR_NOT_IN_PATH` (for example because pnpm came from npm or Homebrew instead + of the install script), run [`pnpm setup`](https://pnpm.io/cli/setup) to add pnpm's global bin directory to your + `PATH`, restart your shell, and try again. + 3. Install all dependencies, and then perform an initial build, so TypeScript can read all of the linked type definitions: From 2813aca2ea7370426c3174efefc961cd02db133b Mon Sep 17 00:00:00 2001 From: "sentry-junior[bot]" <264270552+sentry-junior[bot]@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:09:46 +0000 Subject: [PATCH 12/13] docs: Use Node.js instead of node in prose --- .claude/CLOUD.md | 2 +- AGENTS.md | 2 +- CONTRIBUTING.md | 20 ++++++++++---------- dev-packages/e2e-tests/README.md | 4 ++-- package.json | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.claude/CLOUD.md b/.claude/CLOUD.md index 1a4fce301258..ce4c2c407079 100644 --- a/.claude/CLOUD.md +++ b/.claude/CLOUD.md @@ -23,5 +23,5 @@ These cannot live in the repo and must be set once per environment: ## Notes -- Node/pnpm versions come from `package.json` (`devEngines.runtime` and `packageManager`, managed by pnpm locally). In the cloud we use the sandbox Node runtime, and the setup script installs the pinned pnpm version when the sandbox has none. +- Node.js/pnpm versions come from `package.json` (`devEngines.runtime` and `packageManager`, managed by pnpm locally). In the cloud we use the sandbox Node.js runtime, and the setup script installs the pinned pnpm version when the sandbox has none. - The full production `pnpm run build` is not run at startup; `build:dev` (transpile + types) is enough for editing and running unit tests. Run `pnpm run build` manually if you need bundles. diff --git a/AGENTS.md b/AGENTS.md index f6fbb3bb9246..d3337807b807 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ Monorepo with 40+ packages in `@sentry/*`, managed with pnpm workspaces and Nx. ## Setup -- pnpm manages Node.js and pnpm versions (see `CONTRIBUTING.md`): node in `devEngines.runtime`, pnpm in `packageManager` +- pnpm manages Node.js and pnpm versions (see `CONTRIBUTING.md`): Node.js in `devEngines.runtime`, pnpm in `packageManager` - After cloning: `pnpm install && pnpm run build` - Never change Node.js, pnpm, or package manager versions unless explicitly asked diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c81a77b0a908..79a1beab5799 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,10 +19,10 @@ you get started, but if you have further questions, please feel free to reach ou ## Setting up an Environment `sentry-javascript` is a monorepo containing several packages, managed with pnpm workspaces and Nx. pnpm installs the -node and pnpm versions the repo pins. +Node.js and pnpm versions the repo pins. 1. Install pnpm 12 or newer, see the [pnpm installation docs](https://pnpm.io/installation). -2. Install a default node version through pnpm: +2. Install a default Node.js version through pnpm: ```sh pnpm runtime set node 24 -g @@ -41,7 +41,7 @@ node and pnpm versions the repo pins. ``` With that, the repo is fully set up and you are ready to run all commands. If you used Volta before, or `node --version` -doesn't match the repo, see [Node and pnpm Versions](#node-and-pnpm-versions). +doesn't match the repo, see [Node.js and pnpm Versions](#nodejs-and-pnpm-versions). ## Building Packages @@ -94,8 +94,8 @@ E2E tests verify SDK behavior in real-world framework scenarios. ### Prerequisites 1. **Docker**: Required for some E2E tests -2. **pnpm-managed node** (see [Setting up an Environment](#setting-up-an-environment)): The E2E tests run each app on - the node version that it pins. Without pnpm's `node` shim, they use your current node version. +2. **pnpm-managed Node.js** (see [Setting up an Environment](#setting-up-an-environment)): The E2E tests run each app on + the Node.js version that it pins. Without pnpm's `node` shim, they use your current Node.js version. ### Step-by-Step Instructions @@ -228,20 +228,20 @@ _These steps are only relevant to Sentry employees when preparing and publishing [See the docs for publishing a release](./docs/publishing-a-release.md) -## Node and pnpm Versions +## Node.js and pnpm Versions -- The root `package.json` pins node in `devEngines.runtime` and pnpm in `packageManager`. CI reads the same fields. -- pnpm's `node` command runs the node version of the nearest `package.json` that pins one +- The root `package.json` pins Node.js in `devEngines.runtime` and pnpm in `packageManager`. CI reads the same fields. +- pnpm's `node` command runs the Node.js version of the nearest `package.json` that pins one ([project-aware global bins](https://pnpm.io/global-packages#project-aware-global-bins)). Packages and E2E test apps inherit the root version, and can override it with their own `devEngines.runtime`. If `node --version` or `pnpm --version` doesn't match the repo, run `which node pnpm`. Both should be in -`$PNPM_HOME/bin`. If not, another tool (Volta, nvm, fnm, corepack, Homebrew node) comes first in your `PATH`. Remove it, +`$PNPM_HOME/bin`. If not, another tool (Volta, nvm, fnm, corepack, Homebrew Node.js) comes first in your `PATH`. Remove it, or move `$PNPM_HOME/bin` before it. ### Migrating from Volta -The repo no longer has a `volta` field, so Volta runs its default node instead of the version the repo pins. +The repo no longer has a `volta` field, so Volta runs its default Node.js instead of the version the repo pins. [Uninstall Volta](https://docs.volta.sh/advanced/uninstall) and follow the [setup](#setting-up-an-environment). If other projects still need Volta, keep it, but put `$PNPM_HOME/bin` before `~/.volta/bin` in your `PATH`, and use `volta run node` in those projects. diff --git a/dev-packages/e2e-tests/README.md b/dev-packages/e2e-tests/README.md index c337b997dee5..ce769d3c87f8 100644 --- a/dev-packages/e2e-tests/README.md +++ b/dev-packages/e2e-tests/README.md @@ -131,10 +131,10 @@ Apps use the pnpm version of `packageManager` in the root `package.json`. To use `package.json` (for example `"packageManager": "pnpm@10.34.6"`), and use the settings of that version in its `pnpm-workspace.yaml`. pnpm then switches to that version, locally and in CI. The lowest supported version is pnpm 10. -Apps use the node version of `devEngines.runtime` in the root `package.json`. To use another version, set +Apps use the Node.js version of `devEngines.runtime` in the root `package.json`. To use another version, set `devEngines.runtime` in the app's `package.json` (for example `{ "name": "node", "version": "24.15.0", "onFail": "warn" }`). Because the apps run in a temporary directory without the repo's `package.json` files above it, the copy step writes the -app's node and pnpm versions into the copied `package.json`. pnpm's `node` and `actions/setup-node` in CI read them +app's Node.js and pnpm versions into the copied `package.json`. pnpm's `node` and `actions/setup-node` in CI read them from there. ### Test apps that deploy a real Cloudflare Worker diff --git a/package.json b/package.json index 8b06e57b39b3..954928582f62 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "packageManager": "pnpm@12.11.2", "//_devEngines_comment": [ "pnpm's global `node` shim runs the nearest `devEngines.runtime` version, see CONTRIBUTING.md. Packages and E2E apps override it with their own entry.", - "`onFail: warn` keeps node out of the lockfile, so `pnpm run` uses the node of `setup-node` in the CI node version matrix." + "`onFail: warn` keeps Node.js out of the lockfile, so `pnpm run` uses the Node.js of `setup-node` in the CI Node.js version matrix." ], "devEngines": { "runtime": { From 3f708dc13237dbd6147f29e886f8f2fb89055946 Mon Sep 17 00:00:00 2001 From: Francesco Novy Date: Wed, 28 Oct 2026 08:27:23 +0100 Subject: [PATCH 13/13] test(e2e): Drop volta config from e2e apps added on develop Co-Authored-By: Claude Opus 5.5 --- .../test-applications/aws-serverless-esbuild/package.json | 3 --- .../e2e-tests/test-applications/nestjs-webpack/package.json | 3 --- .../tanstackstart-react-sourcemaps/package.json | 3 --- 3 files changed, 9 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-esbuild/package.json b/dev-packages/e2e-tests/test-applications/aws-serverless-esbuild/package.json index fae771717d24..6b3360342abf 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless-esbuild/package.json +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-esbuild/package.json @@ -16,8 +16,5 @@ "@sentry-internal/test-utils": "file:../../packed/sentry-internal-test-utils-packed.tgz", "graphql": "16.9.0", "esbuild": "0.28.2" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-webpack/package.json b/dev-packages/e2e-tests/test-applications/nestjs-webpack/package.json index e61a30b99e56..3dd2c2c44dad 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-webpack/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-webpack/package.json @@ -29,8 +29,5 @@ "ts-loader": "^9.4.3", "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" - }, - "volta": { - "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react-sourcemaps/package.json b/dev-packages/e2e-tests/test-applications/tanstackstart-react-sourcemaps/package.json index 865f7ace7a17..1dd5050c0372 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react-sourcemaps/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react-sourcemaps/package.json @@ -28,9 +28,6 @@ "typescript": "^5.9.0", "vite": "^8.3.0" }, - "volta": { - "extends": "../../package.json" - }, "sentryTest": { "optional": true }