getsentry / getsentry/sentry-javascript

Combined CDN bundle including core SDK, multiplexed transport and module-metadata integration

Abierto
#17,309 6 comentarios 0 reacciones 0 asignados Ver en GitHub
Browser Dev: Build Feature Package-Meta: CDN
Lenguaje dominante
TypeScript
Estrellas
8.7k
Forks
1.8k
Merge medio
1 d 17 h
PR fusionados (30 d)
515

Descripción

### Problem Statement

Currently, we integrate Sentry into our web application solely through CDN scripts (not through NPM installation), loading the _bundle.min.js_ (core SDK).
We want to enable **error routing** for the microfrontend, but there is no bundle to do so, and that forces us to load two additional files:
1. multiplexedtransport.min.js
2. modulemetadata.min.js

This approach works, but introduces:
• Performance concerns: three HTTP requests
• Version-management overhead
• HTML verbosity: extra tags in every page template

### Solution Brainstorm

Publish an additional CDN artifact that internally includes:

- the core bundle.min.js
- transports/multiplexedtransport.js
- integrations/modulemetadataintegration.js

All in one file, exposing Sentry.makeMultiplexedTransport() and Sentry.moduleMetadataIntegration() on the global Sentry object.

Benefits:

- Single download: one small script to fetch in parallel, reducing latency and round-trips.
- Slim footprint: the bundle should include only the core SDK plus the two micro-frontend features, keeping its gzipped size as small as possible so as not to impact page performance.
- Simplified integration: customers can add a single and call Sentry.init({ ..., integrations: [Sentry.moduleMetadataIntegration()], transport: Sentry.makeMultiplexedTransport(...) }) without worrying about additional URLs.
- Cache efficiency: one bundle means better long-term caching and fewer cache invalidations.
- Lower maintenance: teams relying purely on CDN loads (no npm) avoid manual sync of multiple file versions.
- The multiplexed transport and module metadata features could be lazy-loaded, so that they are available in the Sentry Object only once an error occurs.

### Product Area

Performance

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.