From ebf537d14b9876e8ebfbee5ec40eee69bb5467f0 Mon Sep 17 00:00:00 2001 From: Tim Fish Date: Fri, 31 Oct 2025 11:38:19 +0100 Subject: [PATCH 01/59] chore(build): Use Rolldown --- .../node-core-integration-tests/package.json | 2 +- .../node-integration-tests/package.json | 2 +- dev-packages/rollup-utils/bundleHelpers.mjs | 14 +- dev-packages/rollup-utils/npmHelpers.mjs | 7 +- .../rollup-utils/plugins/bundlePlugins.mjs | 11 -- .../rollup-utils/plugins/make-esm-plugin.mjs | 5 +- .../rollup-utils/plugins/npmPlugins.mjs | 4 - dev-packages/test-utils/package.json | 2 +- dev-packages/test-utils/rollup.npm.config.mjs | 1 - package.json | 2 +- packages/astro/package.json | 4 +- packages/aws-serverless/package.json | 6 +- packages/browser-utils/package.json | 4 +- packages/browser-utils/rollup.npm.config.mjs | 5 - packages/browser/package.json | 8 +- packages/browser/rollup.npm.config.mjs | 5 - packages/bun/package.json | 4 +- packages/cloudflare/package.json | 4 +- packages/core/package.json | 4 +- packages/core/rollup.npm.config.mjs | 5 - packages/deno/package.json | 2 +- packages/feedback/package.json | 4 +- packages/feedback/rollup.npm.config.mjs | 6 - packages/gatsby/package.json | 4 +- packages/google-cloud-serverless/package.json | 4 +- packages/integration-shims/package.json | 2 +- packages/nestjs/package.json | 4 +- packages/node-core/package.json | 4 +- packages/node-core/rollup.npm.config.mjs | 1 - packages/node-native/package.json | 4 +- packages/node-native/rollup.npm.config.mjs | 1 - packages/node/package.json | 4 +- packages/node/rollup.npm.config.mjs | 1 - packages/nuxt/package.json | 4 +- packages/opentelemetry/package.json | 4 +- packages/opentelemetry/rollup.npm.config.mjs | 5 - packages/profiling-node/package.json | 4 +- packages/profiling-node/rollup.npm.config.mjs | 6 - packages/react-router/package.json | 4 +- packages/react/package.json | 4 +- packages/remix/package.json | 4 +- packages/replay-canvas/package.json | 4 +- packages/replay-canvas/rollup.npm.config.mjs | 6 - packages/replay-internal/package.json | 4 +- .../replay-internal/rollup.npm.config.mjs | 6 - packages/replay-worker/package.json | 4 +- .../replay-worker/rollup.examples.config.mjs | 6 - .../replay-worker/rollup.worker.config.mjs | 6 - packages/solid/package.json | 4 +- packages/solidstart/package.json | 4 +- packages/svelte/package.json | 4 +- packages/sveltekit/package.json | 4 +- packages/tanstackstart-react/package.json | 2 +- packages/tanstackstart/package.json | 2 +- packages/types/package.json | 4 +- packages/vercel-edge/package.json | 4 +- packages/vercel-edge/rollup.npm.config.mjs | 7 +- packages/vue/package.json | 4 +- packages/wasm/package.json | 8 +- yarn.lock | 143 ++++++++++++++++++ 60 files changed, 225 insertions(+), 176 deletions(-) diff --git a/dev-packages/node-core-integration-tests/package.json b/dev-packages/node-core-integration-tests/package.json index bd2ff4d1e070..95786ab9a90e 100644 --- a/dev-packages/node-core-integration-tests/package.json +++ b/dev-packages/node-core-integration-tests/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "run-s build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", "clean": "rimraf -g **/node_modules && run-p clean:script", "clean:script": "node scripts/clean.js", diff --git a/dev-packages/node-integration-tests/package.json b/dev-packages/node-integration-tests/package.json index 0bb2c9ad1f9c..e436eded47be 100644 --- a/dev-packages/node-integration-tests/package.json +++ b/dev-packages/node-integration-tests/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "run-s build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", "clean": "rimraf -g suites/**/node_modules suites/**/tmp_* && run-p clean:script", "clean:script": "node scripts/clean.js", diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index 8dd2ebd21999..f05fecec83a1 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -9,10 +9,8 @@ import deepMerge from 'deepmerge'; import { makeBrowserBuildPlugin, makeCleanupPlugin, - makeCommonJSPlugin, makeIsDebugBuildPlugin, makeLicensePlugin, - makeNodeResolvePlugin, makeRrwebBuildPlugin, makeSetSDKSourcePlugin, makeSucrasePlugin, @@ -26,7 +24,6 @@ const BUNDLE_VARIANTS = ['.js', '.min.js', '.debug.min.js']; export function makeBaseBundleConfig(options) { const { bundleType, entrypoints, licenseTitle, outputFileBase, packageSpecificConfig, sucrase } = options; - const nodeResolvePlugin = makeNodeResolvePlugin(); const sucrasePlugin = makeSucrasePlugin({}, sucrase); const cleanupPlugin = makeCleanupPlugin(); const markAsBrowserBuildPlugin = makeBrowserBuildPlugin(true); @@ -37,11 +34,6 @@ export function makeBaseBundleConfig(options) { }); const productionReplacePlugin = makeProductionReplacePlugin(); - // The `commonjs` plugin is the `esModuleInterop` of the bundling world. When used with `transformMixedEsModules`, it - // will include all dependencies, imported or required, in the final bundle. (Without it, CJS modules aren't included - // at all, and without `transformMixedEsModules`, they're only included if they're imported, not if they're required.) - const commonJSPlugin = makeCommonJSPlugin({ transformMixedEsModules: true }); - // used by `@sentry/browser` const standAloneBundleConfig = { output: { @@ -93,7 +85,7 @@ export function makeBaseBundleConfig(options) { output: { format: 'esm', }, - plugins: [commonJSPlugin, makeTerserPlugin(), licensePlugin], + plugins: [makeTerserPlugin(), licensePlugin], // Don't bundle any of Node's core modules external: builtinModules, }; @@ -102,7 +94,7 @@ export function makeBaseBundleConfig(options) { output: { format: 'esm', }, - plugins: [commonJSPlugin, makeIsDebugBuildPlugin(true), makeTerserPlugin()], + plugins: [makeIsDebugBuildPlugin(true), makeTerserPlugin()], // Don't bundle any of Node's core modules external: builtinModules, }; @@ -118,7 +110,7 @@ export function makeBaseBundleConfig(options) { strict: false, esModule: false, }, - plugins: [productionReplacePlugin, sucrasePlugin, nodeResolvePlugin, cleanupPlugin], + plugins: [sucrasePlugin, cleanupPlugin], treeshake: 'smallest', }; diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index d5f7428b992d..382760c9163c 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -15,7 +15,6 @@ import { defineConfig } from 'rollup'; import { makeCleanupPlugin, makeDebugBuildStatementReplacePlugin, - makeNodeResolvePlugin, makeProductionReplacePlugin, makeRrwebBuildPlugin, makeSucrasePlugin, @@ -38,7 +37,6 @@ export function makeBaseNPMConfig(options = {}) { bundledBuiltins = [], } = options; - const nodeResolvePlugin = makeNodeResolvePlugin(); const sucrasePlugin = makeSucrasePlugin({}, sucrase); const debugBuildStatementReplacePlugin = makeDebugBuildStatementReplacePlugin(); const cleanupPlugin = makeCleanupPlugin(); @@ -59,9 +57,6 @@ export function makeBaseNPMConfig(options = {}) { // Include __esModule property when there is a default prop esModule: 'if-default-prop', - // output individual files rather than one big bundle - preserveModules: true, - // Allow wrappers or helper functions generated by rollup to use any ES2015 features generatedCode: { preset: 'es2015', @@ -97,7 +92,7 @@ export function makeBaseNPMConfig(options = {}) { }, }, - plugins: [nodeResolvePlugin, sucrasePlugin, debugBuildStatementReplacePlugin, rrwebBuildPlugin, cleanupPlugin], + plugins: [sucrasePlugin, debugBuildStatementReplacePlugin, rrwebBuildPlugin, cleanupPlugin], // don't include imported modules from outside the package in the final output external: [ diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index 9d6edd3157c0..dbea4de794ba 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -10,8 +10,6 @@ import * as childProcess from 'child_process'; -import commonjs from '@rollup/plugin-commonjs'; -import { nodeResolve } from '@rollup/plugin-node-resolve'; import replace from '@rollup/plugin-replace'; import terser from '@rollup/plugin-terser'; import license from 'rollup-plugin-license'; @@ -146,12 +144,3 @@ export function makeTerserPlugin() { }, }); } - -// We don't pass these plugins any options which need to be calculated or changed by us, so no need to wrap them in -// another factory function, as they are themselves already factory functions. - -export function makeNodeResolvePlugin() { - return nodeResolve(); -} - -export { commonjs as makeCommonJSPlugin }; diff --git a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs index ad18856c011a..516f331359ad 100644 --- a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs +++ b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs @@ -1,4 +1,5 @@ import fs from 'node:fs'; +import path from 'node:path'; /** * Outputs a package.json file with {type: module} in the root of the output directory so that Node @@ -11,9 +12,7 @@ export function makePackageNodeEsm() { // We need to keep the `sideEffects` value from the original package.json, // as e.g. webpack seems to depend on this // without this, tree shaking does not work as expected - const packageJSONPath = (await this.resolve('package.json')).id; - - const packageJSON = JSON.parse(fs.readFileSync(packageJSONPath, 'utf-8')); + const packageJSON = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), './package.json'), { encoding: 'utf8' })); const sideEffects = packageJSON.sideEffects; // For module federation we need to keep the version of the package const version = packageJSON.version; diff --git a/dev-packages/rollup-utils/plugins/npmPlugins.mjs b/dev-packages/rollup-utils/plugins/npmPlugins.mjs index 7f08873f1c80..ce67ed41d8a1 100644 --- a/dev-packages/rollup-utils/plugins/npmPlugins.mjs +++ b/dev-packages/rollup-utils/plugins/npmPlugins.mjs @@ -38,10 +38,6 @@ export function makeSucrasePlugin(options = {}, sucraseOptions = {}) { ); } -export function makeJsonPlugin() { - return json(); -} - /** * Create a plugin which can be used to pause the build process at the given hook. * diff --git a/dev-packages/test-utils/package.json b/dev-packages/test-utils/package.json index 04155e156b03..3e6ce743226a 100644 --- a/dev-packages/test-utils/package.json +++ b/dev-packages/test-utils/package.json @@ -36,7 +36,7 @@ "build": "run-s build:transpile build:types", "build:tarball": "run-s build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", "clean": "rimraf -g ./node_modules ./build" }, diff --git a/dev-packages/test-utils/rollup.npm.config.mjs b/dev-packages/test-utils/rollup.npm.config.mjs index b684e2efe16b..4f64c4ec7b40 100644 --- a/dev-packages/test-utils/rollup.npm.config.mjs +++ b/dev-packages/test-utils/rollup.npm.config.mjs @@ -6,7 +6,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - preserveModules: false, }, }, }), diff --git a/package.json b/package.json index b0f32aa93a50..b34b70d3e0f8 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rollup": "^4.35.0", + "rolldown": "^1.0.0-beta.45", "rollup-plugin-cleanup": "^3.2.1", "rollup-plugin-license": "^3.3.1", "size-limit": "~11.1.6", diff --git a/packages/astro/package.json b/packages/astro/package.json index 975107016fb8..0b17cafb75b6 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -68,11 +68,11 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts", diff --git a/packages/aws-serverless/package.json b/packages/aws-serverless/package.json index d4641d235cbc..2c8a93f0a1bd 100644 --- a/packages/aws-serverless/package.json +++ b/packages/aws-serverless/package.json @@ -80,15 +80,15 @@ }, "scripts": { "build": "run-p build:transpile build:types", - "build:layer": "rimraf build/aws && rollup -c rollup.lambda-extension.config.mjs && yarn ts-node scripts/buildLambdaLayer.ts", + "build:layer": "rimraf build/aws && rolldown -c rollup.lambda-extension.config.mjs && yarn ts-node scripts/buildLambdaLayer.ts", "build:dev": "run-p build:transpile build:types", - "build:transpile": "rollup -c rollup.npm.config.mjs && yarn build:layer", + "build:transpile": "rolldown -c rollup.npm.config.mjs && yarn build:layer", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/browser-utils/package.json b/packages/browser-utils/package.json index 29b29253deed..5b4378c6d5ae 100644 --- a/packages/browser-utils/package.json +++ b/packages/browser-utils/package.json @@ -44,13 +44,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "run-p build:transpile:watch build:types:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "clean": "rimraf build coverage sentry-internal-browser-utils-*.tgz", diff --git a/packages/browser-utils/rollup.npm.config.mjs b/packages/browser-utils/rollup.npm.config.mjs index d28a7a6f54a0..4f64c4ec7b40 100644 --- a/packages/browser-utils/rollup.npm.config.mjs +++ b/packages/browser-utils/rollup.npm.config.mjs @@ -6,11 +6,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/browser/package.json b/packages/browser/package.json index ec88ca7ca6ea..4e1b2c255c79 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -57,15 +57,15 @@ "scripts": { "build": "run-p build:transpile build:bundle build:types", "build:dev": "run-p build:transpile build:types", - "build:bundle": "rollup -c rollup.bundle.config.mjs", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:bundle": "rolldown -c rollup.bundle.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch", "build:dev:watch": "run-p build:transpile:watch build:types:watch", - "build:bundle:watch": "rollup -c rollup.bundle.config.mjs --watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:bundle:watch": "rolldown -c rollup.bundle.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/browser/rollup.npm.config.mjs b/packages/browser/rollup.npm.config.mjs index 40e3cbff5906..dfa7ccf06cbf 100644 --- a/packages/browser/rollup.npm.config.mjs +++ b/packages/browser/rollup.npm.config.mjs @@ -8,11 +8,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/bun/package.json b/packages/bun/package.json index ef1707452808..4b35feab69fc 100644 --- a/packages/bun/package.json +++ b/packages/bun/package.json @@ -48,13 +48,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/cloudflare/package.json b/packages/cloudflare/package.json index a919a802a387..905ac591314a 100644 --- a/packages/cloudflare/package.json +++ b/packages/cloudflare/package.json @@ -68,13 +68,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/core/package.json b/packages/core/package.json index 0dd7dd7c1294..25e11286c587 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -41,13 +41,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/core/rollup.npm.config.mjs b/packages/core/rollup.npm.config.mjs index cc3ad4064820..1c33d55ef705 100644 --- a/packages/core/rollup.npm.config.mjs +++ b/packages/core/rollup.npm.config.mjs @@ -20,11 +20,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, plugins: [ replace({ diff --git a/packages/deno/package.json b/packages/deno/package.json index 6b9e751d2acc..5013da4d8c32 100644 --- a/packages/deno/package.json +++ b/packages/deno/package.json @@ -31,7 +31,7 @@ "deno-types": "node ./scripts/download-deno-types.mjs", "build": "run-s build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "yarn deno-types && rollup -c rollup.npm.config.mjs", + "build:transpile": "yarn deno-types && rolldown -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/feedback/package.json b/packages/feedback/package.json index 93930e643f72..09430bc67c7c 100644 --- a/packages/feedback/package.json +++ b/packages/feedback/package.json @@ -46,8 +46,8 @@ }, "scripts": { "build": "run-p build:transpile build:types build:bundle", - "build:transpile": "rollup -c rollup.npm.config.mjs", - "build:bundle": "rollup -c rollup.bundle.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", + "build:bundle": "rolldown -c rollup.bundle.config.mjs", "build:dev": "run-p build:transpile build:types", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", diff --git a/packages/feedback/rollup.npm.config.mjs b/packages/feedback/rollup.npm.config.mjs index c91c37ec84f8..936669490d08 100644 --- a/packages/feedback/rollup.npm.config.mjs +++ b/packages/feedback/rollup.npm.config.mjs @@ -7,12 +7,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to false because for feedback we actually want - // to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? false - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, sucrase: { diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json index 74e5f8787f9c..c2c69f08c267 100644 --- a/packages/gatsby/package.json +++ b/packages/gatsby/package.json @@ -64,13 +64,13 @@ "build:dev": "yarn build", "build:plugin": "tsc -p tsconfig.plugin.json", "build:transpile": "run-p build:rollup build:plugin", - "build:rollup": "rollup -c rollup.npm.config.mjs", + "build:rollup": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/google-cloud-serverless/package.json b/packages/google-cloud-serverless/package.json index f1dabb7901bd..acbcc6d61ef3 100644 --- a/packages/google-cloud-serverless/package.json +++ b/packages/google-cloud-serverless/package.json @@ -61,13 +61,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/integration-shims/package.json b/packages/integration-shims/package.json index aa6369830f88..465ab90af133 100644 --- a/packages/integration-shims/package.json +++ b/packages/integration-shims/package.json @@ -32,7 +32,7 @@ "private": true, "scripts": { "build": "run-p build:transpile build:types", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", diff --git a/packages/nestjs/package.json b/packages/nestjs/package.json index 0e41a6eda644..4511de06fdc7 100644 --- a/packages/nestjs/package.json +++ b/packages/nestjs/package.json @@ -65,13 +65,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:setup", "build:types:core": "tsc -p tsconfig.types.json", "build:types:setup": "tsc -p tsconfig.setup-types.json", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts && madge --circular src/setup.ts", diff --git a/packages/node-core/package.json b/packages/node-core/package.json index 5fe80a2d34ca..7392798a89b3 100644 --- a/packages/node-core/package.json +++ b/packages/node-core/package.json @@ -85,13 +85,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/node-core/rollup.npm.config.mjs b/packages/node-core/rollup.npm.config.mjs index 8e18333836ef..efcc72d1a88d 100644 --- a/packages/node-core/rollup.npm.config.mjs +++ b/packages/node-core/rollup.npm.config.mjs @@ -24,7 +24,6 @@ export default [ output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - preserveModules: true, }, plugins: [ replace({ diff --git a/packages/node-native/package.json b/packages/node-native/package.json index fd9dff8fd337..3a67e8018475 100644 --- a/packages/node-native/package.json +++ b/packages/node-native/package.json @@ -53,12 +53,12 @@ "lint:es-compatibility": "es-check es2022 ./build/cjs/*.js && es-check es2022 ./build/esm/*.js --module", "fix": "eslint . --format stylish --fix", "build": "yarn build:types && yarn build:transpile", - "build:transpile": "yarn rollup -c rollup.npm.config.mjs", + "build:transpile": "yarn rolldown -c rollup.npm.config.mjs", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:types": "tsc -p tsconfig.types.json && yarn build:types:downlevel", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:dev": "yarn clean && yarn build", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:watch": "run-p build:transpile:watch build:types:watch", "build:tarball": "npm pack" }, diff --git a/packages/node-native/rollup.npm.config.mjs b/packages/node-native/rollup.npm.config.mjs index ce79b0ac9bbb..3b140cf9d569 100644 --- a/packages/node-native/rollup.npm.config.mjs +++ b/packages/node-native/rollup.npm.config.mjs @@ -8,7 +8,6 @@ export default makeNPMConfigVariants( dir: 'build', // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - preserveModules: true, }, }, }), diff --git a/packages/node/package.json b/packages/node/package.json index 87f76aa6a38c..556f32ba7105 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -107,13 +107,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/node/rollup.npm.config.mjs b/packages/node/rollup.npm.config.mjs index 93fd1d8c16ca..8f1bfeded3a2 100644 --- a/packages/node/rollup.npm.config.mjs +++ b/packages/node/rollup.npm.config.mjs @@ -9,7 +9,6 @@ export default [ output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - preserveModules: true, }, }, }), diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index f17461a38171..4730cc558586 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -67,11 +67,11 @@ "build": "run-s build:types build:transpile", "build:dev": "yarn build", "build:nuxt-module": "bash ./generate-build-stubs.bash && nuxt-module-build build --outDir build/module", - "build:transpile": "rollup -c rollup.npm.config.mjs && yarn build:nuxt-module", + "build:transpile": "rolldown -c rollup.npm.config.mjs && yarn build:nuxt-module", "build:types": "tsc -p tsconfig.types.json", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts", diff --git a/packages/opentelemetry/package.json b/packages/opentelemetry/package.json index 311c511578eb..a6e892697fff 100644 --- a/packages/opentelemetry/package.json +++ b/packages/opentelemetry/package.json @@ -58,13 +58,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/opentelemetry/rollup.npm.config.mjs b/packages/opentelemetry/rollup.npm.config.mjs index e015fea4935e..4f64c4ec7b40 100644 --- a/packages/opentelemetry/rollup.npm.config.mjs +++ b/packages/opentelemetry/rollup.npm.config.mjs @@ -6,11 +6,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to false because we want to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? false - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/profiling-node/package.json b/packages/profiling-node/package.json index 56ae8a5b470b..0f67546d037d 100644 --- a/packages/profiling-node/package.json +++ b/packages/profiling-node/package.json @@ -49,12 +49,12 @@ "lint:es-compatibility": "es-check es2022 ./build/cjs/*.js && es-check es2022 ./build/esm/*.js --module", "fix": "eslint . --format stylish --fix", "build": "yarn build:types && yarn build:transpile", - "build:transpile": "yarn rollup -c rollup.npm.config.mjs", + "build:transpile": "yarn rolldown -c rollup.npm.config.mjs", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:types": "tsc -p tsconfig.types.json && yarn build:types:downlevel", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:dev": "yarn clean && yarn build", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:watch": "run-p build:transpile:watch build:types:watch", "build:tarball": "npm pack", "test:bundle": "node test-binaries.esbuild.js", diff --git a/packages/profiling-node/rollup.npm.config.mjs b/packages/profiling-node/rollup.npm.config.mjs index 80b26c2ac232..e42be5b795bc 100644 --- a/packages/profiling-node/rollup.npm.config.mjs +++ b/packages/profiling-node/rollup.npm.config.mjs @@ -7,12 +7,6 @@ export default makeNPMConfigVariants( dir: 'build', // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to false because for profiling we actually want - // to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? false - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/react-router/package.json b/packages/react-router/package.json index f971952daa61..51155c0dbb8b 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -72,12 +72,12 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core", "build:types:core": "tsc -p tsconfig.types.json", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts", diff --git a/packages/react/package.json b/packages/react/package.json index f096fb51c990..ebba216e733d 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -70,13 +70,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/remix/package.json b/packages/remix/package.json index dd2b07cbd550..1ef5655681c4 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -93,13 +93,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.server.ts && madge --circular src/index.client.ts", diff --git a/packages/replay-canvas/package.json b/packages/replay-canvas/package.json index d8b2b2c3e710..c7865f38f74a 100644 --- a/packages/replay-canvas/package.json +++ b/packages/replay-canvas/package.json @@ -31,8 +31,8 @@ "sideEffects": false, "scripts": { "build": "run-p build:transpile build:types build:bundle", - "build:transpile": "rollup -c rollup.npm.config.mjs", - "build:bundle": "rollup -c rollup.bundle.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", + "build:bundle": "rolldown -c rollup.bundle.config.mjs", "build:dev": "run-p build:transpile build:types", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", diff --git a/packages/replay-canvas/rollup.npm.config.mjs b/packages/replay-canvas/rollup.npm.config.mjs index 3b4431fa6829..3919a22ace19 100644 --- a/packages/replay-canvas/rollup.npm.config.mjs +++ b/packages/replay-canvas/rollup.npm.config.mjs @@ -7,12 +7,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to false because for Replay we actually want - // to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? false - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/replay-internal/package.json b/packages/replay-internal/package.json index 43a12bf5fe80..be34944726ab 100644 --- a/packages/replay-internal/package.json +++ b/packages/replay-internal/package.json @@ -44,8 +44,8 @@ }, "scripts": { "build": "run-p build:transpile build:types build:bundle", - "build:transpile": "rollup -c rollup.npm.config.mjs", - "build:bundle": "rollup -c rollup.bundle.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", + "build:bundle": "rolldown -c rollup.bundle.config.mjs", "build:dev": "run-p build:transpile build:types", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", diff --git a/packages/replay-internal/rollup.npm.config.mjs b/packages/replay-internal/rollup.npm.config.mjs index 3d6e8fcf4dff..bba535a5799b 100644 --- a/packages/replay-internal/rollup.npm.config.mjs +++ b/packages/replay-internal/rollup.npm.config.mjs @@ -8,12 +8,6 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to false because for Replay we actually want - // to bundle everything into one file. - preserveModules: - process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? false - : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/replay-worker/package.json b/packages/replay-worker/package.json index 05911ee02a64..3b81a8e59158 100644 --- a/packages/replay-worker/package.json +++ b/packages/replay-worker/package.json @@ -36,8 +36,8 @@ "private": true, "scripts": { "build": "run-p build:transpile build:types", - "build:transpile": "rollup -c rollup.worker.config.mjs", - "build:examples": "rollup -c rollup.examples.config.mjs", + "build:transpile": "rolldown -c rollup.worker.config.mjs", + "build:examples": "rolldown -c rollup.examples.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", diff --git a/packages/replay-worker/rollup.examples.config.mjs b/packages/replay-worker/rollup.examples.config.mjs index cbaacbfcb245..6af95c657c6f 100644 --- a/packages/replay-worker/rollup.examples.config.mjs +++ b/packages/replay-worker/rollup.examples.config.mjs @@ -1,5 +1,3 @@ -import commonjs from '@rollup/plugin-commonjs'; -import resolve from '@rollup/plugin-node-resolve'; import terser from '@rollup/plugin-terser'; import typescript from '@rollup/plugin-typescript'; import { defineConfig } from 'rollup'; @@ -16,9 +14,7 @@ const config = defineConfig([ }, treeshake: 'smallest', plugins: [ - commonjs(), typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - resolve(), licensePlugin, ], }, @@ -30,9 +26,7 @@ const config = defineConfig([ }, treeshake: 'smallest', plugins: [ - commonjs(), typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - resolve(), terser({ mangle: { module: true, diff --git a/packages/replay-worker/rollup.worker.config.mjs b/packages/replay-worker/rollup.worker.config.mjs index 556994570335..aa872b37f379 100644 --- a/packages/replay-worker/rollup.worker.config.mjs +++ b/packages/replay-worker/rollup.worker.config.mjs @@ -1,7 +1,5 @@ // inspired by https://justinribeiro.com/chronicle/2020/07/17/building-module-web-workers-for-cross-browser-compatibility-with-rollup/ -import commonjs from '@rollup/plugin-commonjs'; -import resolve from '@rollup/plugin-node-resolve'; import terser from '@rollup/plugin-terser'; import typescript from '@rollup/plugin-typescript'; import { defineConfig } from 'rollup'; @@ -32,9 +30,7 @@ const config = defineConfig([ }, treeshake: 'smallest', plugins: [ - commonjs(), typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - resolve(), terser({ mangle: { module: true, @@ -56,9 +52,7 @@ const config = defineConfig([ }, treeshake: 'smallest', plugins: [ - commonjs(), typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - resolve(), terser({ mangle: { module: true, diff --git a/packages/solid/package.json b/packages/solid/package.json index 53317d35213f..a96adb65d66f 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -84,13 +84,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:routers", "build:types:core": "tsc -p tsconfig.types.json", "build:types:routers": "tsc -p tsconfig.routers-types.json", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts && madge --circular src/solidrouter.ts && madge --circular src/tanstackrouter.ts", diff --git a/packages/solidstart/package.json b/packages/solidstart/package.json index c50729efd3af..c35a593af934 100644 --- a/packages/solidstart/package.json +++ b/packages/solidstart/package.json @@ -85,13 +85,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:subexports", "build:types:core": "tsc -p tsconfig.types.json", "build:types:subexports": "tsc -p tsconfig.subexports-types.json", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts && madge --circular src/solidrouter.client.ts && madge --circular src/solidrouter.server.ts && madge --circular src/solidrouter.ts", diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 0ca946a41a97..77ed2bde8415 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -55,13 +55,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/sveltekit/package.json b/packages/sveltekit/package.json index 5310d64dbb5f..a262edc5d842 100644 --- a/packages/sveltekit/package.json +++ b/packages/sveltekit/package.json @@ -67,11 +67,11 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "tsc -p tsconfig.types.json", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts && madge --circular src/index.types.ts", diff --git a/packages/tanstackstart-react/package.json b/packages/tanstackstart-react/package.json index 7dff98e0cafb..b903a53768f2 100644 --- a/packages/tanstackstart-react/package.json +++ b/packages/tanstackstart-react/package.json @@ -60,7 +60,7 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", diff --git a/packages/tanstackstart/package.json b/packages/tanstackstart/package.json index 06d7adbfcde1..821e7f74ae5d 100644 --- a/packages/tanstackstart/package.json +++ b/packages/tanstackstart/package.json @@ -42,7 +42,7 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", diff --git a/packages/types/package.json b/packages/types/package.json index d020056d737f..e2155eafa9cf 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -41,13 +41,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "clean": "rimraf build sentry-types-*.tgz", diff --git a/packages/vercel-edge/package.json b/packages/vercel-edge/package.json index b5446b95c2a2..df1787fefc74 100644 --- a/packages/vercel-edge/package.json +++ b/packages/vercel-edge/package.json @@ -53,13 +53,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "yarn build", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "yarn build:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/vercel-edge/rollup.npm.config.mjs b/packages/vercel-edge/rollup.npm.config.mjs index ae01f43703d0..fb964d13d8ea 100644 --- a/packages/vercel-edge/rollup.npm.config.mjs +++ b/packages/vercel-edge/rollup.npm.config.mjs @@ -1,5 +1,5 @@ import replace from '@rollup/plugin-replace'; -import { makeBaseNPMConfig, makeNPMConfigVariants, plugins } from '@sentry-internal/rollup-utils'; +import { makeBaseNPMConfig, makeNPMConfigVariants } from '@sentry-internal/rollup-utils'; export default makeNPMConfigVariants( makeBaseNPMConfig({ @@ -7,12 +7,7 @@ export default makeNPMConfigVariants( bundledBuiltins: ['perf_hooks', 'util'], packageSpecificConfig: { context: 'globalThis', - output: { - preserveModules: false, - }, plugins: [ - plugins.makeCommonJSPlugin({ transformMixedEsModules: true }), // Needed because various modules in the OTEL toolchain use CJS (require-in-the-middle, shimmer, etc..) - plugins.makeJsonPlugin(), // Needed because `require-in-the-middle` imports json via require replace({ preventAssignment: true, values: { diff --git a/packages/vue/package.json b/packages/vue/package.json index a02f357428d6..613cadb18670 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -57,13 +57,13 @@ "scripts": { "build": "run-p build:transpile build:types", "build:dev": "run-p build:transpile build:types", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/types build/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:types:watch", "build:dev:watch": "run-p build:transpile:watch build:types:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/wasm/package.json b/packages/wasm/package.json index 0c5f3e66cdff..082a75af6842 100644 --- a/packages/wasm/package.json +++ b/packages/wasm/package.json @@ -44,16 +44,16 @@ }, "scripts": { "build": "run-p build:transpile build:bundle build:types", - "build:bundle": "rollup --config rollup.bundle.config.mjs", + "build:bundle": "rolldown --config rollup.bundle.config.mjs", "build:dev": "run-p build:transpile build:types", - "build:transpile": "rollup -c rollup.npm.config.mjs", + "build:transpile": "rolldown -c rollup.npm.config.mjs", "build:types": "run-s build:types:core build:types:downlevel", "build:types:core": "tsc -p tsconfig.types.json", "build:types:downlevel": "yarn downlevel-dts build/npm/types build/npm/types-ts3.8 --to ts3.8", "build:watch": "run-p build:transpile:watch build:bundle:watch build:types:watch", - "build:bundle:watch": "rollup --config rollup.bundle.config.mjs --watch", + "build:bundle:watch": "rolldown --config rollup.bundle.config.mjs --watch", "build:dev:watch": "run-p build:transpile:watch build:types:watch", - "build:transpile:watch": "rollup -c rollup.npm.config.mjs --watch", + "build:transpile:watch": "rolldown -c rollup.npm.config.mjs --watch", "build:types:watch": "tsc -p tsconfig.types.json --watch", "build:tarball": "npm pack", "test": "vitest run", diff --git a/yarn.lock b/yarn.lock index a332772b21e9..3300b22f81b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2988,6 +2988,14 @@ lodash "^4.17.21" resolve "^1.20.0" +"@emnapi/core@^1.5.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.6.0.tgz#517f65d1c8270d5d5aa1aad660d5acb897430dca" + integrity sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg== + dependencies: + "@emnapi/wasi-threads" "1.1.0" + tslib "^2.4.0" + "@emnapi/runtime@^1.2.0": version "1.4.3" resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.3.tgz#c0564665c80dc81c448adac23f9dfbed6c838f7d" @@ -2995,6 +3003,20 @@ dependencies: tslib "^2.4.0" +"@emnapi/runtime@^1.5.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.6.0.tgz#8fe297e0090f6e89a57a1f31f1c440bdbc3c01d8" + integrity sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz#60b2102fddc9ccb78607e4a3cf8403ea69be41bf" + integrity sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ== + dependencies: + tslib "^2.4.0" + "@es-joy/jsdoccomment@~0.50.2": version "0.50.2" resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.50.2.tgz#707768f0cb62abe0703d51aa9086986d230a5d5c" @@ -5075,6 +5097,15 @@ dependencies: sparse-bitfield "^3.0.3" +"@napi-rs/wasm-runtime@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz#dcfea99a75f06209a235f3d941e3460a51e9b14c" + integrity sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw== + dependencies: + "@emnapi/core" "^1.5.0" + "@emnapi/runtime" "^1.5.0" + "@tybys/wasm-util" "^0.10.1" + "@nestjs/common@^10.0.0": version "10.4.15" resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-10.4.15.tgz#27c291466d9100eb86fdbe6f7bbb4d1a6ad55f70" @@ -6232,6 +6263,11 @@ dependencies: "@opentelemetry/core" "^2.0.0" +"@oxc-project/types@=0.95.0": + version "0.95.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.95.0.tgz#ab6f1a931e8c03c1a1a1d929bdb9a9aaa13fcde9" + integrity sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ== + "@parcel/watcher-android-arm64@2.5.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1" @@ -6694,6 +6730,83 @@ dependencies: web-streams-polyfill "^3.1.1" +"@rolldown/binding-android-arm64@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.45.tgz#a04b5c8c00bfaedb0492431dcc63c882fc34a7aa" + integrity sha512-bfgKYhFiXJALeA/riil908+2vlyWGdwa7Ju5S+JgWZYdR4jtiPOGdM6WLfso1dojCh+4ZWeiTwPeV9IKQEX+4g== + +"@rolldown/binding-darwin-arm64@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.45.tgz#b0f772404f101cebc8a15ab19a7dcdea38538c46" + integrity sha512-xjCv4CRVsSnnIxTuyH1RDJl5OEQ1c9JYOwfDAHddjJDxCw46ZX9q80+xq7Eok7KC4bRSZudMJllkvOKv0T9SeA== + +"@rolldown/binding-darwin-x64@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.45.tgz#1229dfa9df8ad816834a765a55caa48cbfe6e426" + integrity sha512-ddcO9TD3D/CLUa/l8GO8LHzBOaZqWg5ClMy3jICoxwCuoz47h9dtqPsIeTiB6yR501LQTeDsjA4lIFd7u3Ljfw== + +"@rolldown/binding-freebsd-x64@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.45.tgz#c3a8cebdd820f0ae386dd33a1696dc922c77c5f0" + integrity sha512-MBTWdrzW9w+UMYDUvnEuh0pQvLENkl2Sis15fHTfHVW7ClbGuez+RWopZudIDEGkpZXdeI4CkRXk+vdIIebrmg== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.45.tgz#f7a75cdcee36da18326ea871d416aea04435d406" + integrity sha512-4YgoCFiki1HR6oSg+GxxfzfnVCesQxLF1LEnw9uXS/MpBmuog0EOO2rYfy69rWP4tFZL9IWp6KEfGZLrZ7aUog== + +"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.45.tgz#04d3cf74bb0881c08a2b8320a6ea99f9e7ca7ed0" + integrity sha512-LE1gjAwQRrbCOorJJ7LFr10s5vqYf5a00V5Ea9wXcT2+56n5YosJkcp8eQ12FxRBv2YX8dsdQJb+ZTtYJwb6XQ== + +"@rolldown/binding-linux-arm64-musl@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.45.tgz#e4dc50b7976e233a905f5dfd49739081ab08ec47" + integrity sha512-tdy8ThO/fPp40B81v0YK3QC+KODOmzJzSUOO37DinQxzlTJ026gqUSOM8tzlVixRbQJltgVDCTYF8HNPRErQTA== + +"@rolldown/binding-linux-x64-gnu@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.45.tgz#54ba3025624aeebfcb4136db168b3cefd20c5cd5" + integrity sha512-lS082ROBWdmOyVY/0YB3JmsiClaWoxvC+dA8/rbhyB9VLkvVEaihLEOr4CYmrMse151C4+S6hCw6oa1iewox7g== + +"@rolldown/binding-linux-x64-musl@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.45.tgz#4241fc1210c271c923c74ef78946218491945b58" + integrity sha512-Hi73aYY0cBkr1/SvNQqH8Cd+rSV6S9RB5izCv0ySBcRnd/Wfn5plguUoGYwBnhHgFbh6cPw9m2dUVBR6BG1gxA== + +"@rolldown/binding-openharmony-arm64@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.45.tgz#0ee2e6a56a01dffbd66f9f8184fee8628311cde3" + integrity sha512-fljEqbO7RHHogNDxYtTzr+GNjlfOx21RUyGmF+NrkebZ8emYYiIqzPxsaMZuRx0rgZmVmliOzEp86/CQFDKhJQ== + +"@rolldown/binding-wasm32-wasi@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.45.tgz#5eef39b6fe49f83e33b51908f85ec437fdee710a" + integrity sha512-ZJDB7lkuZE9XUnWQSYrBObZxczut+8FZ5pdanm8nNS1DAo8zsrPuvGwn+U3fwU98WaiFsNrA4XHngesCGr8tEQ== + dependencies: + "@napi-rs/wasm-runtime" "^1.0.7" + +"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.45.tgz#b8e63f4db08ffb1970c3bd9fdd8c2e5d0cf495c9" + integrity sha512-zyzAjItHPUmxg6Z8SyRhLdXlJn3/D9KL5b9mObUrBHhWS/GwRH4665xCiFqeuktAhhWutqfc+rOV2LjK4VYQGQ== + +"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.45.tgz#59e355294035cddae5d856c57f857486e2a0bbe5" + integrity sha512-wODcGzlfxqS6D7BR0srkJk3drPwXYLu7jPHN27ce2c4PUnVVmJnp9mJzUQGT4LpmHmmVdMZ+P6hKvyTGBzc1CA== + +"@rolldown/binding-win32-x64-msvc@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.45.tgz#277304a8a194d3c0b68c40b287043fdf91c5bb71" + integrity sha512-wiU40G1nQo9rtfvF9jLbl79lUgjfaD/LTyUEw2Wg/gdF5OhjzpKMVugZQngO+RNdwYaNj+Fs+kWBWfp4VXPMHA== + +"@rolldown/pluginutils@1.0.0-beta.45": + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.45.tgz#36fa9462128acaa91d4f62c0b641bfe5eaa9ae65" + integrity sha512-Le9ulGCrD8ggInzWw/k2J8QcbPz7eGIOWqfJ2L+1R0Opm7n6J37s2hiDWlh6LJN0Lk9L5sUzMvRHKW7UxBZsQA== + "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-5.1.1.tgz#53601d88cda8b1577aa130b4a6e452283605bf26" @@ -8248,6 +8361,13 @@ "@tufjs/canonical-json" "1.0.0" minimatch "^9.0.0" +"@tybys/wasm-util@^0.10.1": + version "0.10.1" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.1.tgz#ecddd3205cf1e2d5274649ff0eedd2991ed7f414" + integrity sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg== + dependencies: + tslib "^2.4.0" + "@types/accepts@^1.3.5": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" @@ -27186,6 +27306,29 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" +rolldown@^1.0.0-beta.45: + version "1.0.0-beta.45" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.45.tgz#a5a603cc52ffb3eac5e1a962907f5bdb3c922ee8" + integrity sha512-iMmuD72XXLf26Tqrv1cryNYLX6NNPLhZ3AmNkSf8+xda0H+yijjGJ+wVT9UdBUHOpKzq9RjKtQKRCWoEKQQBZQ== + dependencies: + "@oxc-project/types" "=0.95.0" + "@rolldown/pluginutils" "1.0.0-beta.45" + optionalDependencies: + "@rolldown/binding-android-arm64" "1.0.0-beta.45" + "@rolldown/binding-darwin-arm64" "1.0.0-beta.45" + "@rolldown/binding-darwin-x64" "1.0.0-beta.45" + "@rolldown/binding-freebsd-x64" "1.0.0-beta.45" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.45" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.45" + "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.45" + "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.45" + "@rolldown/binding-linux-x64-musl" "1.0.0-beta.45" + "@rolldown/binding-openharmony-arm64" "1.0.0-beta.45" + "@rolldown/binding-wasm32-wasi" "1.0.0-beta.45" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.45" + "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.45" + "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.45" + rollup-plugin-cleanup@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.2.1.tgz#8cbc92ecf58babd7c210051929797f137bbf777c" From f844d5a15990c8e32e326d3a4dfd204072389bb5 Mon Sep 17 00:00:00 2001 From: Tim Fish Date: Fri, 31 Oct 2025 11:46:10 +0100 Subject: [PATCH 02/59] Lint --- dev-packages/rollup-utils/plugins/make-esm-plugin.mjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs index 516f331359ad..908afc7cb157 100644 --- a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs +++ b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs @@ -12,7 +12,9 @@ export function makePackageNodeEsm() { // We need to keep the `sideEffects` value from the original package.json, // as e.g. webpack seems to depend on this // without this, tree shaking does not work as expected - const packageJSON = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), './package.json'), { encoding: 'utf8' })); + const packageJSON = JSON.parse( + fs.readFileSync(path.resolve(process.cwd(), './package.json'), { encoding: 'utf8' }), + ); const sideEffects = packageJSON.sideEffects; // For module federation we need to keep the version of the package const version = packageJSON.version; From 8f03186839a5c72793e702da74ecb514b638a078 Mon Sep 17 00:00:00 2001 From: Tim Fish Date: Fri, 31 Oct 2025 12:51:18 +0100 Subject: [PATCH 03/59] fixes --- packages/astro/rollup.npm.config.mjs | 2 +- .../integration/middleware/{index.ts => middleware.ts} | 0 packages/remix/rollup.npm.config.mjs | 1 + yarn.lock | 9 +-------- 4 files changed, 3 insertions(+), 9 deletions(-) rename packages/astro/src/integration/middleware/{index.ts => middleware.ts} (100%) diff --git a/packages/astro/rollup.npm.config.mjs b/packages/astro/rollup.npm.config.mjs index ca3b338433a7..f0ac8d968786 100644 --- a/packages/astro/rollup.npm.config.mjs +++ b/packages/astro/rollup.npm.config.mjs @@ -2,7 +2,7 @@ import { makeBaseNPMConfig, makeNPMConfigVariants, makeOtelLoaders } from '@sent const variants = makeNPMConfigVariants( makeBaseNPMConfig({ - entrypoints: ['src/index.server.ts', 'src/index.client.ts', 'src/integration/middleware/index.ts'], + entrypoints: ['src/index.server.ts', 'src/index.client.ts', 'src/integration/middleware/middleware.ts'], packageSpecificConfig: { output: { dynamicImportInCjs: true, diff --git a/packages/astro/src/integration/middleware/index.ts b/packages/astro/src/integration/middleware/middleware.ts similarity index 100% rename from packages/astro/src/integration/middleware/index.ts rename to packages/astro/src/integration/middleware/middleware.ts diff --git a/packages/remix/rollup.npm.config.mjs b/packages/remix/rollup.npm.config.mjs index 8ba7eac8051b..731454b35ee6 100644 --- a/packages/remix/rollup.npm.config.mjs +++ b/packages/remix/rollup.npm.config.mjs @@ -15,6 +15,7 @@ export default [ output: { // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', + preserveModules: true, }, }, sucrase: { diff --git a/yarn.lock b/yarn.lock index 3300b22f81b8..92b5fae7c3f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2996,14 +2996,7 @@ "@emnapi/wasi-threads" "1.1.0" tslib "^2.4.0" -"@emnapi/runtime@^1.2.0": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.3.tgz#c0564665c80dc81c448adac23f9dfbed6c838f7d" - integrity sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ== - dependencies: - tslib "^2.4.0" - -"@emnapi/runtime@^1.5.0": +"@emnapi/runtime@^1.2.0", "@emnapi/runtime@^1.5.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.6.0.tgz#8fe297e0090f6e89a57a1f31f1c440bdbc3c01d8" integrity sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA== From 56af22ed5304c948b8ce5f844edd79011f8addd8 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 03:49:33 +0200 Subject: [PATCH 04/59] chore: it builds :O --- dev-packages/rollup-utils/bundleHelpers.mjs | 46 +++-- dev-packages/rollup-utils/index.mjs | 6 +- dev-packages/rollup-utils/npmHelpers.mjs | 38 ++-- .../rollup-utils/plugins/bundlePlugins.mjs | 65 +++--- dev-packages/rollup-utils/plugins/index.mjs | 1 + .../rollup-utils/plugins/make-esm-plugin.mjs | 1 + .../rollup-utils/plugins/npmPlugins.mjs | 78 +------- .../plugins/vendor/sucrase-plugin.mjs | 79 -------- dev-packages/rollup-utils/utils.mjs | 1 + package.json | 2 +- packages/nextjs/scripts/buildRollup.ts | 2 +- yarn.lock | 188 +++++++++--------- 12 files changed, 187 insertions(+), 320 deletions(-) delete mode 100644 dev-packages/rollup-utils/plugins/vendor/sucrase-plugin.mjs diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index f05fecec83a1..f7dc94cd8261 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -3,40 +3,38 @@ */ import { builtinModules } from 'module'; - +import path from 'node:path'; +import fs from 'node:fs'; import deepMerge from 'deepmerge'; import { makeBrowserBuildPlugin, - makeCleanupPlugin, makeIsDebugBuildPlugin, - makeLicensePlugin, makeRrwebBuildPlugin, makeSetSDKSourcePlugin, - makeSucrasePlugin, + makeBannerOptions, makeTerserPlugin, } from './plugins/index.mjs'; import { mergePlugins } from './utils.mjs'; -import { makeProductionReplacePlugin } from './plugins/npmPlugins.mjs'; const BUNDLE_VARIANTS = ['.js', '.min.js', '.debug.min.js']; +const packageDotJSON = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), './package.json'), { encoding: 'utf8' })); + export function makeBaseBundleConfig(options) { - const { bundleType, entrypoints, licenseTitle, outputFileBase, packageSpecificConfig, sucrase } = options; + const { bundleType, entrypoints, licenseTitle, outputFileBase, packageSpecificConfig } = options; - const sucrasePlugin = makeSucrasePlugin({}, sucrase); - const cleanupPlugin = makeCleanupPlugin(); const markAsBrowserBuildPlugin = makeBrowserBuildPlugin(true); - const licensePlugin = makeLicensePlugin(licenseTitle); + const banner = makeBannerOptions(licenseTitle, packageDotJSON.version); const rrwebBuildPlugin = makeRrwebBuildPlugin({ excludeIframe: false, excludeShadowDom: false, }); - const productionReplacePlugin = makeProductionReplacePlugin(); // used by `@sentry/browser` const standAloneBundleConfig = { output: { + banner, format: 'iife', name: 'Sentry', intro: () => { @@ -44,7 +42,7 @@ export function makeBaseBundleConfig(options) { }, }, context: 'window', - plugins: [rrwebBuildPlugin, markAsBrowserBuildPlugin, licensePlugin], + plugins: [rrwebBuildPlugin, markAsBrowserBuildPlugin], }; // used by `@sentry/wasm` & pluggable integrations from core/browser (bundles which need to be combined with a stand-alone SDK bundle) @@ -55,7 +53,7 @@ export function makeBaseBundleConfig(options) { format: 'cjs', // code to add before the CJS wrapper - banner: '(function (__window) {', + banner: `${banner}\n(function (__window) {`, // code to add just inside the CJS wrapper, before any of the wrapped code intro: 'var exports = {};', @@ -78,14 +76,15 @@ export function makeBaseBundleConfig(options) { // code to add after the CJS wrapper footer: '}(window));', }, - plugins: [rrwebBuildPlugin, markAsBrowserBuildPlugin, licensePlugin], + plugins: [rrwebBuildPlugin, markAsBrowserBuildPlugin], }; const workerBundleConfig = { output: { + banner, format: 'esm', }, - plugins: [makeTerserPlugin(), licensePlugin], + plugins: [makeTerserPlugin()], // Don't bundle any of Node's core modules external: builtinModules, }; @@ -110,7 +109,6 @@ export function makeBaseBundleConfig(options) { strict: false, esModule: false, }, - plugins: [sucrasePlugin, cleanupPlugin], treeshake: 'smallest', }; @@ -144,25 +142,35 @@ export function makeBundleConfigVariants(baseConfig, options = {}) { const terserPlugin = makeTerserPlugin(); const setSdkSourcePlugin = makeSetSDKSourcePlugin('cdn'); + const baseOutput = baseConfig.output; + if (!baseOutput || Array.isArray(baseOutput)) { + throw new Error('Base config must have a single output object'); + } + + const baseOutputEntryFileNames = baseOutput.entryFileNames; + if (typeof baseOutputEntryFileNames !== 'function') { + throw new Error('Base config must have a function for entryFileNames'); + } + // The additional options to use for each variant we're going to create. const variantSpecificConfigMap = { '.js': { output: { - entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.js`, + entryFileNames: chunkInfo => `${baseOutputEntryFileNames(chunkInfo)}.js`, }, plugins: [includeDebuggingPlugin, setSdkSourcePlugin], }, '.min.js': { output: { - entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.min.js`, + entryFileNames: chunkInfo => `${baseOutputEntryFileNames(chunkInfo)}.min.js`, }, plugins: [stripDebuggingPlugin, setSdkSourcePlugin, terserPlugin], }, '.debug.min.js': { output: { - entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.debug.min.js`, + entryFileNames: chunkInfo => `${baseOutputEntryFileNames(chunkInfo)}.debug.min.js`, }, plugins: [includeDebuggingPlugin, setSdkSourcePlugin, terserPlugin], }, @@ -172,6 +180,7 @@ export function makeBundleConfigVariants(baseConfig, options = {}) { if (!BUNDLE_VARIANTS.includes(variant)) { throw new Error(`Unknown bundle variant requested: ${variant}`); } + return deepMerge(baseConfig, variantSpecificConfigMap[variant], { // Merge the plugin arrays and make sure the end result is in the correct order. Everything else can use the // default merge strategy. @@ -179,3 +188,4 @@ export function makeBundleConfigVariants(baseConfig, options = {}) { }); }); } + diff --git a/dev-packages/rollup-utils/index.mjs b/dev-packages/rollup-utils/index.mjs index 2d8c9a2150bc..b8c17483d204 100644 --- a/dev-packages/rollup-utils/index.mjs +++ b/dev-packages/rollup-utils/index.mjs @@ -1,7 +1,5 @@ -// TODO Is this necessary? -import * as plugins from './plugins/index.mjs'; -export { plugins }; - +export * from './plugins/index.mjs'; export * from './bundleHelpers.mjs'; export * from './npmHelpers.mjs'; export { insertAt } from './utils.mjs'; + diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 382760c9163c..7c9eafb780d7 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -13,11 +13,9 @@ import deepMerge from 'deepmerge'; import { defineConfig } from 'rollup'; import { - makeCleanupPlugin, makeDebugBuildStatementReplacePlugin, makeProductionReplacePlugin, makeRrwebBuildPlugin, - makeSucrasePlugin, } from './plugins/index.mjs'; import { makePackageNodeEsm } from './plugins/make-esm-plugin.mjs'; import { mergePlugins } from './utils.mjs'; @@ -33,13 +31,10 @@ export function makeBaseNPMConfig(options = {}) { entrypoints = ['src/index.ts'], hasBundles = false, packageSpecificConfig = {}, - sucrase = {}, bundledBuiltins = [], } = options; - const sucrasePlugin = makeSucrasePlugin({}, sucrase); const debugBuildStatementReplacePlugin = makeDebugBuildStatementReplacePlugin(); - const cleanupPlugin = makeCleanupPlugin(); const rrwebBuildPlugin = makeRrwebBuildPlugin({ excludeShadowDom: undefined, excludeIframe: undefined, @@ -62,9 +57,6 @@ export function makeBaseNPMConfig(options = {}) { preset: 'es2015', }, - // don't add `"use strict"` to the top of cjs files - strict: false, - // do TS-3.8-style exports // exports.dogs = are.great // rather than TS-3.9-style exports @@ -73,12 +65,6 @@ export function makeBaseNPMConfig(options = {}) { // get: () => are.great, // }); externalLiveBindings: false, - - // Don't call `Object.freeze` on the results of `import * as someModule from '...'` - // (We don't need it, so why waste the bytes?) - freeze: false, - - interop: 'esModule', }, treeshake: { @@ -92,7 +78,7 @@ export function makeBaseNPMConfig(options = {}) { }, }, - plugins: [sucrasePlugin, debugBuildStatementReplacePlugin, rrwebBuildPlugin, cleanupPlugin], + plugins: [debugBuildStatementReplacePlugin, rrwebBuildPlugin], // don't include imported modules from outside the package in the final output external: [ @@ -109,20 +95,30 @@ export function makeBaseNPMConfig(options = {}) { }); } +// TODO: Instead of runtime checks, we should use TypeScript to ensure the base config is valid. export function makeNPMConfigVariants(baseConfig, options = {}) { const { emitEsm = true, emitCjs = true, splitDevProd = false } = options; + const baseOutput = baseConfig.output; + if (!baseOutput || Array.isArray(baseOutput)) { + throw new Error('Base config must have a single output object'); + } + + const baseOutputDir = baseOutput.dir; + if (typeof baseOutputDir !== 'string') { + throw new Error('Base config must have a string for dir'); + } const variantSpecificConfigs = []; if (emitCjs) { if (splitDevProd) { - variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseConfig.output.dir, 'cjs/dev') } }); + variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseOutputDir, 'cjs/dev') } }); variantSpecificConfigs.push({ - output: { format: 'cjs', dir: path.join(baseConfig.output.dir, 'cjs/prod') }, + output: { format: 'cjs', dir: path.join(baseOutputDir, 'cjs/prod') }, plugins: [makeProductionReplacePlugin()], }); } else { - variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseConfig.output.dir, 'cjs') } }); + variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseOutputDir, 'cjs') } }); } } @@ -131,14 +127,14 @@ export function makeNPMConfigVariants(baseConfig, options = {}) { variantSpecificConfigs.push({ output: { format: 'esm', - dir: path.join(baseConfig.output.dir, 'esm/dev'), + dir: path.join(baseOutputDir, 'esm/dev'), plugins: [makePackageNodeEsm()], }, }); variantSpecificConfigs.push({ output: { format: 'esm', - dir: path.join(baseConfig.output.dir, 'esm/prod'), + dir: path.join(baseOutputDir, 'esm/prod'), plugins: [makeProductionReplacePlugin(), makePackageNodeEsm()], }, }); @@ -146,7 +142,7 @@ export function makeNPMConfigVariants(baseConfig, options = {}) { variantSpecificConfigs.push({ output: { format: 'esm', - dir: path.join(baseConfig.output.dir, 'esm'), + dir: path.join(baseOutputDir, 'esm'), plugins: [makePackageNodeEsm()], }, }); diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index dbea4de794ba..74e1dd61afed 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -10,30 +10,20 @@ import * as childProcess from 'child_process'; -import replace from '@rollup/plugin-replace'; +import { replacePlugin } from 'rolldown/plugins'; import terser from '@rollup/plugin-terser'; -import license from 'rollup-plugin-license'; /** * Create a plugin to add an identification banner to the top of stand-alone bundles. * * @param title The title to use for the SDK, if not the package name + * @param version The version of the SDK * @returns An instance of the `rollup-plugin-license` plugin */ -export function makeLicensePlugin(title) { +export function makeBannerOptions(title, version) { const commitHash = childProcess.execSync('git rev-parse --short HEAD', { encoding: 'utf-8' }).trim(); - const plugin = license({ - banner: { - content: `/*! <%= data.title %> <%= pkg.version %> (${commitHash}) | https://github.com/getsentry/sentry-javascript */`, - data: { title }, - }, - }); - - // give it a nicer name for later, when we'll need to sort the plugins - plugin.name = 'license'; - - return plugin; + return `/*! ${title} ${version} (${commitHash}) | https://github.com/getsentry/sentry-javascript */`; } /** @@ -44,28 +34,32 @@ export function makeLicensePlugin(title) { * 'false` */ export function makeIsDebugBuildPlugin(includeDebugging) { - return replace({ - // TODO `preventAssignment` will default to true in version 5.x of the replace plugin, at which point we can get rid - // of this. (It actually makes no difference in this case whether it's true or false, since we never assign to - // `__SENTRY_DEBUG__`, but if we don't give it a value, it will spam with warnings.) - preventAssignment: true, - values: { + return replacePlugin( + { // Flags in current package - __DEBUG_BUILD__: includeDebugging, + __DEBUG_BUILD__: JSON.stringify(includeDebugging), // Flags in built monorepo dependencies, from which the bundle pulls - __SENTRY_DEBUG__: includeDebugging, + __SENTRY_DEBUG__: JSON.stringify(includeDebugging), }, - }); + { + // TODO `preventAssignment` will default to true in version 5.x of the replace plugin, at which point we can get rid + // of this. (It actually makes no difference in this case whether it's true or false, since we never assign to + // `__SENTRY_DEBUG__`, but if we don't give it a value, it will spam with warnings.) + preventAssignment: true, + }, + ); } export function makeSetSDKSourcePlugin(sdkSource) { - return replace({ - preventAssignment: false, - delimiters: ['', ''], - values: { + return replacePlugin( + { '/* __SENTRY_SDK_SOURCE__ */': `return ${JSON.stringify(sdkSource)};`, }, - }); + { + preventAssignment: false, + delimiters: ['', ''], + }, + ); } /** @@ -75,13 +69,15 @@ export function makeSetSDKSourcePlugin(sdkSource) { * @returns An instance of the `replace` plugin to do the replacement of the magic string with `true` or 'false` */ export function makeBrowserBuildPlugin(isBrowserBuild) { - return replace({ - // TODO This will be the default in the next version of the `replace` plugin - preventAssignment: true, - values: { - __SENTRY_BROWSER_BUNDLE__: isBrowserBuild, + return replacePlugin( + { + __SENTRY_BROWSER_BUNDLE__: JSON.stringify(!!isBrowserBuild), }, - }); + { + // TODO This will be the default in the next version of the `replace` plugin + preventAssignment: true, + }, + ); } // `terser` options reference: https://github.com/terser/terser#api-reference @@ -144,3 +140,4 @@ export function makeTerserPlugin() { }, }); } + diff --git a/dev-packages/rollup-utils/plugins/index.mjs b/dev-packages/rollup-utils/plugins/index.mjs index 5e40aa3508e4..284e6f19603e 100644 --- a/dev-packages/rollup-utils/plugins/index.mjs +++ b/dev-packages/rollup-utils/plugins/index.mjs @@ -1,2 +1,3 @@ export * from './bundlePlugins.mjs'; export * from './npmPlugins.mjs'; + diff --git a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs index 908afc7cb157..ab508d5a5f4e 100644 --- a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs +++ b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs @@ -33,3 +33,4 @@ export function makePackageNodeEsm() { }, }; } + diff --git a/dev-packages/rollup-utils/plugins/npmPlugins.mjs b/dev-packages/rollup-utils/plugins/npmPlugins.mjs index ce67ed41d8a1..792f9ff872e9 100644 --- a/dev-packages/rollup-utils/plugins/npmPlugins.mjs +++ b/dev-packages/rollup-utils/plugins/npmPlugins.mjs @@ -7,36 +7,7 @@ * Sucrase plugin docs: https://github.com/rollup/plugins/tree/master/packages/sucrase */ -import * as fs from 'fs'; -import * as path from 'path'; - -import json from '@rollup/plugin-json'; -import replace from '@rollup/plugin-replace'; -import cleanup from 'rollup-plugin-cleanup'; -import sucrase from './vendor/sucrase-plugin.mjs'; - -/** - * Create a plugin to transpile TS syntax using `sucrase`. - * - * @returns An instance of the `@rollup/plugin-sucrase` plugin - */ -export function makeSucrasePlugin(options = {}, sucraseOptions = {}) { - return sucrase( - { - // Required for bundling OTEL code properly - exclude: ['**/*.json'], - ...options, - }, - { - transforms: ['typescript', 'jsx'], - // We use a custom forked version of sucrase, - // where there is a new option `disableES2019Transforms` - disableESTransforms: false, - disableES2019Transforms: true, - ...sucraseOptions, - }, - ); -} +import { replacePlugin } from 'rolldown/plugins'; /** * Create a plugin which can be used to pause the build process at the given hook. @@ -88,23 +59,6 @@ export function makeDebuggerPlugin(hookName) { }; } -/** - * Create a plugin to clean up output files by: - * - Converting line endings unix line endings - * - Removing consecutive empty lines - * - * @returns A `rollup-plugin-cleanup` instance. - */ -export function makeCleanupPlugin() { - return cleanup({ - // line endings are unix-ized by default - comments: 'all', // comments to keep - compactComments: 'false', // don't remove blank lines in multi-line comments - maxEmptyLines: 1, - extensions: ['js', 'jsx', 'ts', 'tsx'], - }); -} - /** * Creates a plugin to replace all instances of "__DEBUG_BUILD__" with a safe statement that * a) evaluates to `true` @@ -113,12 +67,14 @@ export function makeCleanupPlugin() { * @returns A `@rollup/plugin-replace` instance. */ export function makeDebugBuildStatementReplacePlugin() { - return replace({ - preventAssignment: false, - values: { + return replacePlugin( + { __DEBUG_BUILD__: "(typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)", }, - }); + { + preventAssignment: true, + }, + ); } export function makeProductionReplacePlugin() { @@ -127,7 +83,9 @@ export function makeProductionReplacePlugin() { function stripDevBlocks(code) { if (!code) return null; if (!code.includes('rollup-include-development-only')) return null; + const replaced = code.replace(pattern, ''); + return { code: replaced, map: null }; } @@ -158,23 +116,7 @@ export function makeRrwebBuildPlugin({ excludeShadowDom, excludeIframe } = {}) { values['__RRWEB_EXCLUDE_IFRAME__'] = excludeIframe; } - return replace({ + return replacePlugin(values, { preventAssignment: true, - values, - }); -} - -/** - * Plugin that uploads bundle analysis to codecov. - * - * @param type The type of bundle being uploaded. - * @param prefix The prefix for the codecov bundle name. Defaults to 'npm'. - */ -export function makeCodeCovPlugin() { - const packageJson = JSON.parse(fs.readFileSync(path.resolve(process.cwd(), './package.json'), { encoding: 'utf8' })); - return codecovRollupPlugin({ - enableBundleAnalysis: process.env.CODECOV_TOKEN !== undefined, - bundleName: packageJson.name, - uploadToken: process.env.CODECOV_TOKEN, }); } diff --git a/dev-packages/rollup-utils/plugins/vendor/sucrase-plugin.mjs b/dev-packages/rollup-utils/plugins/vendor/sucrase-plugin.mjs deleted file mode 100644 index 63465e768bc9..000000000000 --- a/dev-packages/rollup-utils/plugins/vendor/sucrase-plugin.mjs +++ /dev/null @@ -1,79 +0,0 @@ -// Vendored from https://github.com/rollup/plugins/blob/0090e728f52828d39b071ab5c7925b9b575cd568/packages/sucrase/src/index.js and modified - -/* - -The MIT License (MIT) - -Copyright (c) 2019 RollupJS Plugin Contributors (https://github.com/rollup/plugins/graphs/contributors) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*/ - -import fs from 'fs'; -import path from 'path'; - -import { createFilter } from '@rollup/pluginutils'; -import { transform } from 'sucrase'; - -export default function sucrase(opts = {}, sucraseOpts = {}) { - const filter = createFilter(opts.include, opts.exclude); - - return { - name: 'sucrase', - - // eslint-disable-next-line consistent-return - resolveId(importee, importer) { - if (importer && /^[./]/.test(importee)) { - const resolved = path.resolve(importer ? path.dirname(importer) : process.cwd(), importee); - // resolve in the same order that TypeScript resolves modules - const resolvedFilenames = [ - `${resolved}.ts`, - `${resolved}.tsx`, - `${resolved}/index.ts`, - `${resolved}/index.tsx`, - ]; - if (resolved.endsWith('.js')) { - resolvedFilenames.splice(2, 0, `${resolved.slice(0, -3)}.ts`, `${resolved.slice(0, -3)}.tsx`); - } - const resolvedFilename = resolvedFilenames.find(filename => fs.existsSync(filename)); - - if (resolvedFilename) { - return resolvedFilename; - } - } - }, - - transform(code, id) { - if (!filter(id)) return null; - const result = transform(code, { - transforms: sucraseOpts.transforms, - filePath: id, - sourceMapOptions: { - compiledFilename: id, - }, - ...sucraseOpts, - }); - return { - code: result.code, - map: result.sourceMap, - }; - }, - }; -} diff --git a/dev-packages/rollup-utils/utils.mjs b/dev-packages/rollup-utils/utils.mjs index b687ff9993c4..13f6c5d682d7 100644 --- a/dev-packages/rollup-utils/utils.mjs +++ b/dev-packages/rollup-utils/utils.mjs @@ -39,3 +39,4 @@ export function mergePlugins(pluginsA, pluginsB) { return plugins; } + diff --git a/package.json b/package.json index b34b70d3e0f8..2197713f8b1e 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "^1.0.0-beta.45", + "rolldown": "^1.0.0-beta.49", "rollup-plugin-cleanup": "^3.2.1", "rollup-plugin-license": "^3.3.1", "size-limit": "~11.1.6", diff --git a/packages/nextjs/scripts/buildRollup.ts b/packages/nextjs/scripts/buildRollup.ts index d273146b872d..78010a4932b7 100644 --- a/packages/nextjs/scripts/buildRollup.ts +++ b/packages/nextjs/scripts/buildRollup.ts @@ -10,7 +10,7 @@ function run(cmd: string, options?: childProcess.ExecSyncOptions): string | Buff return childProcess.execSync(cmd, { stdio: 'inherit', ...options }); } -run('yarn rollup -c rollup.npm.config.mjs'); +run('yarn rolldown -c rollup.npm.config.mjs'); // Regardless of whether nextjs is using the CJS or ESM version of our SDK, we want the code from our templates to be in // ESM (since we'll be adding it onto page files which are themselves written in ESM), so copy the ESM versions of the diff --git a/yarn.lock b/yarn.lock index 92b5fae7c3f8..3a0095d3c67c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6256,10 +6256,10 @@ dependencies: "@opentelemetry/core" "^2.0.0" -"@oxc-project/types@=0.95.0": - version "0.95.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.95.0.tgz#ab6f1a931e8c03c1a1a1d929bdb9a9aaa13fcde9" - integrity sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ== +"@oxc-project/types@=0.96.0": + version "0.96.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.96.0.tgz#cc704c49a067f4d314deed448a068ef0765c3498" + integrity sha512-r/xkmoXA0xEpU6UGtn18CNVjXH6erU3KCpCDbpLmbVxBFor1U9MqN5Z2uMmCHJuXjJzlnDR+hWY+yPoLo8oHDw== "@parcel/watcher-android-arm64@2.5.1": version "2.5.1" @@ -6723,82 +6723,82 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.45.tgz#a04b5c8c00bfaedb0492431dcc63c882fc34a7aa" - integrity sha512-bfgKYhFiXJALeA/riil908+2vlyWGdwa7Ju5S+JgWZYdR4jtiPOGdM6WLfso1dojCh+4ZWeiTwPeV9IKQEX+4g== - -"@rolldown/binding-darwin-arm64@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.45.tgz#b0f772404f101cebc8a15ab19a7dcdea38538c46" - integrity sha512-xjCv4CRVsSnnIxTuyH1RDJl5OEQ1c9JYOwfDAHddjJDxCw46ZX9q80+xq7Eok7KC4bRSZudMJllkvOKv0T9SeA== - -"@rolldown/binding-darwin-x64@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.45.tgz#1229dfa9df8ad816834a765a55caa48cbfe6e426" - integrity sha512-ddcO9TD3D/CLUa/l8GO8LHzBOaZqWg5ClMy3jICoxwCuoz47h9dtqPsIeTiB6yR501LQTeDsjA4lIFd7u3Ljfw== - -"@rolldown/binding-freebsd-x64@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.45.tgz#c3a8cebdd820f0ae386dd33a1696dc922c77c5f0" - integrity sha512-MBTWdrzW9w+UMYDUvnEuh0pQvLENkl2Sis15fHTfHVW7ClbGuez+RWopZudIDEGkpZXdeI4CkRXk+vdIIebrmg== - -"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.45.tgz#f7a75cdcee36da18326ea871d416aea04435d406" - integrity sha512-4YgoCFiki1HR6oSg+GxxfzfnVCesQxLF1LEnw9uXS/MpBmuog0EOO2rYfy69rWP4tFZL9IWp6KEfGZLrZ7aUog== - -"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.45.tgz#04d3cf74bb0881c08a2b8320a6ea99f9e7ca7ed0" - integrity sha512-LE1gjAwQRrbCOorJJ7LFr10s5vqYf5a00V5Ea9wXcT2+56n5YosJkcp8eQ12FxRBv2YX8dsdQJb+ZTtYJwb6XQ== - -"@rolldown/binding-linux-arm64-musl@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.45.tgz#e4dc50b7976e233a905f5dfd49739081ab08ec47" - integrity sha512-tdy8ThO/fPp40B81v0YK3QC+KODOmzJzSUOO37DinQxzlTJ026gqUSOM8tzlVixRbQJltgVDCTYF8HNPRErQTA== - -"@rolldown/binding-linux-x64-gnu@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.45.tgz#54ba3025624aeebfcb4136db168b3cefd20c5cd5" - integrity sha512-lS082ROBWdmOyVY/0YB3JmsiClaWoxvC+dA8/rbhyB9VLkvVEaihLEOr4CYmrMse151C4+S6hCw6oa1iewox7g== - -"@rolldown/binding-linux-x64-musl@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.45.tgz#4241fc1210c271c923c74ef78946218491945b58" - integrity sha512-Hi73aYY0cBkr1/SvNQqH8Cd+rSV6S9RB5izCv0ySBcRnd/Wfn5plguUoGYwBnhHgFbh6cPw9m2dUVBR6BG1gxA== - -"@rolldown/binding-openharmony-arm64@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.45.tgz#0ee2e6a56a01dffbd66f9f8184fee8628311cde3" - integrity sha512-fljEqbO7RHHogNDxYtTzr+GNjlfOx21RUyGmF+NrkebZ8emYYiIqzPxsaMZuRx0rgZmVmliOzEp86/CQFDKhJQ== - -"@rolldown/binding-wasm32-wasi@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.45.tgz#5eef39b6fe49f83e33b51908f85ec437fdee710a" - integrity sha512-ZJDB7lkuZE9XUnWQSYrBObZxczut+8FZ5pdanm8nNS1DAo8zsrPuvGwn+U3fwU98WaiFsNrA4XHngesCGr8tEQ== +"@rolldown/binding-android-arm64@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.49.tgz#583817b53318f1ddfd7d77945401cd21409ef387" + integrity sha512-xKQEOmqOet0vFHt/aqcoQGWvoDJhfSO8EBhuST0CDnxQRmnVzbI8keeeX62vi53ZyICKZxczyfx4A8dUY3dqKw== + +"@rolldown/binding-darwin-arm64@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.49.tgz#33a796ce56ad9e33faa89e6eb1a9167fba4ebda4" + integrity sha512-kN0N/8m8HUYO13PqlIwxcXD7fu2E6GKu0J4iH7wUJw3T3QK+nvrc20rxtTZ0J6sA1sGCE8UYvvvnurDwMUp0dg== + +"@rolldown/binding-darwin-x64@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.49.tgz#d6f55e12dbeeda70a1d29d041053cc3374025a02" + integrity sha512-29qmvsgY2A4ymfy8sQkFFOFc13m04SLUcYn1iil41gpkYrAspBLkvsOQMHPCs3rQCOImgweT4tFotqTAonwphQ== + +"@rolldown/binding-freebsd-x64@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.49.tgz#48bf85617dd1cac3d452303b62b5bfbb9d9c7c2c" + integrity sha512-fY+esrHjgt6+RAnDPuUk39RvFNmYhJekGyC6wr0HWXGTBed07Feap9BrYINSh6x5xFlNpOPs6tImKnV0zVDuWQ== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.49.tgz#ee3e56da0bef06ef84dc1903d355a212bf5df5f0" + integrity sha512-oQNAqB+XrRM2AZaSPyudQETsPhzCZqgPICQu80fJuNyBFYoz6nonNNZtm3BJ9uP+HZfUk9NfOn9vPoCNuk6gAw== + +"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.49.tgz#e1a74289b437b00fb91cb160c726239f86e22916" + integrity sha512-bJinAiuWUJvlBxPa8ZmRnWkmmAoUlSWtZT4pRkWi/QX3HlgHfUUbhF+d7aZLciai+iFfbiPqOwCL2tqNXXrUsA== + +"@rolldown/binding-linux-arm64-musl@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.49.tgz#250ce826655594f263a9a6ea2c09cbadbcb799bf" + integrity sha512-gwueY8EJU7afq5tNwKSjYy5JqTR/0MNzZfv6s5dX+rMgeUpTNhwIToLO1F41TPYEa+6LRTXUWG23DO/ONPzUJA== + +"@rolldown/binding-linux-x64-gnu@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.49.tgz#acee7f93b1821ffac1fe990a3b06e189b6f9ffd8" + integrity sha512-VXYkjzzEZh5N5Ue1IEcBgL8RuJu5jWrIKmg8WY6hhCbnNJ1IOsObT4HFW+rE8ZaKNjoIXzImoiYi1UAkKiQRYA== + +"@rolldown/binding-linux-x64-musl@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.49.tgz#a0345ad4dbd53db4625d693807596e7cbad62f70" + integrity sha512-S5Yw6g/ftiW7MpNpnOM5vSIlDzGuohDY8y7VOI47+92HhO6WqsNfcMkDZXm3G5l6YIfUNStGBV86NWrzasp+sw== + +"@rolldown/binding-openharmony-arm64@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.49.tgz#5f63cf6108043b786d9ff4145896a79a329c0fca" + integrity sha512-bhRoMO2oP46W1UDd/PTrSdoIYfvLS2jiFAned0SOzOO0tcait9u+b9i8h4ZugbT2IK4qUXNezovbHJs7hKJOEQ== + +"@rolldown/binding-wasm32-wasi@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.49.tgz#dba8e02b8fa23e4221073fcb1c1d71348483f4db" + integrity sha512-Owp6Y1RQ84UMOV8hrg5e1Fmu8Po1IUXWytAHUtPcc00+ty6Gr9g5GgLLw0oblu7QovBr4848ozvkMcEj3vDKgA== dependencies: "@napi-rs/wasm-runtime" "^1.0.7" -"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.45.tgz#b8e63f4db08ffb1970c3bd9fdd8c2e5d0cf495c9" - integrity sha512-zyzAjItHPUmxg6Z8SyRhLdXlJn3/D9KL5b9mObUrBHhWS/GwRH4665xCiFqeuktAhhWutqfc+rOV2LjK4VYQGQ== +"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.49.tgz#ee5401faea1c4c18d607a11e7d3df5bcb5e5aeaa" + integrity sha512-dnheX8aXsN9P12uwPOW3TVvqSnQ1cfjKQlYgU2dTkrRpnco0kTGvqE1nEWybGukTyuPdzVvrGElgSGEJ7crcSQ== -"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.45.tgz#59e355294035cddae5d856c57f857486e2a0bbe5" - integrity sha512-wODcGzlfxqS6D7BR0srkJk3drPwXYLu7jPHN27ce2c4PUnVVmJnp9mJzUQGT4LpmHmmVdMZ+P6hKvyTGBzc1CA== +"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.49.tgz#f4fb4ce8e88e85c2c1e2fae08ce8f7573a133043" + integrity sha512-Blt1aODXiAuEdZBqHYXGJwVFlonXKkVEJy5hhxOgnAVi/0mzFNWDxc8qVlxl7dpQjQdboW/wXdgMHpTDfomicg== -"@rolldown/binding-win32-x64-msvc@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.45.tgz#277304a8a194d3c0b68c40b287043fdf91c5bb71" - integrity sha512-wiU40G1nQo9rtfvF9jLbl79lUgjfaD/LTyUEw2Wg/gdF5OhjzpKMVugZQngO+RNdwYaNj+Fs+kWBWfp4VXPMHA== +"@rolldown/binding-win32-x64-msvc@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.49.tgz#8de89bf533dca3a25513a20bcd49c83135584b17" + integrity sha512-sSu4qUlL/62QJrR3P+Bd+EblD8tUpnovUz65qow3PA7YxH+f5NFDbCJMR1m5b8zBuVZwZIHfzbuawz+Vl34/xg== -"@rolldown/pluginutils@1.0.0-beta.45": - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.45.tgz#36fa9462128acaa91d4f62c0b641bfe5eaa9ae65" - integrity sha512-Le9ulGCrD8ggInzWw/k2J8QcbPz7eGIOWqfJ2L+1R0Opm7n6J37s2hiDWlh6LJN0Lk9L5sUzMvRHKW7UxBZsQA== +"@rolldown/pluginutils@1.0.0-beta.49": + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.49.tgz#36916d2bc4fe42e56db3b54e1715e2e83dfaed30" + integrity sha512-HLlu3Qn3ePmNCbfehwKWXQMzX/2rzcL6Jmpo+Dl3xnq46TGMyJAgO+IsS8ka7IDLeD3wcoOhjJwxTdIdbrFhGw== "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -27299,28 +27299,28 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -rolldown@^1.0.0-beta.45: - version "1.0.0-beta.45" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.45.tgz#a5a603cc52ffb3eac5e1a962907f5bdb3c922ee8" - integrity sha512-iMmuD72XXLf26Tqrv1cryNYLX6NNPLhZ3AmNkSf8+xda0H+yijjGJ+wVT9UdBUHOpKzq9RjKtQKRCWoEKQQBZQ== +rolldown@^1.0.0-beta.49: + version "1.0.0-beta.49" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.49.tgz#3e82ee2bf4a3cb9114696018b550512b0858230a" + integrity sha512-Bfmdn3ZqyCwi1LxG39KBrSlil9a/xnrOrAj+jqqN2YTR/WJIEOOfwNKgDALQvr0xlO9bG/i1C883KGd4nd7SrA== dependencies: - "@oxc-project/types" "=0.95.0" - "@rolldown/pluginutils" "1.0.0-beta.45" + "@oxc-project/types" "=0.96.0" + "@rolldown/pluginutils" "1.0.0-beta.49" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0-beta.45" - "@rolldown/binding-darwin-arm64" "1.0.0-beta.45" - "@rolldown/binding-darwin-x64" "1.0.0-beta.45" - "@rolldown/binding-freebsd-x64" "1.0.0-beta.45" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.45" - "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.45" - "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.45" - "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.45" - "@rolldown/binding-linux-x64-musl" "1.0.0-beta.45" - "@rolldown/binding-openharmony-arm64" "1.0.0-beta.45" - "@rolldown/binding-wasm32-wasi" "1.0.0-beta.45" - "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.45" - "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.45" - "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.45" + "@rolldown/binding-android-arm64" "1.0.0-beta.49" + "@rolldown/binding-darwin-arm64" "1.0.0-beta.49" + "@rolldown/binding-darwin-x64" "1.0.0-beta.49" + "@rolldown/binding-freebsd-x64" "1.0.0-beta.49" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.49" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.49" + "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.49" + "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.49" + "@rolldown/binding-linux-x64-musl" "1.0.0-beta.49" + "@rolldown/binding-openharmony-arm64" "1.0.0-beta.49" + "@rolldown/binding-wasm32-wasi" "1.0.0-beta.49" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.49" + "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.49" + "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.49" rollup-plugin-cleanup@^3.2.1: version "3.2.1" From 2fdde1da08bdfcef632e9f4b7003aebe42434985 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 04:21:33 +0200 Subject: [PATCH 05/59] fix: bring back preserve modules --- dev-packages/rollup-utils/npmHelpers.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 7c9eafb780d7..6be2181189aa 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -52,6 +52,9 @@ export function makeBaseNPMConfig(options = {}) { // Include __esModule property when there is a default prop esModule: 'if-default-prop', + // output individual files rather than one big bundle + preserveModules: true, + // Allow wrappers or helper functions generated by rollup to use any ES2015 features generatedCode: { preset: 'es2015', From 759384e51c61eaed37871d5c15d48ac840b588c5 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 04:30:29 +0200 Subject: [PATCH 06/59] fix: lint --- dev-packages/rollup-utils/bundleHelpers.mjs | 1 - dev-packages/rollup-utils/index.mjs | 1 - dev-packages/rollup-utils/plugins/bundlePlugins.mjs | 1 - dev-packages/rollup-utils/plugins/index.mjs | 1 - dev-packages/rollup-utils/plugins/make-esm-plugin.mjs | 1 - dev-packages/rollup-utils/utils.mjs | 1 - 6 files changed, 6 deletions(-) diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index f7dc94cd8261..1837bbd78e39 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -188,4 +188,3 @@ export function makeBundleConfigVariants(baseConfig, options = {}) { }); }); } - diff --git a/dev-packages/rollup-utils/index.mjs b/dev-packages/rollup-utils/index.mjs index b8c17483d204..8e33705421ce 100644 --- a/dev-packages/rollup-utils/index.mjs +++ b/dev-packages/rollup-utils/index.mjs @@ -2,4 +2,3 @@ export * from './plugins/index.mjs'; export * from './bundleHelpers.mjs'; export * from './npmHelpers.mjs'; export { insertAt } from './utils.mjs'; - diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index 74e1dd61afed..0320c365189f 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -140,4 +140,3 @@ export function makeTerserPlugin() { }, }); } - diff --git a/dev-packages/rollup-utils/plugins/index.mjs b/dev-packages/rollup-utils/plugins/index.mjs index 284e6f19603e..5e40aa3508e4 100644 --- a/dev-packages/rollup-utils/plugins/index.mjs +++ b/dev-packages/rollup-utils/plugins/index.mjs @@ -1,3 +1,2 @@ export * from './bundlePlugins.mjs'; export * from './npmPlugins.mjs'; - diff --git a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs index ab508d5a5f4e..908afc7cb157 100644 --- a/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs +++ b/dev-packages/rollup-utils/plugins/make-esm-plugin.mjs @@ -33,4 +33,3 @@ export function makePackageNodeEsm() { }, }; } - diff --git a/dev-packages/rollup-utils/utils.mjs b/dev-packages/rollup-utils/utils.mjs index 13f6c5d682d7..b687ff9993c4 100644 --- a/dev-packages/rollup-utils/utils.mjs +++ b/dev-packages/rollup-utils/utils.mjs @@ -39,4 +39,3 @@ export function mergePlugins(pluginsA, pluginsB) { return plugins; } - From a7330cad7faa3774f22ca5f6ef5989be2d53e84b Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 04:52:06 +0200 Subject: [PATCH 07/59] chore: remove ts and terser from replay --- .../replay-internal/rollup.npm.config.mjs | 2 -- .../replay-worker/rollup.examples.config.mjs | 22 ++----------- .../replay-worker/rollup.worker.config.mjs | 32 ++++--------------- packages/replay-worker/tsconfig.build.json | 11 +++++++ packages/replay-worker/tsconfig.json | 5 ++- 5 files changed, 25 insertions(+), 47 deletions(-) create mode 100644 packages/replay-worker/tsconfig.build.json diff --git a/packages/replay-internal/rollup.npm.config.mjs b/packages/replay-internal/rollup.npm.config.mjs index bba535a5799b..345228c03241 100644 --- a/packages/replay-internal/rollup.npm.config.mjs +++ b/packages/replay-internal/rollup.npm.config.mjs @@ -1,4 +1,3 @@ -import nodeResolve from '@rollup/plugin-node-resolve'; import { makeBaseNPMConfig, makeNPMConfigVariants } from '@sentry-internal/rollup-utils'; export default makeNPMConfigVariants( @@ -20,6 +19,5 @@ export default makeNPMConfigVariants( format, }, treeshake: false, - plugins: [nodeResolve()], })), ); diff --git a/packages/replay-worker/rollup.examples.config.mjs b/packages/replay-worker/rollup.examples.config.mjs index 6af95c657c6f..90e9a1a24979 100644 --- a/packages/replay-worker/rollup.examples.config.mjs +++ b/packages/replay-worker/rollup.examples.config.mjs @@ -1,39 +1,23 @@ -import terser from '@rollup/plugin-terser'; -import typescript from '@rollup/plugin-typescript'; -import { defineConfig } from 'rollup'; -import { makeLicensePlugin } from '../../dev-packages/rollup-utils/plugins/index.mjs'; - -const licensePlugin = makeLicensePlugin('Sentry Replay Worker'); +import { defineConfig } from 'rolldown'; const config = defineConfig([ { input: ['./src/_worker.ts'], + tsconfig: './tsconfig.build.json', output: { file: './examples/worker.js', format: 'esm', }, treeshake: 'smallest', - plugins: [ - typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - licensePlugin, - ], }, { input: ['./src/_worker.ts'], + tsconfig: './tsconfig.build.json', output: { file: './examples/worker.min.js', format: 'esm', }, treeshake: 'smallest', - plugins: [ - typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - terser({ - mangle: { - module: true, - }, - }), - licensePlugin, - ], }, ]); diff --git a/packages/replay-worker/rollup.worker.config.mjs b/packages/replay-worker/rollup.worker.config.mjs index aa872b37f379..ce92c1e78eea 100644 --- a/packages/replay-worker/rollup.worker.config.mjs +++ b/packages/replay-worker/rollup.worker.config.mjs @@ -1,41 +1,29 @@ // inspired by https://justinribeiro.com/chronicle/2020/07/17/building-module-web-workers-for-cross-browser-compatibility-with-rollup/ -import terser from '@rollup/plugin-terser'; -import typescript from '@rollup/plugin-typescript'; -import { defineConfig } from 'rollup'; +import { defineConfig } from 'rolldown'; const config = defineConfig([ { input: ['./src/index.ts'], treeshake: 'smallest', + tsconfig: './tsconfig.build.json', output: { dir: './build/esm', format: 'esm', + minify: true, }, external: ['./worker'], - plugins: [ - typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - terser({ - mangle: { - module: true, - }, - }), - ], }, { input: ['./src/_worker.ts'], + tsconfig: './tsconfig.build.json', output: { file: './build/esm/worker.ts', format: 'esm', + minify: true, }, treeshake: 'smallest', plugins: [ - typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - terser({ - mangle: { - module: true, - }, - }), { name: 'worker-to-string', renderChunk(code) { @@ -46,19 +34,13 @@ const config = defineConfig([ }, { input: ['./src/_worker.ts'], + tsconfig: './tsconfig.build.json', output: { file: './build/esm/worker-bundler.js', format: 'esm', + minify: true, }, treeshake: 'smallest', - plugins: [ - typescript({ tsconfig: './tsconfig.json', inlineSourceMap: false, sourceMap: false, inlineSources: false }), - terser({ - mangle: { - module: true, - }, - }), - ], }, ]); diff --git a/packages/replay-worker/tsconfig.build.json b/packages/replay-worker/tsconfig.build.json new file mode 100644 index 000000000000..24cce469ccc3 --- /dev/null +++ b/packages/replay-worker/tsconfig.build.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "module": "esnext", + "lib": ["webworker", "scripthost"], + "esModuleInterop": true, + "target": "es2020", + "strictPropertyInitialization": false + }, + "include": ["src/**/*.ts"] +} diff --git a/packages/replay-worker/tsconfig.json b/packages/replay-worker/tsconfig.json index 24cce469ccc3..c26c04b81d46 100644 --- a/packages/replay-worker/tsconfig.json +++ b/packages/replay-worker/tsconfig.json @@ -5,7 +5,10 @@ "lib": ["webworker", "scripthost"], "esModuleInterop": true, "target": "es2020", - "strictPropertyInitialization": false + "strictPropertyInitialization": false, + "inlineSourceMap": false, + "sourceMap": false, + "inlineSources": false }, "include": ["src/**/*.ts"] } From ee24dcba5afef1ca2fc16ae46d5edd0817a604f6 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 04:59:58 +0200 Subject: [PATCH 08/59] chore: remove last uses of rollup replace --- .../rollup-utils/plugins/bundlePlugins.mjs | 2 +- dev-packages/rollup-utils/plugins/npmPlugins.mjs | 2 +- packages/core/rollup.npm.config.mjs | 12 +++++++----- packages/node-core/rollup.npm.config.mjs | 16 +++++++++------- packages/vercel-edge/rollup.npm.config.mjs | 12 +++++++----- 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index 0320c365189f..5006dc48888f 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -30,7 +30,7 @@ export function makeBannerOptions(title, version) { * Create a plugin to set the value of the `__SENTRY_DEBUG__` magic string. * * @param includeDebugging Whether or not the resulting build should include log statements - * @returns An instance of the `@rollup/plugin-replace` plugin to do the replacement of the magic string with `true` or + * @returns An instance of the `rolldown.replacePlugin` plugin to do the replacement of the magic string with `true` or * 'false` */ export function makeIsDebugBuildPlugin(includeDebugging) { diff --git a/dev-packages/rollup-utils/plugins/npmPlugins.mjs b/dev-packages/rollup-utils/plugins/npmPlugins.mjs index 792f9ff872e9..859d97e4ec98 100644 --- a/dev-packages/rollup-utils/plugins/npmPlugins.mjs +++ b/dev-packages/rollup-utils/plugins/npmPlugins.mjs @@ -64,7 +64,7 @@ export function makeDebuggerPlugin(hookName) { * a) evaluates to `true` * b) can easily be modified by our users' bundlers to evaluate to false, facilitating the treeshaking of logger code. * - * @returns A `@rollup/plugin-replace` instance. + * @returns A `rolldown.replacePlugin` instance. */ export function makeDebugBuildStatementReplacePlugin() { return replacePlugin( diff --git a/packages/core/rollup.npm.config.mjs b/packages/core/rollup.npm.config.mjs index 1c33d55ef705..43ff941d63e3 100644 --- a/packages/core/rollup.npm.config.mjs +++ b/packages/core/rollup.npm.config.mjs @@ -2,8 +2,8 @@ import { readFileSync } from 'fs'; import { dirname, join } from 'path'; +import { replacePlugin } from 'rolldown/plugins'; import { fileURLToPath } from 'url'; -import replace from '@rollup/plugin-replace'; import { makeBaseNPMConfig, makeNPMConfigVariants } from '@sentry-internal/rollup-utils'; const packageJson = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), 'package.json'), 'utf-8')); @@ -22,12 +22,14 @@ export default makeNPMConfigVariants( exports: 'named', }, plugins: [ - replace({ - preventAssignment: true, - values: { + replacePlugin( + { __SENTRY_SDK_VERSION__: JSON.stringify(packageVersion), }, - }), + { + preventAssignment: true, + }, + ), ], }, }), diff --git a/packages/node-core/rollup.npm.config.mjs b/packages/node-core/rollup.npm.config.mjs index efcc72d1a88d..c9de37485b4a 100644 --- a/packages/node-core/rollup.npm.config.mjs +++ b/packages/node-core/rollup.npm.config.mjs @@ -1,5 +1,5 @@ -import replace from '@rollup/plugin-replace'; import { makeBaseNPMConfig, makeNPMConfigVariants, makeOtelLoaders } from '@sentry-internal/rollup-utils'; +import { replacePlugin } from 'rolldown/plugins'; import { createWorkerCodeBuilder } from './rollup.anr-worker.config.mjs'; const [anrWorkerConfig, getAnrBase64Code] = createWorkerCodeBuilder( @@ -26,15 +26,17 @@ export default [ exports: 'named', }, plugins: [ - replace({ - delimiters: ['###', '###'], - // removes some rollup warnings - preventAssignment: true, - values: { + replacePlugin( + { AnrWorkerScript: () => getAnrBase64Code(), LocalVariablesWorkerScript: () => getLocalVariablesBase64Code(), }, - }), + { + delimiters: ['###', '###'], + // removes some rollup warnings + preventAssignment: true, + }, + ), ], }, }), diff --git a/packages/vercel-edge/rollup.npm.config.mjs b/packages/vercel-edge/rollup.npm.config.mjs index fb964d13d8ea..8e081248cbce 100644 --- a/packages/vercel-edge/rollup.npm.config.mjs +++ b/packages/vercel-edge/rollup.npm.config.mjs @@ -1,5 +1,5 @@ -import replace from '@rollup/plugin-replace'; import { makeBaseNPMConfig, makeNPMConfigVariants } from '@sentry-internal/rollup-utils'; +import { replacePlugin } from 'rolldown/plugins'; export default makeNPMConfigVariants( makeBaseNPMConfig({ @@ -8,12 +8,14 @@ export default makeNPMConfigVariants( packageSpecificConfig: { context: 'globalThis', plugins: [ - replace({ - preventAssignment: true, - values: { + replacePlugin( + { 'process.argv0': JSON.stringify(''), // needed because otel relies on process.argv0 for the default service name, but that api is not available in the edge runtime. }, - }), + { + preventAssignment: true, + }, + ), { // This plugin is needed because otel imports `performance` from `perf_hooks` and also uses it via the `performance` global. // It also imports `inspect` and `promisify` from node's `util` which are not available in the edge runtime so we need to define a polyfill. From cc35989df2519ebc7fa715c0466fcfaec32cca0d Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 05:04:44 +0200 Subject: [PATCH 09/59] chore: fix replace plugin usage --- packages/node-core/rollup.npm.config.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/node-core/rollup.npm.config.mjs b/packages/node-core/rollup.npm.config.mjs index c9de37485b4a..1b201112554e 100644 --- a/packages/node-core/rollup.npm.config.mjs +++ b/packages/node-core/rollup.npm.config.mjs @@ -28,8 +28,8 @@ export default [ plugins: [ replacePlugin( { - AnrWorkerScript: () => getAnrBase64Code(), - LocalVariablesWorkerScript: () => getLocalVariablesBase64Code(), + AnrWorkerScript: JSON.stringify(getAnrBase64Code()), + LocalVariablesWorkerScript: JSON.stringify(getLocalVariablesBase64Code()), }, { delimiters: ['###', '###'], From 6e91af103bf9331b73ab31a2fd364607291a2b49 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 05:09:05 +0200 Subject: [PATCH 10/59] chore: remove unused rollup plugins --- package.json | 8 -------- yarn.lock | 29 +++-------------------------- 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index 2197713f8b1e..6bdb9a65c789 100644 --- a/package.json +++ b/package.json @@ -104,15 +104,7 @@ "dev-packages/bundler-tests" ], "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-esm-shim": "^0.1.5", - "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-replace": "^5.0.5", - "@rollup/plugin-sucrase": "^5.0.2", "@rollup/plugin-terser": "^0.4.4", - "@rollup/plugin-typescript": "^11.1.6", - "@rollup/pluginutils": "^5.1.0", "@size-limit/file": "~11.1.6", "@size-limit/webpack": "~11.1.6", "@types/jsdom": "^21.1.6", diff --git a/yarn.lock b/yarn.lock index 3a0095d3c67c..26345639c67b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6818,7 +6818,7 @@ magic-string "^0.30.3" picomatch "^4.0.2" -"@rollup/plugin-commonjs@^25.0.4", "@rollup/plugin-commonjs@^25.0.7": +"@rollup/plugin-commonjs@^25.0.4": version "25.0.8" resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.8.tgz#c77e608ab112a666b7f2a6bea625c73224f7dd34" integrity sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A== @@ -6843,13 +6843,6 @@ magic-string "^0.30.3" picomatch "^4.0.2" -"@rollup/plugin-esm-shim@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@rollup/plugin-esm-shim/-/plugin-esm-shim-0.1.5.tgz#74464e9a8a7e664557aae65592c8a3e317802220" - integrity sha512-xnIjDm/0EbqAw0/rR1UE7eAo9db0ftGPqT8RUCFtkFxtCuspbbmj+wutoyxm32jBytyO3SgkxSG17OR893fV7A== - dependencies: - magic-string "^0.30.3" - "@rollup/plugin-inject@^5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz#616f3a73fe075765f91c5bec90176608bed277a3" @@ -6908,7 +6901,7 @@ is-module "^1.0.0" resolve "^1.22.1" -"@rollup/plugin-replace@^5.0.2", "@rollup/plugin-replace@^5.0.5", "@rollup/plugin-replace@^5.0.7": +"@rollup/plugin-replace@^5.0.2", "@rollup/plugin-replace@^5.0.7": version "5.0.7" resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-5.0.7.tgz#150c9ee9db8031d9e4580a61a0edeaaed3d37687" integrity sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ== @@ -6924,14 +6917,6 @@ "@rollup/pluginutils" "^5.0.1" magic-string "^0.30.3" -"@rollup/plugin-sucrase@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-sucrase/-/plugin-sucrase-5.0.2.tgz#f8b8b54ad789a47fa882b968a76cede0194eea6e" - integrity sha512-4MhIVH9Dy2Hwose1/x5QMs0XF7yn9jDd/yozHqzdIrMWIolgFpGnrnVhQkqTaK1RALY/fpyrEKmwH/04vr1THA== - dependencies: - "@rollup/pluginutils" "^5.0.1" - sucrase "^3.27.0" - "@rollup/plugin-terser@^0.4.4": version "0.4.4" resolved "https://registry.yarnpkg.com/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz#15dffdb3f73f121aa4fbb37e7ca6be9aeea91962" @@ -6941,14 +6926,6 @@ smob "^1.0.0" terser "^5.17.4" -"@rollup/plugin-typescript@^11.1.6": - version "11.1.6" - resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-11.1.6.tgz#724237d5ec12609ec01429f619d2a3e7d4d1b22b" - integrity sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA== - dependencies: - "@rollup/pluginutils" "^5.1.0" - resolve "^1.22.1" - "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" @@ -29146,7 +29123,7 @@ stylus@0.59.0, stylus@^0.59.0: sax "~1.2.4" source-map "^0.7.3" -sucrase@^3.27.0, sucrase@^3.35.0, sucrase@getsentry/sucrase#es2020-polyfills: +sucrase@^3.35.0, sucrase@getsentry/sucrase#es2020-polyfills: version "3.36.0" resolved "https://codeload.github.com/getsentry/sucrase/tar.gz/fd682f6129e507c00bb4e6319cc5d6b767e36061" dependencies: From 802384655a7180d4eb975bafa33f22253cd97728 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 10:51:02 +0200 Subject: [PATCH 11/59] chore: use defineConfig for type assist --- dev-packages/rollup-utils/npmHelpers.mjs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 6be2181189aa..74e57308a19a 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -8,10 +8,8 @@ import * as fs from 'fs'; import { builtinModules } from 'module'; import * as path from 'path'; import { fileURLToPath } from 'url'; - import deepMerge from 'deepmerge'; - -import { defineConfig } from 'rollup'; +import { defineConfig } from 'rolldown'; import { makeDebugBuildStatementReplacePlugin, makeProductionReplacePlugin, @@ -40,7 +38,7 @@ export function makeBaseNPMConfig(options = {}) { excludeIframe: undefined, }); - const defaultBaseConfig = { + const defaultBaseConfig = defineConfig({ input: entrypoints, output: { @@ -90,7 +88,7 @@ export function makeBaseNPMConfig(options = {}) { ...Object.keys(packageDotJSON.peerDependencies || {}), ...Object.keys(packageDotJSON.optionalDependencies || {}), ], - }; + }); return deepMerge(defaultBaseConfig, packageSpecificConfig, { // Plugins have to be in the correct order or everything breaks, so when merging we have to manually re-order them @@ -98,7 +96,6 @@ export function makeBaseNPMConfig(options = {}) { }); } -// TODO: Instead of runtime checks, we should use TypeScript to ensure the base config is valid. export function makeNPMConfigVariants(baseConfig, options = {}) { const { emitEsm = true, emitCjs = true, splitDevProd = false } = options; const baseOutput = baseConfig.output; From 5463d58d9788ef30b58526f60166c377cb446569 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 11:21:57 +0200 Subject: [PATCH 12/59] chore: module preservation root --- dev-packages/rollup-utils/npmHelpers.mjs | 3 +-- packages/browser-utils/rollup.npm.config.mjs | 5 +++++ packages/browser/rollup.npm.config.mjs | 5 +++++ packages/core/rollup.npm.config.mjs | 5 +++++ packages/feedback/rollup.npm.config.mjs | 5 +++++ packages/opentelemetry/rollup.npm.config.mjs | 5 +++++ packages/profiling-node/rollup.npm.config.mjs | 5 +++++ packages/replay-canvas/rollup.npm.config.mjs | 5 +++++ packages/replay-internal/rollup.npm.config.mjs | 5 +++++ 9 files changed, 41 insertions(+), 2 deletions(-) diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 74e57308a19a..929d8aba9a5d 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -50,8 +50,7 @@ export function makeBaseNPMConfig(options = {}) { // Include __esModule property when there is a default prop esModule: 'if-default-prop', - // output individual files rather than one big bundle - preserveModules: true, + preserveModulesRoot: 'src', // Allow wrappers or helper functions generated by rollup to use any ES2015 features generatedCode: { diff --git a/packages/browser-utils/rollup.npm.config.mjs b/packages/browser-utils/rollup.npm.config.mjs index 4f64c4ec7b40..d28a7a6f54a0 100644 --- a/packages/browser-utils/rollup.npm.config.mjs +++ b/packages/browser-utils/rollup.npm.config.mjs @@ -6,6 +6,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/browser/rollup.npm.config.mjs b/packages/browser/rollup.npm.config.mjs index dfa7ccf06cbf..40e3cbff5906 100644 --- a/packages/browser/rollup.npm.config.mjs +++ b/packages/browser/rollup.npm.config.mjs @@ -8,6 +8,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/core/rollup.npm.config.mjs b/packages/core/rollup.npm.config.mjs index 43ff941d63e3..c6c96c546930 100644 --- a/packages/core/rollup.npm.config.mjs +++ b/packages/core/rollup.npm.config.mjs @@ -20,6 +20,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, plugins: [ replacePlugin( diff --git a/packages/feedback/rollup.npm.config.mjs b/packages/feedback/rollup.npm.config.mjs index 936669490d08..920d8d8dc334 100644 --- a/packages/feedback/rollup.npm.config.mjs +++ b/packages/feedback/rollup.npm.config.mjs @@ -7,6 +7,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, sucrase: { diff --git a/packages/opentelemetry/rollup.npm.config.mjs b/packages/opentelemetry/rollup.npm.config.mjs index 4f64c4ec7b40..d28a7a6f54a0 100644 --- a/packages/opentelemetry/rollup.npm.config.mjs +++ b/packages/opentelemetry/rollup.npm.config.mjs @@ -6,6 +6,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/profiling-node/rollup.npm.config.mjs b/packages/profiling-node/rollup.npm.config.mjs index e42be5b795bc..1e6a8b9f8f0a 100644 --- a/packages/profiling-node/rollup.npm.config.mjs +++ b/packages/profiling-node/rollup.npm.config.mjs @@ -7,6 +7,11 @@ export default makeNPMConfigVariants( dir: 'build', // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/replay-canvas/rollup.npm.config.mjs b/packages/replay-canvas/rollup.npm.config.mjs index 3919a22ace19..66e960a2aa9c 100644 --- a/packages/replay-canvas/rollup.npm.config.mjs +++ b/packages/replay-canvas/rollup.npm.config.mjs @@ -7,6 +7,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), diff --git a/packages/replay-internal/rollup.npm.config.mjs b/packages/replay-internal/rollup.npm.config.mjs index 345228c03241..3ccd2f8d85ef 100644 --- a/packages/replay-internal/rollup.npm.config.mjs +++ b/packages/replay-internal/rollup.npm.config.mjs @@ -7,6 +7,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + // set preserveModules to true because we don't want to bundle everything into one file. + preserveModules: + process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined + ? true + : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, }), From 8b60aafb89806d5791d26fa1762a6ebb91dc26c3 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 11:24:06 +0200 Subject: [PATCH 13/59] chore: revert some changes --- dev-packages/rollup-utils/bundleHelpers.mjs | 16 +++------------- dev-packages/rollup-utils/npmHelpers.mjs | 21 ++++++--------------- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index 1837bbd78e39..6719afa7d3f6 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -142,35 +142,25 @@ export function makeBundleConfigVariants(baseConfig, options = {}) { const terserPlugin = makeTerserPlugin(); const setSdkSourcePlugin = makeSetSDKSourcePlugin('cdn'); - const baseOutput = baseConfig.output; - if (!baseOutput || Array.isArray(baseOutput)) { - throw new Error('Base config must have a single output object'); - } - - const baseOutputEntryFileNames = baseOutput.entryFileNames; - if (typeof baseOutputEntryFileNames !== 'function') { - throw new Error('Base config must have a function for entryFileNames'); - } - // The additional options to use for each variant we're going to create. const variantSpecificConfigMap = { '.js': { output: { - entryFileNames: chunkInfo => `${baseOutputEntryFileNames(chunkInfo)}.js`, + entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.js`, }, plugins: [includeDebuggingPlugin, setSdkSourcePlugin], }, '.min.js': { output: { - entryFileNames: chunkInfo => `${baseOutputEntryFileNames(chunkInfo)}.min.js`, + entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.min.js`, }, plugins: [stripDebuggingPlugin, setSdkSourcePlugin, terserPlugin], }, '.debug.min.js': { output: { - entryFileNames: chunkInfo => `${baseOutputEntryFileNames(chunkInfo)}.debug.min.js`, + entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.debug.min.js`, }, plugins: [includeDebuggingPlugin, setSdkSourcePlugin, terserPlugin], }, diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 929d8aba9a5d..94f53742b0bc 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -97,27 +97,18 @@ export function makeBaseNPMConfig(options = {}) { export function makeNPMConfigVariants(baseConfig, options = {}) { const { emitEsm = true, emitCjs = true, splitDevProd = false } = options; - const baseOutput = baseConfig.output; - if (!baseOutput || Array.isArray(baseOutput)) { - throw new Error('Base config must have a single output object'); - } - - const baseOutputDir = baseOutput.dir; - if (typeof baseOutputDir !== 'string') { - throw new Error('Base config must have a string for dir'); - } const variantSpecificConfigs = []; if (emitCjs) { if (splitDevProd) { - variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseOutputDir, 'cjs/dev') } }); + variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseConfig.output.dir, 'cjs/dev') } }); variantSpecificConfigs.push({ - output: { format: 'cjs', dir: path.join(baseOutputDir, 'cjs/prod') }, + output: { format: 'cjs', dir: path.join(baseConfig.output.dir, 'cjs/prod') }, plugins: [makeProductionReplacePlugin()], }); } else { - variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseOutputDir, 'cjs') } }); + variantSpecificConfigs.push({ output: { format: 'cjs', dir: path.join(baseConfig.output.dir, 'cjs') } }); } } @@ -126,14 +117,14 @@ export function makeNPMConfigVariants(baseConfig, options = {}) { variantSpecificConfigs.push({ output: { format: 'esm', - dir: path.join(baseOutputDir, 'esm/dev'), + dir: path.join(baseConfig.output.dir, 'esm/dev'), plugins: [makePackageNodeEsm()], }, }); variantSpecificConfigs.push({ output: { format: 'esm', - dir: path.join(baseOutputDir, 'esm/prod'), + dir: path.join(baseConfig.output.dir, 'esm/prod'), plugins: [makeProductionReplacePlugin(), makePackageNodeEsm()], }, }); @@ -141,7 +132,7 @@ export function makeNPMConfigVariants(baseConfig, options = {}) { variantSpecificConfigs.push({ output: { format: 'esm', - dir: path.join(baseOutputDir, 'esm'), + dir: path.join(baseConfig.output.dir, 'esm'), plugins: [makePackageNodeEsm()], }, }); From b49568d3e367fd96fc9fe00a69f6462c76fbea45 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 11:34:51 +0200 Subject: [PATCH 14/59] fix: revert more changes --- dev-packages/rollup-utils/npmHelpers.mjs | 4 ++++ dev-packages/test-utils/rollup.npm.config.mjs | 1 + packages/feedback/rollup.npm.config.mjs | 5 +++-- packages/node-core/rollup.npm.config.mjs | 1 + packages/node-native/rollup.npm.config.mjs | 1 + packages/node/rollup.npm.config.mjs | 1 + packages/opentelemetry/rollup.npm.config.mjs | 5 ++--- packages/profiling-node/rollup.npm.config.mjs | 5 +++-- packages/remix/rollup.npm.config.mjs | 1 - packages/replay-canvas/rollup.npm.config.mjs | 5 +++-- packages/replay-internal/rollup.npm.config.mjs | 5 +++-- packages/vercel-edge/rollup.npm.config.mjs | 3 +++ 12 files changed, 25 insertions(+), 12 deletions(-) diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 94f53742b0bc..8e194e42dec3 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -50,6 +50,10 @@ export function makeBaseNPMConfig(options = {}) { // Include __esModule property when there is a default prop esModule: 'if-default-prop', + // output individual files rather than one big bundle + preserveModules: true, + + // output files relative to the src directory preserveModulesRoot: 'src', // Allow wrappers or helper functions generated by rollup to use any ES2015 features diff --git a/dev-packages/test-utils/rollup.npm.config.mjs b/dev-packages/test-utils/rollup.npm.config.mjs index 4f64c4ec7b40..b684e2efe16b 100644 --- a/dev-packages/test-utils/rollup.npm.config.mjs +++ b/dev-packages/test-utils/rollup.npm.config.mjs @@ -6,6 +6,7 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + preserveModules: false, }, }, }), diff --git a/packages/feedback/rollup.npm.config.mjs b/packages/feedback/rollup.npm.config.mjs index 920d8d8dc334..c91c37ec84f8 100644 --- a/packages/feedback/rollup.npm.config.mjs +++ b/packages/feedback/rollup.npm.config.mjs @@ -7,10 +7,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. + // set preserveModules to false because for feedback we actually want + // to bundle everything into one file. preserveModules: process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true + ? false : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, diff --git a/packages/node-core/rollup.npm.config.mjs b/packages/node-core/rollup.npm.config.mjs index 1b201112554e..889da172b7b3 100644 --- a/packages/node-core/rollup.npm.config.mjs +++ b/packages/node-core/rollup.npm.config.mjs @@ -24,6 +24,7 @@ export default [ output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + preserveModules: true, }, plugins: [ replacePlugin( diff --git a/packages/node-native/rollup.npm.config.mjs b/packages/node-native/rollup.npm.config.mjs index 3b140cf9d569..ce79b0ac9bbb 100644 --- a/packages/node-native/rollup.npm.config.mjs +++ b/packages/node-native/rollup.npm.config.mjs @@ -8,6 +8,7 @@ export default makeNPMConfigVariants( dir: 'build', // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + preserveModules: true, }, }, }), diff --git a/packages/node/rollup.npm.config.mjs b/packages/node/rollup.npm.config.mjs index 8f1bfeded3a2..93fd1d8c16ca 100644 --- a/packages/node/rollup.npm.config.mjs +++ b/packages/node/rollup.npm.config.mjs @@ -9,6 +9,7 @@ export default [ output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', + preserveModules: true, }, }, }), diff --git a/packages/opentelemetry/rollup.npm.config.mjs b/packages/opentelemetry/rollup.npm.config.mjs index d28a7a6f54a0..9ffda7352ff7 100644 --- a/packages/opentelemetry/rollup.npm.config.mjs +++ b/packages/opentelemetry/rollup.npm.config.mjs @@ -6,10 +6,9 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. - preserveModules: + // set preserveModules to false because we want to bundle everything into one file. preserveModules: process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true + ? false : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, diff --git a/packages/profiling-node/rollup.npm.config.mjs b/packages/profiling-node/rollup.npm.config.mjs index 1e6a8b9f8f0a..80b26c2ac232 100644 --- a/packages/profiling-node/rollup.npm.config.mjs +++ b/packages/profiling-node/rollup.npm.config.mjs @@ -7,10 +7,11 @@ export default makeNPMConfigVariants( dir: 'build', // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. + // set preserveModules to false because for profiling we actually want + // to bundle everything into one file. preserveModules: process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true + ? false : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, diff --git a/packages/remix/rollup.npm.config.mjs b/packages/remix/rollup.npm.config.mjs index 731454b35ee6..8ba7eac8051b 100644 --- a/packages/remix/rollup.npm.config.mjs +++ b/packages/remix/rollup.npm.config.mjs @@ -15,7 +15,6 @@ export default [ output: { // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', - preserveModules: true, }, }, sucrase: { diff --git a/packages/replay-canvas/rollup.npm.config.mjs b/packages/replay-canvas/rollup.npm.config.mjs index 66e960a2aa9c..3b4431fa6829 100644 --- a/packages/replay-canvas/rollup.npm.config.mjs +++ b/packages/replay-canvas/rollup.npm.config.mjs @@ -7,10 +7,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. + // set preserveModules to false because for Replay we actually want + // to bundle everything into one file. preserveModules: process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true + ? false : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, diff --git a/packages/replay-internal/rollup.npm.config.mjs b/packages/replay-internal/rollup.npm.config.mjs index 3ccd2f8d85ef..7ec6f034c03e 100644 --- a/packages/replay-internal/rollup.npm.config.mjs +++ b/packages/replay-internal/rollup.npm.config.mjs @@ -7,10 +7,11 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to true because we don't want to bundle everything into one file. + // set preserveModules to false because for Replay we actually want + // to bundle everything into one file. preserveModules: process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined - ? true + ? false : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, diff --git a/packages/vercel-edge/rollup.npm.config.mjs b/packages/vercel-edge/rollup.npm.config.mjs index 8e081248cbce..c0daf542b1e7 100644 --- a/packages/vercel-edge/rollup.npm.config.mjs +++ b/packages/vercel-edge/rollup.npm.config.mjs @@ -7,6 +7,9 @@ export default makeNPMConfigVariants( bundledBuiltins: ['perf_hooks', 'util'], packageSpecificConfig: { context: 'globalThis', + output: { + preserveModules: false, + }, plugins: [ replacePlugin( { From 5fe61aa5554917f8ae49522d6c9327df750010de Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 11:55:04 +0200 Subject: [PATCH 15/59] fix: format --- packages/opentelemetry/rollup.npm.config.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/opentelemetry/rollup.npm.config.mjs b/packages/opentelemetry/rollup.npm.config.mjs index 9ffda7352ff7..e015fea4935e 100644 --- a/packages/opentelemetry/rollup.npm.config.mjs +++ b/packages/opentelemetry/rollup.npm.config.mjs @@ -6,7 +6,8 @@ export default makeNPMConfigVariants( output: { // set exports to 'named' or 'auto' so that rollup doesn't warn exports: 'named', - // set preserveModules to false because we want to bundle everything into one file. preserveModules: + // set preserveModules to false because we want to bundle everything into one file. + preserveModules: process.env.SENTRY_BUILD_PRESERVE_MODULES === undefined ? false : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), From 9dbdb67da194580f730147ec5a4eab5e447cf182 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 11 Nov 2025 13:49:08 +0200 Subject: [PATCH 16/59] fix: nextjs build --- packages/nextjs/rollup.npm.config.mjs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/nextjs/rollup.npm.config.mjs b/packages/nextjs/rollup.npm.config.mjs index 89271a21e9d3..b19f4f8acf03 100644 --- a/packages/nextjs/rollup.npm.config.mjs +++ b/packages/nextjs/rollup.npm.config.mjs @@ -61,6 +61,9 @@ export default [ // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', + + // Don't preserve modules - we're using custom entryFileNames + preserveModules: false, }, external: [ '@sentry/nextjs', @@ -83,6 +86,9 @@ export default [ // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', + + // Don't preserve modules - we're using custom entryFileNames + preserveModules: false, }, external: ['@rollup/plugin-commonjs', 'rollup'], }, @@ -99,6 +105,9 @@ export default [ // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', + + // Don't preserve modules - we're using custom entryFileNames + preserveModules: false, }, }, }), From e40c5e7af05be96c70da5a4be14a1b6567f975de Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 13 Nov 2025 12:26:33 +0200 Subject: [PATCH 17/59] chore: upgrade to rolldown 1.0.0-beta.50 --- .../rollup-utils/plugins/bundlePlugins.mjs | 1 - .../rollup-utils/plugins/npmPlugins.mjs | 7 +- package.json | 4 +- yarn.lock | 378 +++++++----------- 4 files changed, 139 insertions(+), 251 deletions(-) diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index 5006dc48888f..eb2a400fe403 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -18,7 +18,6 @@ import terser from '@rollup/plugin-terser'; * * @param title The title to use for the SDK, if not the package name * @param version The version of the SDK - * @returns An instance of the `rollup-plugin-license` plugin */ export function makeBannerOptions(title, version) { const commitHash = childProcess.execSync('git rev-parse --short HEAD', { encoding: 'utf-8' }).trim(); diff --git a/dev-packages/rollup-utils/plugins/npmPlugins.mjs b/dev-packages/rollup-utils/plugins/npmPlugins.mjs index 859d97e4ec98..03adbb2fce96 100644 --- a/dev-packages/rollup-utils/plugins/npmPlugins.mjs +++ b/dev-packages/rollup-utils/plugins/npmPlugins.mjs @@ -1,10 +1,5 @@ /** - * Rollup plugin hooks docs: https://rollupjs.org/guide/en/#build-hooks and - * https://rollupjs.org/guide/en/#output-generation-hooks - * - * Cleanup plugin docs: https://github.com/aMarCruz/rollup-plugin-cleanup - * Replace plugin docs: https://github.com/rollup/plugins/tree/master/packages/replace - * Sucrase plugin docs: https://github.com/rollup/plugins/tree/master/packages/sucrase + * Replace plugin docs: https://rolldown.rs/builtin-plugins/replace#replace-plugin */ import { replacePlugin } from 'rolldown/plugins'; diff --git a/package.json b/package.json index 6bdb9a65c789..1f93c7a606de 100644 --- a/package.json +++ b/package.json @@ -122,9 +122,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "^1.0.0-beta.49", - "rollup-plugin-cleanup": "^3.2.1", - "rollup-plugin-license": "^3.3.1", + "rolldown": "^1.0.0-beta.50", "size-limit": "~11.1.6", "sucrase": "^3.35.0", "ts-node": "10.9.1", diff --git a/yarn.lock b/yarn.lock index 26345639c67b..ddfeb44f88d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6256,10 +6256,10 @@ dependencies: "@opentelemetry/core" "^2.0.0" -"@oxc-project/types@=0.96.0": - version "0.96.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.96.0.tgz#cc704c49a067f4d314deed448a068ef0765c3498" - integrity sha512-r/xkmoXA0xEpU6UGtn18CNVjXH6erU3KCpCDbpLmbVxBFor1U9MqN5Z2uMmCHJuXjJzlnDR+hWY+yPoLo8oHDw== +"@oxc-project/types@=0.97.0": + version "0.97.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.97.0.tgz#dff374de679b876ec9765a80352e5a56354dcd8e" + integrity sha512-lxmZK4xFrdvU0yZiDwgVQTCvh2gHWBJCBk5ALsrtsBWhs0uDIi+FTOnXRQeQfs304imdvTdaakT/lqwQ8hkOXQ== "@parcel/watcher-android-arm64@2.5.1": version "2.5.1" @@ -6723,82 +6723,82 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.49.tgz#583817b53318f1ddfd7d77945401cd21409ef387" - integrity sha512-xKQEOmqOet0vFHt/aqcoQGWvoDJhfSO8EBhuST0CDnxQRmnVzbI8keeeX62vi53ZyICKZxczyfx4A8dUY3dqKw== - -"@rolldown/binding-darwin-arm64@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.49.tgz#33a796ce56ad9e33faa89e6eb1a9167fba4ebda4" - integrity sha512-kN0N/8m8HUYO13PqlIwxcXD7fu2E6GKu0J4iH7wUJw3T3QK+nvrc20rxtTZ0J6sA1sGCE8UYvvvnurDwMUp0dg== - -"@rolldown/binding-darwin-x64@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.49.tgz#d6f55e12dbeeda70a1d29d041053cc3374025a02" - integrity sha512-29qmvsgY2A4ymfy8sQkFFOFc13m04SLUcYn1iil41gpkYrAspBLkvsOQMHPCs3rQCOImgweT4tFotqTAonwphQ== - -"@rolldown/binding-freebsd-x64@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.49.tgz#48bf85617dd1cac3d452303b62b5bfbb9d9c7c2c" - integrity sha512-fY+esrHjgt6+RAnDPuUk39RvFNmYhJekGyC6wr0HWXGTBed07Feap9BrYINSh6x5xFlNpOPs6tImKnV0zVDuWQ== - -"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.49.tgz#ee3e56da0bef06ef84dc1903d355a212bf5df5f0" - integrity sha512-oQNAqB+XrRM2AZaSPyudQETsPhzCZqgPICQu80fJuNyBFYoz6nonNNZtm3BJ9uP+HZfUk9NfOn9vPoCNuk6gAw== - -"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.49.tgz#e1a74289b437b00fb91cb160c726239f86e22916" - integrity sha512-bJinAiuWUJvlBxPa8ZmRnWkmmAoUlSWtZT4pRkWi/QX3HlgHfUUbhF+d7aZLciai+iFfbiPqOwCL2tqNXXrUsA== - -"@rolldown/binding-linux-arm64-musl@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.49.tgz#250ce826655594f263a9a6ea2c09cbadbcb799bf" - integrity sha512-gwueY8EJU7afq5tNwKSjYy5JqTR/0MNzZfv6s5dX+rMgeUpTNhwIToLO1F41TPYEa+6LRTXUWG23DO/ONPzUJA== - -"@rolldown/binding-linux-x64-gnu@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.49.tgz#acee7f93b1821ffac1fe990a3b06e189b6f9ffd8" - integrity sha512-VXYkjzzEZh5N5Ue1IEcBgL8RuJu5jWrIKmg8WY6hhCbnNJ1IOsObT4HFW+rE8ZaKNjoIXzImoiYi1UAkKiQRYA== - -"@rolldown/binding-linux-x64-musl@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.49.tgz#a0345ad4dbd53db4625d693807596e7cbad62f70" - integrity sha512-S5Yw6g/ftiW7MpNpnOM5vSIlDzGuohDY8y7VOI47+92HhO6WqsNfcMkDZXm3G5l6YIfUNStGBV86NWrzasp+sw== - -"@rolldown/binding-openharmony-arm64@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.49.tgz#5f63cf6108043b786d9ff4145896a79a329c0fca" - integrity sha512-bhRoMO2oP46W1UDd/PTrSdoIYfvLS2jiFAned0SOzOO0tcait9u+b9i8h4ZugbT2IK4qUXNezovbHJs7hKJOEQ== - -"@rolldown/binding-wasm32-wasi@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.49.tgz#dba8e02b8fa23e4221073fcb1c1d71348483f4db" - integrity sha512-Owp6Y1RQ84UMOV8hrg5e1Fmu8Po1IUXWytAHUtPcc00+ty6Gr9g5GgLLw0oblu7QovBr4848ozvkMcEj3vDKgA== +"@rolldown/binding-android-arm64@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.50.tgz#36bf7823a6dc197a629c064dec8441ff5276fa25" + integrity sha512-XlEkrOIHLyGT3avOgzfTFSjG+f+dZMw+/qd+Y3HLN86wlndrB/gSimrJCk4gOhr1XtRtEKfszpadI3Md4Z4/Ag== + +"@rolldown/binding-darwin-arm64@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.50.tgz#17c1ce735e140b2b6fe063cbd12d584215a1c33d" + integrity sha512-+JRqKJhoFlt5r9q+DecAGPLZ5PxeLva+wCMtAuoFMWPoZzgcYrr599KQ+Ix0jwll4B4HGP43avu9My8KtSOR+w== + +"@rolldown/binding-darwin-x64@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.50.tgz#ce906eb6ddf4c6f6f80a6a88f62a74594932e17c" + integrity sha512-fFXDjXnuX7/gQZQm/1FoivVtRcyAzdjSik7Eo+9iwPQ9EgtA5/nB2+jmbzaKtMGG3q+BnZbdKHCtOacmNrkIDA== + +"@rolldown/binding-freebsd-x64@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.50.tgz#2ce16d7a5bee54e8d06de0c87051038664f6d2bd" + integrity sha512-F1b6vARy49tjmT/hbloplzgJS7GIvwWZqt+tAHEstCh0JIh9sa8FAMVqEmYxDviqKBaAI8iVvUREm/Kh/PD26Q== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.50.tgz#ba7374fb175ad35785d52165fdc6be80cd435aab" + integrity sha512-U6cR76N8T8M6lHj7EZrQ3xunLPxSvYYxA8vJsBKZiFZkT8YV4kjgCO3KwMJL0NOjQCPGKyiXO07U+KmJzdPGRw== + +"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.50.tgz#cb61bcbf32e3236605403f15deca66aeec193400" + integrity sha512-ONgyjofCrrE3bnh5GZb8EINSFyR/hmwTzZ7oVuyUB170lboza1VMCnb8jgE6MsyyRgHYmN8Lb59i3NKGrxrYjw== + +"@rolldown/binding-linux-arm64-musl@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.50.tgz#f26d33ef13c13b5a3417f3a0b902a1c18f636f5b" + integrity sha512-L0zRdH2oDPkmB+wvuTl+dJbXCsx62SkqcEqdM+79LOcB+PxbAxxjzHU14BuZIQdXcAVDzfpMfaHWzZuwhhBTcw== + +"@rolldown/binding-linux-x64-gnu@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.50.tgz#27b2ee9f76b393f97237aaf4de50a47eb4e393f5" + integrity sha512-gyoI8o/TGpQd3OzkJnh1M2kxy1Bisg8qJ5Gci0sXm9yLFzEXIFdtc4EAzepxGvrT2ri99ar5rdsmNG0zP0SbIg== + +"@rolldown/binding-linux-x64-musl@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.50.tgz#6f5269df217a8b5dafc71a18aa8aeb49d2f8d981" + integrity sha512-zti8A7M+xFDpKlghpcCAzyOi+e5nfUl3QhU023ce5NCgUxRG5zGP2GR9LTydQ1rnIPwZUVBWd4o7NjZDaQxaXA== + +"@rolldown/binding-openharmony-arm64@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.50.tgz#3c537200c89b9647866441d88a31a0f4c3c91228" + integrity sha512-eZUssog7qljrrRU9Mi0eqYEPm3Ch0UwB+qlWPMKSUXHNqhm3TvDZarJQdTevGEfu3EHAXJvBIe0YFYr0TPVaMA== + +"@rolldown/binding-wasm32-wasi@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.50.tgz#04f4ea5bcda8a4774a14b4e9d79662dc91012cfc" + integrity sha512-nmCN0nIdeUnmgeDXiQ+2HU6FT162o+rxnF7WMkBm4M5Ds8qTU7Dzv2Wrf22bo4ftnlrb2hKK6FSwAJSAe2FWLg== dependencies: "@napi-rs/wasm-runtime" "^1.0.7" -"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.49.tgz#ee5401faea1c4c18d607a11e7d3df5bcb5e5aeaa" - integrity sha512-dnheX8aXsN9P12uwPOW3TVvqSnQ1cfjKQlYgU2dTkrRpnco0kTGvqE1nEWybGukTyuPdzVvrGElgSGEJ7crcSQ== +"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.50.tgz#ee084d0dd74530fe149502f942b8e2bf6a7ef8d8" + integrity sha512-7kcNLi7Ua59JTTLvbe1dYb028QEPaJPJQHqkmSZ5q3tJueUeb6yjRtx8mw4uIqgWZcnQHAR3PrLN4XRJxvgIkA== -"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.49.tgz#f4fb4ce8e88e85c2c1e2fae08ce8f7573a133043" - integrity sha512-Blt1aODXiAuEdZBqHYXGJwVFlonXKkVEJy5hhxOgnAVi/0mzFNWDxc8qVlxl7dpQjQdboW/wXdgMHpTDfomicg== +"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.50.tgz#63bad3eac2cc25ef42ef70ea5ebdba123f31cbba" + integrity sha512-lL70VTNvSCdSZkDPPVMwWn/M2yQiYvSoXw9hTLgdIWdUfC3g72UaruezusR6ceRuwHCY1Ayu2LtKqXkBO5LIwg== -"@rolldown/binding-win32-x64-msvc@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.49.tgz#8de89bf533dca3a25513a20bcd49c83135584b17" - integrity sha512-sSu4qUlL/62QJrR3P+Bd+EblD8tUpnovUz65qow3PA7YxH+f5NFDbCJMR1m5b8zBuVZwZIHfzbuawz+Vl34/xg== +"@rolldown/binding-win32-x64-msvc@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.50.tgz#3a22e019281d5a17db6feb555f21df6771134c3b" + integrity sha512-4qU4x5DXWB4JPjyTne/wBNPqkbQU8J45bl21geERBKtEittleonioACBL1R0PsBu0Aq21SwMK5a9zdBkWSlQtQ== -"@rolldown/pluginutils@1.0.0-beta.49": - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.49.tgz#36916d2bc4fe42e56db3b54e1715e2e83dfaed30" - integrity sha512-HLlu3Qn3ePmNCbfehwKWXQMzX/2rzcL6Jmpo+Dl3xnq46TGMyJAgO+IsS8ka7IDLeD3wcoOhjJwxTdIdbrFhGw== +"@rolldown/pluginutils@1.0.0-beta.50": + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz#a12f07e9095b8901debcc17d98b4350f0cc64633" + integrity sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA== "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -7190,45 +7190,45 @@ magic-string "0.30.8" unplugin "1.0.1" -"@sentry/cli-darwin@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.58.2.tgz#61f6f836de8ac2e1992ccadc0368bc403f23c609" - integrity sha512-MArsb3zLhA2/cbd4rTm09SmTpnEuZCoZOpuZYkrpDw1qzBVJmRFA1W1hGAQ9puzBIk/ubY3EUhhzuU3zN2uD6w== - -"@sentry/cli-linux-arm64@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.58.2.tgz#3a7a9c83e31b482599ce08d93d5ba6c8a1a44c7f" - integrity sha512-ay3OeObnbbPrt45cjeUyQjsx5ain1laj1tRszWj37NkKu55NZSp4QCg1gGBZ0gBGhckI9nInEsmKtix00alw2g== - -"@sentry/cli-linux-arm@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.58.2.tgz#f9bef6802cb707d1603a02e0727fed22d834e133" - integrity sha512-HU9lTCzcHqCz/7Mt5n+cv+nFuJdc1hGD2h35Uo92GgxX3/IujNvOUfF+nMX9j6BXH6hUt73R5c0Ycq9+a3Parg== - -"@sentry/cli-linux-i686@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.58.2.tgz#a3e6cb24d314f2d948b96457731f9345dc8370f9" - integrity sha512-CN9p0nfDFsAT1tTGBbzOUGkIllwS3hygOUyTK7LIm9z+UHw5uNgNVqdM/3Vg+02ymjkjISNB3/+mqEM5osGXdA== - -"@sentry/cli-linux-x64@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.58.2.tgz#8e071e11b03524b08d369075f3203b05529ca233" - integrity sha512-oX/LLfvWaJO50oBVOn4ZvG2SDWPq0MN8SV9eg5tt2nviq+Ryltfr7Rtoo+HfV+eyOlx1/ZXhq9Wm7OT3cQuz+A== - -"@sentry/cli-win32-arm64@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.58.2.tgz#af109a165c25245458a6c58b79a91c639b1df1b0" - integrity sha512-+cl3x2HPVMpoSVGVM1IDWlAEREZrrVQj4xBb0TRKII7g3hUxRsAIcsrr7+tSkie++0FuH4go/b5fGAv51OEF3w== - -"@sentry/cli-win32-i686@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.58.2.tgz#53038b43b2c14c419fb71586f7448e7580ed4e39" - integrity sha512-omFVr0FhzJ8oTJSg1Kf+gjLgzpYklY0XPfLxZ5iiMiYUKwF5uo1RJRdkUOiEAv0IqpUKnmKcmVCLaDxsWclB7Q== - -"@sentry/cli-win32-x64@2.58.2": - version "2.58.2" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.58.2.tgz#b4c81a3c163344ae8b27523a0391e7f99c533f41" - integrity sha512-2NAFs9UxVbRztQbgJSP5i8TB9eJQ7xraciwj/93djrSMHSEbJ0vC47TME0iifgvhlHMs5vqETOKJtfbbpQAQFA== +"@sentry/cli-darwin@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.56.0.tgz#53fa7de2c26f6450d5454ba997c26c2471d112c8" + integrity sha512-CzXFWbv3GrjU0gFlUM9jt0fvJmyo5ktty4HGxRFfS/eMC6xW58Gg/sEeMVEkdvk5osKooX/YEgfLBdo4zvuWDA== + +"@sentry/cli-linux-arm64@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.56.0.tgz#5041c8877416a607ddae87b948cbe6c9e86d7f54" + integrity sha512-91d5ZlC989j/t+TXor/glPyx6SnLFS/SlJ9fIrHIQohdGKyWWSFb4VKUan8Ok3GYu9SUzKTMByryIOoYEmeGVw== + +"@sentry/cli-linux-arm@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.56.0.tgz#c7875cf5f76e254ff1c0f49cf99d8c26b6ec4959" + integrity sha512-vQCCMhZLugPmr25XBoP94dpQsFa110qK5SBUVJcRpJKyzMZd+6ueeHNslq2mB0OF4BwL1qd/ZDIa4nxa1+0rjQ== + +"@sentry/cli-linux-i686@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.56.0.tgz#aeaff32f9f0d405e413373223e406d66b1d56176" + integrity sha512-MZzXuq1Q/TktN81DUs6XSBU752pG3XWSJdZR+NCStIg3l8s3O/Pwh6OcDHTYqgwsYJaGBpA0fP2Afl5XeSAUNg== + +"@sentry/cli-linux-x64@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.56.0.tgz#3dd4ef83c2d710c3e6f5d078d05391fda2ce23ee" + integrity sha512-INOO2OQ90Y3UzYgHRdrHdKC/0es3YSHLv0iNNgQwllL0YZihSVNYSSrZqcPq8oSDllEy9Vt9oOm/7qEnUP2Kfw== + +"@sentry/cli-win32-arm64@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.56.0.tgz#2113bcac721970ca4dbd04a6dab37dfb0ec147d2" + integrity sha512-eUvkVk9KK01q6/qyugQPh7dAxqFPbgOa62QAoSwo11WQFYc3NPgJLilFWLQo+nahHGYKh6PKuCJ5tcqnQq5Hkg== + +"@sentry/cli-win32-i686@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.56.0.tgz#bd8e646f4b5a98aa80bc9751a6e0db6514a935f5" + integrity sha512-mpCA8hKXuvT17bl1H/54KOa5i+02VBBHVlOiP3ltyBuQUqfvX/30Zl/86Spy+ikodovZWAHv5e5FpyXbY1/mPw== + +"@sentry/cli-win32-x64@2.56.0": + version "2.56.0" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.56.0.tgz#1acc7ca166ed531075a31b2bc1700294747da6b8" + integrity sha512-UV0pXNls+/ViAU/3XsHLLNEHCsRYaGEwJdY3HyGIufSlglxrX6BVApkV9ziGi4WAxcJWLjQdfcEs6V5B+wBy0A== "@sentry/cli@^2.51.0", "@sentry/cli@^2.57.0", "@sentry/cli@^2.58.2": version "2.58.2" @@ -10917,11 +10917,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -array-find-index@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -13302,11 +13297,6 @@ comment-parser@1.4.1, comment-parser@^1.1.2: resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.1.tgz#bdafead37961ac079be11eb7ec65c4d021eaf9cc" integrity sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg== -commenting@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/commenting/-/commenting-1.1.0.tgz#fae14345c6437b8554f30bc6aa6c1e1633033590" - integrity sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA== - common-ancestor-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" @@ -16625,11 +16615,6 @@ estree-walker@2.0.2, estree-walker@^2.0.2: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - estree-walker@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" @@ -18146,7 +18131,7 @@ glob@^5.0.10: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.4, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.3, glob@~7.2.0: +glob@^7.0.0, glob@^7.0.4, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -20317,15 +20302,6 @@ jiti@^2.0.0, jiti@^2.1.2, jiti@^2.4.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.2.tgz#d19b7732ebb6116b06e2038da74a55366faef560" integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A== -js-cleanup@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/js-cleanup/-/js-cleanup-1.2.0.tgz#8dbc65954b1d38b255f1e8cf02cd17b3f7a053f9" - integrity sha512-JeDD0yiiSt80fXzAVa/crrS0JDPQljyBG/RpOtaSbyDq03VHa9szJWMaWOYU/bcTn412uMN2MxApXq8v79cUiQ== - dependencies: - magic-string "^0.25.7" - perf-regexes "^1.0.1" - skip-regex "^1.0.2" - js-md4@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/js-md4/-/js-md4-0.3.2.tgz#cd3b3dc045b0c404556c81ddb5756c23e59d7cf5" @@ -21381,7 +21357,7 @@ lodash.uniq@^4.2.0, lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@~4.17.21: +lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -21590,7 +21566,7 @@ magic-string@^0.26.0, magic-string@^0.26.7: dependencies: sourcemap-codec "^1.4.8" -magic-string@^0.30.0, magic-string@^0.30.10, magic-string@^0.30.11, magic-string@^0.30.17, magic-string@^0.30.19, magic-string@^0.30.3, magic-string@^0.30.4, magic-string@^0.30.5, magic-string@^0.30.8, magic-string@~0.30.0: +magic-string@^0.30.0, magic-string@^0.30.10, magic-string@^0.30.11, magic-string@^0.30.17, magic-string@^0.30.19, magic-string@^0.30.3, magic-string@^0.30.4, magic-string@^0.30.5, magic-string@^0.30.8: version "0.30.19" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.19.tgz#cebe9f104e565602e5d2098c5f2e79a77cc86da9" integrity sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw== @@ -22699,7 +22675,7 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mkdirp@^3.0.1, mkdirp@~3.0.0: +mkdirp@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== @@ -22766,11 +22742,6 @@ module-lookup-amd@^9.0.3: requirejs "^2.3.7" requirejs-config-file "^4.0.0" -moment@~2.30.1: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - mongodb-connection-string-url@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.2.tgz#e223089dfa0a5fa9bf505f8aedcbc67b077b33e7" @@ -24533,11 +24504,6 @@ package-manager-detector@^0.2.0: resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-0.2.0.tgz#160395cd5809181f5a047222319262b8c2d8aaea" integrity sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog== -package-name-regex@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/package-name-regex/-/package-name-regex-2.0.6.tgz#b54bcb04d950e38082b7bb38fa558e01c1679334" - integrity sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA== - pacote@13.6.2: version "13.6.2" resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" @@ -24898,11 +24864,6 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -perf-regexes@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/perf-regexes/-/perf-regexes-1.0.1.tgz#6da1d62f5a94bf9353a0451bccacf69068b75d0b" - integrity sha512-L7MXxUDtqr4PUaLFCDCXBfGV/6KLIuSEccizDI7JxT+c9x1G1v04BQ4+4oag84SHaCdrBgQAIs/Cqn+flwFPng== - perfect-debounce@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" @@ -27276,36 +27237,28 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -rolldown@^1.0.0-beta.49: - version "1.0.0-beta.49" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.49.tgz#3e82ee2bf4a3cb9114696018b550512b0858230a" - integrity sha512-Bfmdn3ZqyCwi1LxG39KBrSlil9a/xnrOrAj+jqqN2YTR/WJIEOOfwNKgDALQvr0xlO9bG/i1C883KGd4nd7SrA== +rolldown@^1.0.0-beta.50: + version "1.0.0-beta.50" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.50.tgz#df32b6bd24765b6e67b728739544f7c3fb72a3cd" + integrity sha512-JFULvCNl/anKn99eKjOSEubi0lLmNqQDAjyEMME2T4CwezUDL0i6t1O9xZsu2OMehPnV2caNefWpGF+8TnzB6A== dependencies: - "@oxc-project/types" "=0.96.0" - "@rolldown/pluginutils" "1.0.0-beta.49" + "@oxc-project/types" "=0.97.0" + "@rolldown/pluginutils" "1.0.0-beta.50" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0-beta.49" - "@rolldown/binding-darwin-arm64" "1.0.0-beta.49" - "@rolldown/binding-darwin-x64" "1.0.0-beta.49" - "@rolldown/binding-freebsd-x64" "1.0.0-beta.49" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.49" - "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.49" - "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.49" - "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.49" - "@rolldown/binding-linux-x64-musl" "1.0.0-beta.49" - "@rolldown/binding-openharmony-arm64" "1.0.0-beta.49" - "@rolldown/binding-wasm32-wasi" "1.0.0-beta.49" - "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.49" - "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.49" - "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.49" - -rollup-plugin-cleanup@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-cleanup/-/rollup-plugin-cleanup-3.2.1.tgz#8cbc92ecf58babd7c210051929797f137bbf777c" - integrity sha512-zuv8EhoO3TpnrU8MX8W7YxSbO4gmOR0ny06Lm3nkFfq0IVKdBUtHwhVzY1OAJyNCIAdLiyPnOrU0KnO0Fri1GQ== - dependencies: - js-cleanup "^1.2.0" - rollup-pluginutils "^2.8.2" + "@rolldown/binding-android-arm64" "1.0.0-beta.50" + "@rolldown/binding-darwin-arm64" "1.0.0-beta.50" + "@rolldown/binding-darwin-x64" "1.0.0-beta.50" + "@rolldown/binding-freebsd-x64" "1.0.0-beta.50" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.50" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.50" + "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.50" + "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.50" + "@rolldown/binding-linux-x64-musl" "1.0.0-beta.50" + "@rolldown/binding-openharmony-arm64" "1.0.0-beta.50" + "@rolldown/binding-wasm32-wasi" "1.0.0-beta.50" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.50" + "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.50" + "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.50" rollup-plugin-dts@^6.0.0: version "6.1.1" @@ -27316,21 +27269,6 @@ rollup-plugin-dts@^6.0.0: optionalDependencies: "@babel/code-frame" "^7.24.2" -rollup-plugin-license@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-license/-/rollup-plugin-license-3.3.1.tgz#73b68e33477524198d6f3f9befc905f59bf37c53" - integrity sha512-lwZ/J8QgSnP0unVOH2FQuOBkeiyp0EBvrbYdNU33lOaYD8xP9Zoki+PGoWMD31EUq8Q07GGocSABTYlWMKkwuw== - dependencies: - commenting "~1.1.0" - glob "~7.2.0" - lodash "~4.17.21" - magic-string "~0.30.0" - mkdirp "~3.0.0" - moment "~2.30.1" - package-name-regex "~2.0.6" - spdx-expression-validate "~2.0.0" - spdx-satisfies "~5.0.1" - rollup-plugin-sourcemaps@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" @@ -27359,13 +27297,6 @@ rollup-plugin-visualizer@^6.0.3: source-map "^0.7.4" yargs "^17.5.1" -rollup-pluginutils@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" - rollup@^2.70.0, rollup@^2.79.1: version "2.79.2" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.2.tgz#f150e4a5db4b121a21a747d762f701e5e9f49090" @@ -28197,11 +28128,6 @@ size-limit@~11.1.6: picocolors "^1.1.0" tinyglobby "^0.2.7" -skip-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/skip-regex/-/skip-regex-1.0.2.tgz#ac655d77e7c771ac2b9f37585fea37bff56ad65b" - integrity sha512-pEjMUbwJ5Pl/6Vn6FsamXHXItJXSRftcibixDmNCWbWhic0hzHrwkMZo0IZ7fMRH9KxcWDFSkzhccB4285PutA== - slash@3.0.0, slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -28510,15 +28436,6 @@ spawn-args@^0.2.0: resolved "https://registry.yarnpkg.com/spawn-args/-/spawn-args-0.2.0.tgz#fb7d0bd1d70fd4316bd9e3dec389e65f9d6361bb" integrity sha1-+30L0dcP1DFr2ePew4nmX51jYbs= -spdx-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/spdx-compare/-/spdx-compare-1.0.0.tgz#2c55f117362078d7409e6d7b08ce70a857cd3ed7" - integrity sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A== - dependencies: - array-find-index "^1.0.2" - spdx-expression-parse "^3.0.0" - spdx-ranges "^2.0.0" - spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -28548,32 +28465,11 @@ spdx-expression-parse@^4.0.0: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" -spdx-expression-validate@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz#25c9408e1c63fad94fff5517bb7101ffcd23350b" - integrity sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids@^3.0.0: version "3.0.7" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== -spdx-ranges@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/spdx-ranges/-/spdx-ranges-2.1.1.tgz#87573927ba51e92b3f4550ab60bfc83dd07bac20" - integrity sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA== - -spdx-satisfies@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/spdx-satisfies/-/spdx-satisfies-5.0.1.tgz#9feeb2524686c08e5f7933c16248d4fdf07ed6a6" - integrity sha512-Nwor6W6gzFp8XX4neaKQ7ChV4wmpSh2sSDemMFSzHxpTw460jxFYeOn+jq4ybnSSw/5sc3pjka9MQPouksQNpw== - dependencies: - spdx-compare "^1.0.0" - spdx-expression-parse "^3.0.0" - spdx-ranges "^2.0.0" - spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" From f0c4b2e92933e4d23182d7a2b41c259206bf4560 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 13 Nov 2025 13:34:12 +0200 Subject: [PATCH 18/59] chore: properly replace the smallest preset value --- dev-packages/rollup-utils/bundleHelpers.mjs | 4 ++-- dev-packages/rollup-utils/index.mjs | 2 +- dev-packages/rollup-utils/utils.mjs | 19 +++++++++++++++++++ .../replay-worker/rollup.examples.config.mjs | 5 +++-- .../replay-worker/rollup.worker.config.mjs | 7 ++++--- 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index 6719afa7d3f6..d8931fd3a786 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -15,7 +15,7 @@ import { makeBannerOptions, makeTerserPlugin, } from './plugins/index.mjs'; -import { mergePlugins } from './utils.mjs'; +import { mergePlugins, treeShakePreset } from './utils.mjs'; const BUNDLE_VARIANTS = ['.js', '.min.js', '.debug.min.js']; @@ -109,7 +109,7 @@ export function makeBaseBundleConfig(options) { strict: false, esModule: false, }, - treeshake: 'smallest', + treeshake: treeShakePreset('smallest'), }; const bundleTypeConfigMap = { diff --git a/dev-packages/rollup-utils/index.mjs b/dev-packages/rollup-utils/index.mjs index 8e33705421ce..98527fc5ef30 100644 --- a/dev-packages/rollup-utils/index.mjs +++ b/dev-packages/rollup-utils/index.mjs @@ -1,4 +1,4 @@ export * from './plugins/index.mjs'; export * from './bundleHelpers.mjs'; export * from './npmHelpers.mjs'; -export { insertAt } from './utils.mjs'; +export { insertAt, treeShakePreset } from './utils.mjs'; diff --git a/dev-packages/rollup-utils/utils.mjs b/dev-packages/rollup-utils/utils.mjs index b687ff9993c4..d6f6036d9299 100644 --- a/dev-packages/rollup-utils/utils.mjs +++ b/dev-packages/rollup-utils/utils.mjs @@ -39,3 +39,22 @@ export function mergePlugins(pluginsA, pluginsB) { return plugins; } + +/** + * Creates a treeshake setting preset, rolldown doesn't have "smallest" as a preset, so we need to create our own. + * Smallest + * https://rolldown.rs/options/treeshake#treeshake + * https://rollupjs.org/configuration-options/#treeshake + * @param {boolean | readonly string[] | ModuleSideEffectsRule[] | ((id: string, external: boolean) => boolean | undefined) | 'no-external' | 'smallest'} preset - The preset to use + */ +export function treeShakePreset(preset) { + if (preset === 'smallest') { + return { + propertyReadSideEffects: false, + moduleSideEffects: false, + unknownGlobalSideEffects: false, + }; + } + + return preset; +} diff --git a/packages/replay-worker/rollup.examples.config.mjs b/packages/replay-worker/rollup.examples.config.mjs index 90e9a1a24979..207036538f12 100644 --- a/packages/replay-worker/rollup.examples.config.mjs +++ b/packages/replay-worker/rollup.examples.config.mjs @@ -1,3 +1,4 @@ +import { treeShakePreset } from '@sentry-internal/rollup-utils'; import { defineConfig } from 'rolldown'; const config = defineConfig([ @@ -8,7 +9,7 @@ const config = defineConfig([ file: './examples/worker.js', format: 'esm', }, - treeshake: 'smallest', + treeshake: treeShakePreset('smallest'), }, { input: ['./src/_worker.ts'], @@ -17,7 +18,7 @@ const config = defineConfig([ file: './examples/worker.min.js', format: 'esm', }, - treeshake: 'smallest', + treeshake: treeShakePreset('smallest'), }, ]); diff --git a/packages/replay-worker/rollup.worker.config.mjs b/packages/replay-worker/rollup.worker.config.mjs index ce92c1e78eea..1bbbee077550 100644 --- a/packages/replay-worker/rollup.worker.config.mjs +++ b/packages/replay-worker/rollup.worker.config.mjs @@ -1,11 +1,12 @@ // inspired by https://justinribeiro.com/chronicle/2020/07/17/building-module-web-workers-for-cross-browser-compatibility-with-rollup/ +import { treeShakePreset } from '@sentry-internal/rollup-utils'; import { defineConfig } from 'rolldown'; const config = defineConfig([ { input: ['./src/index.ts'], - treeshake: 'smallest', + treeshake: treeShakePreset('smallest'), tsconfig: './tsconfig.build.json', output: { dir: './build/esm', @@ -22,7 +23,7 @@ const config = defineConfig([ format: 'esm', minify: true, }, - treeshake: 'smallest', + treeshake: treeShakePreset('smallest'), plugins: [ { name: 'worker-to-string', @@ -40,7 +41,7 @@ const config = defineConfig([ format: 'esm', minify: true, }, - treeshake: 'smallest', + treeshake: treeShakePreset('smallest'), }, ]); From 54e29a2fdf89b0611d455d6f6d938c3acf569a36 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 17 Nov 2025 11:10:51 +0200 Subject: [PATCH 19/59] chore: remove sucrase, and try out latest preview build --- package.json | 6 +- packages/feedback/rollup.bundle.config.mjs | 14 --- packages/feedback/rollup.npm.config.mjs | 7 -- packages/react-router/rollup.npm.config.mjs | 6 -- packages/react/rollup.npm.config.mjs | 6 -- packages/remix/rollup.npm.config.mjs | 6 -- yarn.lock | 112 +++++++++----------- 7 files changed, 50 insertions(+), 107 deletions(-) diff --git a/package.json b/package.json index 1f93c7a606de..d6995a3f1364 100644 --- a/package.json +++ b/package.json @@ -122,9 +122,8 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "^1.0.0-beta.50", + "rolldown": "https://pkg.pr.new/rolldown@0553543", "size-limit": "~11.1.6", - "sucrase": "^3.35.0", "ts-node": "10.9.1", "typescript": "~5.8.0", "vitest": "^3.2.4", @@ -139,8 +138,7 @@ "resolutions": { "gauge/strip-ansi": "6.0.1", "wide-align/string-width": "4.2.3", - "cliui/wrap-ansi": "7.0.0", - "sucrase": "getsentry/sucrase#es2020-polyfills" + "cliui/wrap-ansi": "7.0.0" }, "version": "0.0.0", "name": "sentry-javascript", diff --git a/packages/feedback/rollup.bundle.config.mjs b/packages/feedback/rollup.bundle.config.mjs index a5efc6140c06..c02426e2db81 100644 --- a/packages/feedback/rollup.bundle.config.mjs +++ b/packages/feedback/rollup.bundle.config.mjs @@ -10,13 +10,6 @@ export default [ jsVersion: 'es6', licenseTitle: '@sentry-internal/feedback', outputFileBase: () => 'bundles/feedback-screenshot', - sucrase: { - // The feedback widget is using preact so we need different pragmas and jsx runtimes - jsxPragma: 'h', - jsxFragmentPragma: 'Fragment', - jsxRuntime: 'classic', - production: true, - }, }), ), ...makeBundleConfigVariants( @@ -26,13 +19,6 @@ export default [ jsVersion: 'es6', licenseTitle: '@sentry-internal/feedback', outputFileBase: () => 'bundles/feedback-modal', - sucrase: { - // The feedback widget is using preact so we need different pragmas and jsx runtimes - jsxPragma: 'h', - jsxFragmentPragma: 'Fragment', - jsxRuntime: 'classic', - production: true, - }, }), ), ]; diff --git a/packages/feedback/rollup.npm.config.mjs b/packages/feedback/rollup.npm.config.mjs index c91c37ec84f8..f012e515a5e0 100644 --- a/packages/feedback/rollup.npm.config.mjs +++ b/packages/feedback/rollup.npm.config.mjs @@ -15,12 +15,5 @@ export default makeNPMConfigVariants( : Boolean(process.env.SENTRY_BUILD_PRESERVE_MODULES), }, }, - sucrase: { - // The feedback widget is using preact so we need different pragmas and jsx runtimes - jsxPragma: 'h', - jsxFragmentPragma: 'Fragment', - jsxRuntime: 'classic', - production: true, - }, }), ); diff --git a/packages/react-router/rollup.npm.config.mjs b/packages/react-router/rollup.npm.config.mjs index 4a52f4ab57a7..d4edb3b23c9b 100644 --- a/packages/react-router/rollup.npm.config.mjs +++ b/packages/react-router/rollup.npm.config.mjs @@ -11,12 +11,6 @@ export default [ exports: 'named', }, }, - sucrase: { - // React 19 emits a warning if we don't use the newer jsx transform: https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html - // but this breaks react 17, so we keep it at `classic` for now - jsxRuntime: 'classic', - production: true, // This is needed so that sucrase uses the production jsx runtime (ie `import { jsx } from 'react/jsx-runtime'` instead of `import { jsxDEV as _jsxDEV } from 'react/jsx-dev-runtime'`) - }, }), ), ]; diff --git a/packages/react/rollup.npm.config.mjs b/packages/react/rollup.npm.config.mjs index 923dfafb85d7..edfc16d8d2ff 100644 --- a/packages/react/rollup.npm.config.mjs +++ b/packages/react/rollup.npm.config.mjs @@ -5,11 +5,5 @@ export default makeNPMConfigVariants( packageSpecificConfig: { external: ['react', 'react/jsx-runtime'], }, - sucrase: { - // React 19 emits a warning if we don't use the newer jsx transform: https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html - // but this breaks react 17, so we keep it at `classic` for now - jsxRuntime: 'classic', - production: true, // This is needed so that sucrase uses the production jsx runtime (ie `import { jsx } from 'react/jsx-runtime'` instead of `import { jsxDEV as _jsxDEV } from 'react/jsx-dev-runtime'`) - }, }), ); diff --git a/packages/remix/rollup.npm.config.mjs b/packages/remix/rollup.npm.config.mjs index 8ba7eac8051b..bd26bd1b06c2 100644 --- a/packages/remix/rollup.npm.config.mjs +++ b/packages/remix/rollup.npm.config.mjs @@ -17,12 +17,6 @@ export default [ exports: 'named', }, }, - sucrase: { - // React 19 emits a warning if we don't use the newer jsx transform: https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html - // but this breaks react 17, so we keep it at `classic` for now - jsxRuntime: 'classic', - production: true, // This is needed so that sucrase uses the production jsx runtime (ie `import { jsx } from 'react/jsx-runtime'` instead of `import { jsxDEV as _jsxDEV } from 'react/jsx-dev-runtime'`) - }, }), ), ...makeOtelLoaders('./build', 'sentry-node'), diff --git a/yarn.lock b/yarn.lock index ddfeb44f88d0..ca5a30c77eeb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6723,82 +6723,67 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@1.0.0-beta.50": +"@rolldown/binding-android-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.50.tgz#36bf7823a6dc197a629c064dec8441ff5276fa25" - integrity sha512-XlEkrOIHLyGT3avOgzfTFSjG+f+dZMw+/qd+Y3HLN86wlndrB/gSimrJCk4gOhr1XtRtEKfszpadI3Md4Z4/Ag== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@0553543#4f8695b0651b2a4add4c483e99f8123321f579d4" -"@rolldown/binding-darwin-arm64@1.0.0-beta.50": +"@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.50.tgz#17c1ce735e140b2b6fe063cbd12d584215a1c33d" - integrity sha512-+JRqKJhoFlt5r9q+DecAGPLZ5PxeLva+wCMtAuoFMWPoZzgcYrr599KQ+Ix0jwll4B4HGP43avu9My8KtSOR+w== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@0553543#ef7a323b9188703dbdeda2adb17b09446ebdf47b" -"@rolldown/binding-darwin-x64@1.0.0-beta.50": +"@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.50.tgz#ce906eb6ddf4c6f6f80a6a88f62a74594932e17c" - integrity sha512-fFXDjXnuX7/gQZQm/1FoivVtRcyAzdjSik7Eo+9iwPQ9EgtA5/nB2+jmbzaKtMGG3q+BnZbdKHCtOacmNrkIDA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@0553543#986d9587ac01a494fa65edf49b2fab16db42e095" -"@rolldown/binding-freebsd-x64@1.0.0-beta.50": +"@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.50.tgz#2ce16d7a5bee54e8d06de0c87051038664f6d2bd" - integrity sha512-F1b6vARy49tjmT/hbloplzgJS7GIvwWZqt+tAHEstCh0JIh9sa8FAMVqEmYxDviqKBaAI8iVvUREm/Kh/PD26Q== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@0553543#0f67797a64bdceccdc335f54af9c528adb8534cf" -"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.50": +"@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.50.tgz#ba7374fb175ad35785d52165fdc6be80cd435aab" - integrity sha512-U6cR76N8T8M6lHj7EZrQ3xunLPxSvYYxA8vJsBKZiFZkT8YV4kjgCO3KwMJL0NOjQCPGKyiXO07U+KmJzdPGRw== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@0553543#57472be3691458baaa4f5e513f695bd47df47056" -"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.50": +"@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.50.tgz#cb61bcbf32e3236605403f15deca66aeec193400" - integrity sha512-ONgyjofCrrE3bnh5GZb8EINSFyR/hmwTzZ7oVuyUB170lboza1VMCnb8jgE6MsyyRgHYmN8Lb59i3NKGrxrYjw== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@0553543#7d3eda2582dc8aa2c990225da84a81108cebdbb0" -"@rolldown/binding-linux-arm64-musl@1.0.0-beta.50": +"@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.50.tgz#f26d33ef13c13b5a3417f3a0b902a1c18f636f5b" - integrity sha512-L0zRdH2oDPkmB+wvuTl+dJbXCsx62SkqcEqdM+79LOcB+PxbAxxjzHU14BuZIQdXcAVDzfpMfaHWzZuwhhBTcw== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@0553543#8963d36518622aa0a74348fc60d88472ce0d791b" -"@rolldown/binding-linux-x64-gnu@1.0.0-beta.50": +"@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.50.tgz#27b2ee9f76b393f97237aaf4de50a47eb4e393f5" - integrity sha512-gyoI8o/TGpQd3OzkJnh1M2kxy1Bisg8qJ5Gci0sXm9yLFzEXIFdtc4EAzepxGvrT2ri99ar5rdsmNG0zP0SbIg== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@0553543#53a53c58cd56996d0061e30deed18809f34304fa" -"@rolldown/binding-linux-x64-musl@1.0.0-beta.50": +"@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.50.tgz#6f5269df217a8b5dafc71a18aa8aeb49d2f8d981" - integrity sha512-zti8A7M+xFDpKlghpcCAzyOi+e5nfUl3QhU023ce5NCgUxRG5zGP2GR9LTydQ1rnIPwZUVBWd4o7NjZDaQxaXA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@0553543#1be81240eb2368031662b5c9cf587a60e80118c3" -"@rolldown/binding-openharmony-arm64@1.0.0-beta.50": +"@rolldown/binding-openharmony-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.50.tgz#3c537200c89b9647866441d88a31a0f4c3c91228" - integrity sha512-eZUssog7qljrrRU9Mi0eqYEPm3Ch0UwB+qlWPMKSUXHNqhm3TvDZarJQdTevGEfu3EHAXJvBIe0YFYr0TPVaMA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@0553543#5094fa9c655665ca63bb3bed971f162fa78654df" -"@rolldown/binding-wasm32-wasi@1.0.0-beta.50": +"@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.50.tgz#04f4ea5bcda8a4774a14b4e9d79662dc91012cfc" - integrity sha512-nmCN0nIdeUnmgeDXiQ+2HU6FT162o+rxnF7WMkBm4M5Ds8qTU7Dzv2Wrf22bo4ftnlrb2hKK6FSwAJSAe2FWLg== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@0553543#fa0b65e30722b53f8e6e8f277ea14a2b5af11f5b" dependencies: "@napi-rs/wasm-runtime" "^1.0.7" -"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.50": +"@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.50.tgz#ee084d0dd74530fe149502f942b8e2bf6a7ef8d8" - integrity sha512-7kcNLi7Ua59JTTLvbe1dYb028QEPaJPJQHqkmSZ5q3tJueUeb6yjRtx8mw4uIqgWZcnQHAR3PrLN4XRJxvgIkA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@0553543#7ebc147bfadab0130cc7a04149142bc80072ebbe" -"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.50": +"@rolldown/binding-win32-ia32-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.50.tgz#63bad3eac2cc25ef42ef70ea5ebdba123f31cbba" - integrity sha512-lL70VTNvSCdSZkDPPVMwWn/M2yQiYvSoXw9hTLgdIWdUfC3g72UaruezusR6ceRuwHCY1Ayu2LtKqXkBO5LIwg== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@0553543#16cb3fb5c01073bb20fb0b5d7a2b6e3735d8cc78" -"@rolldown/binding-win32-x64-msvc@1.0.0-beta.50": +"@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.50.tgz#3a22e019281d5a17db6feb555f21df6771134c3b" - integrity sha512-4qU4x5DXWB4JPjyTne/wBNPqkbQU8J45bl21geERBKtEittleonioACBL1R0PsBu0Aq21SwMK5a9zdBkWSlQtQ== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@0553543#b9365ab3bb1d4d4a085a7d9dba11493e356e057e" -"@rolldown/pluginutils@1.0.0-beta.50": +"@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz#a12f07e9095b8901debcc17d98b4350f0cc64633" - integrity sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@0553543#613bfb73b14974a996c6cceca9750bad32075943" "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -27237,28 +27222,27 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -rolldown@^1.0.0-beta.50: +"rolldown@https://pkg.pr.new/rolldown@0553543": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.50.tgz#df32b6bd24765b6e67b728739544f7c3fb72a3cd" - integrity sha512-JFULvCNl/anKn99eKjOSEubi0lLmNqQDAjyEMME2T4CwezUDL0i6t1O9xZsu2OMehPnV2caNefWpGF+8TnzB6A== + resolved "https://pkg.pr.new/rolldown@0553543#50c7947c06710907ee57dc919c97aad04567b149" dependencies: "@oxc-project/types" "=0.97.0" - "@rolldown/pluginutils" "1.0.0-beta.50" + "@rolldown/pluginutils" "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@0553543" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0-beta.50" - "@rolldown/binding-darwin-arm64" "1.0.0-beta.50" - "@rolldown/binding-darwin-x64" "1.0.0-beta.50" - "@rolldown/binding-freebsd-x64" "1.0.0-beta.50" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.50" - "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.50" - "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.50" - "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.50" - "@rolldown/binding-linux-x64-musl" "1.0.0-beta.50" - "@rolldown/binding-openharmony-arm64" "1.0.0-beta.50" - "@rolldown/binding-wasm32-wasi" "1.0.0-beta.50" - "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.50" - "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.50" - "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.50" + "@rolldown/binding-android-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@0553543" + "@rolldown/binding-darwin-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@0553543" + "@rolldown/binding-darwin-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@0553543" + "@rolldown/binding-freebsd-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@0553543" + "@rolldown/binding-linux-arm-gnueabihf" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@0553543" + "@rolldown/binding-linux-arm64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@0553543" + "@rolldown/binding-linux-arm64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@0553543" + "@rolldown/binding-linux-x64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@0553543" + "@rolldown/binding-linux-x64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@0553543" + "@rolldown/binding-openharmony-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@0553543" + "@rolldown/binding-wasm32-wasi" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@0553543" + "@rolldown/binding-win32-arm64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@0553543" + "@rolldown/binding-win32-ia32-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@0553543" + "@rolldown/binding-win32-x64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@0553543" rollup-plugin-dts@^6.0.0: version "6.1.1" @@ -29019,7 +29003,7 @@ stylus@0.59.0, stylus@^0.59.0: sax "~1.2.4" source-map "^0.7.3" -sucrase@^3.35.0, sucrase@getsentry/sucrase#es2020-polyfills: +sucrase@getsentry/sucrase#es2020-polyfills: version "3.36.0" resolved "https://codeload.github.com/getsentry/sucrase/tar.gz/fd682f6129e507c00bb4e6319cc5d6b767e36061" dependencies: From 7159a68137acf0820c27323416d43f28c4c2faae Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 17 Nov 2025 11:19:52 +0200 Subject: [PATCH 20/59] chore: revert to latest beta --- package.json | 2 +- yarn.lock | 161 +++++++++++++++++++++------------------------------ 2 files changed, 67 insertions(+), 96 deletions(-) diff --git a/package.json b/package.json index d6995a3f1364..05444d8617ca 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "https://pkg.pr.new/rolldown@0553543", + "rolldown": "^1.0.0-beta.50", "size-limit": "~11.1.6", "ts-node": "10.9.1", "typescript": "~5.8.0", diff --git a/yarn.lock b/yarn.lock index ca5a30c77eeb..6bc53ba763af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6723,67 +6723,82 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@0553543": +"@rolldown/binding-android-arm64@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@0553543#4f8695b0651b2a4add4c483e99f8123321f579d4" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.50.tgz#36bf7823a6dc197a629c064dec8441ff5276fa25" + integrity sha512-XlEkrOIHLyGT3avOgzfTFSjG+f+dZMw+/qd+Y3HLN86wlndrB/gSimrJCk4gOhr1XtRtEKfszpadI3Md4Z4/Ag== -"@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@0553543": +"@rolldown/binding-darwin-arm64@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@0553543#ef7a323b9188703dbdeda2adb17b09446ebdf47b" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.50.tgz#17c1ce735e140b2b6fe063cbd12d584215a1c33d" + integrity sha512-+JRqKJhoFlt5r9q+DecAGPLZ5PxeLva+wCMtAuoFMWPoZzgcYrr599KQ+Ix0jwll4B4HGP43avu9My8KtSOR+w== -"@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@0553543": +"@rolldown/binding-darwin-x64@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@0553543#986d9587ac01a494fa65edf49b2fab16db42e095" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.50.tgz#ce906eb6ddf4c6f6f80a6a88f62a74594932e17c" + integrity sha512-fFXDjXnuX7/gQZQm/1FoivVtRcyAzdjSik7Eo+9iwPQ9EgtA5/nB2+jmbzaKtMGG3q+BnZbdKHCtOacmNrkIDA== -"@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@0553543": +"@rolldown/binding-freebsd-x64@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@0553543#0f67797a64bdceccdc335f54af9c528adb8534cf" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.50.tgz#2ce16d7a5bee54e8d06de0c87051038664f6d2bd" + integrity sha512-F1b6vARy49tjmT/hbloplzgJS7GIvwWZqt+tAHEstCh0JIh9sa8FAMVqEmYxDviqKBaAI8iVvUREm/Kh/PD26Q== -"@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@0553543": +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@0553543#57472be3691458baaa4f5e513f695bd47df47056" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.50.tgz#ba7374fb175ad35785d52165fdc6be80cd435aab" + integrity sha512-U6cR76N8T8M6lHj7EZrQ3xunLPxSvYYxA8vJsBKZiFZkT8YV4kjgCO3KwMJL0NOjQCPGKyiXO07U+KmJzdPGRw== -"@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@0553543": +"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@0553543#7d3eda2582dc8aa2c990225da84a81108cebdbb0" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.50.tgz#cb61bcbf32e3236605403f15deca66aeec193400" + integrity sha512-ONgyjofCrrE3bnh5GZb8EINSFyR/hmwTzZ7oVuyUB170lboza1VMCnb8jgE6MsyyRgHYmN8Lb59i3NKGrxrYjw== -"@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@0553543": +"@rolldown/binding-linux-arm64-musl@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@0553543#8963d36518622aa0a74348fc60d88472ce0d791b" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.50.tgz#f26d33ef13c13b5a3417f3a0b902a1c18f636f5b" + integrity sha512-L0zRdH2oDPkmB+wvuTl+dJbXCsx62SkqcEqdM+79LOcB+PxbAxxjzHU14BuZIQdXcAVDzfpMfaHWzZuwhhBTcw== -"@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@0553543": +"@rolldown/binding-linux-x64-gnu@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@0553543#53a53c58cd56996d0061e30deed18809f34304fa" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.50.tgz#27b2ee9f76b393f97237aaf4de50a47eb4e393f5" + integrity sha512-gyoI8o/TGpQd3OzkJnh1M2kxy1Bisg8qJ5Gci0sXm9yLFzEXIFdtc4EAzepxGvrT2ri99ar5rdsmNG0zP0SbIg== -"@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@0553543": +"@rolldown/binding-linux-x64-musl@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@0553543#1be81240eb2368031662b5c9cf587a60e80118c3" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.50.tgz#6f5269df217a8b5dafc71a18aa8aeb49d2f8d981" + integrity sha512-zti8A7M+xFDpKlghpcCAzyOi+e5nfUl3QhU023ce5NCgUxRG5zGP2GR9LTydQ1rnIPwZUVBWd4o7NjZDaQxaXA== -"@rolldown/binding-openharmony-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@0553543": +"@rolldown/binding-openharmony-arm64@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@0553543#5094fa9c655665ca63bb3bed971f162fa78654df" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.50.tgz#3c537200c89b9647866441d88a31a0f4c3c91228" + integrity sha512-eZUssog7qljrrRU9Mi0eqYEPm3Ch0UwB+qlWPMKSUXHNqhm3TvDZarJQdTevGEfu3EHAXJvBIe0YFYr0TPVaMA== -"@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@0553543": +"@rolldown/binding-wasm32-wasi@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@0553543#fa0b65e30722b53f8e6e8f277ea14a2b5af11f5b" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.50.tgz#04f4ea5bcda8a4774a14b4e9d79662dc91012cfc" + integrity sha512-nmCN0nIdeUnmgeDXiQ+2HU6FT162o+rxnF7WMkBm4M5Ds8qTU7Dzv2Wrf22bo4ftnlrb2hKK6FSwAJSAe2FWLg== dependencies: "@napi-rs/wasm-runtime" "^1.0.7" -"@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@0553543": +"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@0553543#7ebc147bfadab0130cc7a04149142bc80072ebbe" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.50.tgz#ee084d0dd74530fe149502f942b8e2bf6a7ef8d8" + integrity sha512-7kcNLi7Ua59JTTLvbe1dYb028QEPaJPJQHqkmSZ5q3tJueUeb6yjRtx8mw4uIqgWZcnQHAR3PrLN4XRJxvgIkA== -"@rolldown/binding-win32-ia32-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@0553543": +"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@0553543#16cb3fb5c01073bb20fb0b5d7a2b6e3735d8cc78" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.50.tgz#63bad3eac2cc25ef42ef70ea5ebdba123f31cbba" + integrity sha512-lL70VTNvSCdSZkDPPVMwWn/M2yQiYvSoXw9hTLgdIWdUfC3g72UaruezusR6ceRuwHCY1Ayu2LtKqXkBO5LIwg== -"@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@0553543": +"@rolldown/binding-win32-x64-msvc@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@0553543#b9365ab3bb1d4d4a085a7d9dba11493e356e057e" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.50.tgz#3a22e019281d5a17db6feb555f21df6771134c3b" + integrity sha512-4qU4x5DXWB4JPjyTne/wBNPqkbQU8J45bl21geERBKtEittleonioACBL1R0PsBu0Aq21SwMK5a9zdBkWSlQtQ== -"@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@0553543": +"@rolldown/pluginutils@1.0.0-beta.50": version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@0553543#613bfb73b14974a996c6cceca9750bad32075943" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz#a12f07e9095b8901debcc17d98b4350f0cc64633" + integrity sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA== "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -10640,7 +10655,7 @@ ansicolors@~0.2.1: resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" integrity sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8= -any-promise@^1.0.0, any-promise@^1.1.0: +any-promise@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= @@ -13257,7 +13272,7 @@ commander@^2.20.0, commander@^2.20.3, commander@^2.6.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.0.0, commander@^4.1.1: +commander@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== @@ -22952,15 +22967,6 @@ mysql@^2.18.1: safe-buffer "5.1.2" sqlstring "2.3.1" -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - named-placeholders@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/named-placeholders/-/named-placeholders-1.1.3.tgz#df595799a36654da55dda6152ba7a137ad1d9351" @@ -23922,7 +23928,7 @@ nypm@^0.6.0: pkg-types "^2.0.0" tinyexec "^0.3.2" -object-assign@4.1.1, object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@4.1.1, object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -25022,11 +25028,6 @@ pino@9.9.4: sonic-boom "^4.0.1" thread-stream "^3.0.0" -pirates@^4.0.1: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - piscina@3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/piscina/-/piscina-3.2.0.tgz#f5a1dde0c05567775690cccefe59d9223924d154" @@ -27222,27 +27223,28 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -"rolldown@https://pkg.pr.new/rolldown@0553543": +rolldown@^1.0.0-beta.50: version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown@0553543#50c7947c06710907ee57dc919c97aad04567b149" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.50.tgz#df32b6bd24765b6e67b728739544f7c3fb72a3cd" + integrity sha512-JFULvCNl/anKn99eKjOSEubi0lLmNqQDAjyEMME2T4CwezUDL0i6t1O9xZsu2OMehPnV2caNefWpGF+8TnzB6A== dependencies: "@oxc-project/types" "=0.97.0" - "@rolldown/pluginutils" "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@0553543" + "@rolldown/pluginutils" "1.0.0-beta.50" optionalDependencies: - "@rolldown/binding-android-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@0553543" - "@rolldown/binding-darwin-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@0553543" - "@rolldown/binding-darwin-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@0553543" - "@rolldown/binding-freebsd-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@0553543" - "@rolldown/binding-linux-arm-gnueabihf" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@0553543" - "@rolldown/binding-linux-arm64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@0553543" - "@rolldown/binding-linux-arm64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@0553543" - "@rolldown/binding-linux-x64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@0553543" - "@rolldown/binding-linux-x64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@0553543" - "@rolldown/binding-openharmony-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@0553543" - "@rolldown/binding-wasm32-wasi" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@0553543" - "@rolldown/binding-win32-arm64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@0553543" - "@rolldown/binding-win32-ia32-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@0553543" - "@rolldown/binding-win32-x64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@0553543" + "@rolldown/binding-android-arm64" "1.0.0-beta.50" + "@rolldown/binding-darwin-arm64" "1.0.0-beta.50" + "@rolldown/binding-darwin-x64" "1.0.0-beta.50" + "@rolldown/binding-freebsd-x64" "1.0.0-beta.50" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.50" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.50" + "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.50" + "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.50" + "@rolldown/binding-linux-x64-musl" "1.0.0-beta.50" + "@rolldown/binding-openharmony-arm64" "1.0.0-beta.50" + "@rolldown/binding-wasm32-wasi" "1.0.0-beta.50" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.50" + "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.50" + "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.50" rollup-plugin-dts@^6.0.0: version "6.1.1" @@ -29003,18 +29005,6 @@ stylus@0.59.0, stylus@^0.59.0: sax "~1.2.4" source-map "^0.7.3" -sucrase@getsentry/sucrase#es2020-polyfills: - version "3.36.0" - resolved "https://codeload.github.com/getsentry/sucrase/tar.gz/fd682f6129e507c00bb4e6319cc5d6b767e36061" - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - suf-log@^2.5.3: version "2.5.3" resolved "https://registry.yarnpkg.com/suf-log/-/suf-log-2.5.3.tgz#0919a7fceea532a99b578c97814c4e335b2d64d1" @@ -29429,20 +29419,6 @@ text-table@0.2.0, text-table@^0.2.0: resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - thread-stream@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-3.1.0.tgz#4b2ef252a7c215064507d4ef70c05a5e2d34c4f1" @@ -29782,11 +29758,6 @@ ts-graphviz@^2.1.2: "@ts-graphviz/common" "^2.1.5" "@ts-graphviz/core" "^2.0.7" -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - ts-node@10.9.1: version "10.9.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" From cb255984540c51345f9ce063b61f0087a10d1045 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 17 Nov 2025 15:10:42 +0200 Subject: [PATCH 21/59] chore: try out latest rolldown preview --- .../sveltekit-2/vite.config.js | 5 + package.json | 2 +- yarn.lock | 110 ++++++++---------- 3 files changed, 53 insertions(+), 64 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/sveltekit-2/vite.config.js b/dev-packages/e2e-tests/test-applications/sveltekit-2/vite.config.js index 1a410bee7e11..4b361e3eabbf 100644 --- a/dev-packages/e2e-tests/test-applications/sveltekit-2/vite.config.js +++ b/dev-packages/e2e-tests/test-applications/sveltekit-2/vite.config.js @@ -9,4 +9,9 @@ export default defineConfig({ }), sveltekit(), ], + build: { + rollupOptions: { + external: ['fsevents'], + }, + }, }); diff --git a/package.json b/package.json index 05444d8617ca..ea8376950cbd 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "^1.0.0-beta.50", + "rolldown": "https://pkg.pr.new/rolldown@68aa499", "size-limit": "~11.1.6", "ts-node": "10.9.1", "typescript": "~5.8.0", diff --git a/yarn.lock b/yarn.lock index 6bc53ba763af..5c6399b1300c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6723,82 +6723,67 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@1.0.0-beta.50": +"@rolldown/binding-android-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.50.tgz#36bf7823a6dc197a629c064dec8441ff5276fa25" - integrity sha512-XlEkrOIHLyGT3avOgzfTFSjG+f+dZMw+/qd+Y3HLN86wlndrB/gSimrJCk4gOhr1XtRtEKfszpadI3Md4Z4/Ag== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@68aa499#883708bb914fd67c25b47ecad6e811ecc8135a0b" -"@rolldown/binding-darwin-arm64@1.0.0-beta.50": +"@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.50.tgz#17c1ce735e140b2b6fe063cbd12d584215a1c33d" - integrity sha512-+JRqKJhoFlt5r9q+DecAGPLZ5PxeLva+wCMtAuoFMWPoZzgcYrr599KQ+Ix0jwll4B4HGP43avu9My8KtSOR+w== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@68aa499#551c48435eddb8e4e04a885aa282ab32100d31c6" -"@rolldown/binding-darwin-x64@1.0.0-beta.50": +"@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.50.tgz#ce906eb6ddf4c6f6f80a6a88f62a74594932e17c" - integrity sha512-fFXDjXnuX7/gQZQm/1FoivVtRcyAzdjSik7Eo+9iwPQ9EgtA5/nB2+jmbzaKtMGG3q+BnZbdKHCtOacmNrkIDA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@68aa499#4c6011081ffe408fdbd1e0db1734e6d0c5a419b4" -"@rolldown/binding-freebsd-x64@1.0.0-beta.50": +"@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.50.tgz#2ce16d7a5bee54e8d06de0c87051038664f6d2bd" - integrity sha512-F1b6vARy49tjmT/hbloplzgJS7GIvwWZqt+tAHEstCh0JIh9sa8FAMVqEmYxDviqKBaAI8iVvUREm/Kh/PD26Q== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@68aa499#a5222ce8fab04ae5c668b1128921f8125559eebc" -"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.50": +"@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.50.tgz#ba7374fb175ad35785d52165fdc6be80cd435aab" - integrity sha512-U6cR76N8T8M6lHj7EZrQ3xunLPxSvYYxA8vJsBKZiFZkT8YV4kjgCO3KwMJL0NOjQCPGKyiXO07U+KmJzdPGRw== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@68aa499#3c5f2ff386290041dd7c3cf37aac3b8f684f17f9" -"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.50": +"@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.50.tgz#cb61bcbf32e3236605403f15deca66aeec193400" - integrity sha512-ONgyjofCrrE3bnh5GZb8EINSFyR/hmwTzZ7oVuyUB170lboza1VMCnb8jgE6MsyyRgHYmN8Lb59i3NKGrxrYjw== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@68aa499#3d375ada7d4352403b0cd149cd2b1fc280ea7609" -"@rolldown/binding-linux-arm64-musl@1.0.0-beta.50": +"@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.50.tgz#f26d33ef13c13b5a3417f3a0b902a1c18f636f5b" - integrity sha512-L0zRdH2oDPkmB+wvuTl+dJbXCsx62SkqcEqdM+79LOcB+PxbAxxjzHU14BuZIQdXcAVDzfpMfaHWzZuwhhBTcw== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@68aa499#3092939e4413d50817b17ea95709f9ec3ff644ea" -"@rolldown/binding-linux-x64-gnu@1.0.0-beta.50": +"@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.50.tgz#27b2ee9f76b393f97237aaf4de50a47eb4e393f5" - integrity sha512-gyoI8o/TGpQd3OzkJnh1M2kxy1Bisg8qJ5Gci0sXm9yLFzEXIFdtc4EAzepxGvrT2ri99ar5rdsmNG0zP0SbIg== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@68aa499#dcc1ae64aad32c8a8ba0d46fec0a7ca1405d1f6b" -"@rolldown/binding-linux-x64-musl@1.0.0-beta.50": +"@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.50.tgz#6f5269df217a8b5dafc71a18aa8aeb49d2f8d981" - integrity sha512-zti8A7M+xFDpKlghpcCAzyOi+e5nfUl3QhU023ce5NCgUxRG5zGP2GR9LTydQ1rnIPwZUVBWd4o7NjZDaQxaXA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@68aa499#b080fc8d15acaf3d2940526e139cc1c91ca7798f" -"@rolldown/binding-openharmony-arm64@1.0.0-beta.50": +"@rolldown/binding-openharmony-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.50.tgz#3c537200c89b9647866441d88a31a0f4c3c91228" - integrity sha512-eZUssog7qljrrRU9Mi0eqYEPm3Ch0UwB+qlWPMKSUXHNqhm3TvDZarJQdTevGEfu3EHAXJvBIe0YFYr0TPVaMA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@68aa499#f03ca3e8b1be82c6e48ecf48f14b19c9b2675f93" -"@rolldown/binding-wasm32-wasi@1.0.0-beta.50": +"@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.50.tgz#04f4ea5bcda8a4774a14b4e9d79662dc91012cfc" - integrity sha512-nmCN0nIdeUnmgeDXiQ+2HU6FT162o+rxnF7WMkBm4M5Ds8qTU7Dzv2Wrf22bo4ftnlrb2hKK6FSwAJSAe2FWLg== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@68aa499#b49afdeb5b8d69ea602015f382a2e0a4dc45492a" dependencies: "@napi-rs/wasm-runtime" "^1.0.7" -"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.50": +"@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.50.tgz#ee084d0dd74530fe149502f942b8e2bf6a7ef8d8" - integrity sha512-7kcNLi7Ua59JTTLvbe1dYb028QEPaJPJQHqkmSZ5q3tJueUeb6yjRtx8mw4uIqgWZcnQHAR3PrLN4XRJxvgIkA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@68aa499#a25ad4d460ca9c908d19419b7b6a07b6207471ba" -"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.50": +"@rolldown/binding-win32-ia32-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.50.tgz#63bad3eac2cc25ef42ef70ea5ebdba123f31cbba" - integrity sha512-lL70VTNvSCdSZkDPPVMwWn/M2yQiYvSoXw9hTLgdIWdUfC3g72UaruezusR6ceRuwHCY1Ayu2LtKqXkBO5LIwg== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@68aa499#ec0673000ff08d614a7afeff474eddaa50c77772" -"@rolldown/binding-win32-x64-msvc@1.0.0-beta.50": +"@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.50.tgz#3a22e019281d5a17db6feb555f21df6771134c3b" - integrity sha512-4qU4x5DXWB4JPjyTne/wBNPqkbQU8J45bl21geERBKtEittleonioACBL1R0PsBu0Aq21SwMK5a9zdBkWSlQtQ== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@68aa499#f16e75935817b88e9a0b0341b896e2f531525ff3" -"@rolldown/pluginutils@1.0.0-beta.50": +"@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz#a12f07e9095b8901debcc17d98b4350f0cc64633" - integrity sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA== + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@68aa499#490c8a733188a20d2df162708c76f0c500e423c4" "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -27223,28 +27208,27 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -rolldown@^1.0.0-beta.50: +"rolldown@https://pkg.pr.new/rolldown@68aa499": version "1.0.0-beta.50" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.50.tgz#df32b6bd24765b6e67b728739544f7c3fb72a3cd" - integrity sha512-JFULvCNl/anKn99eKjOSEubi0lLmNqQDAjyEMME2T4CwezUDL0i6t1O9xZsu2OMehPnV2caNefWpGF+8TnzB6A== + resolved "https://pkg.pr.new/rolldown@68aa499#79d65fc587d9c4a7fc0b5bc7ceb9caf6da26deb3" dependencies: "@oxc-project/types" "=0.97.0" - "@rolldown/pluginutils" "1.0.0-beta.50" + "@rolldown/pluginutils" "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@68aa499" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0-beta.50" - "@rolldown/binding-darwin-arm64" "1.0.0-beta.50" - "@rolldown/binding-darwin-x64" "1.0.0-beta.50" - "@rolldown/binding-freebsd-x64" "1.0.0-beta.50" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.50" - "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.50" - "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.50" - "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.50" - "@rolldown/binding-linux-x64-musl" "1.0.0-beta.50" - "@rolldown/binding-openharmony-arm64" "1.0.0-beta.50" - "@rolldown/binding-wasm32-wasi" "1.0.0-beta.50" - "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.50" - "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.50" - "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.50" + "@rolldown/binding-android-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@68aa499" + "@rolldown/binding-darwin-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@68aa499" + "@rolldown/binding-darwin-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@68aa499" + "@rolldown/binding-freebsd-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@68aa499" + "@rolldown/binding-linux-arm-gnueabihf" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@68aa499" + "@rolldown/binding-linux-arm64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@68aa499" + "@rolldown/binding-linux-arm64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@68aa499" + "@rolldown/binding-linux-x64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@68aa499" + "@rolldown/binding-linux-x64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@68aa499" + "@rolldown/binding-openharmony-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@68aa499" + "@rolldown/binding-wasm32-wasi" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@68aa499" + "@rolldown/binding-win32-arm64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@68aa499" + "@rolldown/binding-win32-ia32-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@68aa499" + "@rolldown/binding-win32-x64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@68aa499" rollup-plugin-dts@^6.0.0: version "6.1.1" From 90f1388175e8734bde46bc594bb90c97fb2fa984 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 17 Nov 2025 15:37:16 +0200 Subject: [PATCH 22/59] chore: ensure sub files in externals are treated as externals --- dev-packages/rollup-utils/npmHelpers.mjs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 8e194e42dec3..4caf7ab0fe0c 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -32,6 +32,13 @@ export function makeBaseNPMConfig(options = {}) { bundledBuiltins = [], } = options; + // Make sure subpath imports are also treated as external (e.g., 'solid-js/web' when 'solid-js' is external) + const externalWithSubpaths = [ + ...Object.keys(packageDotJSON.dependencies || {}), + ...Object.keys(packageDotJSON.peerDependencies || {}), + ...Object.keys(packageDotJSON.optionalDependencies || {}), + ].map(dep => new RegExp(`^${dep}(?:/.*)?$`)); + const debugBuildStatementReplacePlugin = makeDebugBuildStatementReplacePlugin(); const rrwebBuildPlugin = makeRrwebBuildPlugin({ excludeShadowDom: undefined, @@ -85,12 +92,7 @@ export function makeBaseNPMConfig(options = {}) { plugins: [debugBuildStatementReplacePlugin, rrwebBuildPlugin], // don't include imported modules from outside the package in the final output - external: [ - ...builtinModules.filter(m => !bundledBuiltins.includes(m)), - ...Object.keys(packageDotJSON.dependencies || {}), - ...Object.keys(packageDotJSON.peerDependencies || {}), - ...Object.keys(packageDotJSON.optionalDependencies || {}), - ], + external: [...builtinModules.filter(m => !bundledBuiltins.includes(m)), ...externalWithSubpaths], }); return deepMerge(defaultBaseConfig, packageSpecificConfig, { From 38924e41dbbf02b47dad76404accc3615bfd1c27 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 17 Nov 2025 16:00:18 +0200 Subject: [PATCH 23/59] chore: fix astro export for middleware --- packages/astro/package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/astro/package.json b/packages/astro/package.json index 0b17cafb75b6..538e8ebb6c23 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -33,10 +33,10 @@ "require": "./build/cjs/index.server.js" }, "./middleware": { - "types": "./build/types/integration/middleware/index.types.d.ts", - "node": "./build/esm/integration/middleware/index.js", - "import": "./build/esm/integration/middleware/index.js", - "require": "./build/cjs/integration/middleware/index.js" + "types": "./build/types/integration/middleware/middleware.types.d.ts", + "node": "./build/esm/integration/middleware/middleware.js", + "import": "./build/esm/integration/middleware/middleware.js", + "require": "./build/cjs/integration/middleware/middleware.js" }, "./import": { "import": { From 9ea0b2e7959fd8154f34efd791a84c2eef03d7d1 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 17 Nov 2025 16:25:59 +0200 Subject: [PATCH 24/59] chore: nextjs config --- packages/nextjs/rollup.npm.config.mjs | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/packages/nextjs/rollup.npm.config.mjs b/packages/nextjs/rollup.npm.config.mjs index b19f4f8acf03..c9d66c96f89e 100644 --- a/packages/nextjs/rollup.npm.config.mjs +++ b/packages/nextjs/rollup.npm.config.mjs @@ -51,9 +51,6 @@ export default [ packageSpecificConfig: { output: { - // Preserve the original file structure (i.e., so that everything is still relative to `src`) - entryFileNames: 'config/templates/[name].js', - // this is going to be add-on code, so it doesn't need the trappings of a full module (and in fact actively // shouldn't have them, lest they muck with the module to which we're adding it) sourcemap: false, @@ -61,9 +58,6 @@ export default [ // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', - - // Don't preserve modules - we're using custom entryFileNames - preserveModules: false, }, external: [ '@sentry/nextjs', @@ -81,14 +75,8 @@ export default [ packageSpecificConfig: { output: { - // Preserve the original file structure (i.e., so that everything is still relative to `src`) - entryFileNames: 'config/loaders/[name].js', - // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', - - // Don't preserve modules - we're using custom entryFileNames - preserveModules: false, }, external: ['@rollup/plugin-commonjs', 'rollup'], }, @@ -100,14 +88,8 @@ export default [ packageSpecificConfig: { output: { - // Preserve the original file structure (i.e., so that everything is still relative to `src`) - entryFileNames: 'config/polyfills/[name].js', - // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', - - // Don't preserve modules - we're using custom entryFileNames - preserveModules: false, }, }, }), From 354398a8c8564df83e643eca771f6de56bcf9602 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Tue, 18 Nov 2025 12:12:01 +0200 Subject: [PATCH 25/59] chore: fix nextjs output --- packages/nextjs/rollup.npm.config.mjs | 10 ++++++++++ packages/nextjs/src/index.server.ts | 3 +++ 2 files changed, 13 insertions(+) diff --git a/packages/nextjs/rollup.npm.config.mjs b/packages/nextjs/rollup.npm.config.mjs index c9d66c96f89e..4056abf85d19 100644 --- a/packages/nextjs/rollup.npm.config.mjs +++ b/packages/nextjs/rollup.npm.config.mjs @@ -19,6 +19,10 @@ export default [ packageSpecificConfig: { external: ['next/router', 'next/constants', 'next/headers', 'stacktrace-parser'], + output: { + virtualDirname: '_virtual/core', + }, + // Next.js and our users are more happy when our client code has the "use client" directive plugins: [ { @@ -51,6 +55,8 @@ export default [ packageSpecificConfig: { output: { + virtualDirname: '_virtual/loaders', + // this is going to be add-on code, so it doesn't need the trappings of a full module (and in fact actively // shouldn't have them, lest they muck with the module to which we're adding it) sourcemap: false, @@ -75,6 +81,8 @@ export default [ packageSpecificConfig: { output: { + virtualDirname: '_virtual/polyfills', + // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', }, @@ -88,6 +96,8 @@ export default [ packageSpecificConfig: { output: { + virtualDirname: '_virtual/polyfills', + // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', }, diff --git a/packages/nextjs/src/index.server.ts b/packages/nextjs/src/index.server.ts index 133b6ecf1da0..23eb7371eff8 100644 --- a/packages/nextjs/src/index.server.ts +++ b/packages/nextjs/src/index.server.ts @@ -1,2 +1,5 @@ export * from './config'; export * from './server'; +// FIXME: Explicitly re-export from @sentry/node to ensure CJS builds properly include all exports +// (Rolldown doesn't transitively handle export * in CJS builds) +export * from '@sentry/node'; From c45f96d6062f7b9e8d5f8f7749fde5efeeee1027 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Wed, 19 Nov 2025 23:39:57 +0200 Subject: [PATCH 26/59] chore: bump to rolldown 1.0.0-beta.51 --- package.json | 2 +- yarn.lock | 172 ++++++++++++++++++++++++++++----------------------- 2 files changed, 95 insertions(+), 79 deletions(-) diff --git a/package.json b/package.json index ea8376950cbd..080c6bc5fffb 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "https://pkg.pr.new/rolldown@68aa499", + "rolldown": "^1.0.0-beta.51", "size-limit": "~11.1.6", "ts-node": "10.9.1", "typescript": "~5.8.0", diff --git a/yarn.lock b/yarn.lock index 5c6399b1300c..d42de5582325 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6256,10 +6256,10 @@ dependencies: "@opentelemetry/core" "^2.0.0" -"@oxc-project/types@=0.97.0": - version "0.97.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.97.0.tgz#dff374de679b876ec9765a80352e5a56354dcd8e" - integrity sha512-lxmZK4xFrdvU0yZiDwgVQTCvh2gHWBJCBk5ALsrtsBWhs0uDIi+FTOnXRQeQfs304imdvTdaakT/lqwQ8hkOXQ== +"@oxc-project/types@=0.98.0": + version "0.98.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.98.0.tgz#2deb27674e3ac0f76add4fd40a4887fd91cdf118" + integrity sha512-Vzmd6FsqVuz5HQVcRC/hrx7Ujo3WEVeQP7C2UNP5uy1hUY4SQvMB+93jxkI1KRHz9a/6cni3glPOtvteN+zpsw== "@parcel/watcher-android-arm64@2.5.1": version "2.5.1" @@ -6723,67 +6723,82 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@68aa499#883708bb914fd67c25b47ecad6e811ecc8135a0b" - -"@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@68aa499#551c48435eddb8e4e04a885aa282ab32100d31c6" - -"@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@68aa499#4c6011081ffe408fdbd1e0db1734e6d0c5a419b4" - -"@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@68aa499#a5222ce8fab04ae5c668b1128921f8125559eebc" - -"@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@68aa499#3c5f2ff386290041dd7c3cf37aac3b8f684f17f9" - -"@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@68aa499#3d375ada7d4352403b0cd149cd2b1fc280ea7609" - -"@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@68aa499#3092939e4413d50817b17ea95709f9ec3ff644ea" - -"@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@68aa499#dcc1ae64aad32c8a8ba0d46fec0a7ca1405d1f6b" - -"@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@68aa499#b080fc8d15acaf3d2940526e139cc1c91ca7798f" - -"@rolldown/binding-openharmony-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@68aa499#f03ca3e8b1be82c6e48ecf48f14b19c9b2675f93" - -"@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@68aa499#b49afdeb5b8d69ea602015f382a2e0a4dc45492a" +"@rolldown/binding-android-arm64@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.51.tgz#9cbe285955665eba6f29578b230352f1f22c3991" + integrity sha512-Ctn8FUXKWWQI9pWC61P1yumS9WjQtelNS9riHwV7oCkknPGaAry4o7eFx2KgoLMnI2BgFJYpW7Im8/zX3BuONg== + +"@rolldown/binding-darwin-arm64@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.51.tgz#b15f34e9082e08b14f9df12a5b5e9cd8958bd53b" + integrity sha512-EL1aRW2Oq15ShUEkBPsDtLMO8GTqfb/ktM/dFaVzXKQiEE96Ss6nexMgfgQrg8dGnNpndFyffVDb5IdSibsu1g== + +"@rolldown/binding-darwin-x64@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.51.tgz#27a8d3073c53c35d63077f1cf496db29bb9d2ea2" + integrity sha512-uGtYKlFen9pMIPvkHPWZVDtmYhMQi5g5Ddsndg1gf3atScKYKYgs5aDP4DhHeTwGXQglhfBG7lEaOIZ4UAIWww== + +"@rolldown/binding-freebsd-x64@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.51.tgz#17f2836fb45e0039901b0f8012637ef64ca1e95c" + integrity sha512-JRoVTQtHYbZj1P07JLiuTuXjiBtIa7ag7/qgKA6CIIXnAcdl4LrOf7nfDuHPJcuRKaP5dzecMgY99itvWfmUFQ== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.51.tgz#14f1310c66c1d1ddbf05c641605817ce05eeeb65" + integrity sha512-BKATVnpPZ0TYBW9XfDwyd4kPGgvf964HiotIwUgpMrFOFYWqpZ+9ONNzMV4UFAYC7Hb5C2qgYQk/qj2OnAd4RQ== + +"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.51.tgz#eb53a6d73cda90e390afb99b80032bf166ef4d22" + integrity sha512-xLd7da5jkfbVsBCm1buIRdWtuXY8+hU3+6ESXY/Tk5X5DPHaifrUblhYDgmA34dQt6WyNC2kfXGgrduPEvDI6Q== + +"@rolldown/binding-linux-arm64-musl@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.51.tgz#528cd4aba1ff8032596a5ef73ccc634d53434714" + integrity sha512-EQFXTgHxxTzv3t5EmjUP/DfxzFYx9sMndfLsYaAY4DWF6KsK1fXGYsiupif6qPTViPC9eVmRm78q0pZU/kuIPg== + +"@rolldown/binding-linux-x64-gnu@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.51.tgz#df7987621f95e30d449e7e3293d14c1a5d5ef33f" + integrity sha512-p5P6Xpa68w3yFaAdSzIZJbj+AfuDnMDqNSeglBXM7UlJT14Q4zwK+rV+8Mhp9MiUb4XFISZtbI/seBprhkQbiQ== + +"@rolldown/binding-linux-x64-musl@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.51.tgz#da5e7a5980c24a234076330722600874e7c85f48" + integrity sha512-sNVVyLa8HB8wkFipdfz1s6i0YWinwpbMWk5hO5S+XAYH2UH67YzUT13gs6wZTKg2x/3gtgXzYnHyF5wMIqoDAw== + +"@rolldown/binding-openharmony-arm64@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.51.tgz#b200f52442a01beeba8b9b7f79ce0197b58e7ddc" + integrity sha512-e/JMTz9Q8+T3g/deEi8DK44sFWZWGKr9AOCW5e8C8SCVWzAXqYXAG7FXBWBNzWEZK0Rcwo9TQHTQ9Q0gXgdCaA== + +"@rolldown/binding-wasm32-wasi@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.51.tgz#f52796b9850aee7010144efe11b6fb3a6755d3c9" + integrity sha512-We3LWqSu6J9s5Y0MK+N7fUiiu37aBGPG3Pc347EoaROuAwkCS2u9xJ5dpIyLW4B49CIbS3KaPmn4kTgPb3EyPw== dependencies: "@napi-rs/wasm-runtime" "^1.0.7" -"@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@68aa499#a25ad4d460ca9c908d19419b7b6a07b6207471ba" +"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.51.tgz#aa5ae9a6bf19433c442c9d7e1eaadd94ced6015f" + integrity sha512-fj56buHRuMM+r/cb6ZYfNjNvO/0xeFybI6cTkTROJatdP4fvmQ1NS8D/Lm10FCSDEOkqIz8hK3TGpbAThbPHsA== -"@rolldown/binding-win32-ia32-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@68aa499#ec0673000ff08d614a7afeff474eddaa50c77772" +"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.51.tgz#76c2f69bd11b6f06fc490719753236b26b2ec3a9" + integrity sha512-fkqEqaeEx8AySXiDm54b/RdINb3C0VovzJA3osMhZsbn6FoD73H0AOIiaVAtGr6x63hefruVKTX8irAm4Jkt2w== -"@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@68aa499#f16e75935817b88e9a0b0341b896e2f531525ff3" +"@rolldown/binding-win32-x64-msvc@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.51.tgz#2b3cd4f7fc6bea58fef84ae72dd3bd0eee2dac2b" + integrity sha512-CWuLG/HMtrVcjKGa0C4GnuxONrku89g0+CsH8nT0SNhOtREXuzwgjIXNJImpE/A/DMf9JF+1Xkrq/YRr+F/rCg== -"@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@68aa499#490c8a733188a20d2df162708c76f0c500e423c4" +"@rolldown/pluginutils@1.0.0-beta.51": + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.51.tgz#dd482c825c7af3c656c01cf1cbd6e0e3cb478ed9" + integrity sha512-51/8cNXMrqWqX3o8DZidhwz1uYq0BhHDDSfVygAND1Skx5s1TDw3APSSxCMcFFedwgqGcx34gRouwY+m404BBQ== "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -27208,27 +27223,28 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -"rolldown@https://pkg.pr.new/rolldown@68aa499": - version "1.0.0-beta.50" - resolved "https://pkg.pr.new/rolldown@68aa499#79d65fc587d9c4a7fc0b5bc7ceb9caf6da26deb3" +rolldown@^1.0.0-beta.51: + version "1.0.0-beta.51" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.51.tgz#e4fedd0450d1d611f406f9336fee30180751e5f1" + integrity sha512-ZRLgPlS91l4JztLYEZnmMcd3Umcla1hkXJgiEiR4HloRJBBoeaX8qogTu5Jfu36rRMVLndzqYv0h+M5gJAkUfg== dependencies: - "@oxc-project/types" "=0.97.0" - "@rolldown/pluginutils" "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@68aa499" + "@oxc-project/types" "=0.98.0" + "@rolldown/pluginutils" "1.0.0-beta.51" optionalDependencies: - "@rolldown/binding-android-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@68aa499" - "@rolldown/binding-darwin-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@68aa499" - "@rolldown/binding-darwin-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@68aa499" - "@rolldown/binding-freebsd-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@68aa499" - "@rolldown/binding-linux-arm-gnueabihf" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@68aa499" - "@rolldown/binding-linux-arm64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@68aa499" - "@rolldown/binding-linux-arm64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@68aa499" - "@rolldown/binding-linux-x64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@68aa499" - "@rolldown/binding-linux-x64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@68aa499" - "@rolldown/binding-openharmony-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@68aa499" - "@rolldown/binding-wasm32-wasi" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@68aa499" - "@rolldown/binding-win32-arm64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@68aa499" - "@rolldown/binding-win32-ia32-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-ia32-msvc@68aa499" - "@rolldown/binding-win32-x64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@68aa499" + "@rolldown/binding-android-arm64" "1.0.0-beta.51" + "@rolldown/binding-darwin-arm64" "1.0.0-beta.51" + "@rolldown/binding-darwin-x64" "1.0.0-beta.51" + "@rolldown/binding-freebsd-x64" "1.0.0-beta.51" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.51" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.51" + "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.51" + "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.51" + "@rolldown/binding-linux-x64-musl" "1.0.0-beta.51" + "@rolldown/binding-openharmony-arm64" "1.0.0-beta.51" + "@rolldown/binding-wasm32-wasi" "1.0.0-beta.51" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.51" + "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.51" + "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.51" rollup-plugin-dts@^6.0.0: version "6.1.1" From 03b1ad8f0776ff959f7ebd8c1e873043a92465ce Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 27 Nov 2025 14:43:44 +0200 Subject: [PATCH 27/59] chore: upgrade to latest rolldown release --- package.json | 2 +- yarn.lock | 169 ++++++++++++++++++++++----------------------------- 2 files changed, 75 insertions(+), 96 deletions(-) diff --git a/package.json b/package.json index 080c6bc5fffb..e8d42a6db975 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "^1.0.0-beta.51", + "rolldown": "https://pkg.pr.new/rolldown@ba60fcc", "size-limit": "~11.1.6", "ts-node": "10.9.1", "typescript": "~5.8.0", diff --git a/yarn.lock b/yarn.lock index d42de5582325..62865c4b9c6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6256,10 +6256,10 @@ dependencies: "@opentelemetry/core" "^2.0.0" -"@oxc-project/types@=0.98.0": - version "0.98.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.98.0.tgz#2deb27674e3ac0f76add4fd40a4887fd91cdf118" - integrity sha512-Vzmd6FsqVuz5HQVcRC/hrx7Ujo3WEVeQP7C2UNP5uy1hUY4SQvMB+93jxkI1KRHz9a/6cni3glPOtvteN+zpsw== +"@oxc-project/types@=0.99.0": + version "0.99.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.99.0.tgz#5f59db0ae50d0b7669771465cca22606a3bfe308" + integrity sha512-LLDEhXB7g1m5J+woRSgfKsFPS3LhR9xRhTeIoEBm5WrkwMxn6eZ0Ld0c0K5eHB57ChZX6I3uSmmLjZ8pcjlRcw== "@parcel/watcher-android-arm64@2.5.1": version "2.5.1" @@ -6723,82 +6723,63 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.51.tgz#9cbe285955665eba6f29578b230352f1f22c3991" - integrity sha512-Ctn8FUXKWWQI9pWC61P1yumS9WjQtelNS9riHwV7oCkknPGaAry4o7eFx2KgoLMnI2BgFJYpW7Im8/zX3BuONg== - -"@rolldown/binding-darwin-arm64@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.51.tgz#b15f34e9082e08b14f9df12a5b5e9cd8958bd53b" - integrity sha512-EL1aRW2Oq15ShUEkBPsDtLMO8GTqfb/ktM/dFaVzXKQiEE96Ss6nexMgfgQrg8dGnNpndFyffVDb5IdSibsu1g== - -"@rolldown/binding-darwin-x64@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.51.tgz#27a8d3073c53c35d63077f1cf496db29bb9d2ea2" - integrity sha512-uGtYKlFen9pMIPvkHPWZVDtmYhMQi5g5Ddsndg1gf3atScKYKYgs5aDP4DhHeTwGXQglhfBG7lEaOIZ4UAIWww== - -"@rolldown/binding-freebsd-x64@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.51.tgz#17f2836fb45e0039901b0f8012637ef64ca1e95c" - integrity sha512-JRoVTQtHYbZj1P07JLiuTuXjiBtIa7ag7/qgKA6CIIXnAcdl4LrOf7nfDuHPJcuRKaP5dzecMgY99itvWfmUFQ== - -"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.51.tgz#14f1310c66c1d1ddbf05c641605817ce05eeeb65" - integrity sha512-BKATVnpPZ0TYBW9XfDwyd4kPGgvf964HiotIwUgpMrFOFYWqpZ+9ONNzMV4UFAYC7Hb5C2qgYQk/qj2OnAd4RQ== - -"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.51.tgz#eb53a6d73cda90e390afb99b80032bf166ef4d22" - integrity sha512-xLd7da5jkfbVsBCm1buIRdWtuXY8+hU3+6ESXY/Tk5X5DPHaifrUblhYDgmA34dQt6WyNC2kfXGgrduPEvDI6Q== - -"@rolldown/binding-linux-arm64-musl@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.51.tgz#528cd4aba1ff8032596a5ef73ccc634d53434714" - integrity sha512-EQFXTgHxxTzv3t5EmjUP/DfxzFYx9sMndfLsYaAY4DWF6KsK1fXGYsiupif6qPTViPC9eVmRm78q0pZU/kuIPg== - -"@rolldown/binding-linux-x64-gnu@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.51.tgz#df7987621f95e30d449e7e3293d14c1a5d5ef33f" - integrity sha512-p5P6Xpa68w3yFaAdSzIZJbj+AfuDnMDqNSeglBXM7UlJT14Q4zwK+rV+8Mhp9MiUb4XFISZtbI/seBprhkQbiQ== - -"@rolldown/binding-linux-x64-musl@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.51.tgz#da5e7a5980c24a234076330722600874e7c85f48" - integrity sha512-sNVVyLa8HB8wkFipdfz1s6i0YWinwpbMWk5hO5S+XAYH2UH67YzUT13gs6wZTKg2x/3gtgXzYnHyF5wMIqoDAw== - -"@rolldown/binding-openharmony-arm64@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.51.tgz#b200f52442a01beeba8b9b7f79ce0197b58e7ddc" - integrity sha512-e/JMTz9Q8+T3g/deEi8DK44sFWZWGKr9AOCW5e8C8SCVWzAXqYXAG7FXBWBNzWEZK0Rcwo9TQHTQ9Q0gXgdCaA== - -"@rolldown/binding-wasm32-wasi@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.51.tgz#f52796b9850aee7010144efe11b6fb3a6755d3c9" - integrity sha512-We3LWqSu6J9s5Y0MK+N7fUiiu37aBGPG3Pc347EoaROuAwkCS2u9xJ5dpIyLW4B49CIbS3KaPmn4kTgPb3EyPw== +"@rolldown/binding-android-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@ba60fcc#3509961dc1d2e50852463d888984223ecf71d7b9" + +"@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@ba60fcc#0814114e7db0a149c5c5d764c501848320c068ba" + +"@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@ba60fcc#7a4ccf555976e8ac69ea228eb579164830516944" + +"@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@ba60fcc#1dcf583f3a2769ccbb4b955fd4019b04278b8f15" + +"@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@ba60fcc#d30db4e0b9c1c51fa0260952d9efbf80df50d06c" + +"@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@ba60fcc#5e03b9799cb2c38aeca2216c281fcd599e596376" + +"@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@ba60fcc#8c46f6d63b777f2383bf52768017ae96b5b1e247" + +"@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@ba60fcc#a971b25bcf3523fcfa81640a51c568d0a48b5d48" + +"@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@ba60fcc#f54c18f11bf517f2d853094416c8b8b7753ce466" + +"@rolldown/binding-openharmony-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@ba60fcc#8c099cbb23c276e48dadb39eb59a3639684df680" + +"@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@ba60fcc#df0aff158376060f4f05c633d625c76747d8b01c" dependencies: "@napi-rs/wasm-runtime" "^1.0.7" -"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.51.tgz#aa5ae9a6bf19433c442c9d7e1eaadd94ced6015f" - integrity sha512-fj56buHRuMM+r/cb6ZYfNjNvO/0xeFybI6cTkTROJatdP4fvmQ1NS8D/Lm10FCSDEOkqIz8hK3TGpbAThbPHsA== - -"@rolldown/binding-win32-ia32-msvc@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.51.tgz#76c2f69bd11b6f06fc490719753236b26b2ec3a9" - integrity sha512-fkqEqaeEx8AySXiDm54b/RdINb3C0VovzJA3osMhZsbn6FoD73H0AOIiaVAtGr6x63hefruVKTX8irAm4Jkt2w== +"@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@ba60fcc#38534b866c77d00353a51edd65606930dab9f07e" -"@rolldown/binding-win32-x64-msvc@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.51.tgz#2b3cd4f7fc6bea58fef84ae72dd3bd0eee2dac2b" - integrity sha512-CWuLG/HMtrVcjKGa0C4GnuxONrku89g0+CsH8nT0SNhOtREXuzwgjIXNJImpE/A/DMf9JF+1Xkrq/YRr+F/rCg== +"@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@ba60fcc#7ad976df6d7d8e2101ae18d9763ef4028a3c546a" -"@rolldown/pluginutils@1.0.0-beta.51": - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.51.tgz#dd482c825c7af3c656c01cf1cbd6e0e3cb478ed9" - integrity sha512-51/8cNXMrqWqX3o8DZidhwz1uYq0BhHDDSfVygAND1Skx5s1TDw3APSSxCMcFFedwgqGcx34gRouwY+m404BBQ== +"@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@ba60fcc#93ae206b5cc429284d190a4cc4254655bd775c5b" "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -27223,28 +27204,26 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -rolldown@^1.0.0-beta.51: - version "1.0.0-beta.51" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.51.tgz#e4fedd0450d1d611f406f9336fee30180751e5f1" - integrity sha512-ZRLgPlS91l4JztLYEZnmMcd3Umcla1hkXJgiEiR4HloRJBBoeaX8qogTu5Jfu36rRMVLndzqYv0h+M5gJAkUfg== +"rolldown@https://pkg.pr.new/rolldown@ba60fcc": + version "1.0.0-beta.52" + resolved "https://pkg.pr.new/rolldown@ba60fcc#4f056aac3cfb633dfc6699b62b39b2f428631dbf" dependencies: - "@oxc-project/types" "=0.98.0" - "@rolldown/pluginutils" "1.0.0-beta.51" + "@oxc-project/types" "=0.99.0" + "@rolldown/pluginutils" "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@ba60fcc" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0-beta.51" - "@rolldown/binding-darwin-arm64" "1.0.0-beta.51" - "@rolldown/binding-darwin-x64" "1.0.0-beta.51" - "@rolldown/binding-freebsd-x64" "1.0.0-beta.51" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.51" - "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.51" - "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.51" - "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.51" - "@rolldown/binding-linux-x64-musl" "1.0.0-beta.51" - "@rolldown/binding-openharmony-arm64" "1.0.0-beta.51" - "@rolldown/binding-wasm32-wasi" "1.0.0-beta.51" - "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.51" - "@rolldown/binding-win32-ia32-msvc" "1.0.0-beta.51" - "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.51" + "@rolldown/binding-android-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@ba60fcc" + "@rolldown/binding-darwin-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@ba60fcc" + "@rolldown/binding-darwin-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@ba60fcc" + "@rolldown/binding-freebsd-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@ba60fcc" + "@rolldown/binding-linux-arm-gnueabihf" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@ba60fcc" + "@rolldown/binding-linux-arm64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@ba60fcc" + "@rolldown/binding-linux-arm64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@ba60fcc" + "@rolldown/binding-linux-x64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@ba60fcc" + "@rolldown/binding-linux-x64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@ba60fcc" + "@rolldown/binding-openharmony-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@ba60fcc" + "@rolldown/binding-wasm32-wasi" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@ba60fcc" + "@rolldown/binding-win32-arm64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@ba60fcc" + "@rolldown/binding-win32-x64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@ba60fcc" rollup-plugin-dts@^6.0.0: version "6.1.1" From 230c4a8e83212651a717ea6873ed0e2c9edec107 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 27 Nov 2025 14:44:30 +0200 Subject: [PATCH 28/59] fix(remix): properly point to esm and require builds --- packages/remix/package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/remix/package.json b/packages/remix/package.json index 1ef5655681c4..e22298be7645 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -29,7 +29,11 @@ "require": "./build/cjs/index.client.js", "default": "./build/cjs/index.client.js" }, - "node": "./build/cjs/index.server.js", + "node": { + "import": "./build/esm/index.server.js", + "require": "./build/cjs/index.server.js", + "default": "./build/cjs/index.server.js" + }, "worker": { "import": "./build/esm/cloudflare/index.js", "require": "./build/cjs/cloudflare/index.js", From c7e90ffe4c31bc9e184f493e1398e0c86c35dd27 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 27 Nov 2025 17:53:41 +0200 Subject: [PATCH 29/59] fix: use custom preseveration logic for nextjs templates --- packages/nextjs/rollup.npm.config.mjs | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/packages/nextjs/rollup.npm.config.mjs b/packages/nextjs/rollup.npm.config.mjs index 4056abf85d19..d544ae157d9c 100644 --- a/packages/nextjs/rollup.npm.config.mjs +++ b/packages/nextjs/rollup.npm.config.mjs @@ -72,6 +72,49 @@ export default [ '__SENTRY_WRAPPING_TARGET_FILE__', '__SENTRY_NEXTJS_REQUEST_ASYNC_STORAGE_SHIM__', ], + plugins: [ + { + name: 'sentry-fix-rolldown-generated-identifiers', + renderChunk(code, chunk) { + // Rolldown generates import identifiers like `__SENTRY_WRAPPING_TARGET_FILE___default` for default imports + // from our placeholder modules. When the wrapping loader later replaces `__SENTRY_WRAPPING_TARGET_FILE__` + // with `__SENTRY_WRAPPING_TARGET_FILE__.cjs`, this creates invalid syntax like + // `__SENTRY_WRAPPING_TARGET_FILE__.cjs_default`, where `.cjs` breaks the identifier. + // We fix this by replacing the problematic identifier pattern with a safe one that uses a different + // separator that won't be confused with property access when the placeholder is replaced. + let fixedCode = code + .replace( + /__SENTRY_WRAPPING_TARGET_FILE___default/g, + '__SENTRY_WRAPPING_TARGET_FILE_PLACEHOLDER_DEFAULT__', + ) + .replace(/__SENTRY_CONFIG_IMPORT_PATH___default/g, '__SENTRY_CONFIG_IMPORT_PATH_PLACEHOLDER_DEFAULT__') + .replace( + /__SENTRY_NEXTJS_REQUEST_ASYNC_STORAGE_SHIM___default/g, + '__SENTRY_NEXTJS_REQUEST_ASYNC_STORAGE_SHIM_PLACEHOLDER_DEFAULT__', + ); + + // Rolldown has a bug where it removes namespace imports for external modules even when they're still + // referenced in the code (specifically when there's a `declare const` with the same name in the source). + // We need to add back the missing import for serverComponentModule in the serverComponentWrapperTemplate. + if ( + chunk.facadeModuleId?.includes('serverComponentWrapperTemplate') && + fixedCode.includes('serverComponentModule') && + !fixedCode.includes('import * as serverComponentModule') + ) { + // Find the position after the last import statement to insert our missing import + const lastImportMatch = fixedCode.match(/^import[^;]*;/gm); + if (lastImportMatch) { + const lastImport = lastImportMatch[lastImportMatch.length - 1]; + const lastImportEnd = fixedCode.indexOf(lastImport) + lastImport.length; + fixedCode = `${fixedCode.slice(0, lastImportEnd)} +import * as serverComponentModule from "__SENTRY_WRAPPING_TARGET_FILE__";${fixedCode.slice(lastImportEnd)}`; + } + } + + return { code: fixedCode }; + }, + }, + ], }, }), ), From f231c4ea61b9a4c920cc65dcd16d41001d881599 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 11:28:23 +0200 Subject: [PATCH 30/59] fix: simplify import placeholder replacers --- packages/nextjs/rollup.npm.config.mjs | 36 ++++++------------- .../templates/routeHandlerWrapperTemplate.ts | 3 +- .../templates/sentryInitWrapperTemplate.ts | 5 +-- 3 files changed, 14 insertions(+), 30 deletions(-) diff --git a/packages/nextjs/rollup.npm.config.mjs b/packages/nextjs/rollup.npm.config.mjs index d544ae157d9c..46d47582ab1e 100644 --- a/packages/nextjs/rollup.npm.config.mjs +++ b/packages/nextjs/rollup.npm.config.mjs @@ -74,44 +74,28 @@ export default [ ], plugins: [ { - name: 'sentry-fix-rolldown-generated-identifiers', + name: 'sentry-fix-missing-serverComponentModule-import', renderChunk(code, chunk) { - // Rolldown generates import identifiers like `__SENTRY_WRAPPING_TARGET_FILE___default` for default imports - // from our placeholder modules. When the wrapping loader later replaces `__SENTRY_WRAPPING_TARGET_FILE__` - // with `__SENTRY_WRAPPING_TARGET_FILE__.cjs`, this creates invalid syntax like - // `__SENTRY_WRAPPING_TARGET_FILE__.cjs_default`, where `.cjs` breaks the identifier. - // We fix this by replacing the problematic identifier pattern with a safe one that uses a different - // separator that won't be confused with property access when the placeholder is replaced. - let fixedCode = code - .replace( - /__SENTRY_WRAPPING_TARGET_FILE___default/g, - '__SENTRY_WRAPPING_TARGET_FILE_PLACEHOLDER_DEFAULT__', - ) - .replace(/__SENTRY_CONFIG_IMPORT_PATH___default/g, '__SENTRY_CONFIG_IMPORT_PATH_PLACEHOLDER_DEFAULT__') - .replace( - /__SENTRY_NEXTJS_REQUEST_ASYNC_STORAGE_SHIM___default/g, - '__SENTRY_NEXTJS_REQUEST_ASYNC_STORAGE_SHIM_PLACEHOLDER_DEFAULT__', - ); - // Rolldown has a bug where it removes namespace imports for external modules even when they're still // referenced in the code (specifically when there's a `declare const` with the same name in the source). // We need to add back the missing import for serverComponentModule in the serverComponentWrapperTemplate. if ( chunk.facadeModuleId?.includes('serverComponentWrapperTemplate') && - fixedCode.includes('serverComponentModule') && - !fixedCode.includes('import * as serverComponentModule') + code.includes('serverComponentModule') && + !code.includes('import * as serverComponentModule') ) { // Find the position after the last import statement to insert our missing import - const lastImportMatch = fixedCode.match(/^import[^;]*;/gm); + const lastImportMatch = code.match(/^import[^;]*;/gm); if (lastImportMatch) { const lastImport = lastImportMatch[lastImportMatch.length - 1]; - const lastImportEnd = fixedCode.indexOf(lastImport) + lastImport.length; - fixedCode = `${fixedCode.slice(0, lastImportEnd)} -import * as serverComponentModule from "__SENTRY_WRAPPING_TARGET_FILE__";${fixedCode.slice(lastImportEnd)}`; + const lastImportEnd = code.indexOf(lastImport) + lastImport.length; + return { + code: `${code.slice(0, lastImportEnd)} +import * as serverComponentModule from "__SENTRY_WRAPPING_TARGET_FILE__";${code.slice(lastImportEnd)}`, + }; } } - - return { code: fixedCode }; + return null; }, }, ], diff --git a/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts b/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts index 3a05c97d5f5c..ee8b47e779d9 100644 --- a/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts +++ b/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts @@ -60,8 +60,7 @@ function wrapHandler(handler: T, method: 'GET' | 'POST' | 'PUT' | 'PATCH' | ' // @ts-expect-error See above export * from '__SENTRY_WRAPPING_TARGET_FILE__'; -// @ts-expect-error This is the file we're wrapping -export { default } from '__SENTRY_WRAPPING_TARGET_FILE__'; +export default routeModule.default; type RouteHandler = (...args: unknown[]) => unknown; diff --git a/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts b/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts index 3be1b07d6bc5..29291e62ed5a 100644 --- a/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts +++ b/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts @@ -1,8 +1,9 @@ // @ts-expect-error This will be replaced with the user's sentry config gile import '__SENTRY_CONFIG_IMPORT_PATH__'; +// @ts-expect-error This is the file we're wrapping +import * as wrappingTargetModule from '__SENTRY_WRAPPING_TARGET_FILE__'; // @ts-expect-error This is the file we're wrapping export * from '__SENTRY_WRAPPING_TARGET_FILE__'; -// @ts-expect-error This is the file we're wrapping -export { default } from '__SENTRY_WRAPPING_TARGET_FILE__'; +export default wrappingTargetModule.default; From fa7bf58331b0615b0931dce48063b06bcd8277dd Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 11:28:54 +0200 Subject: [PATCH 31/59] fix: send in module conditionally since it may not be available in ES contexts --- packages/remix/src/server/instrumentServer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/remix/src/server/instrumentServer.ts b/packages/remix/src/server/instrumentServer.ts index d8864d254a99..cd91f3d70794 100644 --- a/packages/remix/src/server/instrumentServer.ts +++ b/packages/remix/src/server/instrumentServer.ts @@ -483,7 +483,7 @@ export const makeWrappedCreateRequestHandler = (options?: { instrumentTracing?: export function instrumentServer(options?: { instrumentTracing?: boolean }): void { const pkg = loadModule<{ createRequestHandler: CreateRequestHandlerFunction; - }>('@remix-run/server-runtime', module); + }>('@remix-run/server-runtime', typeof module !== 'undefined' ? module : undefined); if (!pkg) { DEBUG_BUILD && debug.warn('Remix SDK was unable to require `@remix-run/server-runtime` package.'); From ebc036c44a98cafe5ce1d0023c889d1a91912002 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 11:38:28 +0200 Subject: [PATCH 32/59] fix: wrapper tests --- .../nextjs/test/config/wrappingLoader.test.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/nextjs/test/config/wrappingLoader.test.ts b/packages/nextjs/test/config/wrappingLoader.test.ts index ab33450790bb..0e96ebf1faab 100644 --- a/packages/nextjs/test/config/wrappingLoader.test.ts +++ b/packages/nextjs/test/config/wrappingLoader.test.ts @@ -100,7 +100,8 @@ describe('wrappingLoader', () => { await loaderPromise; - expect(callback).toHaveBeenCalledWith(null, expect.stringContaining("'/my/route'"), expect.anything()); + // Rolldown uses double quotes, old Rollup used single quotes + expect(callback).toHaveBeenCalledWith(null, expect.stringMatching(/["']\/my\/route['"]/), expect.anything()); }); describe('middleware wrapping', () => { @@ -148,8 +149,8 @@ describe('wrappingLoader', () => { expect(wrappedCode).toContain('userProvidedProxy = true'); // Proxy should be wrapped, middleware should be undefined - expect(wrappedCode).toMatch(/const proxy = userProvidedProxy \? wrappedHandler : undefined/); - expect(wrappedCode).toMatch(/const middleware = userProvidedMiddleware \? wrappedHandler : undefined/); + expect(wrappedCode).toMatch(/const proxy = userProvidedProxy \? wrappedHandler : (?:undefined|void 0)/); + expect(wrappedCode).toMatch(/const middleware = userProvidedMiddleware \? wrappedHandler : (?:undefined|void 0)/); }); it('should export middleware when user exports named "middleware" export', async () => { @@ -196,8 +197,8 @@ describe('wrappingLoader', () => { expect(wrappedCode).toContain('userProvidedProxy = false'); // Middleware should be wrapped, proxy should be undefined - expect(wrappedCode).toMatch(/const middleware = userProvidedMiddleware \? wrappedHandler : undefined/); - expect(wrappedCode).toMatch(/const proxy = userProvidedProxy \? wrappedHandler : undefined/); + expect(wrappedCode).toMatch(/const middleware = userProvidedMiddleware \? wrappedHandler : (?:undefined|void 0)/); + expect(wrappedCode).toMatch(/const proxy = userProvidedProxy \? wrappedHandler : (?:undefined|void 0)/); }); it('should export undefined middleware/proxy when user only exports default', async () => { @@ -245,8 +246,8 @@ describe('wrappingLoader', () => { expect(wrappedCode).toContain('userProvidedProxy = false'); // Both middleware and proxy should be undefined (conditionals evaluate to false) - expect(wrappedCode).toMatch(/const middleware = userProvidedMiddleware \? wrappedHandler : undefined/); - expect(wrappedCode).toMatch(/const proxy = userProvidedProxy \? wrappedHandler : undefined/); + expect(wrappedCode).toMatch(/const middleware = userProvidedMiddleware \? wrappedHandler : (?:undefined|void 0)/); + expect(wrappedCode).toMatch(/const proxy = userProvidedProxy \? wrappedHandler : (?:undefined|void 0)/); }); }); }); From ceb284fc13f64312b01f2ef83ca0a662e6070e9d Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 11:50:52 +0200 Subject: [PATCH 33/59] fix: astro tests --- packages/astro/test/integration/middleware/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/astro/test/integration/middleware/index.test.ts b/packages/astro/test/integration/middleware/index.test.ts index 2a63a66027e8..8e6ee62e0f4c 100644 --- a/packages/astro/test/integration/middleware/index.test.ts +++ b/packages/astro/test/integration/middleware/index.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from 'vitest'; -import { onRequest } from '../../../src/integration/middleware'; +import { onRequest } from '../../../src/integration/middleware/middleware'; vi.mock('../../../src/server/meta', () => ({ getTracingMetaTagValues: () => ({ From d1e85bb918d13062919029959fea5bf0694fbe92 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 12:14:33 +0200 Subject: [PATCH 34/59] fix: ensure passing the tsconfig --- dev-packages/rollup-utils/npmHelpers.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index 4caf7ab0fe0c..ae7da9bbd6d9 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -48,6 +48,9 @@ export function makeBaseNPMConfig(options = {}) { const defaultBaseConfig = defineConfig({ input: entrypoints, + // Point to the package's tsconfig.json so rolldown respects TypeScript & JSX settings + tsconfig: path.resolve(process.cwd(), './tsconfig.json'), + output: { // an appropriately-named directory will be added to this base value when we specify either a cjs or esm build dir: hasBundles ? 'build/npm' : 'build', From 6bb1d2c3de72bd96e1c5b80e15173ddb84c6cd32 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 12:57:08 +0200 Subject: [PATCH 35/59] fix: aws-serverless replace plugin --- dev-packages/rollup-utils/plugins/bundlePlugins.mjs | 2 +- packages/aws-serverless/scripts/buildLambdaLayer.ts | 4 ++-- packages/core/src/utils/env.ts | 2 +- packages/eslint-config-sdk/src/base.js | 2 ++ 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index eb2a400fe403..da5a18741be2 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -52,7 +52,7 @@ export function makeIsDebugBuildPlugin(includeDebugging) { export function makeSetSDKSourcePlugin(sdkSource) { return replacePlugin( { - '/* __SENTRY_SDK_SOURCE__ */': `return ${JSON.stringify(sdkSource)};`, + '/*! __SENTRY_SDK_SOURCE__ */': `return ${JSON.stringify(sdkSource)};`, }, { preventAssignment: false, diff --git a/packages/aws-serverless/scripts/buildLambdaLayer.ts b/packages/aws-serverless/scripts/buildLambdaLayer.ts index 241bc864816a..7bf441e66b44 100644 --- a/packages/aws-serverless/scripts/buildLambdaLayer.ts +++ b/packages/aws-serverless/scripts/buildLambdaLayer.ts @@ -207,8 +207,8 @@ function replaceSDKSource(): void { // Replace the line marked with __SENTRY_SDK_SOURCE__ comment // Change from 'npm' to 'aws-lambda-layer' to identify that this is the AWS Lambda layer content = content.replace( - "/* __SENTRY_SDK_SOURCE__ */ return 'npm';", - "/* __SENTRY_SDK_SOURCE__ */ return 'aws-lambda-layer';", + '/*! __SENTRY_SDK_SOURCE__ */ return "npm";', + '/*! __SENTRY_SDK_SOURCE__ */ return "aws-lambda-layer";', ); fs.writeFileSync(envFile, content); diff --git a/packages/core/src/utils/env.ts b/packages/core/src/utils/env.ts index 86872017707a..5fdd9e9b7b91 100644 --- a/packages/core/src/utils/env.ts +++ b/packages/core/src/utils/env.ts @@ -31,5 +31,5 @@ export function isBrowserBundle(): boolean { */ export function getSDKSource(): SdkSource { // This comment is used to identify this line in the CDN bundle build step and replace this with "return 'cdn';" - /* __SENTRY_SDK_SOURCE__ */ return 'npm'; + /*! __SENTRY_SDK_SOURCE__ */ return 'npm'; } diff --git a/packages/eslint-config-sdk/src/base.js b/packages/eslint-config-sdk/src/base.js index 5b77056bfbb2..238bf2ed14ed 100644 --- a/packages/eslint-config-sdk/src/base.js +++ b/packages/eslint-config-sdk/src/base.js @@ -236,6 +236,8 @@ module.exports = { balanced: true, // ... unless they're jsdoc-style block comments, which end with `**/` exceptions: ['*'], + // Allow /*! for legal/preserved comments + markers: ['!'], }, }, ], From 5b68f460c0e6f4f1192150588d2ec6f417227b6e Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 15:40:34 +0200 Subject: [PATCH 36/59] fix: revert remix change --- packages/remix/src/server/instrumentServer.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/remix/src/server/instrumentServer.ts b/packages/remix/src/server/instrumentServer.ts index cd91f3d70794..7817cd93bf4f 100644 --- a/packages/remix/src/server/instrumentServer.ts +++ b/packages/remix/src/server/instrumentServer.ts @@ -400,7 +400,8 @@ function instrumentBuildCallback( // We should be able to wrap them, as they may not be wrapped before. const defaultExport = wrappedEntry.module.default as undefined | WrappedFunction; if (defaultExport && !defaultExport.__sentry_original__) { - fill(wrappedEntry.module, 'default', makeWrappedDocumentRequestFunction(options?.instrumentTracing)); + const instrumentTracing = options ? options.instrumentTracing : undefined; + fill(wrappedEntry.module, 'default', makeWrappedDocumentRequestFunction(instrumentTracing)); } for (const [id, route] of Object.entries(build.routes)) { @@ -414,18 +415,21 @@ function instrumentBuildCallback( } if (!(wrappedRoute.module.loader as WrappedFunction).__sentry_original__) { - fill(wrappedRoute.module, 'loader', makeWrappedRootLoader(options?.instrumentTracing, build)); + const instrumentTracing = options ? options.instrumentTracing : undefined; + fill(wrappedRoute.module, 'loader', makeWrappedRootLoader(instrumentTracing, build)); } } const routeAction = wrappedRoute.module.action as undefined | WrappedFunction; if (routeAction && !routeAction.__sentry_original__) { - fill(wrappedRoute.module, 'action', makeWrappedAction(id, options?.instrumentTracing, build)); + const instrumentTracing = options ? options.instrumentTracing : undefined; + fill(wrappedRoute.module, 'action', makeWrappedAction(id, instrumentTracing, build)); } const routeLoader = wrappedRoute.module.loader as undefined | WrappedFunction; if (routeLoader && !routeLoader.__sentry_original__) { - fill(wrappedRoute.module, 'loader', makeWrappedLoader(id, options?.instrumentTracing, build)); + const instrumentTracing = options ? options.instrumentTracing : undefined; + fill(wrappedRoute.module, 'loader', makeWrappedLoader(id, instrumentTracing, build)); } routes[id] = wrappedRoute; @@ -483,7 +487,7 @@ export const makeWrappedCreateRequestHandler = (options?: { instrumentTracing?: export function instrumentServer(options?: { instrumentTracing?: boolean }): void { const pkg = loadModule<{ createRequestHandler: CreateRequestHandlerFunction; - }>('@remix-run/server-runtime', typeof module !== 'undefined' ? module : undefined); + }>('@remix-run/server-runtime', module); if (!pkg) { DEBUG_BUILD && debug.warn('Remix SDK was unable to require `@remix-run/server-runtime` package.'); From b496ec5dd5e7d1b699436b8cd00c3402708dec52 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 15:43:51 +0200 Subject: [PATCH 37/59] fix: revert astro structure changes --- packages/astro/package.json | 8 ++++---- packages/astro/rollup.npm.config.mjs | 2 +- .../integration/middleware/{middleware.ts => index.ts} | 0 packages/astro/test/integration/middleware/index.test.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename packages/astro/src/integration/middleware/{middleware.ts => index.ts} (100%) diff --git a/packages/astro/package.json b/packages/astro/package.json index 538e8ebb6c23..0b17cafb75b6 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -33,10 +33,10 @@ "require": "./build/cjs/index.server.js" }, "./middleware": { - "types": "./build/types/integration/middleware/middleware.types.d.ts", - "node": "./build/esm/integration/middleware/middleware.js", - "import": "./build/esm/integration/middleware/middleware.js", - "require": "./build/cjs/integration/middleware/middleware.js" + "types": "./build/types/integration/middleware/index.types.d.ts", + "node": "./build/esm/integration/middleware/index.js", + "import": "./build/esm/integration/middleware/index.js", + "require": "./build/cjs/integration/middleware/index.js" }, "./import": { "import": { diff --git a/packages/astro/rollup.npm.config.mjs b/packages/astro/rollup.npm.config.mjs index f0ac8d968786..ca3b338433a7 100644 --- a/packages/astro/rollup.npm.config.mjs +++ b/packages/astro/rollup.npm.config.mjs @@ -2,7 +2,7 @@ import { makeBaseNPMConfig, makeNPMConfigVariants, makeOtelLoaders } from '@sent const variants = makeNPMConfigVariants( makeBaseNPMConfig({ - entrypoints: ['src/index.server.ts', 'src/index.client.ts', 'src/integration/middleware/middleware.ts'], + entrypoints: ['src/index.server.ts', 'src/index.client.ts', 'src/integration/middleware/index.ts'], packageSpecificConfig: { output: { dynamicImportInCjs: true, diff --git a/packages/astro/src/integration/middleware/middleware.ts b/packages/astro/src/integration/middleware/index.ts similarity index 100% rename from packages/astro/src/integration/middleware/middleware.ts rename to packages/astro/src/integration/middleware/index.ts diff --git a/packages/astro/test/integration/middleware/index.test.ts b/packages/astro/test/integration/middleware/index.test.ts index 8e6ee62e0f4c..2a63a66027e8 100644 --- a/packages/astro/test/integration/middleware/index.test.ts +++ b/packages/astro/test/integration/middleware/index.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it, vi } from 'vitest'; -import { onRequest } from '../../../src/integration/middleware/middleware'; +import { onRequest } from '../../../src/integration/middleware'; vi.mock('../../../src/server/meta', () => ({ getTracingMetaTagValues: () => ({ From 5925e402400f28378ba01dcd08a6237983a0b6af Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 16:14:42 +0200 Subject: [PATCH 38/59] fix: temporary fix remix till i figure it out --- packages/remix/package.json | 8 ++------ packages/remix/rollup.npm.config.mjs | 3 +++ packages/remix/test/integration/instrument.server.mjs | 2 +- packages/remix/test/integration/vite.config.ts | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/remix/package.json b/packages/remix/package.json index e22298be7645..555ef1fa1255 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -29,11 +29,7 @@ "require": "./build/cjs/index.client.js", "default": "./build/cjs/index.client.js" }, - "node": { - "import": "./build/esm/index.server.js", - "require": "./build/cjs/index.server.js", - "default": "./build/cjs/index.server.js" - }, + "node": "./build/cjs/index.server.js", "worker": { "import": "./build/esm/cloudflare/index.js", "require": "./build/cjs/cloudflare/index.js", @@ -41,9 +37,9 @@ } }, "./cloudflare": { + "types": "./build/types/cloudflare/index.d.ts", "import": "./build/esm/cloudflare/index.js", "require": "./build/cjs/cloudflare/index.js", - "types": "./build/types/cloudflare/index.d.ts", "default": "./build/esm/cloudflare/index.js" }, "./import": { diff --git a/packages/remix/rollup.npm.config.mjs b/packages/remix/rollup.npm.config.mjs index bd26bd1b06c2..514cc8872d0c 100644 --- a/packages/remix/rollup.npm.config.mjs +++ b/packages/remix/rollup.npm.config.mjs @@ -15,6 +15,9 @@ export default [ output: { // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', + // Always include __esModule marker for proper CJS/ESM interop + // This ensures both `import * as Sentry` and `import Sentry` work correctly + esModule: true, }, }, }), diff --git a/packages/remix/test/integration/instrument.server.mjs b/packages/remix/test/integration/instrument.server.mjs index 5598d81af581..70a9d9c8a4d1 100644 --- a/packages/remix/test/integration/instrument.server.mjs +++ b/packages/remix/test/integration/instrument.server.mjs @@ -1,4 +1,4 @@ -import * as Sentry from '@sentry/remix'; +import Sentry from '@sentry/remix'; Sentry.init({ dsn: 'https://public@dsn.ingest.sentry.io/1337', diff --git a/packages/remix/test/integration/vite.config.ts b/packages/remix/test/integration/vite.config.ts index 5355e209498f..03f1abeb5d3a 100644 --- a/packages/remix/test/integration/vite.config.ts +++ b/packages/remix/test/integration/vite.config.ts @@ -1,6 +1,6 @@ import { vitePlugin as remix } from '@remix-run/dev'; import { defineConfig, Plugin } from 'vite'; -import { sentryRemixVitePlugin } from '@sentry/remix'; +import Sentry from '@sentry/remix'; import path from 'path'; // Custom plugin to resolve @sentry/remix to ESM builds for Vite @@ -37,6 +37,6 @@ export default defineConfig({ v3_lazyRouteDiscovery: true, }, }), - sentryRemixVitePlugin(), + Sentry.sentryRemixVitePlugin(), ], }); From 437a24e42f96db05403ffd494b920b08cf45d5e9 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 16:35:10 +0200 Subject: [PATCH 39/59] fix: ANR replacements --- packages/node-core/rollup.npm.config.mjs | 39 ++++++++++++++++++++---- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/packages/node-core/rollup.npm.config.mjs b/packages/node-core/rollup.npm.config.mjs index 889da172b7b3..2e3d0671f02d 100644 --- a/packages/node-core/rollup.npm.config.mjs +++ b/packages/node-core/rollup.npm.config.mjs @@ -1,5 +1,4 @@ import { makeBaseNPMConfig, makeNPMConfigVariants, makeOtelLoaders } from '@sentry-internal/rollup-utils'; -import { replacePlugin } from 'rolldown/plugins'; import { createWorkerCodeBuilder } from './rollup.anr-worker.config.mjs'; const [anrWorkerConfig, getAnrBase64Code] = createWorkerCodeBuilder( @@ -12,6 +11,36 @@ const [localVariablesWorkerConfig, getLocalVariablesBase64Code] = createWorkerCo 'build/esm/integrations/local-variables', ); +/** + * Custom replace plugin that lazily evaluates replacement values. + * This is needed because the worker scripts are built in earlier configs, + * and we need to wait for their renderChunk hooks to complete before + * we can get the base64-encoded worker code. + */ +function makeLazyReplacePlugin(replacements, options = {}) { + const { delimiters = ['###', '###'] } = options; + const [delimiterStart, delimiterEnd] = delimiters; + + return { + name: 'lazy-replace-plugin', + renderChunk(code) { + let result = code; + + for (const [key, valueFn] of Object.entries(replacements)) { + const value = typeof valueFn === 'function' ? valueFn() : valueFn; + const searchPattern = `${delimiterStart}${key}${delimiterEnd}`; + // Don't add quotes - the source already has quotes around the placeholder + const replacement = value; + + // Replace all occurrences + result = result.split(searchPattern).join(replacement); + } + + return { code: result }; + }, + }; +} + export default [ ...makeOtelLoaders('./build', 'otel'), // The workers needs to be built first since it's their output is copied in the main bundle. @@ -27,15 +56,13 @@ export default [ preserveModules: true, }, plugins: [ - replacePlugin( + makeLazyReplacePlugin( { - AnrWorkerScript: JSON.stringify(getAnrBase64Code()), - LocalVariablesWorkerScript: JSON.stringify(getLocalVariablesBase64Code()), + AnrWorkerScript: getAnrBase64Code, + LocalVariablesWorkerScript: getLocalVariablesBase64Code, }, { delimiters: ['###', '###'], - // removes some rollup warnings - preventAssignment: true, }, ), ], From 765ca610fb96fcd3f1d9f2d8ef362c3aa575bddc Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 28 Nov 2025 17:16:27 +0200 Subject: [PATCH 40/59] fix: spotlight shaking --- dev-packages/rollup-utils/plugins/npmPlugins.mjs | 7 ++++++- packages/browser/src/sdk.ts | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/dev-packages/rollup-utils/plugins/npmPlugins.mjs b/dev-packages/rollup-utils/plugins/npmPlugins.mjs index 03adbb2fce96..dfe40039b115 100644 --- a/dev-packages/rollup-utils/plugins/npmPlugins.mjs +++ b/dev-packages/rollup-utils/plugins/npmPlugins.mjs @@ -73,7 +73,12 @@ export function makeDebugBuildStatementReplacePlugin() { } export function makeProductionReplacePlugin() { - const pattern = /\/\* rollup-include-development-only \*\/[\s\S]*?\/\* rollup-include-development-only-end \*\/\s*/g; + // Use legal comments (/*!) so they're preserved by Rolldown + // NOTE: Due to a Rolldown limitation, the ending comment must be placed before a statement + // (e.g., before a return) rather than after a block, otherwise it gets stripped. + // See: https://github.com/rolldown/rolldown/issues/[TODO: file issue] + const pattern = + /\/\*! rollup-include-development-only \*\/[\s\S]*?\/\*! rollup-include-development-only-end \*\/\s*/g; function stripDevBlocks(code) { if (!code) return null; diff --git a/packages/browser/src/sdk.ts b/packages/browser/src/sdk.ts index 800c1b701352..f6df23564aa6 100644 --- a/packages/browser/src/sdk.ts +++ b/packages/browser/src/sdk.ts @@ -94,7 +94,7 @@ export function init(options: BrowserOptions = {}): Client | undefined { let defaultIntegrations = options.defaultIntegrations == null ? getDefaultIntegrations(options) : options.defaultIntegrations; - /* rollup-include-development-only */ + /*! rollup-include-development-only */ if (options.spotlight) { if (!defaultIntegrations) { defaultIntegrations = []; @@ -102,7 +102,6 @@ export function init(options: BrowserOptions = {}): Client | undefined { const args = typeof options.spotlight === 'string' ? { sidecarUrl: options.spotlight } : undefined; defaultIntegrations.push(spotlightBrowserIntegration(args)); } - /* rollup-include-development-only-end */ const clientOptions: BrowserClientOptions = { ...options, @@ -114,6 +113,9 @@ export function init(options: BrowserOptions = {}): Client | undefined { }), transport: options.transport || makeFetchTransport, }; + // TODO: This is here to avoid the Rolldown limitation of not being able to place the ending comment after a block + // Should be moved back after the if block once the Rolldown limitation is fixed + /*! rollup-include-development-only-end */ return initAndBind(BrowserClient, clientOptions); } From 8c9f37f52397898fe06ca8865a81d6aa3e36539e Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Mon, 1 Dec 2025 16:00:04 +0100 Subject: [PATCH 41/59] refactor: remix vite plugin imports --- .../vite.config.ts | 4 +-- .../create-remix-app-express/vite.config.ts | 4 +-- .../create-remix-app-v2/vite.config.ts | 4 +-- .../remix-hydrogen/vite.config.ts | 4 +-- packages/remix/src/config/vite.ts | 4 +-- packages/remix/test/config/vite.test.ts | 31 ++++++------------- 6 files changed, 19 insertions(+), 32 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts index 6ebb8eacc6a5..de3a424674cf 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts @@ -1,6 +1,6 @@ import { installGlobals } from '@remix-run/node'; import { vitePlugin as remix } from '@remix-run/dev'; -import { sentryRemixVitePlugin } from '@sentry/remix'; +import Sentry from '@sentry/remix'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; @@ -9,7 +9,7 @@ installGlobals(); export default defineConfig({ plugins: [ remix(), - sentryRemixVitePlugin(), + Sentry.sentryRemixVitePlugin(), tsconfigPaths({ // The dev server config errors are not relevant to this test app // https://github.com/aleclarson/vite-tsconfig-paths?tab=readme-ov-file#options diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts index 6ebb8eacc6a5..de3a424674cf 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts @@ -1,6 +1,6 @@ import { installGlobals } from '@remix-run/node'; import { vitePlugin as remix } from '@remix-run/dev'; -import { sentryRemixVitePlugin } from '@sentry/remix'; +import Sentry from '@sentry/remix'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; @@ -9,7 +9,7 @@ installGlobals(); export default defineConfig({ plugins: [ remix(), - sentryRemixVitePlugin(), + Sentry.sentryRemixVitePlugin(), tsconfigPaths({ // The dev server config errors are not relevant to this test app // https://github.com/aleclarson/vite-tsconfig-paths?tab=readme-ov-file#options diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts index d4d7f23895c1..c2e78e95d799 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts @@ -1,5 +1,5 @@ import { vitePlugin as remix } from '@remix-run/dev'; -import { sentryRemixVitePlugin } from '@sentry/remix'; +import Sentry from '@sentry/remix'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; @@ -9,7 +9,7 @@ export default defineConfig({ ignoredRouteFiles: ['**/.*'], serverModuleFormat: 'cjs', }), - sentryRemixVitePlugin(), + Sentry.sentryRemixVitePlugin(), tsconfigPaths(), ], }); diff --git a/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts b/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts index b128a147ff52..a2c4f0370dde 100644 --- a/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts @@ -1,5 +1,5 @@ import { vitePlugin as remix } from '@remix-run/dev'; -import { sentryRemixVitePlugin } from '@sentry/remix'; +import Sentry from '@sentry/remix'; import { hydrogen } from '@shopify/hydrogen/vite'; import { oxygen } from '@shopify/mini-oxygen/vite'; import { defineConfig } from 'vite'; @@ -17,7 +17,7 @@ export default defineConfig({ v3_throwAbortReason: true, }, }), - sentryRemixVitePlugin(), + Sentry.sentryRemixVitePlugin(), tsconfigPaths({ // The dev server config errors are not relevant to this test app // https://github.com/aleclarson/vite-tsconfig-paths?tab=readme-ov-file#options diff --git a/packages/remix/src/config/vite.ts b/packages/remix/src/config/vite.ts index 83b033104530..2e51753d1097 100644 --- a/packages/remix/src/config/vite.ts +++ b/packages/remix/src/config/vite.ts @@ -38,12 +38,12 @@ const MANIFEST_GLOBAL_KEY = '_sentryRemixRouteManifest' as const; * // vite.config.ts * import { defineConfig } from 'vite'; * import { vitePlugin as remix } from '@remix-run/dev'; - * import { sentryRemixVitePlugin } from '@sentry/remix'; + * import Sentry from '@sentry/remix'; * * export default defineConfig({ * plugins: [ * remix(), - * sentryRemixVitePlugin({ + * Sentry.sentryRemixVitePlugin({ * appDirPath: './app', * }), * ], diff --git a/packages/remix/test/config/vite.test.ts b/packages/remix/test/config/vite.test.ts index 2f3ccc5464ca..bd3baf56a68f 100644 --- a/packages/remix/test/config/vite.test.ts +++ b/packages/remix/test/config/vite.test.ts @@ -3,6 +3,7 @@ import * as os from 'os'; import * as path from 'path'; import type { Plugin, ResolvedConfig } from 'vite'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import Sentry from '../../src'; import { sentryRemixVitePlugin } from '../../src/config/vite'; describe('sentryRemixVitePlugin', () => { @@ -35,7 +36,7 @@ describe('sentryRemixVitePlugin', () => { describe('plugin configuration', () => { it('should return a valid Vite plugin with correct name', () => { - const plugin = sentryRemixVitePlugin(); + const plugin = Sentry.sentryRemixVitePlugin(); expect(plugin).toBeDefined(); expect(plugin.name).toBe('sentry-remix-route-manifest'); @@ -43,13 +44,13 @@ describe('sentryRemixVitePlugin', () => { }); it('should accept custom appDirPath option', () => { - const plugin = sentryRemixVitePlugin({ appDirPath: '/custom/path' }); + const plugin = Sentry.sentryRemixVitePlugin({ appDirPath: '/custom/path' }); expect(plugin).toBeDefined(); }); it('should work with no options', () => { - const plugin = sentryRemixVitePlugin(); + const plugin = Sentry.sentryRemixVitePlugin(); expect(plugin).toBeDefined(); }); @@ -62,9 +63,7 @@ describe('sentryRemixVitePlugin', () => { fs.writeFileSync(path.join(routesDir, 'about.tsx'), '// about'); fs.writeFileSync(path.join(routesDir, 'users.$id.tsx'), '// users'); - const plugin = sentryRemixVitePlugin() as Plugin & { - configResolved: (config: ResolvedConfig) => void; - }; + const plugin = Sentry.sentryRemixVitePlugin(); const mockConfig: Partial = { root: tempDir, @@ -83,9 +82,7 @@ describe('sentryRemixVitePlugin', () => { fs.writeFileSync(path.join(routesDir, 'index.tsx'), '// index'); fs.writeFileSync(path.join(routesDir, 'users.$id.tsx'), '// users'); - const plugin = sentryRemixVitePlugin() as Plugin & { - configResolved: (config: ResolvedConfig) => void; - }; + const plugin = Sentry.sentryRemixVitePlugin(); const mockConfig: Partial = { root: tempDir, @@ -101,9 +98,7 @@ describe('sentryRemixVitePlugin', () => { }); it('should handle errors gracefully and set empty manifest', () => { - const plugin = sentryRemixVitePlugin({ appDirPath: '/nonexistent/path' }) as Plugin & { - configResolved: (config: ResolvedConfig) => void; - }; + const plugin = Sentry.sentryRemixVitePlugin({ appDirPath: '/nonexistent/path' }); const mockConfig: Partial = { root: tempDir, @@ -124,9 +119,7 @@ describe('sentryRemixVitePlugin', () => { fs.mkdirSync(customRoutesDir, { recursive: true }); fs.writeFileSync(path.join(customRoutesDir, 'index.tsx'), '// index'); - const plugin = sentryRemixVitePlugin({ appDirPath: customAppDir }) as Plugin & { - configResolved: (config: ResolvedConfig) => void; - }; + const plugin = Sentry.sentryRemixVitePlugin({ appDirPath: customAppDir }); const mockConfig: Partial = { root: tempDir, @@ -144,13 +137,7 @@ describe('sentryRemixVitePlugin', () => { it('should inject manifest into HTML with tag', () => { fs.writeFileSync(path.join(routesDir, 'index.tsx'), '// index'); - const plugin = sentryRemixVitePlugin() as Plugin & { - configResolved: (config: ResolvedConfig) => void; - transformIndexHtml: { - order: string; - handler: (html: string) => string; - }; - }; + const plugin = Sentry.sentryRemixVitePlugin(); const mockConfig: Partial = { root: tempDir, From 0da9c5d659f793c61417713c55cd935244efcc3d Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Wed, 3 Dec 2025 13:09:44 +0100 Subject: [PATCH 42/59] chore: use latest rolldown beta 53 --- package.json | 2 +- yarn.lock | 280 +++++++++++++++++++++++++++------------------------ 2 files changed, 152 insertions(+), 130 deletions(-) diff --git a/package.json b/package.json index e8d42a6db975..60d112dc745e 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "https://pkg.pr.new/rolldown@ba60fcc", + "rolldown": "^1.0.0-beta.53", "size-limit": "~11.1.6", "ts-node": "10.9.1", "typescript": "~5.8.0", diff --git a/yarn.lock b/yarn.lock index 62865c4b9c6a..32b1dd8757bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2988,21 +2988,28 @@ lodash "^4.17.21" resolve "^1.20.0" -"@emnapi/core@^1.5.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.6.0.tgz#517f65d1c8270d5d5aa1aad660d5acb897430dca" - integrity sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg== +"@emnapi/core@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.7.1.tgz#3a79a02dbc84f45884a1806ebb98e5746bdfaac4" + integrity sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg== dependencies: "@emnapi/wasi-threads" "1.1.0" tslib "^2.4.0" -"@emnapi/runtime@^1.2.0", "@emnapi/runtime@^1.5.0": +"@emnapi/runtime@^1.2.0": version "1.6.0" resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.6.0.tgz#8fe297e0090f6e89a57a1f31f1c440bdbc3c01d8" integrity sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA== dependencies: tslib "^2.4.0" +"@emnapi/runtime@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.7.1.tgz#a73784e23f5d57287369c808197288b52276b791" + integrity sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA== + dependencies: + tslib "^2.4.0" + "@emnapi/wasi-threads@1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz#60b2102fddc9ccb78607e4a3cf8403ea69be41bf" @@ -5090,13 +5097,13 @@ dependencies: sparse-bitfield "^3.0.3" -"@napi-rs/wasm-runtime@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz#dcfea99a75f06209a235f3d941e3460a51e9b14c" - integrity sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw== +"@napi-rs/wasm-runtime@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.0.tgz#c0180393d7862cff0d412e3e1a7c3bd5ea6d9b2f" + integrity sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA== dependencies: - "@emnapi/core" "^1.5.0" - "@emnapi/runtime" "^1.5.0" + "@emnapi/core" "^1.7.1" + "@emnapi/runtime" "^1.7.1" "@tybys/wasm-util" "^0.10.1" "@nestjs/common@^10.0.0": @@ -6256,10 +6263,10 @@ dependencies: "@opentelemetry/core" "^2.0.0" -"@oxc-project/types@=0.99.0": - version "0.99.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.99.0.tgz#5f59db0ae50d0b7669771465cca22606a3bfe308" - integrity sha512-LLDEhXB7g1m5J+woRSgfKsFPS3LhR9xRhTeIoEBm5WrkwMxn6eZ0Ld0c0K5eHB57ChZX6I3uSmmLjZ8pcjlRcw== +"@oxc-project/types@=0.101.0": + version "0.101.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.101.0.tgz#5692200d09d6f87341eac3f8e70e403173c5283e" + integrity sha512-nuFhqlUzJX+gVIPPfuE6xurd4lST3mdcWOhyK/rZO0B9XWMKm79SuszIQEnSMmmDhq1DC8WWVYGVd+6F93o1gQ== "@parcel/watcher-android-arm64@2.5.1": version "2.5.1" @@ -6723,63 +6730,77 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@ba60fcc#3509961dc1d2e50852463d888984223ecf71d7b9" - -"@rolldown/binding-darwin-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@ba60fcc#0814114e7db0a149c5c5d764c501848320c068ba" - -"@rolldown/binding-darwin-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@ba60fcc#7a4ccf555976e8ac69ea228eb579164830516944" - -"@rolldown/binding-freebsd-x64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@ba60fcc#1dcf583f3a2769ccbb4b955fd4019b04278b8f15" - -"@rolldown/binding-linux-arm-gnueabihf@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@ba60fcc#d30db4e0b9c1c51fa0260952d9efbf80df50d06c" - -"@rolldown/binding-linux-arm64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@ba60fcc#5e03b9799cb2c38aeca2216c281fcd599e596376" - -"@rolldown/binding-linux-arm64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@ba60fcc#8c46f6d63b777f2383bf52768017ae96b5b1e247" - -"@rolldown/binding-linux-x64-gnu@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@ba60fcc#a971b25bcf3523fcfa81640a51c568d0a48b5d48" - -"@rolldown/binding-linux-x64-musl@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@ba60fcc#f54c18f11bf517f2d853094416c8b8b7753ce466" - -"@rolldown/binding-openharmony-arm64@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@ba60fcc#8c099cbb23c276e48dadb39eb59a3639684df680" - -"@rolldown/binding-wasm32-wasi@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@ba60fcc#df0aff158376060f4f05c633d625c76747d8b01c" - dependencies: - "@napi-rs/wasm-runtime" "^1.0.7" - -"@rolldown/binding-win32-arm64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@ba60fcc#38534b866c77d00353a51edd65606930dab9f07e" - -"@rolldown/binding-win32-x64-msvc@https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@ba60fcc#7ad976df6d7d8e2101ae18d9763ef4028a3c546a" - -"@rolldown/pluginutils@https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@ba60fcc#93ae206b5cc429284d190a4cc4254655bd775c5b" +"@rolldown/binding-android-arm64@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.53.tgz#3dfce34db89a71956b26affb296dddc2c7dfb728" + integrity sha512-Ok9V8o7o6YfSdTTYA/uHH30r3YtOxLD6G3wih/U9DO0ucBBFq8WPt/DslU53OgfteLRHITZny9N/qCUxMf9kjQ== + +"@rolldown/binding-darwin-arm64@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.53.tgz#d000b0cc5c5fec4032f13806b1ba42c018d7e81d" + integrity sha512-yIsKqMz0CtRnVa6x3Pa+mzTihr4Ty+Z6HfPbZ7RVbk1Uxnco4+CUn7Qbm/5SBol1JD/7nvY8rphAgyAi7Lj6Vg== + +"@rolldown/binding-darwin-x64@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.53.tgz#42cf05245d0a54b3df67307f0f93ac32e8322b5a" + integrity sha512-GTXe+mxsCGUnJOFMhfGWmefP7Q9TpYUseHvhAhr21nCTgdS8jPsvirb0tJwM3lN0/u/cg7bpFNa16fQrjKrCjQ== + +"@rolldown/binding-freebsd-x64@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.53.tgz#c4ee51d63e27298d5cafeb221ca976b1298b3586" + integrity sha512-9Tmp7bBvKqyDkMcL4e089pH3RsjD3SUungjmqWtyhNOxoQMh0fSmINTyYV8KXtE+JkxYMPWvnEt+/mfpVCkk8w== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.53.tgz#3ecf76c30ab45950d79eb5d38bf9d6d4877e1866" + integrity sha512-a1y5fiB0iovuzdbjUxa7+Zcvgv+mTmlGGC4XydVIsyl48eoxgaYkA3l9079hyTyhECsPq+mbr0gVQsFU11OJAQ== + +"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.53.tgz#d0ee79d5cf29e43aa7ac7b327626aee1c405a20b" + integrity sha512-bpIGX+ov9PhJYV+wHNXl9rzq4F0QvILiURn0y0oepbQx+7stmQsKA0DhPGwmhfvF856wq+gbM8L92SAa/CBcLg== + +"@rolldown/binding-linux-arm64-musl@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.53.tgz#2a6bd23ff647b916158100ce24a54b3d1856fb29" + integrity sha512-bGe5EBB8FVjHBR1mOLOPEFg1Lp3//7geqWkU5NIhxe+yH0W8FVrQ6WRYOap4SUTKdklD/dC4qPLREkMMQ855FA== + +"@rolldown/binding-linux-x64-gnu@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.53.tgz#5f1178cc3b9a19c83b5d49737f7774e98dde81fc" + integrity sha512-qL+63WKVQs1CMvFedlPt0U9PiEKJOAL/bsHMKUDS6Vp2Q+YAv/QLPu8rcvkfIMvQ0FPU2WL0aX4eWwF6e/GAnA== + +"@rolldown/binding-linux-x64-musl@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.53.tgz#91deaa186011af99d8b9934af180bffe4fae3d19" + integrity sha512-VGl9JIGjoJh3H8Mb+7xnVqODajBmrdOOb9lxWXdcmxyI+zjB2sux69br0hZJDTyLJfvBoYm439zPACYbCjGRmw== + +"@rolldown/binding-openharmony-arm64@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.53.tgz#44702518f6527d5578f4dd063b2ee85cb3c93a20" + integrity sha512-B4iIserJXuSnNzA5xBLFUIjTfhNy7d9sq4FUMQY3GhQWGVhS2RWWzzDnkSU6MUt7/aHUrep0CdQfXUJI9D3W7A== + +"@rolldown/binding-wasm32-wasi@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.53.tgz#82f5b480895960df59c2a3dc32874b403b698439" + integrity sha512-BUjAEgpABEJXilGq/BPh7jeU3WAJ5o15c1ZEgHaDWSz3LB881LQZnbNJHmUiM4d1JQWMYYyR1Y490IBHi2FPJg== + dependencies: + "@napi-rs/wasm-runtime" "^1.1.0" + +"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.53.tgz#489c43aaa7a6088f17ef8d1124b41c4489f40eb9" + integrity sha512-s27uU7tpCWSjHBnxyVXHt3rMrQdJq5MHNv3BzsewCIroIw3DJFjMH1dzCPPMUFxnh1r52Nf9IJ/eWp6LDoyGcw== + +"@rolldown/binding-win32-x64-msvc@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.53.tgz#78bc08543b916082271d7a19b310e24ea6821da7" + integrity sha512-cjWL/USPJ1g0en2htb4ssMjIycc36RvdQAx1WlXnS6DpULswiUTVXPDesTifSKYSyvx24E0YqQkEm0K/M2Z/AA== + +"@rolldown/pluginutils@1.0.0-beta.53": + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz#c57a5234ae122671aff6fe72e673a7ed90f03f87" + integrity sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ== "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -7171,45 +7192,45 @@ magic-string "0.30.8" unplugin "1.0.1" -"@sentry/cli-darwin@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.56.0.tgz#53fa7de2c26f6450d5454ba997c26c2471d112c8" - integrity sha512-CzXFWbv3GrjU0gFlUM9jt0fvJmyo5ktty4HGxRFfS/eMC6xW58Gg/sEeMVEkdvk5osKooX/YEgfLBdo4zvuWDA== - -"@sentry/cli-linux-arm64@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.56.0.tgz#5041c8877416a607ddae87b948cbe6c9e86d7f54" - integrity sha512-91d5ZlC989j/t+TXor/glPyx6SnLFS/SlJ9fIrHIQohdGKyWWSFb4VKUan8Ok3GYu9SUzKTMByryIOoYEmeGVw== - -"@sentry/cli-linux-arm@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.56.0.tgz#c7875cf5f76e254ff1c0f49cf99d8c26b6ec4959" - integrity sha512-vQCCMhZLugPmr25XBoP94dpQsFa110qK5SBUVJcRpJKyzMZd+6ueeHNslq2mB0OF4BwL1qd/ZDIa4nxa1+0rjQ== - -"@sentry/cli-linux-i686@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.56.0.tgz#aeaff32f9f0d405e413373223e406d66b1d56176" - integrity sha512-MZzXuq1Q/TktN81DUs6XSBU752pG3XWSJdZR+NCStIg3l8s3O/Pwh6OcDHTYqgwsYJaGBpA0fP2Afl5XeSAUNg== - -"@sentry/cli-linux-x64@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.56.0.tgz#3dd4ef83c2d710c3e6f5d078d05391fda2ce23ee" - integrity sha512-INOO2OQ90Y3UzYgHRdrHdKC/0es3YSHLv0iNNgQwllL0YZihSVNYSSrZqcPq8oSDllEy9Vt9oOm/7qEnUP2Kfw== - -"@sentry/cli-win32-arm64@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.56.0.tgz#2113bcac721970ca4dbd04a6dab37dfb0ec147d2" - integrity sha512-eUvkVk9KK01q6/qyugQPh7dAxqFPbgOa62QAoSwo11WQFYc3NPgJLilFWLQo+nahHGYKh6PKuCJ5tcqnQq5Hkg== - -"@sentry/cli-win32-i686@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.56.0.tgz#bd8e646f4b5a98aa80bc9751a6e0db6514a935f5" - integrity sha512-mpCA8hKXuvT17bl1H/54KOa5i+02VBBHVlOiP3ltyBuQUqfvX/30Zl/86Spy+ikodovZWAHv5e5FpyXbY1/mPw== - -"@sentry/cli-win32-x64@2.56.0": - version "2.56.0" - resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.56.0.tgz#1acc7ca166ed531075a31b2bc1700294747da6b8" - integrity sha512-UV0pXNls+/ViAU/3XsHLLNEHCsRYaGEwJdY3HyGIufSlglxrX6BVApkV9ziGi4WAxcJWLjQdfcEs6V5B+wBy0A== +"@sentry/cli-darwin@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.58.2.tgz#61f6f836de8ac2e1992ccadc0368bc403f23c609" + integrity sha512-MArsb3zLhA2/cbd4rTm09SmTpnEuZCoZOpuZYkrpDw1qzBVJmRFA1W1hGAQ9puzBIk/ubY3EUhhzuU3zN2uD6w== + +"@sentry/cli-linux-arm64@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.58.2.tgz#3a7a9c83e31b482599ce08d93d5ba6c8a1a44c7f" + integrity sha512-ay3OeObnbbPrt45cjeUyQjsx5ain1laj1tRszWj37NkKu55NZSp4QCg1gGBZ0gBGhckI9nInEsmKtix00alw2g== + +"@sentry/cli-linux-arm@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.58.2.tgz#f9bef6802cb707d1603a02e0727fed22d834e133" + integrity sha512-HU9lTCzcHqCz/7Mt5n+cv+nFuJdc1hGD2h35Uo92GgxX3/IujNvOUfF+nMX9j6BXH6hUt73R5c0Ycq9+a3Parg== + +"@sentry/cli-linux-i686@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.58.2.tgz#a3e6cb24d314f2d948b96457731f9345dc8370f9" + integrity sha512-CN9p0nfDFsAT1tTGBbzOUGkIllwS3hygOUyTK7LIm9z+UHw5uNgNVqdM/3Vg+02ymjkjISNB3/+mqEM5osGXdA== + +"@sentry/cli-linux-x64@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.58.2.tgz#8e071e11b03524b08d369075f3203b05529ca233" + integrity sha512-oX/LLfvWaJO50oBVOn4ZvG2SDWPq0MN8SV9eg5tt2nviq+Ryltfr7Rtoo+HfV+eyOlx1/ZXhq9Wm7OT3cQuz+A== + +"@sentry/cli-win32-arm64@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.58.2.tgz#af109a165c25245458a6c58b79a91c639b1df1b0" + integrity sha512-+cl3x2HPVMpoSVGVM1IDWlAEREZrrVQj4xBb0TRKII7g3hUxRsAIcsrr7+tSkie++0FuH4go/b5fGAv51OEF3w== + +"@sentry/cli-win32-i686@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.58.2.tgz#53038b43b2c14c419fb71586f7448e7580ed4e39" + integrity sha512-omFVr0FhzJ8oTJSg1Kf+gjLgzpYklY0XPfLxZ5iiMiYUKwF5uo1RJRdkUOiEAv0IqpUKnmKcmVCLaDxsWclB7Q== + +"@sentry/cli-win32-x64@2.58.2": + version "2.58.2" + resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.58.2.tgz#b4c81a3c163344ae8b27523a0391e7f99c533f41" + integrity sha512-2NAFs9UxVbRztQbgJSP5i8TB9eJQ7xraciwj/93djrSMHSEbJ0vC47TME0iifgvhlHMs5vqETOKJtfbbpQAQFA== "@sentry/cli@^2.51.0", "@sentry/cli@^2.57.0", "@sentry/cli@^2.58.2": version "2.58.2" @@ -27204,26 +27225,27 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -"rolldown@https://pkg.pr.new/rolldown@ba60fcc": - version "1.0.0-beta.52" - resolved "https://pkg.pr.new/rolldown@ba60fcc#4f056aac3cfb633dfc6699b62b39b2f428631dbf" +rolldown@^1.0.0-beta.53: + version "1.0.0-beta.53" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.53.tgz#b1a102a1265d6dcce9ae36f37d6f3aca05bb8ed2" + integrity sha512-Qd9c2p0XKZdgT5AYd+KgAMggJ8ZmCs3JnS9PTMWkyUfteKlfmKtxJbWTHkVakxwXs1Ub7jrRYVeFeF7N0sQxyw== dependencies: - "@oxc-project/types" "=0.99.0" - "@rolldown/pluginutils" "https://pkg.pr.new/rolldown/rolldown/@rolldown/pluginutils@ba60fcc" + "@oxc-project/types" "=0.101.0" + "@rolldown/pluginutils" "1.0.0-beta.53" optionalDependencies: - "@rolldown/binding-android-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-android-arm64@ba60fcc" - "@rolldown/binding-darwin-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-arm64@ba60fcc" - "@rolldown/binding-darwin-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-darwin-x64@ba60fcc" - "@rolldown/binding-freebsd-x64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-freebsd-x64@ba60fcc" - "@rolldown/binding-linux-arm-gnueabihf" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm-gnueabihf@ba60fcc" - "@rolldown/binding-linux-arm64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-gnu@ba60fcc" - "@rolldown/binding-linux-arm64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-arm64-musl@ba60fcc" - "@rolldown/binding-linux-x64-gnu" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-gnu@ba60fcc" - "@rolldown/binding-linux-x64-musl" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-linux-x64-musl@ba60fcc" - "@rolldown/binding-openharmony-arm64" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-openharmony-arm64@ba60fcc" - "@rolldown/binding-wasm32-wasi" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-wasm32-wasi@ba60fcc" - "@rolldown/binding-win32-arm64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-arm64-msvc@ba60fcc" - "@rolldown/binding-win32-x64-msvc" "https://pkg.pr.new/rolldown/rolldown/@rolldown/binding-win32-x64-msvc@ba60fcc" + "@rolldown/binding-android-arm64" "1.0.0-beta.53" + "@rolldown/binding-darwin-arm64" "1.0.0-beta.53" + "@rolldown/binding-darwin-x64" "1.0.0-beta.53" + "@rolldown/binding-freebsd-x64" "1.0.0-beta.53" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.53" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.53" + "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.53" + "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.53" + "@rolldown/binding-linux-x64-musl" "1.0.0-beta.53" + "@rolldown/binding-openharmony-arm64" "1.0.0-beta.53" + "@rolldown/binding-wasm32-wasi" "1.0.0-beta.53" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.53" + "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.53" rollup-plugin-dts@^6.0.0: version "6.1.1" From b81f0d34614cf47268e03716f09a9280f0c76189 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 12:33:55 +0100 Subject: [PATCH 43/59] chore: dedup yarn --- yarn.lock | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 32b1dd8757bc..50242e37186e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2996,14 +2996,7 @@ "@emnapi/wasi-threads" "1.1.0" tslib "^2.4.0" -"@emnapi/runtime@^1.2.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.6.0.tgz#8fe297e0090f6e89a57a1f31f1c440bdbc3c01d8" - integrity sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA== - dependencies: - tslib "^2.4.0" - -"@emnapi/runtime@^1.7.1": +"@emnapi/runtime@^1.2.0", "@emnapi/runtime@^1.7.1": version "1.7.1" resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.7.1.tgz#a73784e23f5d57287369c808197288b52276b791" integrity sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA== From c54d7e3855071e598dbe90f97ac4593d14c9d1c1 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 12:49:44 +0100 Subject: [PATCH 44/59] fix: more remix fixes --- packages/remix/test/config/vite.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/remix/test/config/vite.test.ts b/packages/remix/test/config/vite.test.ts index bd3baf56a68f..0a64be663748 100644 --- a/packages/remix/test/config/vite.test.ts +++ b/packages/remix/test/config/vite.test.ts @@ -3,7 +3,7 @@ import * as os from 'os'; import * as path from 'path'; import type { Plugin, ResolvedConfig } from 'vite'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; -import Sentry from '../../src'; +import * as Sentry from '../..'; import { sentryRemixVitePlugin } from '../../src/config/vite'; describe('sentryRemixVitePlugin', () => { From 07e0b142dc3aa1c4774c6420857dca056d1ec87b Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 15:12:08 +0100 Subject: [PATCH 45/59] fix: module compat for remix esm --- packages/remix/package.json | 6 +++- packages/remix/src/server/instrumentServer.ts | 28 +++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/packages/remix/package.json b/packages/remix/package.json index 555ef1fa1255..0be4e77c7d66 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -29,7 +29,11 @@ "require": "./build/cjs/index.client.js", "default": "./build/cjs/index.client.js" }, - "node": "./build/cjs/index.server.js", + "node": { + "import": "./build/esm/index.server.js", + "require": "./build/cjs/index.server.js", + "default": "./build/cjs/index.server.js" + }, "worker": { "import": "./build/esm/cloudflare/index.js", "require": "./build/cjs/cloudflare/index.js", diff --git a/packages/remix/src/server/instrumentServer.ts b/packages/remix/src/server/instrumentServer.ts index 7817cd93bf4f..9ac0b31fc97f 100644 --- a/packages/remix/src/server/instrumentServer.ts +++ b/packages/remix/src/server/instrumentServer.ts @@ -35,6 +35,7 @@ import { winterCGRequestToRequestData, withIsolationScope, } from '@sentry/core'; +import { createRequire } from 'module'; import { DEBUG_BUILD } from '../utils/debug-build'; import { createRoutes, getTransactionName } from '../utils/utils'; import { extractData, isResponse, json } from '../utils/vendor/response'; @@ -480,14 +481,37 @@ export const makeWrappedCreateRequestHandler = (options?: { instrumentTracing?: }; }; +/** + * Helper to load a module in both CJS and ESM contexts. + * In ESM, we use createRequire to create a require function. + * In CJS, we use the standard loadModule. + */ +function loadModuleCompat(moduleName: string): T | undefined { + // Check if we're in ESM context (module doesn't exist) + if (typeof module === 'undefined') { + // ESM context - use createRequire to get a require function + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const require = createRequire(import.meta.url); + return require(moduleName) as T; + } catch { + return undefined; + } + } else { + // CJS context - use loadModule with module reference + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return loadModule(moduleName, module as any); + } +} + /** * Monkey-patch Remix's `createRequestHandler` from `@remix-run/server-runtime` * which Remix Adapters (https://remix.run/docs/en/v1/api/remix) use underneath. */ export function instrumentServer(options?: { instrumentTracing?: boolean }): void { - const pkg = loadModule<{ + const pkg = loadModuleCompat<{ createRequestHandler: CreateRequestHandlerFunction; - }>('@remix-run/server-runtime', module); + }>('@remix-run/server-runtime'); if (!pkg) { DEBUG_BUILD && debug.warn('Remix SDK was unable to require `@remix-run/server-runtime` package.'); From 12dce6b2f0d0a080530426399032445470f79183 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 15:14:24 +0100 Subject: [PATCH 46/59] ref: restore no longer needed changes to remix vite configs --- .../vite.config.ts | 4 ++-- .../create-remix-app-express/vite.config.ts | 4 ++-- .../create-remix-app-v2/vite.config.ts | 4 ++-- .../remix-hydrogen/vite.config.ts | 4 ++-- packages/remix/rollup.npm.config.mjs | 3 --- packages/remix/src/config/vite.ts | 4 ++-- packages/remix/test/config/vite.test.ts | 17 ++++++++--------- .../test/integration/instrument.server.mjs | 2 +- packages/remix/test/integration/vite.config.ts | 4 ++-- 9 files changed, 21 insertions(+), 25 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts index de3a424674cf..6ebb8eacc6a5 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express-vite-dev/vite.config.ts @@ -1,6 +1,6 @@ import { installGlobals } from '@remix-run/node'; import { vitePlugin as remix } from '@remix-run/dev'; -import Sentry from '@sentry/remix'; +import { sentryRemixVitePlugin } from '@sentry/remix'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; @@ -9,7 +9,7 @@ installGlobals(); export default defineConfig({ plugins: [ remix(), - Sentry.sentryRemixVitePlugin(), + sentryRemixVitePlugin(), tsconfigPaths({ // The dev server config errors are not relevant to this test app // https://github.com/aleclarson/vite-tsconfig-paths?tab=readme-ov-file#options diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts index de3a424674cf..6ebb8eacc6a5 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-express/vite.config.ts @@ -1,6 +1,6 @@ import { installGlobals } from '@remix-run/node'; import { vitePlugin as remix } from '@remix-run/dev'; -import Sentry from '@sentry/remix'; +import { sentryRemixVitePlugin } from '@sentry/remix'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; @@ -9,7 +9,7 @@ installGlobals(); export default defineConfig({ plugins: [ remix(), - Sentry.sentryRemixVitePlugin(), + sentryRemixVitePlugin(), tsconfigPaths({ // The dev server config errors are not relevant to this test app // https://github.com/aleclarson/vite-tsconfig-paths?tab=readme-ov-file#options diff --git a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts index c2e78e95d799..d4d7f23895c1 100644 --- a/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/create-remix-app-v2/vite.config.ts @@ -1,5 +1,5 @@ import { vitePlugin as remix } from '@remix-run/dev'; -import Sentry from '@sentry/remix'; +import { sentryRemixVitePlugin } from '@sentry/remix'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; @@ -9,7 +9,7 @@ export default defineConfig({ ignoredRouteFiles: ['**/.*'], serverModuleFormat: 'cjs', }), - Sentry.sentryRemixVitePlugin(), + sentryRemixVitePlugin(), tsconfigPaths(), ], }); diff --git a/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts b/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts index a2c4f0370dde..b128a147ff52 100644 --- a/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts +++ b/dev-packages/e2e-tests/test-applications/remix-hydrogen/vite.config.ts @@ -1,5 +1,5 @@ import { vitePlugin as remix } from '@remix-run/dev'; -import Sentry from '@sentry/remix'; +import { sentryRemixVitePlugin } from '@sentry/remix'; import { hydrogen } from '@shopify/hydrogen/vite'; import { oxygen } from '@shopify/mini-oxygen/vite'; import { defineConfig } from 'vite'; @@ -17,7 +17,7 @@ export default defineConfig({ v3_throwAbortReason: true, }, }), - Sentry.sentryRemixVitePlugin(), + sentryRemixVitePlugin(), tsconfigPaths({ // The dev server config errors are not relevant to this test app // https://github.com/aleclarson/vite-tsconfig-paths?tab=readme-ov-file#options diff --git a/packages/remix/rollup.npm.config.mjs b/packages/remix/rollup.npm.config.mjs index 514cc8872d0c..bd26bd1b06c2 100644 --- a/packages/remix/rollup.npm.config.mjs +++ b/packages/remix/rollup.npm.config.mjs @@ -15,9 +15,6 @@ export default [ output: { // make it so Rollup calms down about the fact that we're combining default and named exports exports: 'named', - // Always include __esModule marker for proper CJS/ESM interop - // This ensures both `import * as Sentry` and `import Sentry` work correctly - esModule: true, }, }, }), diff --git a/packages/remix/src/config/vite.ts b/packages/remix/src/config/vite.ts index 2e51753d1097..83b033104530 100644 --- a/packages/remix/src/config/vite.ts +++ b/packages/remix/src/config/vite.ts @@ -38,12 +38,12 @@ const MANIFEST_GLOBAL_KEY = '_sentryRemixRouteManifest' as const; * // vite.config.ts * import { defineConfig } from 'vite'; * import { vitePlugin as remix } from '@remix-run/dev'; - * import Sentry from '@sentry/remix'; + * import { sentryRemixVitePlugin } from '@sentry/remix'; * * export default defineConfig({ * plugins: [ * remix(), - * Sentry.sentryRemixVitePlugin({ + * sentryRemixVitePlugin({ * appDirPath: './app', * }), * ], diff --git a/packages/remix/test/config/vite.test.ts b/packages/remix/test/config/vite.test.ts index 0a64be663748..d85f995924d0 100644 --- a/packages/remix/test/config/vite.test.ts +++ b/packages/remix/test/config/vite.test.ts @@ -3,7 +3,6 @@ import * as os from 'os'; import * as path from 'path'; import type { Plugin, ResolvedConfig } from 'vite'; import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; -import * as Sentry from '../..'; import { sentryRemixVitePlugin } from '../../src/config/vite'; describe('sentryRemixVitePlugin', () => { @@ -36,7 +35,7 @@ describe('sentryRemixVitePlugin', () => { describe('plugin configuration', () => { it('should return a valid Vite plugin with correct name', () => { - const plugin = Sentry.sentryRemixVitePlugin(); + const plugin = sentryRemixVitePlugin(); expect(plugin).toBeDefined(); expect(plugin.name).toBe('sentry-remix-route-manifest'); @@ -44,13 +43,13 @@ describe('sentryRemixVitePlugin', () => { }); it('should accept custom appDirPath option', () => { - const plugin = Sentry.sentryRemixVitePlugin({ appDirPath: '/custom/path' }); + const plugin = sentryRemixVitePlugin({ appDirPath: '/custom/path' }); expect(plugin).toBeDefined(); }); it('should work with no options', () => { - const plugin = Sentry.sentryRemixVitePlugin(); + const plugin = sentryRemixVitePlugin(); expect(plugin).toBeDefined(); }); @@ -63,7 +62,7 @@ describe('sentryRemixVitePlugin', () => { fs.writeFileSync(path.join(routesDir, 'about.tsx'), '// about'); fs.writeFileSync(path.join(routesDir, 'users.$id.tsx'), '// users'); - const plugin = Sentry.sentryRemixVitePlugin(); + const plugin = sentryRemixVitePlugin(); const mockConfig: Partial = { root: tempDir, @@ -82,7 +81,7 @@ describe('sentryRemixVitePlugin', () => { fs.writeFileSync(path.join(routesDir, 'index.tsx'), '// index'); fs.writeFileSync(path.join(routesDir, 'users.$id.tsx'), '// users'); - const plugin = Sentry.sentryRemixVitePlugin(); + const plugin = sentryRemixVitePlugin(); const mockConfig: Partial = { root: tempDir, @@ -98,7 +97,7 @@ describe('sentryRemixVitePlugin', () => { }); it('should handle errors gracefully and set empty manifest', () => { - const plugin = Sentry.sentryRemixVitePlugin({ appDirPath: '/nonexistent/path' }); + const plugin = sentryRemixVitePlugin({ appDirPath: '/nonexistent/path' }); const mockConfig: Partial = { root: tempDir, @@ -119,7 +118,7 @@ describe('sentryRemixVitePlugin', () => { fs.mkdirSync(customRoutesDir, { recursive: true }); fs.writeFileSync(path.join(customRoutesDir, 'index.tsx'), '// index'); - const plugin = Sentry.sentryRemixVitePlugin({ appDirPath: customAppDir }); + const plugin = sentryRemixVitePlugin({ appDirPath: customAppDir }); const mockConfig: Partial = { root: tempDir, @@ -137,7 +136,7 @@ describe('sentryRemixVitePlugin', () => { it('should inject manifest into HTML with tag', () => { fs.writeFileSync(path.join(routesDir, 'index.tsx'), '// index'); - const plugin = Sentry.sentryRemixVitePlugin(); + const plugin = sentryRemixVitePlugin(); const mockConfig: Partial = { root: tempDir, diff --git a/packages/remix/test/integration/instrument.server.mjs b/packages/remix/test/integration/instrument.server.mjs index 70a9d9c8a4d1..5598d81af581 100644 --- a/packages/remix/test/integration/instrument.server.mjs +++ b/packages/remix/test/integration/instrument.server.mjs @@ -1,4 +1,4 @@ -import Sentry from '@sentry/remix'; +import * as Sentry from '@sentry/remix'; Sentry.init({ dsn: 'https://public@dsn.ingest.sentry.io/1337', diff --git a/packages/remix/test/integration/vite.config.ts b/packages/remix/test/integration/vite.config.ts index 03f1abeb5d3a..5355e209498f 100644 --- a/packages/remix/test/integration/vite.config.ts +++ b/packages/remix/test/integration/vite.config.ts @@ -1,6 +1,6 @@ import { vitePlugin as remix } from '@remix-run/dev'; import { defineConfig, Plugin } from 'vite'; -import Sentry from '@sentry/remix'; +import { sentryRemixVitePlugin } from '@sentry/remix'; import path from 'path'; // Custom plugin to resolve @sentry/remix to ESM builds for Vite @@ -37,6 +37,6 @@ export default defineConfig({ v3_lazyRouteDiscovery: true, }, }), - Sentry.sentryRemixVitePlugin(), + sentryRemixVitePlugin(), ], }); From 8c7521a4910bcae0145655adb54f45a4675cc4a7 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 17:30:29 +0100 Subject: [PATCH 47/59] chore: implement a custom transport for remix tests --- .../test/integration/instrument.server.mjs | 28 +++ .../integration/test/server/utils/helpers.ts | 209 ++++++++++++------ 2 files changed, 173 insertions(+), 64 deletions(-) diff --git a/packages/remix/test/integration/instrument.server.mjs b/packages/remix/test/integration/instrument.server.mjs index 5598d81af581..a7f0f1eb8474 100644 --- a/packages/remix/test/integration/instrument.server.mjs +++ b/packages/remix/test/integration/instrument.server.mjs @@ -1,7 +1,35 @@ import * as Sentry from '@sentry/remix'; +import { createTransport } from '@sentry/core'; + +// Global storage for captured envelopes - test helpers will read from this +globalThis.__SENTRY_TEST_ENVELOPES__ = globalThis.__SENTRY_TEST_ENVELOPES__ || []; + +// Create a custom transport that captures envelopes instead of sending them +function makeTestTransport(options) { + function makeRequest(request) { + // Parse the serialized envelope body the same way the test helper's parseEnvelope does + // The body is a serialized string with newline-separated JSON lines + const bodyStr = typeof request.body === 'string' ? request.body : new TextDecoder().decode(request.body); + // Split by newlines and parse each line as JSON - this matches test helper format + const envelope = bodyStr + .split('\n') + .filter(line => line.trim()) + .map(e => JSON.parse(e)); + globalThis.__SENTRY_TEST_ENVELOPES__.push(envelope); + + // Return a successful response + return Promise.resolve({ + statusCode: 200, + headers: {}, + }); + } + + return createTransport(options, makeRequest); +} Sentry.init({ dsn: 'https://public@dsn.ingest.sentry.io/1337', tracesSampleRate: 1, tracePropagationTargets: ['example.org'], + transport: makeTestTransport, }); diff --git a/packages/remix/test/integration/test/server/utils/helpers.ts b/packages/remix/test/integration/test/server/utils/helpers.ts index b338b783bac0..f042ce07b374 100644 --- a/packages/remix/test/integration/test/server/utils/helpers.ts +++ b/packages/remix/test/integration/test/server/utils/helpers.ts @@ -1,6 +1,7 @@ import * as http from 'http'; import { AddressInfo } from 'net'; import * as path from 'path'; +import { fileURLToPath } from 'url'; import { createRequestHandler } from '@remix-run/express'; import { debug } from '@sentry/core'; import type { EnvelopeItemType, Event, TransactionEvent } from '@sentry/core'; @@ -12,7 +13,6 @@ import express from 'express'; import type { Express } from 'express'; import type { HttpTerminator } from 'http-terminator'; import { createHttpTerminator } from 'http-terminator'; -import nock from 'nock'; type DataCollectorOptions = { // Optional custom URL @@ -107,15 +107,25 @@ class TestEnv { ? [options.envelopeType] : options.envelopeType || (['event'] as EnvelopeItemType[]); + // Use a ref to capture startIndex right before making the request + // The claimed indices mechanism and stopping at count will ensure parallel requests don't interfere + const startIndexRef = { startIndex: null as number | null }; const resProm = this.setupNock( options.count || 1, typeof options.endServer === 'undefined' ? true : options.endServer, envelopeTypeArray, + startIndexRef, ); - // eslint-disable-next-line @typescript-eslint/no-floating-promises - makeRequest(options.method, options.url || this.url, this._axiosConfig); - return resProm; + // Capture startIndex right before making the request + const globalEnvelopesArray = (globalThis as any).__SENTRY_TEST_ENVELOPES__ || []; + startIndexRef.startIndex = globalEnvelopesArray.length; + // Wait for the request to complete so Sentry has time to capture events + await makeRequest(options.method, options.url || this.url, this._axiosConfig); + // Flush Sentry events to ensure they're sent to the transport + await Sentry.flush(2000); + const result = await resProm; + return result; } /** @@ -166,51 +176,104 @@ class TestEnv { count: number, endServer: boolean, envelopeType: EnvelopeItemType[], + startIndexRef?: { startIndex: number | null }, ): Promise[][]> { - return new Promise(resolve => { + return new Promise((resolve, reject) => { const envelopes: Record[][] = []; - const mock = nock('https://dsn.ingest.sentry.io') - .persist() - .post('/api/1337/envelope/', body => { - const envelope = parseEnvelope(body); + let timeoutId: NodeJS.Timeout | null = null; + let checkInterval: NodeJS.Timeout | null = null; + + // Track the starting length to only count envelopes added after the request is made + // If startIndexRef is provided, use it (set right before request); otherwise capture now + let startIndex: number; + if (startIndexRef) { + // Wait for startIndex to be set (it will be set right before request is made) + const getStartIndex = () => { + if (startIndexRef.startIndex === null) { + const globalEnvelopesArray = (globalThis as any).__SENTRY_TEST_ENVELOPES__ || []; + return globalEnvelopesArray.length; + } + return startIndexRef.startIndex; + }; + startIndex = getStartIndex(); + } else { + const globalEnvelopesArray = (globalThis as any).__SENTRY_TEST_ENVELOPES__ || []; + startIndex = globalEnvelopesArray.length; + } - if (envelopeType.includes(envelope[1]?.type as EnvelopeItemType)) { - envelopes.push(envelope); - } else { - return false; + // Use a global Set to track which envelope indices have been claimed + // This prevents parallel setupNock instances from matching the same envelopes + if (!(globalThis as any).__SENTRY_TEST_CLAIMED_ENVELOPE_INDICES__) { + (globalThis as any).__SENTRY_TEST_CLAIMED_ENVELOPE_INDICES__ = new Set(); + } + const claimedIndices = (globalThis as any).__SENTRY_TEST_CLAIMED_ENVELOPE_INDICES__ as Set; + + // Poll for envelopes from the custom transport + const checkForEnvelopes = () => { + // If using ref, wait until it's set (set right before request is made) + if (startIndexRef && startIndexRef.startIndex === null) { + return; // Don't check yet, startIndex hasn't been set + } + + const globalEnvelopes = (globalThis as any).__SENTRY_TEST_ENVELOPES__ || []; + + // Use the ref value if provided, otherwise use the initial startIndex + const currentStartIndex = startIndexRef?.startIndex ?? startIndex; + + // Only check envelopes that were added after the request started + // Check each envelope by its index in the global array + // Stop once we have enough envelopes to avoid claiming more than needed + for (let i = currentStartIndex; i < globalEnvelopes.length && envelopes.length < count; i++) { + // Skip if this envelope index has already been claimed by another setupNock + if (claimedIndices.has(i)) { + continue; } - if (count === envelopes.length) { - nock.removeInterceptor(mock); - - if (endServer) { - // Cleaning nock only before the server is closed, - // not to break tests that use simultaneous requests to the server. - // Ex: Remix scope bleed tests. - nock.cleanAll(); - - // Abort all pending requests to nock to prevent hanging / flakes. - // See: https://github.com/nock/nock/issues/1118#issuecomment-544126948 - nock.abortPendingRequests(); - - this._closeServer() - .catch(e => { - debug.warn(e); - }) - .finally(() => { - resolve(envelopes); - }); - } else { - resolve(envelopes); + const envelope = globalEnvelopes[i]; + // The parsed envelope format is [header, itemHeader, itemPayload] + // where itemHeader has a 'type' property + const itemHeader = envelope[1]; + if (itemHeader && envelopeType.includes(itemHeader.type as EnvelopeItemType)) { + // Check if we've already added this envelope to our local array + if (!envelopes.includes(envelope)) { + // Claim this envelope index so other parallel setupNock instances don't match it + claimedIndices.add(i); + envelopes.push(envelope); + // Stop if we have enough envelopes + if (envelopes.length >= count) { + break; + } } } + } - return true; - }); + if (count === envelopes.length) { + if (timeoutId) clearTimeout(timeoutId); + if (checkInterval) clearInterval(checkInterval); + + if (endServer) { + this._closeServer() + .catch(e => { + debug.warn(e); + }) + .finally(() => { + resolve(envelopes); + }); + } else { + resolve(envelopes); + } + } + }; - mock - .query(true) // accept any query params - used for sentry_key param - .reply(200); + // Check immediately and then poll every 50ms + checkForEnvelopes(); + checkInterval = setInterval(checkForEnvelopes, 50); + + // Add a timeout to detect if Sentry requests never arrive + timeoutId = setTimeout(() => { + if (checkInterval) clearInterval(checkInterval); + reject(new Error(`Timeout waiting for Sentry envelopes. Expected ${count}, got ${envelopes.length}`)); + }, 5000); }); } @@ -224,25 +287,27 @@ class TestEnv { envelopeType: EnvelopeItemType | EnvelopeItemType[]; }): Promise { return new Promise(resolve => { - let reqCount = 0; + const envelopeTypeArray = + typeof options.envelopeType === 'string' ? [options.envelopeType] : options.envelopeType; - const mock = nock('https://dsn.ingest.sentry.io') - .persist() - .post('/api/1337/envelope/', body => { - const envelope = parseEnvelope(body); + // Track the starting length to only count envelopes added after this call + const globalEnvelopesArray = (globalThis as any).__SENTRY_TEST_ENVELOPES__ || []; + const startIndex = globalEnvelopesArray.length; - if (options.envelopeType.includes(envelope[1]?.type as EnvelopeItemType)) { + setTimeout(() => { + const globalEnvelopes = (globalThis as any).__SENTRY_TEST_ENVELOPES__ || []; + // Only count envelopes that were added after this call started + const newEnvelopes = globalEnvelopes.slice(startIndex); + let reqCount = 0; + + for (const envelope of newEnvelopes) { + // The parsed envelope format is [header, itemHeader, itemPayload] + // where itemHeader has a 'type' property + const itemHeader = envelope[1]; + if (itemHeader && envelopeTypeArray.includes(itemHeader.type as EnvelopeItemType)) { reqCount++; - return true; } - - return false; - }); - - setTimeout(() => { - nock.removeInterceptor(mock); - - nock.cleanAll(); + } // eslint-disable-next-line @typescript-eslint/no-floating-promises this._closeServer().then(() => { @@ -266,20 +331,36 @@ export class RemixTestEnv extends TestEnv { } public static async init(): Promise { - let serverPort; - const server = await new Promise(async resolve => { - const app = express(); + const app = express(); - // Vite builds to build/server/index.js instead of build/index.js - app.all('*', createRequestHandler({ build: await import('../../../build/server/index.js') })); + // Import the build module dynamically + const __dirname = path.dirname(fileURLToPath(import.meta.url)); + const buildPath = path.resolve(__dirname, '../../../build/server/index.js'); + const build = await import(buildPath); + const handler = createRequestHandler({ build }); + + app.all('*', async (req, res, next) => { + try { + await handler(req, res); + } catch (e) { + next(e); + } + }); + + return new Promise((resolve, reject) => { const server = app.listen(0, () => { - serverPort = (server.address() as AddressInfo).port; - resolve(server); + const address = server.address(); + if (address && typeof address === 'object') { + resolve(new RemixTestEnv(server, `http://localhost:${address.port}`)); + } else { + server.close(); + reject(new Error('Failed to start server: could not determine port')); + } }); - }); - return new RemixTestEnv(server, `http://localhost:${serverPort}`); + server.on('error', reject); + }); } } From 81791e2bd94a0fcdcdf55c92fcc69e41cfde80bc Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 19:48:23 +0100 Subject: [PATCH 48/59] chore: remove strict key --- dev-packages/rollup-utils/bundleHelpers.mjs | 1 - packages/replay-internal/rollup.npm.config.mjs | 1 - 2 files changed, 2 deletions(-) diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index d8931fd3a786..558a7070da15 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -106,7 +106,6 @@ export function makeBaseBundleConfig(options) { entryFileNames: outputFileBase, dir: 'build', sourcemap: true, - strict: false, esModule: false, }, treeshake: treeShakePreset('smallest'), diff --git a/packages/replay-internal/rollup.npm.config.mjs b/packages/replay-internal/rollup.npm.config.mjs index 7ec6f034c03e..f63bfaf10bcd 100644 --- a/packages/replay-internal/rollup.npm.config.mjs +++ b/packages/replay-internal/rollup.npm.config.mjs @@ -21,7 +21,6 @@ export default makeNPMConfigVariants( input: ['./src/worker-bundler.ts'], output: { file: `./build/npm/${format}/worker-bundler.js`, - strict: false, format, }, treeshake: false, From d195dd05cffc4842ca471228248bd5b8967a2e69 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 20:12:20 +0100 Subject: [PATCH 49/59] chore: NODE_ENV replacement for rollup compat --- dev-packages/rollup-utils/plugins/bundlePlugins.mjs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index da5a18741be2..d9d17eecf825 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -71,6 +71,8 @@ export function makeBrowserBuildPlugin(isBrowserBuild) { return replacePlugin( { __SENTRY_BROWSER_BUNDLE__: JSON.stringify(!!isBrowserBuild), + // Replace process.env.NODE_ENV for browser bundles (needed for dependencies like Preact) + 'process.env.NODE_ENV': JSON.stringify('production'), }, { // TODO This will be the default in the next version of the `replace` plugin From 37fdbd384a5a66a01b7582bcce28a5fa9eae77d8 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 20:12:42 +0100 Subject: [PATCH 50/59] fix: alias preact for feedback bundling --- packages/feedback/rollup.bundle.config.mjs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/feedback/rollup.bundle.config.mjs b/packages/feedback/rollup.bundle.config.mjs index c02426e2db81..c5f98bd09b28 100644 --- a/packages/feedback/rollup.bundle.config.mjs +++ b/packages/feedback/rollup.bundle.config.mjs @@ -1,5 +1,15 @@ import { makeBaseBundleConfig, makeBundleConfigVariants } from '@sentry-internal/rollup-utils'; +// Alias react to preact/compat since this package uses Preact for rendering +const preactAlias = { + resolve: { + alias: { + react: 'preact/compat', + 'react/jsx-runtime': 'preact/jsx-runtime', + }, + }, +}; + export default [ // The core `feedback` bundle is built in the browser package // Sub-bundles are built here @@ -10,6 +20,7 @@ export default [ jsVersion: 'es6', licenseTitle: '@sentry-internal/feedback', outputFileBase: () => 'bundles/feedback-screenshot', + packageSpecificConfig: preactAlias, }), ), ...makeBundleConfigVariants( @@ -19,6 +30,7 @@ export default [ jsVersion: 'es6', licenseTitle: '@sentry-internal/feedback', outputFileBase: () => 'bundles/feedback-modal', + packageSpecificConfig: preactAlias, }), ), ]; From 48f1197e1ba96257d695d6a88aba6588087ac364 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 20:48:30 +0100 Subject: [PATCH 51/59] fix(remix): isolate node-specific imports to their own paths --- packages/remix/src/server/instrumentServer.ts | 43 ----------------- .../remix/src/server/patchServerRuntime.ts | 46 +++++++++++++++++++ packages/remix/src/server/sdk.ts | 2 +- 3 files changed, 47 insertions(+), 44 deletions(-) create mode 100644 packages/remix/src/server/patchServerRuntime.ts diff --git a/packages/remix/src/server/instrumentServer.ts b/packages/remix/src/server/instrumentServer.ts index 9ac0b31fc97f..5f254db2a4bf 100644 --- a/packages/remix/src/server/instrumentServer.ts +++ b/packages/remix/src/server/instrumentServer.ts @@ -24,7 +24,6 @@ import { hasSpansEnabled, httpHeadersToSpanAttributes, isNodeEnv, - loadModule, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, @@ -35,7 +34,6 @@ import { winterCGRequestToRequestData, withIsolationScope, } from '@sentry/core'; -import { createRequire } from 'module'; import { DEBUG_BUILD } from '../utils/debug-build'; import { createRoutes, getTransactionName } from '../utils/utils'; import { extractData, isResponse, json } from '../utils/vendor/response'; @@ -480,44 +478,3 @@ export const makeWrappedCreateRequestHandler = (options?: { instrumentTracing?: return wrapRequestHandler(requestHandler, newBuild, options); }; }; - -/** - * Helper to load a module in both CJS and ESM contexts. - * In ESM, we use createRequire to create a require function. - * In CJS, we use the standard loadModule. - */ -function loadModuleCompat(moduleName: string): T | undefined { - // Check if we're in ESM context (module doesn't exist) - if (typeof module === 'undefined') { - // ESM context - use createRequire to get a require function - try { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const require = createRequire(import.meta.url); - return require(moduleName) as T; - } catch { - return undefined; - } - } else { - // CJS context - use loadModule with module reference - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return loadModule(moduleName, module as any); - } -} - -/** - * Monkey-patch Remix's `createRequestHandler` from `@remix-run/server-runtime` - * which Remix Adapters (https://remix.run/docs/en/v1/api/remix) use underneath. - */ -export function instrumentServer(options?: { instrumentTracing?: boolean }): void { - const pkg = loadModuleCompat<{ - createRequestHandler: CreateRequestHandlerFunction; - }>('@remix-run/server-runtime'); - - if (!pkg) { - DEBUG_BUILD && debug.warn('Remix SDK was unable to require `@remix-run/server-runtime` package.'); - - return; - } - - fill(pkg, 'createRequestHandler', makeWrappedCreateRequestHandler(options)); -} diff --git a/packages/remix/src/server/patchServerRuntime.ts b/packages/remix/src/server/patchServerRuntime.ts new file mode 100644 index 000000000000..c0c3370043c8 --- /dev/null +++ b/packages/remix/src/server/patchServerRuntime.ts @@ -0,0 +1,46 @@ +import type { CreateRequestHandlerFunction } from '@remix-run/server-runtime'; +import { debug, fill, loadModule } from '@sentry/core'; +import { createRequire } from 'module'; +import { DEBUG_BUILD } from '../utils/debug-build'; +import { makeWrappedCreateRequestHandler } from './instrumentServer'; + +/** + * Helper to load a module in both CJS and ESM contexts. + * In ESM, we use createRequire to create a require function. + * In CJS, we use the standard loadModule. + */ +function loadModuleCompat(moduleName: string): T | undefined { + // Check if we're in ESM context (module doesn't exist) + if (typeof module === 'undefined') { + // ESM context - use createRequire to get a require function + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const require = createRequire(import.meta.url); + return require(moduleName) as T; + } catch { + return undefined; + } + } else { + // CJS context - use loadModule with module reference + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return loadModule(moduleName, module as any); + } +} + +/** + * Monkey-patch Remix's `createRequestHandler` from `@remix-run/server-runtime` + * which Remix Adapters (https://remix.run/docs/en/v1/api/remix) use underneath. + */ +export function instrumentServer(options?: { instrumentTracing?: boolean }): void { + const pkg = loadModuleCompat<{ + createRequestHandler: CreateRequestHandlerFunction; + }>('@remix-run/server-runtime'); + + if (!pkg) { + DEBUG_BUILD && debug.warn('Remix SDK was unable to require `@remix-run/server-runtime` package.'); + + return; + } + + fill(pkg, 'createRequestHandler', makeWrappedCreateRequestHandler(options)); +} diff --git a/packages/remix/src/server/sdk.ts b/packages/remix/src/server/sdk.ts index f191a336cfbb..1a8e41a3eecc 100644 --- a/packages/remix/src/server/sdk.ts +++ b/packages/remix/src/server/sdk.ts @@ -4,9 +4,9 @@ import type { NodeClient, NodeOptions } from '@sentry/node'; import { getDefaultIntegrations as getDefaultNodeIntegrations, init as nodeInit, isInitialized } from '@sentry/node'; import { DEBUG_BUILD } from '../utils/debug-build'; import type { RemixOptions } from '../utils/remixOptions'; -import { instrumentServer } from './instrumentServer'; import { httpIntegration } from './integrations/http'; import { remixIntegration } from './integrations/opentelemetry'; +import { instrumentServer } from './patchServerRuntime'; /** * Returns the default Remix integrations. From 9d7c822bff56bc36043d580cc407fc2abb3898bc Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 21:51:40 +0100 Subject: [PATCH 52/59] fix: lint errors and nextjs re-export --- .../nextjs/src/config/templates/routeHandlerWrapperTemplate.ts | 1 + .../nextjs/src/config/templates/sentryInitWrapperTemplate.ts | 2 +- packages/nextjs/src/index.server.ts | 3 --- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts b/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts index ee8b47e779d9..2e9d602c9f83 100644 --- a/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts +++ b/packages/nextjs/src/config/templates/routeHandlerWrapperTemplate.ts @@ -60,6 +60,7 @@ function wrapHandler(handler: T, method: 'GET' | 'POST' | 'PUT' | 'PATCH' | ' // @ts-expect-error See above export * from '__SENTRY_WRAPPING_TARGET_FILE__'; +// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access export default routeModule.default; type RouteHandler = (...args: unknown[]) => unknown; diff --git a/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts b/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts index 29291e62ed5a..fd060ebf9df0 100644 --- a/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts +++ b/packages/nextjs/src/config/templates/sentryInitWrapperTemplate.ts @@ -1,4 +1,3 @@ -// @ts-expect-error This will be replaced with the user's sentry config gile import '__SENTRY_CONFIG_IMPORT_PATH__'; // @ts-expect-error This is the file we're wrapping import * as wrappingTargetModule from '__SENTRY_WRAPPING_TARGET_FILE__'; @@ -6,4 +5,5 @@ import * as wrappingTargetModule from '__SENTRY_WRAPPING_TARGET_FILE__'; // @ts-expect-error This is the file we're wrapping export * from '__SENTRY_WRAPPING_TARGET_FILE__'; +// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access export default wrappingTargetModule.default; diff --git a/packages/nextjs/src/index.server.ts b/packages/nextjs/src/index.server.ts index 23eb7371eff8..133b6ecf1da0 100644 --- a/packages/nextjs/src/index.server.ts +++ b/packages/nextjs/src/index.server.ts @@ -1,5 +1,2 @@ export * from './config'; export * from './server'; -// FIXME: Explicitly re-export from @sentry/node to ensure CJS builds properly include all exports -// (Rolldown doesn't transitively handle export * in CJS builds) -export * from '@sentry/node'; From 8866996de359199f57a81dbcb7c642aac548f004 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Thu, 4 Dec 2025 23:28:22 +0100 Subject: [PATCH 53/59] fix: nextjs commonjs issues --- .../e2e-tests/test-applications/nextjs-orpc/next.config.js | 4 ++-- .../e2e-tests/test-applications/nextjs-orpc/package.json | 1 - .../e2e-tests/test-applications/nextjs-t3/next.config.js | 6 +++--- .../e2e-tests/test-applications/nextjs-t3/package.json | 1 - 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/next.config.js b/dev-packages/e2e-tests/test-applications/nextjs-orpc/next.config.js index ade813b1cde3..c2c5f470b3a3 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-orpc/next.config.js +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/next.config.js @@ -1,8 +1,8 @@ /** @type {import("next").NextConfig} */ const config = {}; -import { withSentryConfig } from '@sentry/nextjs'; +const { withSentryConfig } = require('@sentry/nextjs'); -export default withSentryConfig(config, { +module.exports = withSentryConfig(config, { disableLogger: true, }); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json index 6496e6c60343..cc0ce258d822 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-orpc/package.json @@ -2,7 +2,6 @@ "name": "next-orpc", "version": "0.1.0", "private": true, - "type": "module", "scripts": { "build": "next build", "dev": "next dev -p 3030", diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/next.config.js b/dev-packages/e2e-tests/test-applications/nextjs-t3/next.config.js index b22141b67893..9209b1480ec0 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/next.config.js +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/next.config.js @@ -1,11 +1,11 @@ -await import('./src/env.js'); +require('./src/env.js'); /** @type {import("next").NextConfig} */ const config = {}; -import { withSentryConfig } from '@sentry/nextjs'; +const { withSentryConfig } = require('@sentry/nextjs'); -export default withSentryConfig(config, { +module.exports = withSentryConfig(config, { disableLogger: true, silent: true, }); diff --git a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json index 3de6bc858768..95abab562e31 100644 --- a/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json +++ b/dev-packages/e2e-tests/test-applications/nextjs-t3/package.json @@ -2,7 +2,6 @@ "name": "t3", "version": "0.1.0", "private": true, - "type": "module", "scripts": { "build": "next build", "clean": "npx rimraf node_modules pnpm-lock.yaml", From 2a0d17624011c82d2d2a9c42fb7f9eced0c298a8 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 5 Dec 2025 11:36:26 +0100 Subject: [PATCH 54/59] chore: include tsconfig into the bundle opts --- dev-packages/rollup-utils/bundleHelpers.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index 558a7070da15..0335697bf5c8 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -101,6 +101,9 @@ export function makeBaseBundleConfig(options) { // used by all bundles const sharedBundleConfig = { input: entrypoints, + // Point to the package's tsconfig.json so rolldown respects TypeScript & JSX settings + tsconfig: path.resolve(process.cwd(), './tsconfig.json'), + output: { // a file extension will be added to this base value when we specify either a minified or non-minified build entryFileNames: outputFileBase, From 45d9b4781d964dd013a2013ff548516c9804eee8 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 5 Dec 2025 12:33:18 +0100 Subject: [PATCH 55/59] fix: ensure es2020 compat --- dev-packages/rollup-utils/bundleHelpers.mjs | 5 +++++ dev-packages/rollup-utils/npmHelpers.mjs | 5 +++++ packages/replay-worker/rollup.worker.config.mjs | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index 0335697bf5c8..d90be11014bd 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -104,6 +104,11 @@ export function makeBaseBundleConfig(options) { // Point to the package's tsconfig.json so rolldown respects TypeScript & JSX settings tsconfig: path.resolve(process.cwd(), './tsconfig.json'), + // Enforce ES2020 target for all builds + transform: { + target: 'es2020', + }, + output: { // a file extension will be added to this base value when we specify either a minified or non-minified build entryFileNames: outputFileBase, diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index ae7da9bbd6d9..d417a27dfd23 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -92,6 +92,11 @@ export function makeBaseNPMConfig(options = {}) { }, }, + // Enforce ES2020 target for all builds + transform: { + target: 'es2020', + }, + plugins: [debugBuildStatementReplacePlugin, rrwebBuildPlugin], // don't include imported modules from outside the package in the final output diff --git a/packages/replay-worker/rollup.worker.config.mjs b/packages/replay-worker/rollup.worker.config.mjs index 1bbbee077550..e4f6a1868af3 100644 --- a/packages/replay-worker/rollup.worker.config.mjs +++ b/packages/replay-worker/rollup.worker.config.mjs @@ -24,6 +24,9 @@ const config = defineConfig([ minify: true, }, treeshake: treeShakePreset('smallest'), + transform: { + target: 'es2020', + }, plugins: [ { name: 'worker-to-string', @@ -42,6 +45,9 @@ const config = defineConfig([ minify: true, }, treeshake: treeShakePreset('smallest'), + transform: { + target: 'es2020', + }, }, ]); From 4d5e66508af62cfb1bb9c78b0743d3e69185e611 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 5 Dec 2025 16:46:01 +0100 Subject: [PATCH 56/59] chore: try oxc minifier --- dev-packages/rollup-utils/bundleHelpers.mjs | 15 ++++++---- .../rollup-utils/plugins/bundlePlugins.mjs | 30 ++++--------------- dev-packages/rollup-utils/utils.mjs | 11 +------ package.json | 1 - 4 files changed, 15 insertions(+), 42 deletions(-) diff --git a/dev-packages/rollup-utils/bundleHelpers.mjs b/dev-packages/rollup-utils/bundleHelpers.mjs index d90be11014bd..005614f08b5b 100644 --- a/dev-packages/rollup-utils/bundleHelpers.mjs +++ b/dev-packages/rollup-utils/bundleHelpers.mjs @@ -13,7 +13,7 @@ import { makeRrwebBuildPlugin, makeSetSDKSourcePlugin, makeBannerOptions, - makeTerserPlugin, + makeMinifierOptions, } from './plugins/index.mjs'; import { mergePlugins, treeShakePreset } from './utils.mjs'; @@ -83,8 +83,8 @@ export function makeBaseBundleConfig(options) { output: { banner, format: 'esm', + minify: makeMinifierOptions(), }, - plugins: [makeTerserPlugin()], // Don't bundle any of Node's core modules external: builtinModules, }; @@ -92,8 +92,9 @@ export function makeBaseBundleConfig(options) { const awsLambdaExtensionBundleConfig = { output: { format: 'esm', + minify: makeMinifierOptions(), }, - plugins: [makeIsDebugBuildPlugin(true), makeTerserPlugin()], + plugins: [makeIsDebugBuildPlugin(true)], // Don't bundle any of Node's core modules external: builtinModules, }; @@ -146,7 +147,7 @@ export function makeBundleConfigVariants(baseConfig, options = {}) { const includeDebuggingPlugin = makeIsDebugBuildPlugin(true); const stripDebuggingPlugin = makeIsDebugBuildPlugin(false); - const terserPlugin = makeTerserPlugin(); + const minifierOptions = makeMinifierOptions(); const setSdkSourcePlugin = makeSetSDKSourcePlugin('cdn'); // The additional options to use for each variant we're going to create. @@ -161,15 +162,17 @@ export function makeBundleConfigVariants(baseConfig, options = {}) { '.min.js': { output: { entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.min.js`, + minify: minifierOptions, }, - plugins: [stripDebuggingPlugin, setSdkSourcePlugin, terserPlugin], + plugins: [stripDebuggingPlugin, setSdkSourcePlugin], }, '.debug.min.js': { output: { entryFileNames: chunkInfo => `${baseConfig.output.entryFileNames(chunkInfo)}.debug.min.js`, + minify: minifierOptions, }, - plugins: [includeDebuggingPlugin, setSdkSourcePlugin, terserPlugin], + plugins: [includeDebuggingPlugin, setSdkSourcePlugin], }, }; diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index d9d17eecf825..666f4458b81f 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -1,17 +1,5 @@ -/** - * CommonJS plugin docs: https://github.com/rollup/plugins/tree/master/packages/commonjs - * License plugin docs: https://github.com/mjeanroy/rollup-plugin-license - * Replace plugin docs: https://github.com/rollup/plugins/tree/master/packages/replace - * Resolve plugin docs: https://github.com/rollup/plugins/tree/master/packages/node-resolve - * Terser plugin docs: https://github.com/TrySound/rollup-plugin-terser#options - * Terser docs: https://github.com/terser/terser#api-reference - * Typescript plugin docs: https://github.com/rollup/plugins/tree/master/packages/typescript/#readme - */ - import * as childProcess from 'child_process'; - import { replacePlugin } from 'rolldown/plugins'; -import terser from '@rollup/plugin-terser'; /** * Create a plugin to add an identification banner to the top of stand-alone bundles. @@ -41,7 +29,6 @@ export function makeIsDebugBuildPlugin(includeDebugging) { __SENTRY_DEBUG__: JSON.stringify(includeDebugging), }, { - // TODO `preventAssignment` will default to true in version 5.x of the replace plugin, at which point we can get rid // of this. (It actually makes no difference in this case whether it's true or false, since we never assign to // `__SENTRY_DEBUG__`, but if we don't give it a value, it will spam with warnings.) preventAssignment: true, @@ -75,22 +62,18 @@ export function makeBrowserBuildPlugin(isBrowserBuild) { 'process.env.NODE_ENV': JSON.stringify('production'), }, { - // TODO This will be the default in the next version of the `replace` plugin preventAssignment: true, }, ); } -// `terser` options reference: https://github.com/terser/terser#api-reference -// `rollup-plugin-terser` options reference: https://github.com/TrySound/rollup-plugin-terser#options - /** - * Create a plugin to perform minification using `terser`. + * Create minifier options for the rollup build. * - * @returns An instance of the `terser` plugin + * @returns {import('rolldown').OutputOptions['minify']} */ -export function makeTerserPlugin() { - return terser({ +export function makeMinifierOptions() { + return { mangle: { // `captureException` and `captureMessage` are public API methods and they don't need to be listed here, as the // mangler won't touch user-facing things, but `sentryWrapped` is not user-facing, and would be mangled during @@ -136,8 +119,5 @@ export function makeTerserPlugin() { ], }, }, - output: { - comments: false, - }, - }); + }; } diff --git a/dev-packages/rollup-utils/utils.mjs b/dev-packages/rollup-utils/utils.mjs index d6f6036d9299..4dec0fc3e346 100644 --- a/dev-packages/rollup-utils/utils.mjs +++ b/dev-packages/rollup-utils/utils.mjs @@ -21,16 +21,7 @@ export function mergePlugins(pluginsA, pluginsB) { // here. // Additionally, the excludeReplay plugin must run before TS/Sucrase so that we can eliminate the replay code // before anything is type-checked (TS-only) and transpiled. - const order = [ - 'remove-dev-mode-blocks', - 'excludeReplay', - 'typescript', - 'sucrase', - '...', - 'terser', - 'license', - 'output-base64-worker-script', - ]; + const order = ['remove-dev-mode-blocks', 'excludeReplay', '...', 'output-base64-worker-script']; const sortKeyA = order.includes(a.name) ? a.name : '...'; const sortKeyB = order.includes(b.name) ? b.name : '...'; diff --git a/package.json b/package.json index 60d112dc745e..7528c23cea64 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,6 @@ "dev-packages/bundler-tests" ], "devDependencies": { - "@rollup/plugin-terser": "^0.4.4", "@size-limit/file": "~11.1.6", "@size-limit/webpack": "~11.1.6", "@types/jsdom": "^21.1.6", From ac768ba03b54ceed0e2cc691b13eb54d37e9182e Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 5 Dec 2025 16:51:11 +0100 Subject: [PATCH 57/59] chore: added note on rolldown minification --- .../rollup-utils/plugins/bundlePlugins.mjs | 97 ++++++++++--------- 1 file changed, 50 insertions(+), 47 deletions(-) diff --git a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs index 666f4458b81f..7ace3c653e9a 100644 --- a/dev-packages/rollup-utils/plugins/bundlePlugins.mjs +++ b/dev-packages/rollup-utils/plugins/bundlePlugins.mjs @@ -73,51 +73,54 @@ export function makeBrowserBuildPlugin(isBrowserBuild) { * @returns {import('rolldown').OutputOptions['minify']} */ export function makeMinifierOptions() { - return { - mangle: { - // `captureException` and `captureMessage` are public API methods and they don't need to be listed here, as the - // mangler won't touch user-facing things, but `sentryWrapped` is not user-facing, and would be mangled during - // minification. (We need it in its original form to correctly detect our internal frames for stripping.) All three - // are all listed here just for the clarity's sake, as they are all used in the frames manipulation process. - reserved: ['captureException', 'captureMessage', 'sentryWrapped'], - properties: { - // allow mangling of private field names... - regex: /^_[^_]/, - reserved: [ - // ...except for `_experiments`, which we want to remain usable from the outside - '_experiments', - // We want to keep some replay fields unmangled to enable integration tests to access them - '_replay', - '_canvas', - // We also can't mangle rrweb private fields when bundling rrweb in the replay CDN bundles - '_cssText', - // We want to keep the _integrations variable unmangled to send all installed integrations from replay - '_integrations', - // _meta is used to store metadata of replay network events - '_meta', - // We store SDK metadata in the options - '_metadata', - // Object we inject debug IDs into with bundler plugins - '_sentryDebugIds', - // These are used by instrument.ts in utils for identifying HTML elements & events - '_sentryCaptured', - '_sentryId', - // Keeps the frozen DSC on a Sentry Span - '_frozenDsc', - // These are used to keep span & scope relationships - '_sentryRootSpan', - '_sentryChildSpans', - '_sentrySpan', - '_sentryScope', - '_sentryIsolationScope', - // require-in-the-middle calls `Module._resolveFilename`. We cannot mangle this (AWS lambda layer bundle). - '_resolveFilename', - // Set on e.g. the shim feedbackIntegration to be able to detect it - '_isShim', - // This is used in metadata integration - '_sentryModuleMetadata', - ], - }, - }, - }; + // FIXME: mangle properties options are not supported by rolldown yet, so we return true for now. + // We should remove this once rolldown supports these options. + // Keeping the original options for reference in case we want to add them back. + // For now, rolldown won't mangle properties, so it should be safe. + // https://github.com/oxc-project/oxc/issues/15375 + // `captureException` and `captureMessage` are public API methods and they don't need to be listed here, as the + // mangler won't touch user-facing things, but `sentryWrapped` is not user-facing, and would be mangled during + // minification. (We need it in its original form to correctly detect our internal frames for stripping.) All three + // are all listed here just for the clarity's sake, as they are all used in the frames manipulation process. + // reserved: ['captureException', 'captureMessage', 'sentryWrapped'], + // properties: { + // // allow mangling of private field names... + // regex: /^_[^_]/, + // reserved: [ + // // ...except for `_experiments`, which we want to remain usable from the outside + // '_experiments', + // // We want to keep some replay fields unmangled to enable integration tests to access them + // '_replay', + // '_canvas', + // // We also can't mangle rrweb private fields when bundling rrweb in the replay CDN bundles + // '_cssText', + // // We want to keep the _integrations variable unmangled to send all installed integrations from replay + // '_integrations', + // // _meta is used to store metadata of replay network events + // '_meta', + // // We store SDK metadata in the options + // '_metadata', + // // Object we inject debug IDs into with bundler plugins + // '_sentryDebugIds', + // // These are used by instrument.ts in utils for identifying HTML elements & events + // '_sentryCaptured', + // '_sentryId', + // // Keeps the frozen DSC on a Sentry Span + // '_frozenDsc', + // // These are used to keep span & scope relationships + // '_sentryRootSpan', + // '_sentryChildSpans', + // '_sentrySpan', + // '_sentryScope', + // '_sentryIsolationScope', + // // require-in-the-middle calls `Module._resolveFilename`. We cannot mangle this (AWS lambda layer bundle). + // '_resolveFilename', + // // Set on e.g. the shim feedbackIntegration to be able to detect it + // '_isShim', + // // This is used in metadata integration + // '_sentryModuleMetadata', + // ], + // }, + + return true; } From bfb82f32f7eaac0e227e9d2f75c518e4ca96ba87 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 5 Dec 2025 17:21:49 +0100 Subject: [PATCH 58/59] tests: update minified tests expectations --- .../suites/integrations/ContextLines/noAddedLines/test.ts | 5 ++++- .../integrations/moduleMetadata/appliesMetadata/test.ts | 6 +++++- .../moduleMetadata/appliesMetadataWithRewriteFrames/test.ts | 6 +++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/dev-packages/browser-integration-tests/suites/integrations/ContextLines/noAddedLines/test.ts b/dev-packages/browser-integration-tests/suites/integrations/ContextLines/noAddedLines/test.ts index 51e2a7ee7517..880c5ff0e8b4 100644 --- a/dev-packages/browser-integration-tests/suites/integrations/ContextLines/noAddedLines/test.ts +++ b/dev-packages/browser-integration-tests/suites/integrations/ContextLines/noAddedLines/test.ts @@ -16,7 +16,10 @@ sentryTest('should not add source context lines to errors from script files', as const exception = eventData.exception?.values?.[0]; const frames = exception?.stacktrace?.frames; - expect(frames).toHaveLength(1); + expect(frames?.length).toBeGreaterThanOrEqual(1); + // Verify the subject.bundle.js frame is present + expect(frames?.some(f => f.filename?.includes('subject.bundle.js'))).toBe(true); + // Core assertion: no context lines should be added for script files frames?.forEach(f => { expect(f).not.toHaveProperty('pre_context'); expect(f).not.toHaveProperty('context_line'); diff --git a/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadata/test.ts b/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadata/test.ts index 35a0cffeb13c..697da77aa512 100644 --- a/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadata/test.ts +++ b/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadata/test.ts @@ -7,5 +7,9 @@ sentryTest('should provide module_metadata on stack frames in beforeSend', async const url = await getLocalTestUrl({ testDir: __dirname }); const errorEvent = await getFirstSentryEnvelopeRequest(page, url); - expect(errorEvent.extra?.['module_metadata_entries']).toEqual([{ foo: 'bar' }]); + // Filter out null entries from internal Sentry frames that don't have module metadata + const metadataEntries = (errorEvent.extra?.['module_metadata_entries'] as Array)?.filter( + entry => entry !== null, + ); + expect(metadataEntries).toEqual([{ foo: 'bar' }]); }); diff --git a/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadataWithRewriteFrames/test.ts b/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadataWithRewriteFrames/test.ts index 296e76c219c5..41634d3edc63 100644 --- a/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadataWithRewriteFrames/test.ts +++ b/dev-packages/browser-integration-tests/suites/integrations/moduleMetadata/appliesMetadataWithRewriteFrames/test.ts @@ -9,6 +9,10 @@ sentryTest( const url = await getLocalTestUrl({ testDir: __dirname }); const errorEvent = await getFirstSentryEnvelopeRequest(page, url); - expect(errorEvent?.extra?.['module_metadata_entries']).toEqual([{ foo: 'baz' }]); + // Filter out null entries from internal Sentry frames that don't have module metadata + const metadataEntries = (errorEvent?.extra?.['module_metadata_entries'] as Array)?.filter( + entry => entry !== null, + ); + expect(metadataEntries).toEqual([{ foo: 'baz' }]); }, ); From 5bebf075e2c3c4b49e78c1c2d0ffa3fe35313603 Mon Sep 17 00:00:00 2001 From: Abdelrahman Awad Date: Fri, 12 Dec 2025 00:39:16 +0200 Subject: [PATCH 59/59] chore: upgrade rolldown to latest beta 54 --- dev-packages/rollup-utils/npmHelpers.mjs | 4 + package.json | 2 +- yarn.lock | 178 +++++++++++------------ 3 files changed, 94 insertions(+), 90 deletions(-) diff --git a/dev-packages/rollup-utils/npmHelpers.mjs b/dev-packages/rollup-utils/npmHelpers.mjs index d417a27dfd23..02a521d86926 100644 --- a/dev-packages/rollup-utils/npmHelpers.mjs +++ b/dev-packages/rollup-utils/npmHelpers.mjs @@ -51,6 +51,10 @@ export function makeBaseNPMConfig(options = {}) { // Point to the package's tsconfig.json so rolldown respects TypeScript & JSX settings tsconfig: path.resolve(process.cwd(), './tsconfig.json'), + checks: { + pluginTimings: true, + }, + output: { // an appropriately-named directory will be added to this base value when we specify either a cjs or esm build dir: hasBundles ? 'build/npm' : 'build', diff --git a/package.json b/package.json index 7528c23cea64..85910c1b96bf 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "prettier": "^3.6.2", "prettier-plugin-astro": "^0.14.1", "rimraf": "^5.0.10", - "rolldown": "^1.0.0-beta.53", + "rolldown": "^1.0.0-beta.54", "size-limit": "~11.1.6", "ts-node": "10.9.1", "typescript": "~5.8.0", diff --git a/yarn.lock b/yarn.lock index 50242e37186e..a956027f1f35 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6256,10 +6256,10 @@ dependencies: "@opentelemetry/core" "^2.0.0" -"@oxc-project/types@=0.101.0": - version "0.101.0" - resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.101.0.tgz#5692200d09d6f87341eac3f8e70e403173c5283e" - integrity sha512-nuFhqlUzJX+gVIPPfuE6xurd4lST3mdcWOhyK/rZO0B9XWMKm79SuszIQEnSMmmDhq1DC8WWVYGVd+6F93o1gQ== +"@oxc-project/types@=0.102.0": + version "0.102.0" + resolved "https://registry.yarnpkg.com/@oxc-project/types/-/types-0.102.0.tgz#2bcb2fa28790a8ff26bac2a517a6302889ece52b" + integrity sha512-8Skrw405g+/UJPKWJ1twIk3BIH2nXdiVlVNtYT23AXVwpsd79es4K+KYt06Fbnkc5BaTvk/COT2JuCLYdwnCdA== "@parcel/watcher-android-arm64@2.5.1": version "2.5.1" @@ -6723,77 +6723,77 @@ dependencies: web-streams-polyfill "^3.1.1" -"@rolldown/binding-android-arm64@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.53.tgz#3dfce34db89a71956b26affb296dddc2c7dfb728" - integrity sha512-Ok9V8o7o6YfSdTTYA/uHH30r3YtOxLD6G3wih/U9DO0ucBBFq8WPt/DslU53OgfteLRHITZny9N/qCUxMf9kjQ== - -"@rolldown/binding-darwin-arm64@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.53.tgz#d000b0cc5c5fec4032f13806b1ba42c018d7e81d" - integrity sha512-yIsKqMz0CtRnVa6x3Pa+mzTihr4Ty+Z6HfPbZ7RVbk1Uxnco4+CUn7Qbm/5SBol1JD/7nvY8rphAgyAi7Lj6Vg== - -"@rolldown/binding-darwin-x64@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.53.tgz#42cf05245d0a54b3df67307f0f93ac32e8322b5a" - integrity sha512-GTXe+mxsCGUnJOFMhfGWmefP7Q9TpYUseHvhAhr21nCTgdS8jPsvirb0tJwM3lN0/u/cg7bpFNa16fQrjKrCjQ== - -"@rolldown/binding-freebsd-x64@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.53.tgz#c4ee51d63e27298d5cafeb221ca976b1298b3586" - integrity sha512-9Tmp7bBvKqyDkMcL4e089pH3RsjD3SUungjmqWtyhNOxoQMh0fSmINTyYV8KXtE+JkxYMPWvnEt+/mfpVCkk8w== - -"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.53.tgz#3ecf76c30ab45950d79eb5d38bf9d6d4877e1866" - integrity sha512-a1y5fiB0iovuzdbjUxa7+Zcvgv+mTmlGGC4XydVIsyl48eoxgaYkA3l9079hyTyhECsPq+mbr0gVQsFU11OJAQ== - -"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.53.tgz#d0ee79d5cf29e43aa7ac7b327626aee1c405a20b" - integrity sha512-bpIGX+ov9PhJYV+wHNXl9rzq4F0QvILiURn0y0oepbQx+7stmQsKA0DhPGwmhfvF856wq+gbM8L92SAa/CBcLg== - -"@rolldown/binding-linux-arm64-musl@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.53.tgz#2a6bd23ff647b916158100ce24a54b3d1856fb29" - integrity sha512-bGe5EBB8FVjHBR1mOLOPEFg1Lp3//7geqWkU5NIhxe+yH0W8FVrQ6WRYOap4SUTKdklD/dC4qPLREkMMQ855FA== - -"@rolldown/binding-linux-x64-gnu@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.53.tgz#5f1178cc3b9a19c83b5d49737f7774e98dde81fc" - integrity sha512-qL+63WKVQs1CMvFedlPt0U9PiEKJOAL/bsHMKUDS6Vp2Q+YAv/QLPu8rcvkfIMvQ0FPU2WL0aX4eWwF6e/GAnA== - -"@rolldown/binding-linux-x64-musl@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.53.tgz#91deaa186011af99d8b9934af180bffe4fae3d19" - integrity sha512-VGl9JIGjoJh3H8Mb+7xnVqODajBmrdOOb9lxWXdcmxyI+zjB2sux69br0hZJDTyLJfvBoYm439zPACYbCjGRmw== - -"@rolldown/binding-openharmony-arm64@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.53.tgz#44702518f6527d5578f4dd063b2ee85cb3c93a20" - integrity sha512-B4iIserJXuSnNzA5xBLFUIjTfhNy7d9sq4FUMQY3GhQWGVhS2RWWzzDnkSU6MUt7/aHUrep0CdQfXUJI9D3W7A== - -"@rolldown/binding-wasm32-wasi@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.53.tgz#82f5b480895960df59c2a3dc32874b403b698439" - integrity sha512-BUjAEgpABEJXilGq/BPh7jeU3WAJ5o15c1ZEgHaDWSz3LB881LQZnbNJHmUiM4d1JQWMYYyR1Y490IBHi2FPJg== +"@rolldown/binding-android-arm64@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.54.tgz#e2f9d48016a75e8251f3c72ab715e96370cd2dd1" + integrity sha512-zZRx/ur3Fai3fxiEmVp48+6GCBR48PRWJR1X3TTMn9yiq2bBHlYPgBaQtDOYWXv5H3J5dXujeTyGnuoY+kdGCg== + +"@rolldown/binding-darwin-arm64@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.54.tgz#61c1b5a92049f95af1278c81a1fa3b264e8eddee" + integrity sha512-zMyFEJmbIs91x22HAA/eUvmZHgjX8tGsD3TJ+WC9aY4bCdl3w84H9vMZmChSHAF1dYvGNH4KQDI2IubeZaCYtg== + +"@rolldown/binding-darwin-x64@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.54.tgz#16eeca266e302a5b318d07e59fdbfa1afa4f44df" + integrity sha512-Ex7QttdaVnEpmE/zroUT5Qm10e2+Vjd9q0LX9eXm59SitxDODMpC8GI1Rct5RrLf4GLU4DzdXBj6DGzuR+6g6w== + +"@rolldown/binding-freebsd-x64@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.54.tgz#651c285d160050d437c4e5c62e1b3e96523e5d27" + integrity sha512-E1XO10ryM/Vxw3Q1wvs9s2mSpVBfbHtzkbJcdu26qh17ZmVwNWLiIoqEcbkXm028YwkReG4Gd2gCZ3NxgTQ28Q== + +"@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.54.tgz#b51751728f98519d5b4cd314c496fcaa94b16ba0" + integrity sha512-oS73Uks8jczQR9pg0Bj718vap/x71exyJ5yuxu4X5V4MhwRQnky7ANSPm6ARUfraxOqt49IBfcMeGnw2rTSqdA== + +"@rolldown/binding-linux-arm64-gnu@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.54.tgz#0a5f7fda61c106d507dca96adeaf86672d1d7635" + integrity sha512-pY8N2X5C+/ZQcy0eRdfOzOP//OFngP1TaIqDjFwfBPws2UNavKS8SpxhPEgUaYIaT0keVBd/TB+eVy9z+CIOtw== + +"@rolldown/binding-linux-arm64-musl@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.54.tgz#d03c86888d586b18e1be4e8952bbfe350470dfe3" + integrity sha512-cgTooAFm2MUmFriB7IYaWBNyqrGlRPKG+yaK2rGFl2rcdOcO24urY4p3eyB0ogqsRLvJbIxwjjYiWiIP7Eo1Cw== + +"@rolldown/binding-linux-x64-gnu@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.54.tgz#6a9cb6eab8fc886a21f5f9317a381fc757896b39" + integrity sha512-nGyLT1Qau0W+kEL44V2jhHmvfS3wyJW08E4WEu2E6NuIy+uChKN1X0aoxzFIDi2owDsYaZYez/98/f268EupIQ== + +"@rolldown/binding-linux-x64-musl@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.54.tgz#8618b000b4e8ab12f6ed0cdba720064689d2d556" + integrity sha512-KH374P0TUjDXssROT/orvzaWrzGOptD13PTrltgKwbDprJTMknoLiYsOD6Ttz92O2VuAcCtFuJ1xbyFM2Uo/Xg== + +"@rolldown/binding-openharmony-arm64@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.54.tgz#3b17bd055c68ba162e08b3d1c0bfeb759ce020bb" + integrity sha512-oMAVO4wbfAbhpBxPsSp8R7ntL2DchpNfO+tGhN8/sI9jsbYwOv78uIW1fTwOBslhjTVFltGJ+l23mubNQcYNaQ== + +"@rolldown/binding-wasm32-wasi@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.54.tgz#6a609aac091ed9958a6a3fb456a406b38eea9775" + integrity sha512-MYY/FmY+HehHiQkNx04W5oLy/Fqd1hXYqZmmorSDXvAHnxMbSgmdFicKsSYOg/sVGHBMEP1tTn6kV5sWrS45rA== dependencies: "@napi-rs/wasm-runtime" "^1.1.0" -"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.53.tgz#489c43aaa7a6088f17ef8d1124b41c4489f40eb9" - integrity sha512-s27uU7tpCWSjHBnxyVXHt3rMrQdJq5MHNv3BzsewCIroIw3DJFjMH1dzCPPMUFxnh1r52Nf9IJ/eWp6LDoyGcw== +"@rolldown/binding-win32-arm64-msvc@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.54.tgz#ca91390689cbe97868d6c5cd0219100e1c3af026" + integrity sha512-66o3uKxUmcYskT9exskxs3OVduXf5x0ndlMkYOjSpBgqzhLtkub136yDvZkNT1OkNDET0odSwcU7aWdpnwzAyg== -"@rolldown/binding-win32-x64-msvc@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.53.tgz#78bc08543b916082271d7a19b310e24ea6821da7" - integrity sha512-cjWL/USPJ1g0en2htb4ssMjIycc36RvdQAx1WlXnS6DpULswiUTVXPDesTifSKYSyvx24E0YqQkEm0K/M2Z/AA== +"@rolldown/binding-win32-x64-msvc@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.54.tgz#e45a8162275479a0ac9c8604be472957e8481c25" + integrity sha512-FbbbrboChLBXfeEsOfaypBGqzbdJ/CcSA2BPLCggojnIHy58Jo+AXV7HATY8opZk7194rRbokIT8AfPJtZAWtg== -"@rolldown/pluginutils@1.0.0-beta.53": - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz#c57a5234ae122671aff6fe72e673a7ed90f03f87" - integrity sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ== +"@rolldown/pluginutils@1.0.0-beta.54": + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.54.tgz#4d32535a54ca9c7ac0b1807ae249b6f5d5390bbc" + integrity sha512-AHgcZ+w7RIRZ65ihSQL8YuoKcpD9Scew4sEeP1BBUT9QdTo6KjwHrZZXjID6nL10fhKessCH6OPany2QKwAwTQ== "@rollup/plugin-alias@^5.0.0", "@rollup/plugin-alias@^5.1.1": version "5.1.1" @@ -27218,27 +27218,27 @@ roarr@^7.0.4: safe-stable-stringify "^2.4.1" semver-compare "^1.0.0" -rolldown@^1.0.0-beta.53: - version "1.0.0-beta.53" - resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.53.tgz#b1a102a1265d6dcce9ae36f37d6f3aca05bb8ed2" - integrity sha512-Qd9c2p0XKZdgT5AYd+KgAMggJ8ZmCs3JnS9PTMWkyUfteKlfmKtxJbWTHkVakxwXs1Ub7jrRYVeFeF7N0sQxyw== +rolldown@^1.0.0-beta.54: + version "1.0.0-beta.54" + resolved "https://registry.yarnpkg.com/rolldown/-/rolldown-1.0.0-beta.54.tgz#97ed4e61a71004563d2a86d39d15340021df7bfc" + integrity sha512-3lIvjCWgjPL3gmiATUdV1NeVBGJZy6FdtwgLPol25tAkn46Q/MsVGfCSNswXwFOxGrxglPaN20IeALSIFuFyEg== dependencies: - "@oxc-project/types" "=0.101.0" - "@rolldown/pluginutils" "1.0.0-beta.53" + "@oxc-project/types" "=0.102.0" + "@rolldown/pluginutils" "1.0.0-beta.54" optionalDependencies: - "@rolldown/binding-android-arm64" "1.0.0-beta.53" - "@rolldown/binding-darwin-arm64" "1.0.0-beta.53" - "@rolldown/binding-darwin-x64" "1.0.0-beta.53" - "@rolldown/binding-freebsd-x64" "1.0.0-beta.53" - "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.53" - "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.53" - "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.53" - "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.53" - "@rolldown/binding-linux-x64-musl" "1.0.0-beta.53" - "@rolldown/binding-openharmony-arm64" "1.0.0-beta.53" - "@rolldown/binding-wasm32-wasi" "1.0.0-beta.53" - "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.53" - "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.53" + "@rolldown/binding-android-arm64" "1.0.0-beta.54" + "@rolldown/binding-darwin-arm64" "1.0.0-beta.54" + "@rolldown/binding-darwin-x64" "1.0.0-beta.54" + "@rolldown/binding-freebsd-x64" "1.0.0-beta.54" + "@rolldown/binding-linux-arm-gnueabihf" "1.0.0-beta.54" + "@rolldown/binding-linux-arm64-gnu" "1.0.0-beta.54" + "@rolldown/binding-linux-arm64-musl" "1.0.0-beta.54" + "@rolldown/binding-linux-x64-gnu" "1.0.0-beta.54" + "@rolldown/binding-linux-x64-musl" "1.0.0-beta.54" + "@rolldown/binding-openharmony-arm64" "1.0.0-beta.54" + "@rolldown/binding-wasm32-wasi" "1.0.0-beta.54" + "@rolldown/binding-win32-arm64-msvc" "1.0.0-beta.54" + "@rolldown/binding-win32-x64-msvc" "1.0.0-beta.54" rollup-plugin-dts@^6.0.0: version "6.1.1"