From a55a673363a35c364e130dec0352a525ffee885c Mon Sep 17 00:00:00 2001 From: s1gr1d <32902192+s1gr1d@users.noreply.github.com> Date: Tue, 13 Oct 2026 17:28:00 +0200 Subject: [PATCH 1/6] ci(e2e): Run E2E tests with pnpm 12 Volta cannot run pnpm 12, so pnpm is now a root devDependency. Volta only pins node per app. pnpm 11+ reads settings only from pnpm-workspace.yaml and blocks unlisted build scripts, so each app now has a pnpm-workspace.yaml with allowBuilds and minimumReleaseAge: 0. --- .agents/skills/e2e/SKILL.md | 2 +- .cursor/environment.json | 6 +- .github/actions/install-pnpm/action.yml | 29 ++---- .github/workflows/build.yml | 15 +--- .github/workflows/canary.yml | 6 +- .github/workflows/lighthouse.yml | 4 +- AGENTS.md | 3 +- CONTRIBUTING.md | 9 +- .../fixtures/esbuild/package.json | 7 -- .../fixtures/esbuild/pnpm-workspace.yaml | 7 ++ .../fixtures/rolldown/package.json | 7 -- .../fixtures/rolldown/pnpm-workspace.yaml | 5 ++ .../fixtures/rollup3/package.json | 7 -- .../fixtures/rollup3/pnpm-workspace.yaml | 5 ++ .../fixtures/rollup4/package.json | 7 -- .../fixtures/rollup4/pnpm-workspace.yaml | 5 ++ .../fixtures/vite4/package.json | 7 -- .../fixtures/vite4/pnpm-workspace.yaml | 7 ++ .../fixtures/vite6/package.json | 7 -- .../fixtures/vite6/pnpm-workspace.yaml | 7 ++ .../fixtures/vite7/package.json | 7 -- .../fixtures/vite7/pnpm-workspace.yaml | 7 ++ .../fixtures/vite8/package.json | 7 -- .../fixtures/vite8/pnpm-workspace.yaml | 5 ++ .../fixtures/webpack5/package.json | 7 -- .../fixtures/webpack5/pnpm-workspace.yaml | 5 ++ dev-packages/e2e-tests/README.md | 13 ++- dev-packages/e2e-tests/lib/pnpmOverrides.ts | 78 ++++------------ dev-packages/e2e-tests/run.ts | 49 ++++++---- .../angular-17/pnpm-workspace.yaml | 4 + .../angular-18/pnpm-workspace.yaml | 6 ++ .../angular-19/pnpm-workspace.yaml | 6 ++ .../angular-20/pnpm-workspace.yaml | 6 ++ .../angular-21/pnpm-workspace.yaml | 6 ++ .../angular-22/pnpm-workspace.yaml | 6 ++ .../astro-4/pnpm-workspace.yaml | 1 + .../astro-5-cf-workers/pnpm-workspace.yaml | 4 + .../test-applications/astro-5/package.json | 5 -- .../astro-5/pnpm-workspace.yaml | 3 + .../astro-6-cf-workers/pnpm-workspace.yaml | 4 + .../astro-6/pnpm-workspace.yaml | 1 + .../astro-7-static/pnpm-workspace.yaml | 1 + .../astro-7/pnpm-workspace.yaml | 1 + .../aws-serverless-layer/package.json | 8 +- .../aws-serverless-layer/pnpm-workspace.yaml | 3 + .../aws-serverless/pnpm-workspace.yaml | 1 + .../aws-serverless/src/stack.ts | 15 ++-- .../browser-bfcache/package.json | 3 +- .../browser-bfcache/pnpm-workspace.yaml | 1 + .../browser-mfe-vite/package.json | 3 +- .../browser-mfe-vite/pnpm-workspace.yaml | 1 + .../browser-webworker-vite/package.json | 3 +- .../pnpm-workspace.yaml | 1 + .../bun-bytecode/pnpm-workspace.yaml | 1 + .../bun-express/pnpm-workspace.yaml | 1 + .../bun-mysql/pnpm-workspace.yaml | 1 + .../cloudflare-agent/pnpm-workspace.yaml | 5 ++ .../pnpm-workspace.yaml | 5 ++ .../pnpm-workspace.yaml | 4 + .../cloudflare-local-workers/package.json | 5 -- .../pnpm-workspace.yaml | 6 ++ .../cloudflare-mastra/pnpm-workspace.yaml | 4 + .../cloudflare-mcp-agent/pnpm-workspace.yaml | 5 ++ .../cloudflare-mcp/pnpm-workspace.yaml | 5 ++ .../pnpm-workspace.yaml | 4 + .../cloudflare-pi-durable/pnpm-workspace.yaml | 4 + .../cloudflare-think/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../cloudflare-workers-static/package.json | 5 -- .../pnpm-workspace.yaml | 6 ++ .../pnpm-workspace.yaml | 5 ++ .../cloudflare-workers/package.json | 5 -- .../cloudflare-workers/pnpm-workspace.yaml | 6 ++ .../cloudflare-workersentrypoint/package.json | 5 -- .../pnpm-workspace.yaml | 6 ++ .../create-react-app/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../create-remix-app-v2/pnpm-workspace.yaml | 1 + .../debug-id-sourcemaps/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../default-browser/pnpm-workspace.yaml | 1 + .../deno/pnpm-workspace.yaml | 1 + .../effect-3-browser/pnpm-workspace.yaml | 1 + .../effect-3-node/pnpm-workspace.yaml | 4 + .../effect-4-browser/pnpm-workspace.yaml | 1 + .../effect-4-node/pnpm-workspace.yaml | 1 + .../elysia-bun-static/pnpm-workspace.yaml | 1 + .../elysia-bun/pnpm-workspace.yaml | 1 + .../elysia-node/pnpm-workspace.yaml | 1 + .../ember-classic/package.json | 5 -- .../ember-classic/pnpm-workspace.yaml | 5 ++ .../ember-embroider/package.json | 5 -- .../ember-embroider/pnpm-workspace.yaml | 5 ++ .../ember-strict-resolver/package.json | 8 -- .../ember-strict-resolver/pnpm-workspace.yaml | 6 ++ .../test-applications/ember-vite/package.json | 8 -- .../ember-vite/pnpm-workspace.yaml | 6 ++ .../gen-ai-libraries/pnpm-workspace.yaml | 4 + .../generic-ts5.0/pnpm-workspace.yaml | 1 + .../hono-4-legacy/pnpm-workspace.yaml | 4 + .../hono-4/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../lighthouse-react/pnpm-workspace.yaml | 4 + .../nestjs-11-static/package.json | 5 -- .../nestjs-11-static/pnpm-workspace.yaml | 3 + .../test-applications/nestjs-11/package.json | 5 -- .../nestjs-11/pnpm-workspace.yaml | 3 + .../test-applications/nestjs-12/package.json | 5 -- .../nestjs-12/pnpm-workspace.yaml | 3 + .../nestjs-8/pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 4 + .../nestjs-basic/pnpm-workspace.yaml | 3 + .../nestjs-bullmq/pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../nestjs-fastify/pnpm-workspace.yaml | 3 + .../nestjs-graphql/pnpm-workspace.yaml | 4 + .../nestjs-microservices/package.json | 5 -- .../nestjs-microservices/pnpm-workspace.yaml | 3 + .../nestjs-websockets/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../nextjs-14/pnpm-workspace.yaml | 1 + .../nextjs-15-basepath/pnpm-workspace.yaml | 1 + .../nextjs-15-intl/pnpm-workspace.yaml | 4 + .../nextjs-15-t3/pnpm-workspace.yaml | 3 + .../nextjs-15/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 3 + .../nextjs-16-standalone/pnpm-workspace.yaml | 3 + .../nextjs-16-static/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 3 + .../nextjs-16-streaming/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../nextjs-16-tunnel/pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 1 + .../nextjs-16/pnpm-workspace.yaml | 5 ++ .../nextjs-app-dir/pnpm-workspace.yaml | 1 + .../nextjs-orpc/pnpm-workspace.yaml | 3 + .../nextjs-otlp/pnpm-workspace.yaml | 3 + .../nextjs-pages-dir/pnpm-workspace.yaml | 1 + .../nextjs-sourcemaps/pnpm-workspace.yaml | 1 + .../test-applications/nitro-3/package.json | 5 -- .../nitro-3/pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 1 + .../node-esbuild/pnpm-workspace.yaml | 3 + .../node-eve/pnpm-workspace.yaml | 1 + .../node-exports-test-app/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../node-express-mcp-v1/pnpm-workspace.yaml | 1 + .../node-express-mcp-v2/pnpm-workspace.yaml | 1 + .../node-express-otlp/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../node-express-static/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 1 + .../node-express-v5/pnpm-workspace.yaml | 1 + .../node-express/pnpm-workspace.yaml | 1 + .../node-fastify-3/pnpm-workspace.yaml | 1 + .../node-fastify-4/pnpm-workspace.yaml | 1 + .../node-fastify-5/pnpm-workspace.yaml | 1 + .../node-fastify-6/pnpm-workspace.yaml | 1 + .../node-firebase/pnpm-workspace.yaml | 5 ++ .../node-flue/pnpm-workspace.yaml | 6 ++ .../node-hapi/pnpm-workspace.yaml | 1 + .../node-koa/pnpm-workspace.yaml | 1 + .../node-mastra/pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 1 + .../node-otel-sdk-node/pnpm-workspace.yaml | 3 + .../node-pi-durable/pnpm-workspace.yaml | 5 ++ .../node-prisma-8/pnpm-workspace.yaml | 3 + .../node-profiling-cjs/pnpm-workspace.yaml | 4 + .../node-profiling-electron/package.json | 2 +- .../pnpm-workspace.yaml | 1 + .../node-profiling-esm/pnpm-workspace.yaml | 4 + .../node-rolldown/pnpm-workspace.yaml | 1 + .../node-rollup/pnpm-workspace.yaml | 1 + .../node-vite/pnpm-workspace.yaml | 3 + .../node-webpack/pnpm-workspace.yaml | 1 + .../nuxt-3-dynamic-import/pnpm-workspace.yaml | 3 + .../test-applications/nuxt-3-min/package.json | 5 -- .../nuxt-3-min/pnpm-workspace.yaml | 5 ++ .../pnpm-workspace.yaml | 3 + .../nuxt-3/pnpm-workspace.yaml | 3 + .../nuxt-4-cloudflare/pnpm-workspace.yaml | 4 + .../nuxt-4-sourcemaps/pnpm-workspace.yaml | 3 + .../nuxt-4-static/pnpm-workspace.yaml | 4 + .../nuxt-4/pnpm-workspace.yaml | 4 + .../nuxt-5-sourcemaps/package.json | 3 +- .../test-applications/nuxt-5/package.json | 3 +- .../react-17-static/pnpm-workspace.yaml | 4 + .../react-17/pnpm-workspace.yaml | 4 + .../react-19/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../react-router-5/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 4 + .../react-router-6/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../react-router-7-spa/pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 3 + .../react-router-8-spa/pnpm-workspace.yaml | 3 + .../pnpm-workspace.yaml | 3 + .../react-send-to-sentry/pnpm-workspace.yaml | 4 + .../remix-hydrogen/pnpm-workspace.yaml | 5 ++ .../remix-server-timing/pnpm-workspace.yaml | 4 + .../remix-sourcemaps/pnpm-workspace.yaml | 3 + .../test-applications/remix-v3/package.json | 3 +- .../remix-v3/pnpm-workspace.yaml | 3 + .../solid-static/pnpm-workspace.yaml | 3 + .../solid-tanstack-router/pnpm-workspace.yaml | 3 + .../solid/pnpm-workspace.yaml | 3 + .../solidstart-2/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 4 + .../solidstart-spa/pnpm-workspace.yaml | 4 + .../solidstart-static/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../solidstart/pnpm-workspace.yaml | 4 + .../supabase-nextjs/pnpm-workspace.yaml | 4 + .../svelte-5-static/pnpm-workspace.yaml | 4 + .../svelte-5/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 3 + .../sveltekit-2-otlp/pnpm-workspace.yaml | 3 + .../sveltekit-2-static/pnpm-workspace.yaml | 4 + .../sveltekit-2-svelte-5/pnpm-workspace.yaml | 4 + .../sveltekit-2.5.0-twp/pnpm-workspace.yaml | 5 ++ .../sveltekit-2/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 1 + .../sveltekit-3/pnpm-workspace.yaml | 1 + .../pnpm-workspace.yaml | 4 + .../tanstack-router/pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../pnpm-workspace.yaml | 4 + .../tanstackstart-react/pnpm-workspace.yaml | 4 + .../tsx-express/pnpm-workspace.yaml | 3 + .../vinext-cf-workers/pnpm-workspace.yaml | 4 + .../vue-3-static/pnpm-workspace.yaml | 3 + .../vue-3/pnpm-workspace.yaml | 3 + .../vue-tanstack-router/pnpm-workspace.yaml | 4 + .../webpack-4/pnpm-workspace.yaml | 3 + .../webpack-5/pnpm-workspace.yaml | 1 + package.json | 4 +- scripts/bump-version.js | 19 ++-- scripts/bump-version.test.ts | 27 ++++-- scripts/claude-cloud-setup.sh | 3 - yarn.lock | 90 +++++++++++++++++++ 263 files changed, 883 insertions(+), 325 deletions(-) create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/vite4/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/vite6/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/vite7/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/vite8/pnpm-workspace.yaml create mode 100644 dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/angular-17/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/angular-18/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/angular-19/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/angular-20/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/angular-21/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/angular-22/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/astro-7-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/astro-7/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/aws-serverless/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/bun-bytecode/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/bun-express/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/bun-mysql/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-agent/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-local-workers/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-mastra/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-mcp/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-workers-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-workers/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/create-react-app/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/default-browser-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/default-browser/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/deno/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/effect-3-browser/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/effect-3-node/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/effect-4-browser/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/effect-4-node/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/elysia-bun-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/elysia-bun/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/elysia-node/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/ember-embroider/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/gen-ai-libraries/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/generic-ts5.0/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/hono-4-legacy/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/hono-4/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/lighthouse-react/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-11-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-11/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-12/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-8/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-basic/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-bullmq/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-fastify/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-graphql/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-microservices/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-websockets/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nestjs-with-submodules/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-15-basepath/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-15-intl/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-15-t3/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-15/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-standalone/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-streaming/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-16/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-app-dir/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-orpc/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-otlp/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-pages-dir/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nitro-3/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-esbuild/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-eve/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-exports-test-app/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-esm-loader/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-mcp-v1/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-mcp-v2/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-otlp/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-fastify-3/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-fastify-4/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-fastify-5/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-fastify-6/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-flue/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-hapi/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-koa/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-mastra/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-otel-sdk-node/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-pi-durable/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-prisma-8/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-profiling-cjs/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-profiling-electron/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-profiling-esm/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-rolldown/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-rollup/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-vite/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/node-webpack/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-3-min/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-3/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-4-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/nuxt-4/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-17-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-17/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-19/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-create-browser-router/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-create-hash-router/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-create-memory-router/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-5/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-6-router-entry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-6-use-routes/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-6/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-framework-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-framework/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-router-entry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-7-spa/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-8-framework/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-8-router-entry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-8-spa/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-router-sourcemaps/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/react-send-to-sentry/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/remix-hydrogen/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/remix-sourcemaps/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/remix-v3/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solid-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solid-tanstack-router/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solid/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solidstart-2/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solidstart-spa/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solidstart-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solidstart-top-level-import/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/solidstart/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/supabase-nextjs/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/svelte-5-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/svelte-5/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-3/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/tanstack-router/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/tanstackstart-react-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/tanstackstart-react/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/vinext-cf-workers/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/vue-3-static/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/vue-3/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/vue-tanstack-router/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/webpack-4/pnpm-workspace.yaml create mode 100644 dev-packages/e2e-tests/test-applications/webpack-5/pnpm-workspace.yaml diff --git a/.agents/skills/e2e/SKILL.md b/.agents/skills/e2e/SKILL.md index aa7dcde7ad5a..06e63ab5925b 100644 --- a/.agents/skills/e2e/SKILL.md +++ b/.agents/skills/e2e/SKILL.md @@ -118,7 +118,7 @@ All tests completed successfully. Your SDK changes work correctly with this test - **Test app not found**: List available apps and ask user to clarify - **Packed tarballs missing**: Run `yarn build:tarball` at the repo root, then `yarn test:prepare` in `dev-packages/e2e-tests` - **Build failures**: Fix build errors before running tests -- **pnpm errors such as `packages field missing or empty`**: The app needs the pnpm version in its `volta.pnpm`. Run with Volta, which installs that version +- **`ERR_PNPM_IGNORED_BUILDS`**: A dependency has a build script that the app's `allowBuilds` does not list. Add it to the app's `pnpm-workspace.yaml`: `true` if the app needs the script, `false` if the script only prints a message ## Common Test Applications diff --git a/.cursor/environment.json b/.cursor/environment.json index 0828f53fbd4a..3a181d2068ec 100644 --- a/.cursor/environment.json +++ b/.cursor/environment.json @@ -1,11 +1,11 @@ { "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 && yarn install", - "start": "export VOLTA_HOME=\"$HOME/.volta\" && export PATH=\"$VOLTA_HOME/bin:$PATH\" && export VOLTA_FEATURE_PNPM=1", + "install": "curl https://get.volta.sh | bash && export VOLTA_HOME=\"$HOME/.volta\" && export PATH=\"$VOLTA_HOME/bin:$PATH\" && yarn install", + "start": "export VOLTA_HOME=\"$HOME/.volta\" && export PATH=\"$VOLTA_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 'Yarn version:' && yarn --version", + "command": "export VOLTA_HOME=\"$HOME/.volta\" && export PATH=\"$VOLTA_HOME/bin:$PATH\" && echo 'Volta setup complete. Node version:' && node --version && echo 'Yarn version:' && yarn --version", "description": "Main development terminal with Volta environment configured" } ] diff --git a/.github/actions/install-pnpm/action.yml b/.github/actions/install-pnpm/action.yml index d2d28a09dbb4..033f674e62af 100644 --- a/.github/actions/install-pnpm/action.yml +++ b/.github/actions/install-pnpm/action.yml @@ -1,30 +1,11 @@ name: 'Install pnpm' -description: 'Installs the pnpm version that Volta pins for a package.' -inputs: - package-json: - description: 'The package.json to read `volta.pnpm` from. `volta.extends` is followed until a version is found.' - default: 'package.json' +description: 'Puts the pnpm version from the root devDependencies on PATH. Run it after the dependencies are installed.' runs: using: 'composite' steps: - - name: Resolve pnpm version - id: pnpm-version + # The devDependency is the one pnpm version for CI and local runs. An app that needs another version sets + # `packageManager` in its package.json, and pnpm switches to that version. + - name: Add pnpm to PATH shell: bash - env: - PACKAGE_JSON: ${{ inputs.package-json }} - # Keep in sync with `getPnpmMajor` in `dev-packages/e2e-tests/lib/pnpmOverrides.ts`. It writes the overrides in - # the format of the version it finds, so a different lookup breaks the install. - run: | - package_json="$PACKAGE_JSON" - until version=$(jq -er '.volta.pnpm' "$package_json"); do - extends=$(jq -er '.volta.extends' "$package_json") || { - echo "::error::No volta.pnpm in $PACKAGE_JSON or the files it extends" - exit 1 - } - package_json="$(dirname "$package_json")/$extends" - done - echo "version=$version" >> "$GITHUB_OUTPUT" - - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - with: - version: ${{ steps.pnpm-version.outputs.version }} + run: echo "$GITHUB_WORKSPACE/node_modules/pnpm" >> "$GITHUB_PATH" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 55dcd184d04c..bd749ffb2995 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -891,9 +891,6 @@ jobs: uses: actions/checkout@v7 with: ref: ${{ env.HEAD_COMMIT }} - # The fixtures install the locally-packed `@sentry/bundler-plugins` tarball with pnpm. - - name: Install pnpm - uses: ./.github/actions/install-pnpm - name: Set up Node uses: actions/setup-node@v7 with: @@ -1055,10 +1052,6 @@ jobs: uses: actions/checkout@v7 with: ref: ${{ env.HEAD_COMMIT }} - - name: Install pnpm - uses: ./.github/actions/install-pnpm - with: - package-json: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json' - name: Set up Node uses: actions/setup-node@v7 with: @@ -1085,6 +1078,8 @@ jobs: uses: ./.github/actions/restore-cache with: dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }} + - name: Install pnpm + uses: ./.github/actions/install-pnpm - name: Restore tarball artifacts uses: actions/download-artifact@v8 @@ -1211,10 +1206,6 @@ jobs: uses: actions/checkout@v7 with: ref: ${{ env.HEAD_COMMIT }} - - name: Install pnpm - uses: ./.github/actions/install-pnpm - with: - package-json: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json' - name: Set up Node uses: actions/setup-node@v7 with: @@ -1235,6 +1226,8 @@ jobs: uses: ./.github/actions/restore-cache with: dependency_cache_key: ${{ needs.job_build.outputs.dependency_cache_key }} + - name: Install pnpm + uses: ./.github/actions/install-pnpm - name: Restore tarball artifacts uses: actions/download-artifact@v8 diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index f3ddfbf71bd8..aa19b79d0056 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -117,10 +117,6 @@ jobs: uses: actions/checkout@v7 with: ref: ${{ env.HEAD_COMMIT }} - - name: Install pnpm - uses: ./.github/actions/install-pnpm - with: - package-json: 'dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}/package.json' - name: Set up Node uses: actions/setup-node@v7 with: @@ -131,6 +127,8 @@ jobs: with: path: ${{ env.CACHED_BUILD_PATHS }} key: canary-${{ env.HEAD_COMMIT }} + - name: Install pnpm + uses: ./.github/actions/install-pnpm - name: Prepare e2e tests run: yarn test:prepare diff --git a/.github/workflows/lighthouse.yml b/.github/workflows/lighthouse.yml index e67fa7c7cd66..644d6d04a913 100644 --- a/.github/workflows/lighthouse.yml +++ b/.github/workflows/lighthouse.yml @@ -19,12 +19,12 @@ jobs: VITE_E2E_TEST_DSN: 'https://username@domain/123' steps: - uses: actions/checkout@v7 - - name: Install pnpm - uses: ./.github/actions/install-pnpm - uses: actions/setup-node@v7 with: node-version-file: 'package.json' - run: yarn install --frozen-lockfile --ignore-engines + - name: Install pnpm + uses: ./.github/actions/install-pnpm - run: yarn build:ci - run: yarn build:tarball - run: yarn test:prepare diff --git a/AGENTS.md b/AGENTS.md index 8d307c72d452..3c0f53804343 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,8 +4,7 @@ Monorepo with 40+ packages in `@sentry/*`, managed with Yarn workspaces and Nx. ## Setup -- [Volta](https://volta.sh/) for Node.js/Yarn/PNPM version management -- Requires `VOLTA_FEATURE_PNPM=1` +- [Volta](https://volta.sh/) for Node.js/Yarn version management. pnpm (for E2E tests) is a root devDependency - After cloning: `yarn install && yarn build` - Never change Volta, Yarn, or package manager versions unless explicitly asked diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a684c338ace3..5cf300b0a086 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,10 +14,8 @@ Developer Documentation. ## Setting up an Environment -We use [Volta](https://volta.sh/) to ensure we use consistent versions of node, yarn and pnpm. - -Make sure to also enable [pnpm support in Volta](https://docs.volta.sh/advanced/pnpm) if you want to run the E2E tests -locally. +We use [Volta](https://volta.sh/) to ensure we use consistent versions of node and yarn. `yarn install` also installs +the pnpm version that the E2E tests use. `sentry-javascript` is a monorepo containing several packages, managed with Yarn 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. @@ -80,7 +78,8 @@ E2E tests verify SDK behavior in real-world framework scenarios. ### Prerequisites 1. **Docker**: Required for some E2E tests -2. **Volta with pnpm support**: Enable pnpm in Volta by setting `VOLTA_FEATURE_PNPM=1` in your environment. See [Volta pnpm docs](https://docs.volta.sh/advanced/pnpm). +2. **Volta**: The E2E tests run each app on the node version that it pins. Without Volta, they use your current node + version. ### Step-by-Step Instructions diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/package.json index 40f15e5c0d24..0b1f0c59eaca 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/package.json @@ -6,12 +6,5 @@ "dependencies": { "esbuild": "0.28.0", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/pnpm-workspace.yaml new file mode 100644 index 000000000000..25a76d97edc7 --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/esbuild/pnpm-workspace.yaml @@ -0,0 +1,7 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/package.json index fc2a70319739..15d7bb8d0c0b 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/package.json @@ -7,12 +7,5 @@ "@sentry/bundler-plugins": "11.7.0", "react": "19.2.4", "rolldown": "1.0.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/pnpm-workspace.yaml new file mode 100644 index 000000000000..a52cb9c626ae --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rolldown/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/package.json index c78ba49f0c8c..02afaf369eb6 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/package.json @@ -9,12 +9,5 @@ "@rollup/plugin-babel": "6.0.4", "@rollup/plugin-node-resolve": "15.2.3", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/pnpm-workspace.yaml new file mode 100644 index 000000000000..a52cb9c626ae --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup3/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/package.json index cf1e3ed7403f..cb60a07404ea 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/package.json @@ -9,12 +9,5 @@ "@rollup/plugin-babel": "6.0.4", "@rollup/plugin-node-resolve": "16.0.3", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/pnpm-workspace.yaml new file mode 100644 index 000000000000..a52cb9c626ae --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/rollup4/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/package.json index 5e6ce8707b56..def0e98d8422 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/package.json @@ -8,12 +8,5 @@ "vite": "4.5.14", "@vitejs/plugin-react": "5.2.0", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/pnpm-workspace.yaml new file mode 100644 index 000000000000..25a76d97edc7 --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite4/pnpm-workspace.yaml @@ -0,0 +1,7 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite6/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/vite6/package.json index 7b60bda2e8f1..8d1af81baa7e 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/vite6/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite6/package.json @@ -6,12 +6,5 @@ "dependencies": { "vite": "6.4.1", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite6/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/vite6/pnpm-workspace.yaml new file mode 100644 index 000000000000..25a76d97edc7 --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite6/pnpm-workspace.yaml @@ -0,0 +1,7 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/package.json index a420357532bc..0224e2993026 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/package.json @@ -8,12 +8,5 @@ "vite": "7.3.1", "@vitejs/plugin-react": "5.2.0", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/pnpm-workspace.yaml new file mode 100644 index 000000000000..25a76d97edc7 --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite7/pnpm-workspace.yaml @@ -0,0 +1,7 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/package.json index ac36972a3914..b3f6544c1652 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/package.json @@ -8,12 +8,5 @@ "vite": "8.0.16", "@vitejs/plugin-react": "6.0.1", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/pnpm-workspace.yaml new file mode 100644 index 000000000000..a52cb9c626ae --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/vite8/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/package.json b/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/package.json index 07d3ab8da7b7..66675fedc976 100644 --- a/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/package.json +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/package.json @@ -9,12 +9,5 @@ "webpack-cli": "6.0.1", "@babel/preset-react": "7.23.3", "@sentry/bundler-plugins": "11.7.0" - }, - "pnpm": { - "overrides": { - "@sentry/bundler-plugins": "file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz", - "@sentry/core": "file:../../../../packages/core/sentry-core-11.7.0.tgz", - "sentry": "file:../sentry-stub" - } } } diff --git a/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/pnpm-workspace.yaml b/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/pnpm-workspace.yaml new file mode 100644 index 000000000000..a52cb9c626ae --- /dev/null +++ b/dev-packages/bundler-plugin-integration-tests/fixtures/webpack5/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +minimumReleaseAge: 0 +overrides: + '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-11.7.0.tgz' + '@sentry/core': 'file:../../../../packages/core/sentry-core-11.7.0.tgz' + 'sentry': 'file:../sentry-stub' diff --git a/dev-packages/e2e-tests/README.md b/dev-packages/e2e-tests/README.md index 1c1da7180faf..baefa8e57045 100644 --- a/dev-packages/e2e-tests/README.md +++ b/dev-packages/e2e-tests/README.md @@ -98,7 +98,7 @@ A variant runs its `build-command` and `assert-command`. Without them, it runs t We build our packages, pack them into tarballs (`yarn build:tarball`), and create symlinks in the `packed/` directory that point to the versioned tarballs. When a test application is run, pnpm overrides are injected into its -`package.json` to pin all `@sentry/*` and `@sentry-internal/*` packages to those local tarballs. This means test apps +`pnpm-workspace.yaml` to pin all `@sentry/*` and `@sentry-internal/*` packages to those local tarballs. This means test apps install the packages as if they were published, but from the local build output instead of a registry. The E2E test script looks for test applications in the `test-applications` folder. These are standalone apps that use @@ -118,8 +118,15 @@ Make sure to add a `test:build` and `test:assert` command to the new app's `pack Sentry packages are automatically resolved to the local build via pnpm overrides injected at test time, so no manual registry configuration is needed. -Apps use the root pnpm version. To use another one, set `volta.pnpm` in the app's `package.json`. Volta (locally) and -CI (`.github/actions/install-pnpm`) both install that version. +Each app has a `pnpm-workspace.yaml` for its pnpm settings, because pnpm ignores the `pnpm` field in `package.json`. +Copy it from a similar app. It needs `minimumReleaseAge: 0` and an `allowBuilds` entry for each dependency with a build +script: `true` if the app needs the script, `false` if the script only prints a message. pnpm fails the install +(`ERR_PNPM_IGNORED_BUILDS`) for a build script that `allowBuilds` does not list. + +Apps use the pnpm version from the root `devDependencies`. To use another version, set `packageManager` in the app's +`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, +because pnpm 9 does not read overrides from `pnpm-workspace.yaml`. ### Test apps that deploy a real Cloudflare Worker diff --git a/dev-packages/e2e-tests/lib/pnpmOverrides.ts b/dev-packages/e2e-tests/lib/pnpmOverrides.ts index e9f79d05f71e..86a857309e02 100644 --- a/dev-packages/e2e-tests/lib/pnpmOverrides.ts +++ b/dev-packages/e2e-tests/lib/pnpmOverrides.ts @@ -7,83 +7,39 @@ import { fixFileLinkDependencies } from './copyToTemp'; * For a given temp test application directory, add pnpm overrides to pin internal Sentry dependencies to their packed tarballs. * This is used to ensure that the test application uses the correct version of the internal Sentry packages. * - * pnpm 11 requires overrides in pnpm-workspace.yaml, while older versions use - * package.json. A fixture's existing overrides take precedence in both cases. + * pnpm reads overrides only from pnpm-workspace.yaml. A fixture's existing overrides take precedence. * https://pnpm.io/settings/dependency-resolution#overrides * * @param tmpDirPath - The temporary directory path of the test application. * @param packedDirPath - The path to the packed tarballs. - * @param packageNames - The names of the internal Sentry packages to pin to the packed tarballs. */ export async function addPnpmOverrides(tmpDirPath: string, packedDirPath: string): Promise { const packageJsonPath = path.join(tmpDirPath, 'package.json'); - const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf8')) as { - pnpm?: { overrides?: Record }; - volta?: { extends?: string; pnpm?: string }; - }; + const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf8')) as { pnpm?: unknown }; + + // pnpm 11+ ignores this field, so its settings would silently have no effect. + if (packageJson.pnpm) { + throw new Error(`Move the "pnpm" settings in ${packageJsonPath} to the app's pnpm-workspace.yaml`); + } const packageNames = getPublishedSentryTarballPackageNames(); const overrides = Object.fromEntries( packageNames.map(packageName => [packageName, `file:${packedDirPath}/${packedSymlinkFilename(packageName)}`]), ); - const existingOverrides = packageJson.pnpm?.overrides ?? {}; + const pnpmWorkspacePath = path.join(tmpDirPath, 'pnpm-workspace.yaml'); + const pnpmWorkspace = await readFile(pnpmWorkspacePath, 'utf8').catch(() => ''); + const existingOverrides = parseWorkspaceOverrides(pnpmWorkspace); fixFileLinkDependencies(existingOverrides); - const mergedOverrides = { ...overrides, ...existingOverrides }; - - const pnpmMajor = await getPnpmMajor(packageJsonPath, packageJson); - - if (pnpmMajor < 11) { - packageJson.pnpm = { ...packageJson.pnpm, overrides: mergedOverrides }; - } else { - // pnpm 11: https://github.com/pnpm/pnpm/issues/11536 - const pnpmWorkspacePath = path.join(tmpDirPath, 'pnpm-workspace.yaml'); - const pnpmWorkspace = await readFile(pnpmWorkspacePath, 'utf8').catch(() => ''); - const existingWorkspaceOverrides = parseWorkspaceOverrides(pnpmWorkspace); - const workspaceOverrides = formatWorkspaceOverrides({ ...mergedOverrides, ...existingWorkspaceOverrides }); - const workspaceWithoutOverrides = removeWorkspaceOverrides(pnpmWorkspace); + const workspaceOverrides = formatWorkspaceOverrides({ ...overrides, ...existingOverrides }); + const workspaceWithoutOverrides = removeWorkspaceOverrides(pnpmWorkspace); - await writeFile(pnpmWorkspacePath, `${workspaceWithoutOverrides.trimEnd()}\noverrides:\n${workspaceOverrides}\n`); - - delete packageJson.pnpm?.overrides; - if (packageJson.pnpm && Object.keys(packageJson.pnpm).length === 0) { - delete packageJson.pnpm; - } - } - - await writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2)); + await writeFile(pnpmWorkspacePath, `${workspaceWithoutOverrides.trimEnd()}\noverrides:\n${workspaceOverrides}\n`); // oxlint-disable-next-line no-console console.log(`Added ${packageNames.length} internal Sentry package overrides`); } -// Keep in sync with `.github/actions/install-pnpm`, which installs the version this finds in CI. -async function getPnpmMajor( - packageJsonPath: string, - packageJson: { volta?: { extends?: string; pnpm?: string } }, -): Promise { - const pnpmVersion = packageJson.volta?.pnpm; - if (pnpmVersion) { - const major = /^(?\d+)(?:\.|$)/.exec(pnpmVersion)?.groups?.major; - if (!major) { - throw new Error(`Invalid Volta pnpm version in ${packageJsonPath}: ${pnpmVersion}`); - } - - return Number(major); - } - - const voltaExtends = packageJson.volta?.extends; - if (voltaExtends) { - const extendedPackageJsonPath = path.resolve(path.dirname(packageJsonPath), voltaExtends); - const extendedPackageJson = JSON.parse(await readFile(extendedPackageJsonPath, 'utf8')) as { - volta?: { extends?: string; pnpm?: string }; - }; - return getPnpmMajor(extendedPackageJsonPath, extendedPackageJson); - } - - throw new Error(`No Volta pnpm version found for ${packageJsonPath}`); -} - function parseWorkspaceOverrides(workspace: string): Record { const overrides = /^overrides:\n((?:[ \t]+.*(?:\n|$))*)/m.exec(workspace)?.[1]; if (!overrides) { @@ -95,16 +51,20 @@ function parseWorkspaceOverrides(workspace: string): Record { .trim() .split('\n') .map(line => { - const match = /^\s*("(?:[^"\\]|\\.)*"):\s*("(?:[^"\\]|\\.)*")\s*$/.exec(line); + const match = /^\s*('(?:[^']|'')*'|"(?:[^"\\]|\\.)*"):\s*('(?:[^']|'')*'|"(?:[^"\\]|\\.)*")\s*$/.exec(line); if (!match?.[1] || !match[2]) { throw new Error(`Unsupported pnpm workspace override: ${line.trim()}`); } - return [JSON.parse(match[1]) as string, JSON.parse(match[2]) as string]; + return [parseYamlString(match[1]), parseYamlString(match[2])]; }), ); } +function parseYamlString(quoted: string): string { + return quoted.startsWith("'") ? quoted.slice(1, -1).replace(/''/g, "'") : (JSON.parse(quoted) as string); +} + function removeWorkspaceOverrides(workspace: string): string { return workspace.replace(/^overrides:\n(?:[ \t]+.*(?:\n|$))*/m, ''); } diff --git a/dev-packages/e2e-tests/run.ts b/dev-packages/e2e-tests/run.ts index f3a7f115925e..3343f632a115 100644 --- a/dev-packages/e2e-tests/run.ts +++ b/dev-packages/e2e-tests/run.ts @@ -1,10 +1,10 @@ /* eslint-disable no-console */ -import { spawn } from 'child_process'; +import { execFileSync, spawn } from 'child_process'; import * as dotenv from 'dotenv'; import { mkdir, mkdtemp, readFile, rm } from 'fs/promises'; import { sync as globSync } from 'glob'; import { tmpdir } from 'os'; -import { join, resolve } from 'path'; +import { delimiter, dirname, join, resolve } from 'path'; import { copyToTemp } from './lib/copyToTemp'; import { applyRuntimeFiles } from './lib/runtimeFiles'; import { syncPackedTarballSymlinks } from './lib/syncPackedTarballSymlinks'; @@ -128,6 +128,23 @@ async function getVariantBuildCommand( }; } +/** + * 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 pnpm comes from the root devDependencies. + */ +function getPinnedNodeDir(cwd: string): string | undefined { + try { + return dirname(execFileSync('volta', ['run', 'node', '-p', 'process.execPath'], { cwd, encoding: 'utf8' }).trim()); + } catch (error) { + if ((error as NodeJS.ErrnoException).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(): Promise { // Load environment variables from .env file locally dotenv.config(); @@ -193,17 +210,7 @@ async function run(): Promise { SENTRY_E2E_WORKSPACE_ROOT: resolve(__dirname, '../..'), }; - const env = { - ...process.env, - ...envVarsToInject, - // Volta applies a project's node pin only to commands it manages, and it - // manages pnpm only when this is set. Without it, the `volta run pnpm` - // calls below build each app on whatever node is already on PATH rather - // than the version its package.json pins. CI reads that pin directly - // (see `node-version-file` in .github/workflows/build.yml), so leaving - // this unset makes local runs fail on apps CI passes. - VOLTA_FEATURE_PNPM: '1', - }; + const env = { ...process.env, ...envVarsToInject }; console.log('Syncing packed tarball symlinks...'); console.log(''); @@ -213,7 +220,9 @@ async function run(): Promise { console.log('Cleaning test-applications...'); console.log(''); - await asyncExec('pnpm clean:test-applications', { env, cwd: __dirname }); + // Not `pnpm clean:test-applications`: pnpm checks a package's dependencies before it runs a script, + // and it would install this yarn workspace package with pnpm. + await asyncExec('yarn clean:test-applications', { env, cwd: __dirname }); await asyncExec('pnpm cache delete "@sentry/*"', { env, cwd: __dirname }); const testAppPaths = appName ? [appName.trim()] : globSync('*', { cwd: `${__dirname}/test-applications/` }); @@ -258,10 +267,16 @@ async function run(): Promise { applyRuntimeFiles(tmpDirPath, runtime); } - const appEnv = { ...env, SENTRY_CONFIG_DIR: sentryConfigDir, ...(runtime ? { RUNTIME: 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}...`); - await asyncExec(`volta run ${buildCommand}`, { env: appEnv, cwd }); + await asyncExec(buildCommand, { env: appEnv, cwd }); console.log(`Testing ${testLabel}...`); // Pass command as a string to support shell features (env vars, operators like &&) @@ -275,7 +290,7 @@ async function run(): Promise { } return flag; }); - const testCommand = `volta run ${assertCommand}${quotedTestFlags.length > 0 ? ` ${quotedTestFlags.join(' ')}` : ''}`; + const testCommand = `${assertCommand}${quotedTestFlags.length > 0 ? ` ${quotedTestFlags.join(' ')}` : ''}`; await asyncExec(testCommand, { env: appEnv, cwd }); // clean up (although this is tmp, still nice to do) diff --git a/dev-packages/e2e-tests/test-applications/angular-17/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/angular-17/pnpm-workspace.yaml new file mode 100644 index 000000000000..3a0f47e45c8c --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/angular-17/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + nice-napi: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/angular-18/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/angular-18/pnpm-workspace.yaml new file mode 100644 index 000000000000..a34120c040e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/angular-18/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + esbuild: true + lmdb: true + msgpackr-extract: true + nice-napi: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/angular-19/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/angular-19/pnpm-workspace.yaml new file mode 100644 index 000000000000..5e971cb1e6b4 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/angular-19/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true + lmdb: true + msgpackr-extract: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/angular-20/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/angular-20/pnpm-workspace.yaml new file mode 100644 index 000000000000..5e971cb1e6b4 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/angular-20/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true + lmdb: true + msgpackr-extract: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/angular-21/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/angular-21/pnpm-workspace.yaml new file mode 100644 index 000000000000..5e971cb1e6b4 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/angular-21/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true + lmdb: true + msgpackr-extract: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/angular-22/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/angular-22/pnpm-workspace.yaml new file mode 100644 index 000000000000..5e971cb1e6b4 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/angular-22/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true + lmdb: true + msgpackr-extract: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 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 1836d478530d..5ff8c7d67cb8 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/package.json +++ b/dev-packages/e2e-tests/test-applications/astro-5/package.json @@ -19,11 +19,6 @@ "@sentry/astro": "file:../../packed/sentry-astro-packed.tgz", "astro": "^5.0.3" }, - "pnpm": { - "overrides": { - "esbuild": "0.24.0" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml new file mode 100644 index 000000000000..54f7b26b0f56 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +minimumReleaseAge: 0 +overrides: + 'esbuild': '0.24.0' diff --git a/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-7-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-7-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/astro-7-static/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-7/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-7/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/astro-7/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 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 21d7a32ade83..01b4cbf0f9c7 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 @@ -10,7 +10,7 @@ "test:build": "pnpm test:pull-sam-image && pnpm install && npx rimraf node_modules/@sentry/aws-serverless/nodejs", "test:assert": "pnpm test" }, - "//": "We just need the @sentry/aws-serverless layer zip file, not the NPM package", + "//": "We need to override this here again to ensure this is not overwritten by the test runner", "devDependencies": { "@aws-sdk/client-lambda": "^3.863.0", "@playwright/test": "~1.63.0", @@ -24,12 +24,6 @@ "volta": { "extends": "../../package.json" }, - "//": "We need to override this here again to ensure this is not overwritten by the test runner", - "pnpm": { - "overrides": { - "@sentry/aws-serverless": "link:../../../../packages/aws-serverless/build/aws/dist-serverless/" - } - }, "sentryTest": { "variants": [ { diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml new file mode 100644 index 000000000000..fbbc8f352522 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +minimumReleaseAge: 0 +overrides: + '@sentry/aws-serverless': 'link:../../../../packages/aws-serverless/build/aws/dist-serverless/' diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/aws-serverless/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/aws-serverless/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless/src/stack.ts b/dev-packages/e2e-tests/test-applications/aws-serverless/src/stack.ts index f314643572c2..4b13027d89a5 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless/src/stack.ts +++ b/dev-packages/e2e-tests/test-applications/aws-serverless/src/stack.ts @@ -90,14 +90,13 @@ export class LocalLambdaStack extends Stack { fs.rmSync(nodeModulesPath, { recursive: true, force: true }); } - const packageJson = { - dependencies, - pnpm: { - overrides: dependencies, - }, - }; - - fs.writeFileSync(path.join(lambdaPath, 'package.json'), JSON.stringify(packageJson, null, 2)); + fs.writeFileSync(path.join(lambdaPath, 'package.json'), JSON.stringify({ dependencies }, null, 2)); + // JSON is valid YAML. pnpm reads overrides only from pnpm-workspace.yaml, and this file also keeps + // pnpm from treating the app's own pnpm-workspace.yaml as the workspace root. + fs.writeFileSync( + path.join(lambdaPath, 'pnpm-workspace.yaml'), + JSON.stringify({ minimumReleaseAge: 0, overrides: dependencies }, null, 2), + ); execFileSync( 'pnpm', ['install', '--offline', '--prod', '--ignore-scripts', '--no-frozen-lockfile', '--config.node-linker=hoisted'], 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 7c1e27f8e43a..8d51832dd816 100644 --- a/dev-packages/e2e-tests/test-applications/browser-bfcache/package.json +++ b/dev-packages/e2e-tests/test-applications/browser-bfcache/package.json @@ -23,7 +23,6 @@ }, "volta": { "node": "20.19.2", - "yarn": "1.22.22", - "pnpm": "9.15.9" + "yarn": "1.22.22" } } diff --git a/dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 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 da4e9cba0a8c..65af106a9b9e 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 @@ -19,7 +19,6 @@ }, "volta": { "node": "20.19.2", - "yarn": "1.22.22", - "pnpm": "9.15.9" + "yarn": "1.22.22" } } diff --git a/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml index 8ab3e17a0de1..fc1531df9767 100644 --- a/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml @@ -1,2 +1,3 @@ packages: - 'apps/*' +minimumReleaseAge: 0 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 0aa7157512c5..37259319392a 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 @@ -23,7 +23,6 @@ }, "volta": { "node": "20.19.2", - "yarn": "1.22.22", - "pnpm": "9.15.9" + "yarn": "1.22.22" } } diff --git a/dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/bun-bytecode/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/bun-bytecode/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/bun-bytecode/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/bun-express/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/bun-express/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/bun-express/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/bun-mysql/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/bun-mysql/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/bun-mysql/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-agent/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-agent/pnpm-workspace.yaml new file mode 100644 index 000000000000..b3722fc953bb --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-agent/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + core-js-pure: false + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/pnpm-workspace.yaml new file mode 100644 index 000000000000..b3722fc953bb --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-autoinstrument/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + core-js-pure: false + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 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 c2aa8fbb7bdc..79f1b08a2fe9 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 @@ -26,10 +26,5 @@ }, "volta": { "extends": "../../package.json" - }, - "pnpm": { - "overrides": { - "strip-literal": "~2.0.0" - } } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-local-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-local-workers/pnpm-workspace.yaml new file mode 100644 index 000000000000..42f540fbb7fd --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-local-workers/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 +overrides: + 'strip-literal': '~2.0.0' diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mastra/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-mastra/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mastra/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/pnpm-workspace.yaml new file mode 100644 index 000000000000..b3722fc953bb --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mcp-agent/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + core-js-pure: false + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-mcp/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-mcp/pnpm-workspace.yaml new file mode 100644 index 000000000000..b3722fc953bb --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-mcp/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + core-js-pure: false + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-orchestrion-mysql/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-vercelai-v7/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers-send-to-sentry/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 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 8a844eb74fc8..0f638b37b1c8 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 @@ -26,10 +26,5 @@ }, "volta": { "extends": "../../package.json" - }, - "pnpm": { - "overrides": { - "strip-literal": "~2.0.0" - } } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-workers-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..42f540fbb7fd --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers-static/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 +overrides: + 'strip-literal': '~2.0.0' diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/pnpm-workspace.yaml new file mode 100644 index 000000000000..dd39420094df --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers-workflow-legacy/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + esbuild: true + sharp: true + workerd: true +minimumReleaseAge: 0 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 e1889148b604..df197335a95c 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/package.json @@ -26,10 +26,5 @@ }, "volta": { "extends": "../../package.json" - }, - "pnpm": { - "overrides": { - "strip-literal": "~2.0.0" - } } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-workers/pnpm-workspace.yaml new file mode 100644 index 000000000000..42f540fbb7fd --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workers/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 +overrides: + 'strip-literal': '~2.0.0' 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 56a59febe7f3..0fbdd136e308 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/package.json +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/package.json @@ -26,10 +26,5 @@ }, "volta": { "extends": "../../package.json" - }, - "pnpm": { - "overrides": { - "strip-literal": "~2.0.0" - } } } diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/pnpm-workspace.yaml new file mode 100644 index 000000000000..42f540fbb7fd --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/cloudflare-workersentrypoint/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 +overrides: + 'strip-literal': '~2.0.0' diff --git a/dev-packages/e2e-tests/test-applications/create-react-app/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-react-app/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/create-react-app/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/debug-id-sourcemaps/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/default-browser-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/default-browser-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/default-browser-static/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/default-browser/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/default-browser/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/default-browser/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/deno/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/deno/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/deno/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/effect-3-browser/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/effect-3-browser/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/effect-3-browser/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/effect-3-node/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/effect-3-node/pnpm-workspace.yaml new file mode 100644 index 000000000000..89a3f939bb82 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/effect-3-node/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@parcel/watcher': true + msgpackr-extract: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/effect-4-browser/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/effect-4-browser/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/effect-4-browser/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/effect-4-node/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/effect-4-node/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/effect-4-node/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/elysia-bun-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/elysia-bun-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/elysia-bun-static/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/elysia-bun/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/elysia-bun/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/elysia-bun/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/elysia-node/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/elysia-node/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/elysia-node/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 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 87da5f5f5571..f5cfb2795c43 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-classic/package.json @@ -81,11 +81,6 @@ "ember": { "edition": "octane" }, - "pnpm": { - "overrides": { - "@embroider/macros@1.21.2": "1.21.1" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml new file mode 100644 index 000000000000..d3bb70b68dae --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + core-js: false +minimumReleaseAge: 0 +overrides: + '@embroider/macros@1.21.2': '1.21.1' 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 67d7d462d9b2..0653d743b450 100644 --- a/dev-packages/e2e-tests/test-applications/ember-embroider/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-embroider/package.json @@ -66,11 +66,6 @@ "ember": { "edition": "octane" }, - "pnpm": { - "overrides": { - "@embroider/macros@1.21.2": "1.21.1" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/ember-embroider/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/ember-embroider/pnpm-workspace.yaml new file mode 100644 index 000000000000..d3bb70b68dae --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/ember-embroider/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + core-js: false +minimumReleaseAge: 0 +overrides: + '@embroider/macros@1.21.2': '1.21.1' 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 d1230979cc65..7acab343c96c 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,14 +42,6 @@ "ember": { "edition": "octane" }, - "pnpm": { - "overrides": { - "@embroider/vite@1.7.14": "1.7.13", - "@embroider/macros@1.21.2": "1.21.1", - "@embroider/core@4.6.8": "4.6.7", - "@embroider/compat@4.1.26": "4.1.25" - } - }, "volta": { "extends": "../../package.json" }, diff --git a/dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml new file mode 100644 index 000000000000..acb616c5a51f --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +minimumReleaseAge: 0 +overrides: + '@embroider/vite@1.7.14': '1.7.13' + '@embroider/macros@1.21.2': '1.21.1' + '@embroider/core@4.6.8': '4.6.7' + '@embroider/compat@4.1.26': '4.1.25' 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 c1bcfd114fa5..7106f8aa2a00 100644 --- a/dev-packages/e2e-tests/test-applications/ember-vite/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-vite/package.json @@ -67,14 +67,6 @@ "ember": { "edition": "octane" }, - "pnpm": { - "overrides": { - "@embroider/vite@1.7.14": "1.7.13", - "@embroider/macros@1.21.2": "1.21.1", - "@embroider/core@4.6.8": "4.6.7", - "@embroider/compat@4.1.26": "4.1.25" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml new file mode 100644 index 000000000000..acb616c5a51f --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +minimumReleaseAge: 0 +overrides: + '@embroider/vite@1.7.14': '1.7.13' + '@embroider/macros@1.21.2': '1.21.1' + '@embroider/core@4.6.8': '4.6.7' + '@embroider/compat@4.1.26': '4.1.25' diff --git a/dev-packages/e2e-tests/test-applications/gen-ai-libraries/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/gen-ai-libraries/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/gen-ai-libraries/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/generic-ts5.0/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/generic-ts5.0/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/generic-ts5.0/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/hono-4-legacy/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/hono-4-legacy/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/hono-4-legacy/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/hono-4/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/hono-4/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/hono-4/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/hydrogen-react-router-7/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/lighthouse-react/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/lighthouse-react/pnpm-workspace.yaml new file mode 100644 index 000000000000..dafa2e7eca8c --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/lighthouse-react/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@swc/core': true + esbuild: true +minimumReleaseAge: 0 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 099dc95b20f8..0b34a8473363 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 @@ -41,11 +41,6 @@ "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" }, - "pnpm": { - "overrides": { - "minimatch": "10.0.1" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-11-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-11-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..50ece95aba3b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-11-static/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +minimumReleaseAge: 0 +overrides: + 'minimatch': '10.0.1' 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 651c628bbb97..68075e0fe6d1 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-11/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-11/package.json @@ -41,11 +41,6 @@ "tsconfig-paths": "^4.2.0", "typescript": "~5.0.0" }, - "pnpm": { - "overrides": { - "minimatch": "10.0.1" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-11/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-11/pnpm-workspace.yaml new file mode 100644 index 000000000000..50ece95aba3b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-11/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +minimumReleaseAge: 0 +overrides: + 'minimatch': '10.0.1' 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 c7294574fd2e..6a87ba65934a 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-12/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-12/package.json @@ -43,11 +43,6 @@ "tsconfig-paths": "^4.2.0", "typescript": "~5.9.0" }, - "pnpm": { - "overrides": { - "minimatch": "10.0.1" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-12/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-12/pnpm-workspace.yaml new file mode 100644 index 000000000000..50ece95aba3b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-12/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +minimumReleaseAge: 0 +overrides: + 'minimatch': '10.0.1' diff --git a/dev-packages/e2e-tests/test-applications/nestjs-8/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-8/pnpm-workspace.yaml new file mode 100644 index 000000000000..296f92663081 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-8/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + '@nestjs/core': false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/pnpm-workspace.yaml new file mode 100644 index 000000000000..69ae6bd37c90 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-basic-with-graphql/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@apollo/protobufjs': false + '@nestjs/core': false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-basic/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-basic/pnpm-workspace.yaml new file mode 100644 index 000000000000..296f92663081 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-basic/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + '@nestjs/core': false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-bullmq/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-bullmq/pnpm-workspace.yaml new file mode 100644 index 000000000000..0f973fea7a88 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-bullmq/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + msgpackr-extract: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/pnpm-workspace.yaml new file mode 100644 index 000000000000..296f92663081 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-distributed-tracing/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + '@nestjs/core': false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-fastify/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-fastify/pnpm-workspace.yaml new file mode 100644 index 000000000000..296f92663081 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-fastify/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + '@nestjs/core': false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-graphql/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-graphql/pnpm-workspace.yaml new file mode 100644 index 000000000000..69ae6bd37c90 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-graphql/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@apollo/protobufjs': false + '@nestjs/core': false +minimumReleaseAge: 0 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 6858a472c1e8..aa2dc4130883 100644 --- a/dev-packages/e2e-tests/test-applications/nestjs-microservices/package.json +++ b/dev-packages/e2e-tests/test-applications/nestjs-microservices/package.json @@ -27,11 +27,6 @@ "@types/node": "^18.19.1", "typescript": "~5.0.0" }, - "pnpm": { - "overrides": { - "minimatch": "10.0.1" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nestjs-microservices/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-microservices/pnpm-workspace.yaml new file mode 100644 index 000000000000..50ece95aba3b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-microservices/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +minimumReleaseAge: 0 +overrides: + 'minimatch': '10.0.1' diff --git a/dev-packages/e2e-tests/test-applications/nestjs-websockets/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-websockets/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-websockets/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/pnpm-workspace.yaml new file mode 100644 index 000000000000..296f92663081 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules-decorator/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + '@nestjs/core': false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/pnpm-workspace.yaml new file mode 100644 index 000000000000..296f92663081 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nestjs-with-submodules/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + '@nestjs/core': false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15-basepath/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-15-basepath/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-15-basepath/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15-intl/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-15-intl/pnpm-workspace.yaml new file mode 100644 index 000000000000..b5321b350e1d --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-15-intl/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@parcel/watcher': true + '@swc/core': true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15-t3/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-15-t3/pnpm-workspace.yaml new file mode 100644 index 000000000000..bde9dfb7b138 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-15-t3/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-15/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/pnpm-workspace.yaml new file mode 100644 index 000000000000..bde9dfb7b138 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-cacheComponents/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-standalone/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-standalone/pnpm-workspace.yaml new file mode 100644 index 000000000000..bde9dfb7b138 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-standalone/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..b471a2f773e9 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-static/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + sharp: true + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/pnpm-workspace.yaml new file mode 100644 index 000000000000..bde9dfb7b138 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming-cacheComponents/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-streaming/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming/pnpm-workspace.yaml new file mode 100644 index 000000000000..b471a2f773e9 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-streaming/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + sharp: true + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..109e71d10262 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash-static/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + sharp: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/pnpm-workspace.yaml new file mode 100644 index 000000000000..109e71d10262 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-trailing-slash/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + sharp: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml new file mode 100644 index 000000000000..bde9dfb7b138 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-userfeedback/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16/pnpm-workspace.yaml new file mode 100644 index 000000000000..0aaed65978c9 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-16/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + esbuild: true + unrs-resolver: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-orpc/pnpm-workspace.yaml new file mode 100644 index 000000000000..bde9dfb7b138 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-otlp/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-otlp/pnpm-workspace.yaml new file mode 100644 index 000000000000..bde9dfb7b138 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-otlp/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nextjs-sourcemaps/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 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 cb72ac1e877a..eb77a39f32fb 100644 --- a/dev-packages/e2e-tests/test-applications/nitro-3/package.json +++ b/dev-packages/e2e-tests/test-applications/nitro-3/package.json @@ -23,11 +23,6 @@ "rolldown": "latest", "vite": "latest" }, - "pnpm": { - "overrides": { - "unstorage": "2.0.0-alpha.7" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nitro-3/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nitro-3/pnpm-workspace.yaml new file mode 100644 index 000000000000..c6eea3e5ab0a --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nitro-3/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +minimumReleaseAge: 0 +overrides: + 'unstorage': '2.0.0-alpha.7' diff --git a/dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-anthropic-send-to-sentry/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-esbuild/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-esbuild/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-esbuild/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-eve/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-eve/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-eve/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-exports-test-app/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-exports-test-app/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-exports-test-app/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-esm-loader/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-loader/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-esm-without-loader/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-mcp-v1/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-mcp-v1/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-mcp-v1/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-mcp-v2/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-mcp-v2/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-mcp-v2/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-otlp/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-otlp/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-otlp/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry-static/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-send-to-sentry/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-3/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-fastify-3/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-fastify-3/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-4/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-fastify-4/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-fastify-4/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-fastify-5/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-fastify-5/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-fastify-6/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-fastify-6/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-fastify-6/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-firebase/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-firebase/pnpm-workspace.yaml index 8a5eb172e019..3caf2f25e80a 100644 --- a/dev-packages/e2e-tests/test-applications/node-firebase/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/node-firebase/pnpm-workspace.yaml @@ -1,3 +1,8 @@ +allowBuilds: + '@firebase/util': true + protobufjs: false + re2: true packages: - 'functions' - 'firestore-app' +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-flue/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-flue/pnpm-workspace.yaml new file mode 100644 index 000000000000..0e523a16e6f0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-flue/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + '@google/genai': false + core-js-pure: false + esbuild: true + protobufjs: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-hapi/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-hapi/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-hapi/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-koa/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-koa/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-koa/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-mastra/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-mastra/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-mastra/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-openai-send-to-sentry/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-otel-sdk-node/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-otel-sdk-node/pnpm-workspace.yaml new file mode 100644 index 000000000000..428f42f5ee7b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-otel-sdk-node/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + protobufjs: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-pi-durable/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-pi-durable/pnpm-workspace.yaml new file mode 100644 index 000000000000..9ca1c8a358ad --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-pi-durable/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + '@google/genai': false + esbuild: true + protobufjs: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-prisma-8/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-prisma-8/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-prisma-8/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-cjs/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/pnpm-workspace.yaml new file mode 100644 index 000000000000..677b3461f270 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-cjs/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@sentry/node-cpu-profiler': true + esbuild: true +minimumReleaseAge: 0 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 451edfd3cddb..94f671f13368 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 @@ -8,7 +8,7 @@ "test:assert": "$(pnpm bin)/electron-rebuild && pnpm playwright test" }, "dependencies": { - "@electron/rebuild": "^3.7.0", + "@electron/rebuild": "^4.2.1", "@playwright/test": "~1.63.0", "@sentry/electron": "latest || *", "@sentry/node": "file:../../packed/sentry-node-packed.tgz", diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-electron/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-profiling-electron/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-electron/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-profiling-esm/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-profiling-esm/pnpm-workspace.yaml new file mode 100644 index 000000000000..677b3461f270 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-profiling-esm/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@sentry/node-cpu-profiler': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-rolldown/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-rolldown/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-rolldown/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-rollup/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-rollup/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-rollup/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-vite/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-vite/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/node-webpack/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-webpack/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/node-webpack/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-dynamic-import/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 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 6e3938b70df1..0fb481d42792 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,11 +25,6 @@ "@playwright/test": "~1.63.0", "@sentry-internal/test-utils": "link:../../../test-utils" }, - "pnpm": { - "overrides": { - "ofetch": "1.4.0" - } - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-min/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-3-min/pnpm-workspace.yaml new file mode 100644 index 000000000000..e21123e4ce75 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-min/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 +overrides: + 'ofetch': '1.4.0' diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-3-top-level-import/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nuxt-3/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-3/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-3/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-4-cloudflare/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-4-sourcemaps/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-4-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..8525919fe522 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-4-static/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + vue-demi: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nuxt-4/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nuxt-4/pnpm-workspace.yaml new file mode 100644 index 000000000000..8525919fe522 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/nuxt-4/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + vue-demi: true +minimumReleaseAge: 0 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 ccc0df377bcd..fd1dedb71d73 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 @@ -26,8 +26,7 @@ "typescript": "~5.0.0" }, "volta": { - "extends": "../../package.json", - "pnpm": "11.10.0" + "extends": "../../package.json" }, "sentryTest": { "optional": true, 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 6a38a24d8f3c..6e84b33b97fa 100644 --- a/dev-packages/e2e-tests/test-applications/nuxt-5/package.json +++ b/dev-packages/e2e-tests/test-applications/nuxt-5/package.json @@ -41,7 +41,6 @@ "optional": true }, "volta": { - "extends": "../../package.json", - "pnpm": "11.10.0" + "extends": "../../package.json" } } diff --git a/dev-packages/e2e-tests/test-applications/react-17-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-17-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-17-static/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-17/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-17/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-17/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-19/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-19/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-19/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-create-browser-router/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-create-browser-router/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-create-browser-router/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-create-hash-router/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-create-hash-router/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-create-hash-router/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-create-memory-router/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-create-memory-router/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-create-memory-router/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-5/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-5/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-6-descendant-routes/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-6-router-entry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-6-router-entry/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-6-router-entry/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-6-use-routes/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-6/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-6/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-6/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-cross-usage/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework-instrumentation/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework-spa/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-framework-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework-static/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-framework/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-framework/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-framework/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-lazy-routes/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-router-entry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-router-entry/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-router-entry/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-spa-streaming/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-7-spa/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-7-spa/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-7-spa/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-8-cross-usage/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-framework/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-8-framework/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-8-framework/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-router-entry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-8-router-entry/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-8-router-entry/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-8-spa/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-8-spa/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-8-spa/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-router-sourcemaps/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-router-sourcemaps/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-router-sourcemaps/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/react-send-to-sentry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/react-send-to-sentry/pnpm-workspace.yaml new file mode 100644 index 000000000000..f5b00dda6609 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/react-send-to-sentry/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + core-js: false + core-js-pure: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/remix-hydrogen/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/remix-hydrogen/pnpm-workspace.yaml new file mode 100644 index 000000000000..0aaed65978c9 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/remix-hydrogen/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + esbuild: true + unrs-resolver: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml new file mode 100644 index 000000000000..c0cf0c99071e --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/remix-sourcemaps/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/remix-sourcemaps/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/remix-sourcemaps/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 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 5cb015c44c9a..abf190451247 100644 --- a/dev-packages/e2e-tests/test-applications/remix-v3/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-v3/package.json @@ -22,7 +22,6 @@ "typescript": "~5.9.0" }, "volta": { - "node": "24.18.0", - "pnpm": "9.15.9" + "node": "24.18.0" } } diff --git a/dev-packages/e2e-tests/test-applications/remix-v3/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/remix-v3/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/remix-v3/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solid-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solid-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solid-static/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solid-tanstack-router/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solid-tanstack-router/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solid-tanstack-router/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solid/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solid/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solid/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solidstart-2/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solidstart-2/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solidstart-2/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/pnpm-workspace.yaml new file mode 100644 index 000000000000..9355b28e8d0e --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solidstart-dynamic-import/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solidstart-spa/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solidstart-spa/pnpm-workspace.yaml new file mode 100644 index 000000000000..9355b28e8d0e --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solidstart-spa/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solidstart-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solidstart-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..9355b28e8d0e --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solidstart-static/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/pnpm-workspace.yaml new file mode 100644 index 000000000000..9355b28e8d0e --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solidstart-top-level-import/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/solidstart/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/solidstart/pnpm-workspace.yaml new file mode 100644 index 000000000000..9355b28e8d0e --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/solidstart/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@parcel/watcher': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/supabase-nextjs/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/supabase-nextjs/pnpm-workspace.yaml new file mode 100644 index 000000000000..dfbd5846c66d --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/supabase-nextjs/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + supabase: true + unrs-resolver: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/svelte-5-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/svelte-5-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..0b3d67452642 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/svelte-5-static/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + svelte-preprocess: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/svelte-5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/svelte-5/pnpm-workspace.yaml new file mode 100644 index 000000000000..0b3d67452642 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/svelte-5/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + svelte-preprocess: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-kit-tracing/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-otlp/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..0b3d67452642 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + svelte-preprocess: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/pnpm-workspace.yaml new file mode 100644 index 000000000000..0b3d67452642 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + svelte-preprocess: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/pnpm-workspace.yaml new file mode 100644 index 000000000000..19da8807ed86 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2.5.0-twp/pnpm-workspace.yaml @@ -0,0 +1,5 @@ +allowBuilds: + '@sveltejs/kit': true + esbuild: true + svelte-preprocess: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml new file mode 100644 index 000000000000..0b3d67452642 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + svelte-preprocess: false +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-3-cloudflare-workers/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-3-sourcemaps/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-3/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-3/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-3/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/sveltekit-cloudflare-pages/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/tanstack-router/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/tanstack-router/pnpm-workspace.yaml new file mode 100644 index 000000000000..dafa2e7eca8c --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/tanstack-router/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@swc/core': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react-cloudflare/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/tanstackstart-react-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..dafa2e7eca8c --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react-static/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@swc/core': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/tanstackstart-react/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/tanstackstart-react/pnpm-workspace.yaml new file mode 100644 index 000000000000..dafa2e7eca8c --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + '@swc/core': true + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/vinext-cf-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/vinext-cf-workers/pnpm-workspace.yaml new file mode 100644 index 000000000000..fd29a82085e0 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/vinext-cf-workers/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + workerd: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/vue-3-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/vue-3-static/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/vue-3-static/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/vue-3/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/vue-3/pnpm-workspace.yaml new file mode 100644 index 000000000000..3cdf2ff22992 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/vue-3/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + esbuild: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/vue-tanstack-router/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/vue-tanstack-router/pnpm-workspace.yaml new file mode 100644 index 000000000000..8525919fe522 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/vue-tanstack-router/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +allowBuilds: + esbuild: true + vue-demi: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/webpack-4/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/webpack-4/pnpm-workspace.yaml new file mode 100644 index 000000000000..05c2481d973b --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/webpack-4/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +allowBuilds: + fsevents: true +minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/webpack-5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/webpack-5/pnpm-workspace.yaml new file mode 100644 index 000000000000..a1c031fc3310 --- /dev/null +++ b/dev-packages/e2e-tests/test-applications/webpack-5/pnpm-workspace.yaml @@ -0,0 +1 @@ +minimumReleaseAge: 0 diff --git a/package.json b/package.json index d009220ac089..ddcc32743abf 100644 --- a/package.json +++ b/package.json @@ -50,8 +50,7 @@ }, "volta": { "node": "24.21.0", - "yarn": "1.22.22", - "pnpm": "9.15.9" + "yarn": "1.22.22" }, "workspaces": [ "packages/angular", @@ -136,6 +135,7 @@ "oxfmt": "^0.70.0", "oxlint": "^1.75.0", "oxlint-tsgolint": "7", + "pnpm": "12.11.2", "rimraf": "^6.1.3", "rollup": "^4.60.3", "rollup-plugin-esbuild": "^6.2.1", diff --git a/scripts/bump-version.js b/scripts/bump-version.js index 083b2ed21eb2..7e9e208e1ab5 100644 --- a/scripts/bump-version.js +++ b/scripts/bump-version.js @@ -22,18 +22,15 @@ function updateWorkspaceDeps(pkgPath, workspaceNames, newVersion, { bumpVersion } } - if (pkg.pnpm?.overrides) { - for (const [dep, value] of Object.entries(pkg.pnpm.overrides)) { - if (!workspaceNames.has(dep)) continue; - - pkg.pnpm.overrides[dep] = value.replace(/(?<=sentry-[\w-]+-)\d+\.\d+\.\d+(-[\w.]+)?(?=\.tgz$)/, newVersion); - } - } - fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n'); return pkg; } +function updateTarballVersions(filePath, newVersion) { + const content = fs.readFileSync(filePath, 'utf-8'); + fs.writeFileSync(filePath, content.replace(/(?<=sentry-[\w-]+-)\d+\.\d+\.\d+(-[\w.]+)?(?=\.tgz)/g, newVersion)); +} + /** * Bumps the version of all workspace packages and their internal dependencies. * This replicates the behavior of: @@ -86,6 +83,12 @@ function bumpVersions(rootDir, newVersion) { if (!fs.existsSync(fixturePkgPath)) continue; updateWorkspaceDeps(fixturePkgPath, workspaceNames, newVersion); + + const fixtureWorkspacePath = path.join(fixturesDir, entry.name, 'pnpm-workspace.yaml'); + + if (fs.existsSync(fixtureWorkspacePath)) { + updateTarballVersions(fixtureWorkspacePath, newVersion); + } } } diff --git a/scripts/bump-version.test.ts b/scripts/bump-version.test.ts index e2ebd06c94bc..46081a95d7a5 100644 --- a/scripts/bump-version.test.ts +++ b/scripts/bump-version.test.ts @@ -279,23 +279,32 @@ describe('bump-version', () => { esbuild: '0.28.0', '@sentry/bundler-plugins': '10.0.0', }, - pnpm: { - overrides: { - '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-10.0.0.tgz', - '@sentry/core': 'file:../../../../packages/core/sentry-core-10.0.0.tgz', - }, - }, }); + fs.writeFileSync( + path.join(fixturesDir, 'esbuild', 'pnpm-workspace.yaml'), + [ + 'overrides:', + " '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-10.0.0.tgz'", + " '@sentry/core': 'file:../../../../packages/core/sentry-core-10.0.0-beta.1.tgz'", + " 'sentry': 'file:../sentry-stub'", + '', + ].join('\n'), + ); bumpVersions(rootDir, '10.1.0'); const fixture = readPackageJson(path.join(fixturesDir, 'esbuild')); expect(fixture.dependencies['@sentry/bundler-plugins']).toBe('10.1.0'); expect(fixture.dependencies['esbuild']).toBe('0.28.0'); - expect(fixture.pnpm.overrides['@sentry/bundler-plugins']).toBe( - 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-10.1.0.tgz', + expect(fs.readFileSync(path.join(fixturesDir, 'esbuild', 'pnpm-workspace.yaml'), 'utf-8')).toBe( + [ + 'overrides:', + " '@sentry/bundler-plugins': 'file:../../../../packages/bundler-plugins/sentry-bundler-plugins-10.1.0.tgz'", + " '@sentry/core': 'file:../../../../packages/core/sentry-core-10.1.0.tgz'", + " 'sentry': 'file:../sentry-stub'", + '', + ].join('\n'), ); - expect(fixture.pnpm.overrides['@sentry/core']).toBe('file:../../../../packages/core/sentry-core-10.1.0.tgz'); }); it('throws when a workspace package.json is unreadable and does not partially update', () => { diff --git a/scripts/claude-cloud-setup.sh b/scripts/claude-cloud-setup.sh index daad33a61572..f2dd2eb72cd3 100755 --- a/scripts/claude-cloud-setup.sh +++ b/scripts/claude-cloud-setup.sh @@ -16,9 +16,6 @@ set -euo pipefail cd "$(dirname "$0")/.." -# Required by the repo's package-manager setup (some workspaces use pnpm via Volta). -export VOLTA_FEATURE_PNPM=1 - echo "node: $(node --version 2>/dev/null || echo 'not found')" echo "yarn: $(yarn --version 2>/dev/null || echo 'not found')" diff --git a/yarn.lock b/yarn.lock index a34482b44765..17ff00432901 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7212,6 +7212,76 @@ dependencies: playwright "1.63.0" +"@pnpm/exe.android-arm64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.android-arm64/-/exe.android-arm64-12.11.2.tgz#19a5bb724b6474d012183d27cf3e681a5b77676f" + integrity sha512-owLw13OfPkEoY+hLBNeeG+dCFhywr7q2d/EHPz4mNL2RhKnv8gNwMARkjkiDQu234aItVwFNDeGnmQXm+ikkAg== + +"@pnpm/exe.android-x64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.android-x64/-/exe.android-x64-12.11.2.tgz#006e181ff05ac4865f1a0403e5eb06a4c726c818" + integrity sha512-GYPkVebl4iokOA/4MPSpGoUVfFlsth7uqOCe1XiaiM23LAdvUOMJBObqHJijr89ZqjwHm9pO6vO45GRwJ2U2qA== + +"@pnpm/exe.darwin-arm64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.darwin-arm64/-/exe.darwin-arm64-12.11.2.tgz#5412671ac9eef2fabf21f7025d55f6f5a85c2b42" + integrity sha512-n9M4On66y8FDxUAKgMO1FXt0qihyG4e+56p3/F0uo8Bx9KplW8BwKVnXigzCJ8aNM6sVVPkOE6M9XXbeVIxnZA== + +"@pnpm/exe.darwin-x64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.darwin-x64/-/exe.darwin-x64-12.11.2.tgz#e638b01084f6fbda14210cb5dfb27b0b7113ce62" + integrity sha512-oSW7n3sBT0c0cyk4kj10T2Y6Mpm+OFEiCAWozgX039tdoI6yqJF1uaFD3sw7ugLdu6VV3+uY0pa1TUZIPdxDWA== + +"@pnpm/exe.freebsd-x64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.freebsd-x64/-/exe.freebsd-x64-12.11.2.tgz#ee8d8b123670fcaf2b8d00496c93f6165ae115f4" + integrity sha512-qbzc3KoDpa/Lkf8vs3jnDe6dUUbso+6eLIyssYFMiliLpYNxn8dirk11YoNnOQcdHVB50v5RFls1Yid6ttT5pg== + +"@pnpm/exe.linux-arm64-musl@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.linux-arm64-musl/-/exe.linux-arm64-musl-12.11.2.tgz#4ca69ac270510e5ef1a1d4e90b53b6f607b37706" + integrity sha512-uMEYDwKRktGwANubQ+kYCwmhNwg3Ik6qK89ahsbQ5cP30R/5FVJb/T99vr9XRUBC/A7mZI6eeT92oyVas9ACyg== + +"@pnpm/exe.linux-arm64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.linux-arm64/-/exe.linux-arm64-12.11.2.tgz#9c0032a9afa67ce04d26210ba3fd38717f8fd0b6" + integrity sha512-6e8ZAQUwFXAWHHHv5FesWqf/kEK04wuitBv5f/gxzkC0DiBfaixr+f+6JQede8SF4Ji5LcMwVFJbzAtffpWxEg== + +"@pnpm/exe.linux-ppc64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.linux-ppc64/-/exe.linux-ppc64-12.11.2.tgz#aa1ed3cd8dfb72ae7e82bd11552244e7d0cddd5f" + integrity sha512-Ui8A4nepkVupx2VpuFfysEluMvWK6gTB5rgVts7Ss/+8dj0RD28x3F/seNeH/zSypgC6yKdV6qsKVQh/uffTuQ== + +"@pnpm/exe.linux-riscv64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.linux-riscv64/-/exe.linux-riscv64-12.11.2.tgz#6c199e88fef12313af84b3fb5178bca76b36cf9b" + integrity sha512-i1yLdQ5bu+wjQ+srtFoJAaY2gN/+oXHFdjul4llCeoDxHE0rTIG3R41NhHfCjyFPW4+CpbBT58933CL9sMOCnA== + +"@pnpm/exe.linux-s390x@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.linux-s390x/-/exe.linux-s390x-12.11.2.tgz#4b39d64e334720e057f5bbc7bb2a0abd17336d94" + integrity sha512-YS1/lhPjjTsN4QL50VaFZKRa3Uc/bDnhE8eKbJMFvuX06UuFS5YaiDg04APoZdfVSGqTfX27QAg7rfLMSWaqxA== + +"@pnpm/exe.linux-x64-musl@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.linux-x64-musl/-/exe.linux-x64-musl-12.11.2.tgz#8ad50201bb69e3b647d75fd2ba58fb6706221850" + integrity sha512-7eIxQR05fvJxCujUSKp5KTtehJ7QqrgqP/HD1+BcB/SaV2Be4XI1PEHiOgA1zxsiMIeMvTF6E4G4dYHrFjeXRg== + +"@pnpm/exe.linux-x64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.linux-x64/-/exe.linux-x64-12.11.2.tgz#e5f2a6fdac29bd712ad6001d62e776a617d21fc4" + integrity sha512-FK7QKe24AYgppJwO3mpooYptduuvIGqKJPi5ac7MdnWkjUy46JBfYhCW0grnkWKC8YOf0x+vGviuQqJEj3SpQQ== + +"@pnpm/exe.win32-arm64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.win32-arm64/-/exe.win32-arm64-12.11.2.tgz#2564ef5e03ea9e039bc1271133cab12bb6248005" + integrity sha512-PCTjVDdJb6VvraZxrEeFv6EqEA0hhIsAySx28e95J2Tqpi88hLpgOXgNqV0vpxq9A+b8GLQfyk/D+1UlJPv/YQ== + +"@pnpm/exe.win32-x64@12.11.2": + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/@pnpm/exe.win32-x64/-/exe.win32-x64-12.11.2.tgz#f473dc852f50662cc535aef1bcbe36bc3ad02769" + integrity sha512-8sgX86OvRjJ3yZs/TvGR2L31wH9ScPZ+f+geKI3ikuB0RRiK3i4LlTRO8OXN6pdRqj8epMde4312MCjj7JsJdA== + "@polka/url@^1.0.0-next.24": version "1.0.0-next.28" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.28.tgz#d45e01c4a56f143ee69c54dd6b12eade9e270a73" @@ -22458,6 +22528,26 @@ pluralize@^8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== +pnpm@12.11.2: + version "12.11.2" + resolved "https://sfw.security.sentry.io/npm/pnpm/-/pnpm-12.11.2.tgz#b52ddf8ba9850292e091eee9fbec5532159464eb" + integrity sha512-JaUWUqGWeFr18ovabf6NxYLr76SsHRgCIc4TkCMcX7dmN4IupLbkYzznSs3LCnf3Ja8RutOBd/3t2u6BipVcuQ== + optionalDependencies: + "@pnpm/exe.android-arm64" "12.11.2" + "@pnpm/exe.android-x64" "12.11.2" + "@pnpm/exe.darwin-arm64" "12.11.2" + "@pnpm/exe.darwin-x64" "12.11.2" + "@pnpm/exe.freebsd-x64" "12.11.2" + "@pnpm/exe.linux-arm64" "12.11.2" + "@pnpm/exe.linux-arm64-musl" "12.11.2" + "@pnpm/exe.linux-ppc64" "12.11.2" + "@pnpm/exe.linux-riscv64" "12.11.2" + "@pnpm/exe.linux-s390x" "12.11.2" + "@pnpm/exe.linux-x64" "12.11.2" + "@pnpm/exe.linux-x64-musl" "12.11.2" + "@pnpm/exe.win32-arm64" "12.11.2" + "@pnpm/exe.win32-x64" "12.11.2" + possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" From b4f49bd086c7f4d53671367c7e6bc460df980ce1 Mon Sep 17 00:00:00 2001 From: s1gr1d <32902192+s1gr1d@users.noreply.github.com> Date: Wed, 14 Oct 2026 10:36:27 +0200 Subject: [PATCH 2/6] fix CI failures --- dev-packages/e2e-tests/README.md | 8 ++++---- dev-packages/e2e-tests/lib/pnpmOverrides.ts | 10 ++++++---- .../test-applications/astro-4/pnpm-workspace.yaml | 3 +++ .../astro-5-cf-workers/pnpm-workspace.yaml | 1 + .../test-applications/astro-5/pnpm-workspace.yaml | 3 +++ .../astro-6-cf-workers/pnpm-workspace.yaml | 1 + .../test-applications/astro-6/pnpm-workspace.yaml | 3 +++ .../browser-bfcache/pnpm-workspace.yaml | 2 ++ .../browser-mfe-vite/pnpm-workspace.yaml | 2 ++ .../browser-webworker-vite/pnpm-workspace.yaml | 2 ++ .../pnpm-workspace.yaml | 3 +++ .../cloudflare-pi-durable/pnpm-workspace.yaml | 3 +++ .../cloudflare-think/pnpm-workspace.yaml | 3 +++ .../pnpm-workspace.yaml | 3 +++ .../create-remix-app-express/pnpm-workspace.yaml | 3 +++ .../create-remix-app-v2-non-vite/package.json | 3 --- .../create-remix-app-v2-non-vite/pnpm-workspace.yaml | 5 +++++ .../create-remix-app-v2-static/package.json | 3 --- .../create-remix-app-v2-static/pnpm-workspace.yaml | 5 +++++ .../create-remix-app-v2/package.json | 3 --- .../create-remix-app-v2/pnpm-workspace.yaml | 5 +++++ .../test-applications/ember-classic/package.json | 4 ---- .../ember-classic/pnpm-workspace.yaml | 2 ++ .../ember-strict-resolver/pnpm-workspace.yaml | 2 ++ .../test-applications/ember-vite/pnpm-workspace.yaml | 2 ++ .../test-applications/nextjs-14/pnpm-workspace.yaml | 2 ++ .../nextjs-16-tunnel/pnpm-workspace.yaml | 2 ++ .../nextjs-app-dir/tests/client-errors.test.ts | 4 ++-- .../nextjs-app-dir/tests/transactions.test.ts | 12 ++++++------ .../nextjs-pages-dir/tests/transactions.test.ts | 4 ++-- .../node-express-static/package.json | 3 --- .../node-express-static/pnpm-workspace.yaml | 2 ++ .../node-express-streaming/package.json | 3 --- .../node-express-streaming/pnpm-workspace.yaml | 2 ++ .../test-applications/node-express-v5/package.json | 3 --- .../node-express-v5/pnpm-workspace.yaml | 2 ++ .../test-applications/node-express/package.json | 3 --- .../node-express/pnpm-workspace.yaml | 2 ++ .../remix-server-timing/package.json | 3 --- .../remix-server-timing/pnpm-workspace.yaml | 2 ++ .../tanstackstart-react-static/package.json | 2 +- .../tanstackstart-react/package.json | 2 +- .../test-applications/tsx-express/package.json | 3 --- .../tsx-express/pnpm-workspace.yaml | 2 ++ 44 files changed, 91 insertions(+), 51 deletions(-) diff --git a/dev-packages/e2e-tests/README.md b/dev-packages/e2e-tests/README.md index baefa8e57045..876651833b5c 100644 --- a/dev-packages/e2e-tests/README.md +++ b/dev-packages/e2e-tests/README.md @@ -118,10 +118,10 @@ Make sure to add a `test:build` and `test:assert` command to the new app's `pack Sentry packages are automatically resolved to the local build via pnpm overrides injected at test time, so no manual registry configuration is needed. -Each app has a `pnpm-workspace.yaml` for its pnpm settings, because pnpm ignores the `pnpm` field in `package.json`. -Copy it from a similar app. It needs `minimumReleaseAge: 0` and an `allowBuilds` entry for each dependency with a build -script: `true` if the app needs the script, `false` if the script only prints a message. pnpm fails the install -(`ERR_PNPM_IGNORED_BUILDS`) for a build script that `allowBuilds` does not list. +Each app has a `pnpm-workspace.yaml` for its pnpm settings, because pnpm ignores the `pnpm` and `resolutions` fields in +`package.json`. Copy it from a similar app. It needs `minimumReleaseAge: 0` and an `allowBuilds` entry for each +dependency with a build script: `true` if the app needs the script, `false` if the script only prints a message. pnpm +fails the install (`ERR_PNPM_IGNORED_BUILDS`) for a build script that `allowBuilds` does not list. Apps use the pnpm version from the root `devDependencies`. To use another version, set `packageManager` in the app's `package.json` (for example `"packageManager": "pnpm@10.34.6"`), and use the settings of that version in its diff --git a/dev-packages/e2e-tests/lib/pnpmOverrides.ts b/dev-packages/e2e-tests/lib/pnpmOverrides.ts index 86a857309e02..ed1ad7290c59 100644 --- a/dev-packages/e2e-tests/lib/pnpmOverrides.ts +++ b/dev-packages/e2e-tests/lib/pnpmOverrides.ts @@ -15,11 +15,13 @@ import { fixFileLinkDependencies } from './copyToTemp'; */ export async function addPnpmOverrides(tmpDirPath: string, packedDirPath: string): Promise { const packageJsonPath = path.join(tmpDirPath, 'package.json'); - const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf8')) as { pnpm?: unknown }; + const packageJson = JSON.parse(await readFile(packageJsonPath, 'utf8')) as { pnpm?: unknown; resolutions?: unknown }; - // pnpm 11+ ignores this field, so its settings would silently have no effect. - if (packageJson.pnpm) { - throw new Error(`Move the "pnpm" settings in ${packageJsonPath} to the app's pnpm-workspace.yaml`); + // pnpm 11+ ignores these fields, so their settings would silently have no effect. + if (packageJson.pnpm || packageJson.resolutions) { + throw new Error( + `Move the "pnpm" and "resolutions" settings in ${packageJsonPath} to the app's pnpm-workspace.yaml`, + ); } const packageNames = getPublishedSentryTarballPackageNames(); diff --git a/dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml index a1c031fc3310..8e0117ebb801 100644 --- a/dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/astro-4/pnpm-workspace.yaml @@ -1 +1,4 @@ +allowBuilds: + esbuild: true + sharp: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml index fd29a82085e0..dd39420094df 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/astro-5-cf-workers/pnpm-workspace.yaml @@ -1,4 +1,5 @@ allowBuilds: esbuild: true + sharp: true workerd: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml index 54f7b26b0f56..77e59480ba4a 100644 --- a/dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/astro-5/pnpm-workspace.yaml @@ -1,3 +1,6 @@ +allowBuilds: + esbuild: true + sharp: true minimumReleaseAge: 0 overrides: 'esbuild': '0.24.0' diff --git a/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml index fd29a82085e0..dd39420094df 100644 --- a/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/astro-6-cf-workers/pnpm-workspace.yaml @@ -1,4 +1,5 @@ allowBuilds: esbuild: true + sharp: true workerd: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml index a1c031fc3310..8e0117ebb801 100644 --- a/dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/astro-6/pnpm-workspace.yaml @@ -1 +1,4 @@ +allowBuilds: + esbuild: true + sharp: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml index a1c031fc3310..3cdf2ff22992 100644 --- a/dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/browser-bfcache/pnpm-workspace.yaml @@ -1 +1,3 @@ +allowBuilds: + esbuild: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml index fc1531df9767..fdf1f588f030 100644 --- a/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/browser-mfe-vite/pnpm-workspace.yaml @@ -1,3 +1,5 @@ +allowBuilds: + esbuild: true packages: - 'apps/*' minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml index a1c031fc3310..3cdf2ff22992 100644 --- a/dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/browser-webworker-vite/pnpm-workspace.yaml @@ -1 +1,3 @@ +allowBuilds: + esbuild: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml index fd29a82085e0..9f5534f26e55 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/cloudflare-flue-send-to-sentry/pnpm-workspace.yaml @@ -1,4 +1,7 @@ allowBuilds: + '@google/genai': false + core-js-pure: false esbuild: true + protobufjs: false workerd: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml index fd29a82085e0..9f5534f26e55 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/cloudflare-pi-durable/pnpm-workspace.yaml @@ -1,4 +1,7 @@ allowBuilds: + '@google/genai': false + core-js-pure: false esbuild: true + protobufjs: false workerd: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml index fd29a82085e0..7ebb82eba498 100644 --- a/dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/cloudflare-think/pnpm-workspace.yaml @@ -1,4 +1,7 @@ allowBuilds: + '@mongodb-js/zstd': true + core-js-pure: false esbuild: true + node-liblzma: true workerd: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml index a1c031fc3310..c0cf0c99071e 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/pnpm-workspace.yaml @@ -1 +1,4 @@ +allowBuilds: + esbuild: true + unrs-resolver: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml index a1c031fc3310..c0cf0c99071e 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/pnpm-workspace.yaml @@ -1 +1,4 @@ +allowBuilds: + esbuild: true + unrs-resolver: true minimumReleaseAge: 0 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 ae5a86e26839..e7d056860e84 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 @@ -30,9 +30,6 @@ "eslint": "^8.38.0", "typescript": "^5.0.4" }, - "resolutions": { - "@types/react": "18.2.22" - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml index a1c031fc3310..1858a5f1d489 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-non-vite/pnpm-workspace.yaml @@ -1 +1,6 @@ +allowBuilds: + esbuild: true + unrs-resolver: true minimumReleaseAge: 0 +overrides: + '@types/react': '18.2.22' 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 0bce531687fb..1fbc04eb7745 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 @@ -37,9 +37,6 @@ "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" }, - "resolutions": { - "@types/react": "18.2.22" - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml index a1c031fc3310..1858a5f1d489 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2-static/pnpm-workspace.yaml @@ -1 +1,6 @@ +allowBuilds: + esbuild: true + unrs-resolver: true minimumReleaseAge: 0 +overrides: + '@types/react': '18.2.22' 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 0bce531687fb..1fbc04eb7745 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 @@ -37,9 +37,6 @@ "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" }, - "resolutions": { - "@types/react": "18.2.22" - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml index a1c031fc3310..1858a5f1d489 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/pnpm-workspace.yaml @@ -1 +1,6 @@ +allowBuilds: + esbuild: true + unrs-resolver: true minimumReleaseAge: 0 +overrides: + '@types/react': '18.2.22' 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 f5cfb2795c43..3a41cccb46d7 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/package.json +++ b/dev-packages/e2e-tests/test-applications/ember-classic/package.json @@ -74,10 +74,6 @@ "engines": { "node": ">=20.19.0 <22.0.0 || >=22.12.0 <23.0.0 || >=23.2.0" }, - "resolutions": { - "@babel/traverse": "~7.25.9", - "clean-css": "^5.3.0" - }, "ember": { "edition": "octane" }, diff --git a/dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml index d3bb70b68dae..8648917fefff 100644 --- a/dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/ember-classic/pnpm-workspace.yaml @@ -3,3 +3,5 @@ allowBuilds: minimumReleaseAge: 0 overrides: '@embroider/macros@1.21.2': '1.21.1' + '@babel/traverse': '~7.25.9' + 'clean-css': '^5.3.0' diff --git a/dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml index acb616c5a51f..cac89f0c0792 100644 --- a/dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/ember-strict-resolver/pnpm-workspace.yaml @@ -1,3 +1,5 @@ +allowBuilds: + esbuild: true minimumReleaseAge: 0 overrides: '@embroider/vite@1.7.14': '1.7.13' diff --git a/dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml index acb616c5a51f..cac89f0c0792 100644 --- a/dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/ember-vite/pnpm-workspace.yaml @@ -1,3 +1,5 @@ +allowBuilds: + esbuild: true minimumReleaseAge: 0 overrides: '@embroider/vite@1.7.14': '1.7.13' diff --git a/dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml index a1c031fc3310..109e71d10262 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/nextjs-14/pnpm-workspace.yaml @@ -1 +1,3 @@ +allowBuilds: + sharp: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml index bde9dfb7b138..0aaed65978c9 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/nextjs-16-tunnel/pnpm-workspace.yaml @@ -1,3 +1,5 @@ allowBuilds: + esbuild: true unrs-resolver: true + workerd: true minimumReleaseAge: 0 diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/client-errors.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/client-errors.test.ts index 0fef36e3d9fd..70a8cb313b05 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/client-errors.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/client-errors.test.ts @@ -2,10 +2,10 @@ import { expect, test } from '@playwright/test'; import { waitForError } from '@sentry-internal/test-utils'; import { isDevMode } from './isDevMode'; -const packageJson = require('../package.json'); +const nextPackageJson = require('next/package.json'); test('Sends a client-side exception to Sentry', async ({ page }) => { - const nextjsVersion = packageJson.dependencies.next; + const nextjsVersion = nextPackageJson.version; const nextjsMajor = Number(nextjsVersion.split('.')[0]); await page.goto('/'); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/transactions.test.ts index eadfbf084d32..fe912c78b223 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/tests/transactions.test.ts @@ -8,10 +8,10 @@ import { } from '@sentry-internal/test-utils'; import { isDevMode } from './isDevMode'; -const packageJson = require('../package.json'); +const nextPackageJson = require('next/package.json'); test('Sends a pageload span', async ({ page }) => { - const nextjsVersion = packageJson.dependencies.next; + const nextjsVersion = nextPackageJson.version; const nextjsMajor = Number(nextjsVersion.split('.')[0]); const pageloadSpanPromise = waitForStreamedSpan('nextjs-app-dir', span => { @@ -46,7 +46,7 @@ test('Sends a pageload span', async ({ page }) => { }); test('Should send a span for instrumented server actions', async ({ page }) => { - const nextjsVersion = packageJson.dependencies.next; + const nextjsVersion = nextPackageJson.version; const nextjsMajor = Number(nextjsVersion.split('.')[0]); test.skip(!isNaN(nextjsMajor) && nextjsMajor < 14, 'only applies to nextjs apps >= version 14'); @@ -70,7 +70,7 @@ test('Should send a span for instrumented server actions', async ({ page }) => { }); test('Should send a wrapped server action as a child of a nextjs span', async ({ page }) => { - const nextjsVersion = packageJson.dependencies.next; + const nextjsVersion = nextPackageJson.version; const nextjsMajor = Number(nextjsVersion.split('.')[0]); test.skip(!isNaN(nextjsMajor) && nextjsMajor < 14, 'only applies to nextjs apps >= version 14'); @@ -105,7 +105,7 @@ test('Should send a wrapped server action as a child of a nextjs span', async ({ }); test('Should set not_found status for server actions calling notFound()', async ({ page }) => { - const nextjsVersion = packageJson.dependencies.next; + const nextjsVersion = nextPackageJson.version; const nextjsMajor = Number(nextjsVersion.split('.')[0]); test.skip(!isNaN(nextjsMajor) && nextjsMajor < 14, 'only applies to nextjs apps >= version 14'); @@ -125,7 +125,7 @@ test('Should set not_found status for server actions calling notFound()', async test('Should not capture "NEXT_REDIRECT" control-flow errors for server actions calling redirect()', async ({ page, }) => { - const nextjsVersion = packageJson.dependencies.next; + const nextjsVersion = nextPackageJson.version; const nextjsMajor = Number(nextjsVersion.split('.')[0]); test.skip(!isNaN(nextjsMajor) && nextjsMajor < 14, 'only applies to nextjs apps >= version 14'); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/tests/transactions.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/tests/transactions.test.ts index 2212cba2525f..6529185e4f79 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/tests/transactions.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/tests/transactions.test.ts @@ -2,10 +2,10 @@ import { expect, test } from '@playwright/test'; import { getSpanOp, waitForStreamedSpan } from '@sentry-internal/test-utils'; import { isDevMode } from './isDevMode'; -const packageJson = require('../package.json'); +const nextPackageJson = require('next/package.json'); test('Sends a pageload span', async ({ page }) => { - const nextjsVersion = packageJson.dependencies.next; + const nextjsVersion = nextPackageJson.version; const nextjsMajor = Number(nextjsVersion.split('.')[0]); const pageloadSpanPromise = waitForStreamedSpan('nextjs-pages-dir', span => { 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 6ebf88fda7b9..13ca9cd17003 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": "link:../../../test-utils", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, - "resolutions": { - "@types/qs": "6.9.17" - }, "volta": { "extends": "../../package.json" }, diff --git a/dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml index a1c031fc3310..3db4c8f6a559 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/node-express-static/pnpm-workspace.yaml @@ -1 +1,3 @@ minimumReleaseAge: 0 +overrides: + '@types/qs': '6.9.17' 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 620ca3edc6ed..f56f070a79d2 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 @@ -26,9 +26,6 @@ "@sentry-internal/test-utils": "link:../../../test-utils", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, - "resolutions": { - "@types/qs": "6.9.17" - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml index a1c031fc3310..3db4c8f6a559 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/node-express-streaming/pnpm-workspace.yaml @@ -1 +1,3 @@ minimumReleaseAge: 0 +overrides: + '@types/qs': '6.9.17' 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 4e5a5d54f108..22c641ff62c0 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 @@ -27,9 +27,6 @@ "@sentry-internal/test-utils": "link:../../../test-utils", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, - "resolutions": { - "@types/qs": "6.9.17" - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml index a1c031fc3310..3db4c8f6a559 100644 --- a/dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/node-express-v5/pnpm-workspace.yaml @@ -1 +1,3 @@ minimumReleaseAge: 0 +overrides: + '@types/qs': '6.9.17' 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 4c150e1155d9..a2710c97e85e 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": "link:../../../test-utils", "@sentry/core": "file:../../packed/sentry-core-packed.tgz" }, - "resolutions": { - "@types/qs": "6.9.17" - }, "volta": { "extends": "../../package.json" }, diff --git a/dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml index a1c031fc3310..3db4c8f6a559 100644 --- a/dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/node-express/pnpm-workspace.yaml @@ -1 +1,3 @@ minimumReleaseAge: 0 +overrides: + '@types/qs': '6.9.17' 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 621c3ca9f116..e8aa4cd96980 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 @@ -33,9 +33,6 @@ "vite": "^5.4.11", "vite-tsconfig-paths": "^4.2.1" }, - "resolutions": { - "@types/react": "18.2.22" - }, "volta": { "extends": "../../package.json" } diff --git a/dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml index c0cf0c99071e..1858a5f1d489 100644 --- a/dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/remix-server-timing/pnpm-workspace.yaml @@ -2,3 +2,5 @@ allowBuilds: esbuild: true unrs-resolver: true minimumReleaseAge: 0 +overrides: + '@types/react': '18.2.22' 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 ff237684be5d..dd5f0a3c1862 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 @@ -29,7 +29,7 @@ "@tanstack/react-router": "1.170.18", "react": "^19.2.0", "react-dom": "^19.2.0", - "nitro": "latest || *", + "nitro": "latest", "ioredis": "5.10.1", "mysql": "^2.18.1" }, 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 410f41baecbc..32e6d19a3ae0 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json @@ -29,7 +29,7 @@ "@tanstack/react-router": "1.170.18", "react": "^19.2.0", "react-dom": "^19.2.0", - "nitro": "latest || *", + "nitro": "latest", "ioredis": "5.10.1", "mysql": "^2.18.1" }, 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 77277c1e9394..6659dbcfc603 100644 --- a/dev-packages/e2e-tests/test-applications/tsx-express/package.json +++ b/dev-packages/e2e-tests/test-applications/tsx-express/package.json @@ -26,9 +26,6 @@ "@sentry-internal/test-utils": "link:../../../test-utils", "tsx": "^4.20.3" }, - "resolutions": { - "@types/qs": "6.9.17" - }, "volta": { "node": "20.19.5", "extends": "../../package.json" diff --git a/dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml index 3cdf2ff22992..2eda65e124c3 100644 --- a/dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/tsx-express/pnpm-workspace.yaml @@ -1,3 +1,5 @@ allowBuilds: esbuild: true minimumReleaseAge: 0 +overrides: + '@types/qs': '6.9.17' From 8d75018e3637122ae892a0126abc54c2393f44da Mon Sep 17 00:00:00 2001 From: s1gr1d <32902192+s1gr1d@users.noreply.github.com> Date: Wed, 14 Oct 2026 11:32:02 +0200 Subject: [PATCH 3/6] fix CI failures --- .../create-remix-app-v2-non-vite/package.json | 4 ++-- .../test-applications/hydrogen-react-router-7/package.json | 4 ++-- .../react-router-6-descendant-routes/package.json | 6 +++--- .../react-router-7-cross-usage/package.json | 6 +++--- .../react-router-7-lazy-routes/package.json | 6 +++--- .../react-router-8-cross-usage/package.json | 6 +++--- .../e2e-tests/test-applications/remix-hydrogen/package.json | 4 ++-- .../test-applications/sveltekit-2-static/package.json | 5 ----- .../sveltekit-2-static/pnpm-workspace.yaml | 2 ++ .../e2e-tests/test-applications/sveltekit-2/package.json | 5 ----- .../test-applications/sveltekit-2/pnpm-workspace.yaml | 2 ++ .../tanstackstart-react-static/package.json | 2 +- .../test-applications/tanstackstart-react/package.json | 2 +- 13 files changed, 24 insertions(+), 30 deletions(-) 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 e7d056860e84..37791153293e 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 @@ -7,8 +7,8 @@ "start": "NODE_OPTIONS='--import=./instrument.server.cjs' remix-serve build/index.js", "typecheck": "tsc", "clean": "npx rimraf node_modules pnpm-lock.yaml", - "test:build": "pnpm install && npx playwright install && pnpm build", - "test:assert": "pnpm playwright test" + "test:build": "pnpm install && pnpm build", + "test:assert": "playwright install chromium && pnpm playwright test" }, "dependencies": { "@sentry/remix": "file:../../packed/sentry-remix-packed.tgz", 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 7687007647b3..d63a6fdd09c0 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 @@ -10,8 +10,8 @@ "typecheck": "tsc", "codegen": "shopify hydrogen codegen", "clean": "npx rimraf node_modules dist pnpm-lock.yaml", - "test:build": "pnpm install && npx playwright install && pnpm build", - "test:assert": "pnpm playwright test" + "test:build": "pnpm install && pnpm build", + "test:assert": "playwright install chromium && pnpm playwright test" }, "dependencies": { "@sentry/cloudflare": "file:../../packed/sentry-cloudflare-packed.tgz", 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 8cace7f29d8c..f3c9075a7b8e 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 @@ -20,9 +20,9 @@ "start:server": "serve -s build", "test": "playwright test", "clean": "npx rimraf node_modules pnpm-lock.yaml", - "test:build": "pnpm install && npx playwright install && pnpm build", - "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && npx playwright install && pnpm build", - "test:assert": "pnpm test" + "test:build": "pnpm install && pnpm build", + "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", + "test:assert": "playwright install chromium && pnpm test" }, "eslintConfig": { "extends": [ 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 c6d6a841b464..bf13e70ea581 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 @@ -18,9 +18,9 @@ "start": "serve -s build", "test": "playwright test", "clean": "npx rimraf node_modules pnpm-lock.yaml", - "test:build": "pnpm install && npx playwright install && pnpm build", - "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && npx playwright install && pnpm build", - "test:assert": "pnpm test" + "test:build": "pnpm install && pnpm build", + "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", + "test:assert": "playwright install chromium && pnpm test" }, "eslintConfig": { "extends": [ 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 7ba06f2e1246..d0df5e1dd60b 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 @@ -18,9 +18,9 @@ "start": "serve -s build", "test": "playwright test", "clean": "npx rimraf node_modules pnpm-lock.yaml", - "test:build": "pnpm install && npx playwright install && pnpm build", - "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && npx playwright install && pnpm build", - "test:assert": "pnpm test" + "test:build": "pnpm install && pnpm build", + "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", + "test:assert": "playwright install chromium && pnpm test" }, "eslintConfig": { "extends": [ 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 347460ff97cc..06f79986ee2e 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 @@ -18,9 +18,9 @@ "start": "serve -s build", "test": "playwright test", "clean": "npx rimraf node_modules pnpm-lock.yaml", - "test:build": "pnpm install && npx playwright install && pnpm build", - "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && npx playwright install && pnpm build", - "test:assert": "pnpm test" + "test:build": "pnpm install && pnpm build", + "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", + "test:assert": "playwright install chromium && pnpm test" }, "eslintConfig": { "extends": [ 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 5e27e3c1046e..fe7912afe59d 100644 --- a/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json @@ -10,8 +10,8 @@ "typecheck": "tsc", "codegen": "shopify hydrogen codegen", "clean": "npx rimraf node_modules dist pnpm-lock.yaml", - "test:build": "pnpm install && npx playwright install && pnpm build", - "test:assert": "pnpm playwright test" + "test:build": "pnpm install && pnpm build", + "test:assert": "playwright install chromium && pnpm playwright test" }, "dependencies": { "@remix-run/react": "^2.17.4", 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 95f11c2bd094..46c0f757e7f9 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,11 +36,6 @@ "typescript": "^5.0.0", "vite": "^5.4.11" }, - "pnpm": { - "overrides": { - "rollup": "4.64.5" - } - }, "volta": { "extends": "../../package.json" }, diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml index 0b3d67452642..d05ee36cf34f 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2-static/pnpm-workspace.yaml @@ -2,3 +2,5 @@ allowBuilds: esbuild: true svelte-preprocess: false minimumReleaseAge: 0 +overrides: + 'rollup': '4.64.5' 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 73adf2924524..c26f94e9b5c7 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2/package.json @@ -36,11 +36,6 @@ "typescript": "^5.0.0", "vite": "^5.4.11" }, - "pnpm": { - "overrides": { - "rollup": "4.64.5" - } - }, "volta": { "extends": "../../package.json" }, diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml index 0b3d67452642..d05ee36cf34f 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2/pnpm-workspace.yaml @@ -2,3 +2,5 @@ allowBuilds: esbuild: true svelte-preprocess: false minimumReleaseAge: 0 +overrides: + 'rollup': '4.64.5' 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 dd5f0a3c1862..cbc4e3e95e0b 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 @@ -29,7 +29,7 @@ "@tanstack/react-router": "1.170.18", "react": "^19.2.0", "react-dom": "^19.2.0", - "nitro": "latest", + "nitro": "^3.0.0", "ioredis": "5.10.1", "mysql": "^2.18.1" }, 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 32e6d19a3ae0..3b7947f69386 100644 --- a/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json +++ b/dev-packages/e2e-tests/test-applications/tanstackstart-react/package.json @@ -29,7 +29,7 @@ "@tanstack/react-router": "1.170.18", "react": "^19.2.0", "react-dom": "^19.2.0", - "nitro": "latest", + "nitro": "^3.0.0", "ioredis": "5.10.1", "mysql": "^2.18.1" }, From 29ae34684e6901976bc1941f9346ffce21abf984 Mon Sep 17 00:00:00 2001 From: s1gr1d <32902192+s1gr1d@users.noreply.github.com> Date: Wed, 14 Oct 2026 14:54:17 +0200 Subject: [PATCH 4/6] fix other next.js tests --- .../nextjs-15/tests/client-trace-propagation.test.ts | 4 ++-- .../nextjs-15/tests/nested-rsc-error.test.ts | 4 ++-- .../nextjs-15/tests/streaming-rsc-error.test.ts | 4 ++-- .../test-applications/nextjs-app-dir/assert-build.ts | 4 ++-- .../test-applications/nextjs-pages-dir/assert-build.ts | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/client-trace-propagation.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/client-trace-propagation.test.ts index 01fb5af62f05..6e56245508a0 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/client-trace-propagation.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/client-trace-propagation.test.ts @@ -2,8 +2,8 @@ import { expect, test } from '@playwright/test'; import { getSpanOp, waitForStreamedSpan } from '@sentry-internal/test-utils'; import { parseSemver } from '@sentry/core'; -const packageJson = require('../package.json'); -const nextjsVersion = packageJson.dependencies.next; +const nextPackageJson = require('next/package.json'); +const nextjsVersion = nextPackageJson.version; const { major, minor } = parseSemver(nextjsVersion); test('Should propagate traces from server to client in pages router', async ({ page }) => { diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/nested-rsc-error.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/nested-rsc-error.test.ts index 30704d284b63..eb601a3aca52 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/nested-rsc-error.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/nested-rsc-error.test.ts @@ -1,12 +1,12 @@ import { expect, test } from '@playwright/test'; import { waitForError, waitForStreamedSpan } from '@sentry-internal/test-utils'; -const packageJson = require('../package.json'); +const nextPackageJson = require('next/package.json'); test('Should capture errors from nested server components when `Sentry.captureRequestError` is added to the `onRequestError` hook', async ({ page, }) => { - const [, minor, patch, canary] = packageJson.dependencies.next.split('.'); + const [, minor, patch, canary] = nextPackageJson.version.split('.'); test.skip( minor === '0' && diff --git a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/streaming-rsc-error.test.ts b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/streaming-rsc-error.test.ts index 5d2d8d2db9bf..5fd20a1308c8 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-15/tests/streaming-rsc-error.test.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-15/tests/streaming-rsc-error.test.ts @@ -1,12 +1,12 @@ import { expect, test } from '@playwright/test'; import { waitForError, waitForStreamedSpan } from '@sentry-internal/test-utils'; -const packageJson = require('../package.json'); +const nextPackageJson = require('next/package.json'); test('Should capture errors for crashing streaming promises in server components when `Sentry.captureRequestError` is added to the `onRequestError` hook', async ({ page, }) => { - const [, minor, patch, canary] = packageJson.dependencies.next.split('.'); + const [, minor, patch, canary] = nextPackageJson.version.split('.'); test.skip( minor === '0' && diff --git a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/assert-build.ts b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/assert-build.ts index 8d6ab7ffbfef..554c41fc3108 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-app-dir/assert-build.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-app-dir/assert-build.ts @@ -2,8 +2,8 @@ import * as fs from 'fs'; import * as path from 'path'; import * as assert from 'assert/strict'; -const packageJson = require('./package.json'); -const nextjsVersion = packageJson.dependencies.next; +const nextPackageJson = require('next/package.json'); +const nextjsVersion = nextPackageJson.version; const buildStdout = fs.readFileSync('.tmp_build_stdout', 'utf-8'); const buildStderr = fs.readFileSync('.tmp_build_stderr', 'utf-8'); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/assert-build.ts b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/assert-build.ts index b965e5fcd473..be7beeeb94e6 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/assert-build.ts +++ b/dev-packages/e2e-tests/test-applications/nextjs-pages-dir/assert-build.ts @@ -2,8 +2,8 @@ import * as fs from 'fs'; import * as path from 'path'; import * as assert from 'assert/strict'; -const packageJson = require('./package.json'); -const nextjsVersion = packageJson.dependencies.next; +const nextPackageJson = require('next/package.json'); +const nextjsVersion = nextPackageJson.version; const buildStdout = fs.readFileSync('.tmp_build_stdout', 'utf-8'); const buildStderr = fs.readFileSync('.tmp_build_stderr', 'utf-8'); From 2c7f5cdd1de83bb1f506a78b496ae70e5ec3eb40 Mon Sep 17 00:00:00 2001 From: s1gr1d <32902192+s1gr1d@users.noreply.github.com> Date: Thu, 15 Oct 2026 12:58:32 +0200 Subject: [PATCH 5/6] fix comment --- .../test-applications/aws-serverless-layer/package.json | 1 - .../test-applications/aws-serverless-layer/pnpm-workspace.yaml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) 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 01b4cbf0f9c7..b326bcb1bde7 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 @@ -10,7 +10,6 @@ "test:build": "pnpm test:pull-sam-image && pnpm install && npx rimraf node_modules/@sentry/aws-serverless/nodejs", "test:assert": "pnpm test" }, - "//": "We need to override this here again to ensure this is not overwritten by the test runner", "devDependencies": { "@aws-sdk/client-lambda": "^3.863.0", "@playwright/test": "~1.63.0", diff --git a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml index fbbc8f352522..53a0ec757223 100644 --- a/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml +++ b/dev-packages/e2e-tests/test-applications/aws-serverless-layer/pnpm-workspace.yaml @@ -1,3 +1,4 @@ minimumReleaseAge: 0 +# Use the Lambda layer build, not the packed npm tarball. The test runner keeps an app's own overrides. overrides: '@sentry/aws-serverless': 'link:../../../../packages/aws-serverless/build/aws/dist-serverless/' From abc991ba2375e8764ab75062b8a4937e4670a749 Mon Sep 17 00:00:00 2001 From: s1gr1d <32902192+s1gr1d@users.noreply.github.com> Date: Thu, 15 Oct 2026 15:32:01 +0200 Subject: [PATCH 6/6] review suggestions --- .agents/skills/e2e/SKILL.md | 2 +- .github/actions/install-pnpm/action.yml | 2 +- AGENTS.md | 2 +- dev-packages/e2e-tests/README.md | 3 +-- dev-packages/e2e-tests/lib/pnpmOverrides.ts | 6 ++++++ .../create-remix-app-v2-non-vite/package.json | 2 +- .../test-applications/hydrogen-react-router-7/package.json | 2 +- .../react-router-6-descendant-routes/package.json | 2 +- .../react-router-7-cross-usage/package.json | 2 +- .../react-router-7-lazy-routes/package.json | 2 +- .../react-router-8-cross-usage/package.json | 2 +- .../e2e-tests/test-applications/remix-hydrogen/package.json | 2 +- 12 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.agents/skills/e2e/SKILL.md b/.agents/skills/e2e/SKILL.md index 06e63ab5925b..4fad6a4efd04 100644 --- a/.agents/skills/e2e/SKILL.md +++ b/.agents/skills/e2e/SKILL.md @@ -118,7 +118,7 @@ All tests completed successfully. Your SDK changes work correctly with this test - **Test app not found**: List available apps and ask user to clarify - **Packed tarballs missing**: Run `yarn build:tarball` at the repo root, then `yarn test:prepare` in `dev-packages/e2e-tests` - **Build failures**: Fix build errors before running tests -- **`ERR_PNPM_IGNORED_BUILDS`**: A dependency has a build script that the app's `allowBuilds` does not list. Add it to the app's `pnpm-workspace.yaml`: `true` if the app needs the script, `false` if the script only prints a message +- **`ERR_PNPM_IGNORED_BUILDS`**: A dependency has a build script that the app's `allowBuilds` does not list. Add it to the app's `pnpm-workspace.yaml`: `true` if the app needs the script, `false` if the script only prints a message. `pnpm approve-builds ` (or `!` for `false`) in the app's temp copy writes the entry there, so copy it back to the app ## Common Test Applications diff --git a/.github/actions/install-pnpm/action.yml b/.github/actions/install-pnpm/action.yml index 033f674e62af..9a7f2b45f132 100644 --- a/.github/actions/install-pnpm/action.yml +++ b/.github/actions/install-pnpm/action.yml @@ -4,7 +4,7 @@ description: 'Puts the pnpm version from the root devDependencies on PATH. Run i runs: using: 'composite' steps: - # The devDependency is the one pnpm version for CI and local runs. An app that needs another version sets + # The dev dependency is the one pnpm version for CI and local runs. An app that needs another version sets # `packageManager` in its package.json, and pnpm switches to that version. - name: Add pnpm to PATH shell: bash diff --git a/AGENTS.md b/AGENTS.md index 3c0f53804343..037ae6b0d5d6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ Monorepo with 40+ packages in `@sentry/*`, managed with Yarn workspaces and Nx. ## Setup -- [Volta](https://volta.sh/) for Node.js/Yarn version management. pnpm (for E2E tests) is a root devDependency +- [Volta](https://volta.sh/) for Node.js/Yarn version management. pnpm (for E2E tests) is a root dev dependency - After cloning: `yarn install && yarn build` - Never change Volta, Yarn, or package manager versions unless explicitly asked diff --git a/dev-packages/e2e-tests/README.md b/dev-packages/e2e-tests/README.md index 876651833b5c..99d99d096604 100644 --- a/dev-packages/e2e-tests/README.md +++ b/dev-packages/e2e-tests/README.md @@ -125,8 +125,7 @@ fails the install (`ERR_PNPM_IGNORED_BUILDS`) for a build script that `allowBuil Apps use the pnpm version from the root `devDependencies`. To use another version, set `packageManager` in the app's `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, -because pnpm 9 does not read overrides from `pnpm-workspace.yaml`. +`pnpm-workspace.yaml`. pnpm then switches to that version, locally and in CI. The lowest supported version is pnpm 10. ### Test apps that deploy a real Cloudflare Worker diff --git a/dev-packages/e2e-tests/lib/pnpmOverrides.ts b/dev-packages/e2e-tests/lib/pnpmOverrides.ts index ed1ad7290c59..9f5dd88a9ea8 100644 --- a/dev-packages/e2e-tests/lib/pnpmOverrides.ts +++ b/dev-packages/e2e-tests/lib/pnpmOverrides.ts @@ -31,6 +31,12 @@ export async function addPnpmOverrides(tmpDirPath: string, packedDirPath: string const pnpmWorkspacePath = path.join(tmpDirPath, 'pnpm-workspace.yaml'); const pnpmWorkspace = await readFile(pnpmWorkspacePath, 'utf8').catch(() => ''); + + // Without it, pnpm skips versions published in the last day, which apps that test the newest releases need. + if (!/^minimumReleaseAge: 0$/m.test(pnpmWorkspace)) { + throw new Error(`Set "minimumReleaseAge: 0" in the app's pnpm-workspace.yaml (${pnpmWorkspacePath})`); + } + const existingOverrides = parseWorkspaceOverrides(pnpmWorkspace); fixFileLinkDependencies(existingOverrides); const workspaceOverrides = formatWorkspaceOverrides({ ...overrides, ...existingOverrides }); 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 37791153293e..d8116f81daa9 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 @@ -8,7 +8,7 @@ "typecheck": "tsc", "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", - "test:assert": "playwright install chromium && pnpm playwright test" + "test:assert": "pnpm playwright test" }, "dependencies": { "@sentry/remix": "file:../../packed/sentry-remix-packed.tgz", 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 d63a6fdd09c0..34b0115ffa98 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 @@ -11,7 +11,7 @@ "codegen": "shopify hydrogen codegen", "clean": "npx rimraf node_modules dist pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", - "test:assert": "playwright install chromium && pnpm playwright test" + "test:assert": "pnpm playwright test" }, "dependencies": { "@sentry/cloudflare": "file:../../packed/sentry-cloudflare-packed.tgz", 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 f3c9075a7b8e..b82229297109 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 @@ -22,7 +22,7 @@ "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", - "test:assert": "playwright install chromium && pnpm test" + "test:assert": "pnpm test" }, "eslintConfig": { "extends": [ 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 bf13e70ea581..b2cf23f14583 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 @@ -20,7 +20,7 @@ "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", - "test:assert": "playwright install chromium && pnpm test" + "test:assert": "pnpm test" }, "eslintConfig": { "extends": [ 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 d0df5e1dd60b..18f95b88b2dd 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 @@ -20,7 +20,7 @@ "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", - "test:assert": "playwright install chromium && pnpm test" + "test:assert": "pnpm test" }, "eslintConfig": { "extends": [ 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 06f79986ee2e..7702c1f061dd 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 @@ -20,7 +20,7 @@ "clean": "npx rimraf node_modules pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", "test:build-canary": "pnpm install && pnpm add react@canary react-dom@canary && pnpm build", - "test:assert": "playwright install chromium && pnpm test" + "test:assert": "pnpm test" }, "eslintConfig": { "extends": [ 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 fe7912afe59d..1b912b90be60 100644 --- a/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json +++ b/dev-packages/e2e-tests/test-applications/remix-hydrogen/package.json @@ -11,7 +11,7 @@ "codegen": "shopify hydrogen codegen", "clean": "npx rimraf node_modules dist pnpm-lock.yaml", "test:build": "pnpm install && pnpm build", - "test:assert": "playwright install chromium && pnpm playwright test" + "test:assert": "pnpm playwright test" }, "dependencies": { "@remix-run/react": "^2.17.4",