Remove babel plugin imports from the tree at build time.

Review Request #14525 — Created July 28, 2025 and submitted — Latest diff uploaded

Information

Ink
master

Reviewers

Ink.DialogView introduced an import for babel-plugin-dedent in order
to use dedent in a log call. This resulted in an unwanted dependency
on this module in Ink, which we did not list in package.json. That
resulted in a broken-out-of-the-box experience. While this doesn't
appear to have affected runtime, it could affect consumers that wanted
to build against this.

This module (and babel-plugin-django-gettext) are only used when
building the tree and are no longer needed after the fact. Though Babel
will apply these, it does not automatically remove the imports. If we
had tree-shaking enabled, those imports would have been filtered out.

Tree-shaking has side-effects, but there is a Babel plugin that lets us
explicitly remove imports for the generated source going to Rollup:
babel-plugin-transform-remove-imports.

We now use this plugin and specify both babel-plugin-dedent and
babel-plugin-transform-remove-imports. Rollup no longer sees these
imports and no longer attempts to resolve them.

Built the package and diffed the resulting build against the current
release. Verified that the only changes to the build were that the
imports were gone.

Commits

Files