fix(build): Remove node code from CDN bundles #4548
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes the way we substitute
true
for__SENTRY_BROWSER_BUNDLE__
, the flag which enables us to treeshake anything Node-related out of CDN bundles.There are two main changes:
In the browser rollup config, the substitution is moved from the terser stage to an earlier stage, immediately after TS compilation, in order that the treeshaking we need now applies to all versions of the bundle, rather than just the minified ones.
The substitution is added to all other rollup configs. (Even though packages like
@sentry/tracing
and@sentry/integrations
are cross-platform, in this case we know we're building CDN bundles (which are only relevant in a browser setting), so it's safe to restrict it.)As an example, here's the effect of these changes on the main browser bundle: