From 9c8e0302b1cdf9af438a85c30e96989d2b36777f Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 28 Jan 2026 10:49:10 +0100 Subject: [PATCH 1/3] add replay.logs.metrics bundle --- .github/workflows/build.yml | 1 + .size-limit.js | 13 +++++++++++++ .../browser-integration-tests/package.json | 3 +++ .../utils/generatePlugin.ts | 3 +++ packages/browser/rollup.bundle.config.mjs | 8 ++++++++ .../src/index.bundle.replay.logs.metrics.ts | 17 +++++++++++++++++ .../index.bundle.replay.logs.metrics.test.ts | 17 +++++++++++++++++ 7 files changed, 62 insertions(+) create mode 100644 packages/browser/src/index.bundle.replay.logs.metrics.ts create mode 100644 packages/browser/test/index.bundle.replay.logs.metrics.test.ts diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5c26bded3ddf..d3cd6390084f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -569,6 +569,7 @@ jobs: - bundle_replay - bundle_tracing - bundle_tracing_logs_metrics + - bundle_replay_logs_metrics - bundle_tracing_replay - bundle_tracing_replay_feedback - bundle_tracing_replay_feedback_min diff --git a/.size-limit.js b/.size-limit.js index 978d3105dd41..a806ef909d8a 100644 --- a/.size-limit.js +++ b/.size-limit.js @@ -192,6 +192,12 @@ module.exports = [ gzip: true, limit: '44 KB', }, + { + name: 'CDN Bundle (incl. Replay, Logs, Metrics)', + path: createCDNPath('bundle.replay.logs.metrics.min.js'), + gzip: true, + limit: '66 KB', + }, { name: 'CDN Bundle (incl. Tracing, Replay)', path: createCDNPath('bundle.tracing.replay.min.js'), @@ -232,6 +238,13 @@ module.exports = [ brotli: false, limit: '130 KB', }, + { + name: 'CDN Bundle (incl. Replay, Logs, Metrics) - uncompressed', + path: createCDNPath('bundle.replay.logs.metrics.min.js'), + gzip: false, + brotli: false, + limit: '200 KB', + }, { name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed', path: createCDNPath('bundle.tracing.replay.min.js'), diff --git a/dev-packages/browser-integration-tests/package.json b/dev-packages/browser-integration-tests/package.json index 42fe2a8c02fe..1929817a3211 100644 --- a/dev-packages/browser-integration-tests/package.json +++ b/dev-packages/browser-integration-tests/package.json @@ -26,6 +26,9 @@ "test:bundle:tracing_logs_metrics": "PW_BUNDLE=bundle_tracing_logs_metrics yarn test", "test:bundle:tracing_logs_metrics:min": "PW_BUNDLE=bundle_tracing_logs_metrics_min yarn test", "test:bundle:tracing_logs_metrics:debug_min": "PW_BUNDLE=bundle_tracing_logs_metrics_debug_min yarn test", + "test:bundle:replay_logs_metrics": "PW_BUNDLE=bundle_replay_logs_metrics yarn test", + "test:bundle:replay_logs_metrics:min": "PW_BUNDLE=bundle_replay_logs_metrics_min yarn test", + "test:bundle:replay_logs_metrics:debug_min": "PW_BUNDLE=bundle_replay_logs_metrics_debug_min yarn test", "test:bundle:full": "PW_BUNDLE=bundle_tracing_replay_feedback yarn test", "test:bundle:full:min": "PW_BUNDLE=bundle_tracing_replay_feedback_min yarn test", "test:bundle:tracing_replay_feedback_logs_metrics": "PW_BUNDLE=bundle_tracing_replay_feedback_logs_metrics yarn test", diff --git a/dev-packages/browser-integration-tests/utils/generatePlugin.ts b/dev-packages/browser-integration-tests/utils/generatePlugin.ts index 5833fe15671f..7565f5b1e631 100644 --- a/dev-packages/browser-integration-tests/utils/generatePlugin.ts +++ b/dev-packages/browser-integration-tests/utils/generatePlugin.ts @@ -59,6 +59,9 @@ const BUNDLE_PATHS: Record> = { bundle_tracing_logs_metrics: 'build/bundles/bundle.tracing.logs.metrics.js', bundle_tracing_logs_metrics_min: 'build/bundles/bundle.tracing.logs.metrics.min.js', bundle_tracing_logs_metrics_debug_min: 'build/bundles/bundle.tracing.logs.metrics.debug.min.js', + bundle_replay_logs_metrics: 'build/bundles/bundle.replay.logs.metrics.js', + bundle_replay_logs_metrics_min: 'build/bundles/bundle.replay.logs.metrics.min.js', + bundle_replay_logs_metrics_debug_min: 'build/bundles/bundle.replay.logs.metrics.debug.min.js', bundle_tracing_replay: 'build/bundles/bundle.tracing.replay.js', bundle_tracing_replay_min: 'build/bundles/bundle.tracing.replay.min.js', bundle_tracing_replay_feedback: 'build/bundles/bundle.tracing.replay.feedback.js', diff --git a/packages/browser/rollup.bundle.config.mjs b/packages/browser/rollup.bundle.config.mjs index 490b78fc35c6..b3c8cd5b1530 100644 --- a/packages/browser/rollup.bundle.config.mjs +++ b/packages/browser/rollup.bundle.config.mjs @@ -111,6 +111,13 @@ const tracingLogsMetricsBaseBundleConfig = makeBaseBundleConfig({ outputFileBase: () => 'bundles/bundle.tracing.logs.metrics', }); +const replayLogsMetricsBaseBundleConfig = makeBaseBundleConfig({ + bundleType: 'standalone', + entrypoints: ['src/index.bundle.replay.logs.metrics.ts'], + licenseTitle: '@sentry/browser (Replay, Logs, and Metrics)', + outputFileBase: () => 'bundles/bundle.replay.logs.metrics', +}); + const tracingReplayFeedbackLogsMetricsBaseBundleConfig = makeBaseBundleConfig({ bundleType: 'standalone', entrypoints: ['src/index.bundle.tracing.replay.feedback.logs.metrics.ts'], @@ -127,6 +134,7 @@ builds.push( ...makeBundleConfigVariants(replayFeedbackBaseBundleConfig), ...makeBundleConfigVariants(tracingReplayFeedbackBaseBundleConfig), ...makeBundleConfigVariants(tracingLogsMetricsBaseBundleConfig), + ...makeBundleConfigVariants(replayLogsMetricsBaseBundleConfig), ...makeBundleConfigVariants(tracingReplayFeedbackLogsMetricsBaseBundleConfig), ); diff --git a/packages/browser/src/index.bundle.replay.logs.metrics.ts b/packages/browser/src/index.bundle.replay.logs.metrics.ts new file mode 100644 index 000000000000..288f0ffe7db8 --- /dev/null +++ b/packages/browser/src/index.bundle.replay.logs.metrics.ts @@ -0,0 +1,17 @@ +import { + browserTracingIntegrationShim, + feedbackIntegrationShim, +} from '@sentry-internal/integration-shims'; + +export * from './index.bundle.base'; + +// TODO(v11): Export metrics here once we remove it from the base bundle. +export { logger, consoleLoggingIntegration } from '@sentry/core'; + +export { replayIntegration, getReplay } from '@sentry-internal/replay'; + +export { + browserTracingIntegrationShim as browserTracingIntegration, + feedbackIntegrationShim as feedbackAsyncIntegration, + feedbackIntegrationShim as feedbackIntegration, +}; diff --git a/packages/browser/test/index.bundle.replay.logs.metrics.test.ts b/packages/browser/test/index.bundle.replay.logs.metrics.test.ts new file mode 100644 index 000000000000..b031510282f4 --- /dev/null +++ b/packages/browser/test/index.bundle.replay.logs.metrics.test.ts @@ -0,0 +1,17 @@ +import { logger as coreLogger, metrics as coreMetrics } from '@sentry/core'; +import { browserTracingIntegrationShim, feedbackIntegrationShim } from '@sentry-internal/integration-shims'; +import { describe, expect, it } from 'vitest'; +import { replayIntegration } from '../src'; +import * as ReplayLogsMetricsBundle from '../src/index.bundle.replay.logs.metrics'; + +describe('index.bundle.replay.logs.metrics', () => { + it('has correct exports', () => { + expect(ReplayLogsMetricsBundle.browserTracingIntegration).toBe(browserTracingIntegrationShim); + expect(ReplayLogsMetricsBundle.feedbackAsyncIntegration).toBe(feedbackIntegrationShim); + expect(ReplayLogsMetricsBundle.feedbackIntegration).toBe(feedbackIntegrationShim); + expect(ReplayLogsMetricsBundle.replayIntegration).toBe(replayIntegration); + + expect(ReplayLogsMetricsBundle.logger).toBe(coreLogger); + expect(ReplayLogsMetricsBundle.metrics).toBe(coreMetrics); + }); +}); From 2386dc5db597c69c253d6ba046403e90da3d3137 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 28 Jan 2026 13:09:33 +0100 Subject: [PATCH 2/3] bump size --- .size-limit.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.size-limit.js b/.size-limit.js index 0e12a0aaf171..bc3da7fd7eb0 100644 --- a/.size-limit.js +++ b/.size-limit.js @@ -202,7 +202,7 @@ module.exports = [ name: 'CDN Bundle (incl. Replay, Logs, Metrics)', path: createCDNPath('bundle.replay.logs.metrics.min.js'), gzip: true, - limit: '66 KB', + limit: '69 KB', }, { name: 'CDN Bundle (incl. Tracing, Replay)', @@ -256,7 +256,7 @@ module.exports = [ path: createCDNPath('bundle.replay.logs.metrics.min.js'), gzip: false, brotli: false, - limit: '200 KB', + limit: '209 KB', }, { name: 'CDN Bundle (incl. Tracing, Replay) - uncompressed', From f8c4714218c881e8fdd4a3bc5c76b50375d3f7d1 Mon Sep 17 00:00:00 2001 From: Charly Gomez Date: Wed, 28 Jan 2026 13:28:11 +0100 Subject: [PATCH 3/3] format --- packages/browser/src/index.bundle.replay.logs.metrics.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/browser/src/index.bundle.replay.logs.metrics.ts b/packages/browser/src/index.bundle.replay.logs.metrics.ts index 288f0ffe7db8..ce4f3334e21a 100644 --- a/packages/browser/src/index.bundle.replay.logs.metrics.ts +++ b/packages/browser/src/index.bundle.replay.logs.metrics.ts @@ -1,7 +1,4 @@ -import { - browserTracingIntegrationShim, - feedbackIntegrationShim, -} from '@sentry-internal/integration-shims'; +import { browserTracingIntegrationShim, feedbackIntegrationShim } from '@sentry-internal/integration-shims'; export * from './index.bundle.base';