Fix build verification by stripping debug calls from all builds #1753
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.
Summary
This PR fixes the CI build verification failure by integrating the existing
@glimmer/local-debug-babel-plugin
into the build pipeline to automatically strip debug code from all published builds.Problem
Debug functions like
check()
,expect()
, andunwrap()
from@glimmer/debug
were appearing in production builds. These functions are meant only for Glimmer VM developers working on the codebase itself and should never ship to users.Solution
Instead of relying on a verification script that checks for debug code after the fact, we now automatically strip it during the build process using the Babel plugin that was already in the codebase but not integrated.
Changes
@rollup/plugin-babel
to enable Babel transformationsImpact
check()
,expect()
, etc.)Technical Details
The Babel plugin transforms debug code during build:
check(value, checker)
→value
expect(...)
→ removed entirelyunwrap(value)
→value
recordStackSize()
→ removed entirelyCheckInterface
→() => true
This happens for ALL builds (both development and production) because these debug functions are only for Glimmer VM development, not for users of Glimmer.