Repository navigation
feat(standalone): export async transform - #17653
Merged
nicolo-ribaudo merged 1 commit intoJan 27, 2026
Merged
Conversation
JLHwung
commented
Dec 11, 2025
Contributor
| Q 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 | A |
|---|---|
| Fixed Issues? | Fixes #17652 |
| Patch: Bug Fix? | |
| Major: Breaking Change? | |
| Minor: New Feature? | Yes |
| Tests Added + Pass? | Yes |
| Documentation PR Link | |
| Any Dependency Changes? | |
| License | MIT |
Collaborator
|
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/60427 |
|
commit: |
Contributor
|
I tested this locally in my project and it works great <3 |
Member
|
FYI, you can use this. :) |
Contributor
|
Is main only for the next major? I'm looking forward to this feature so my users can use newer plugins |
nicolo-ribaudo
approved these changes
Jan 27, 2026
Member
|
Backport for v7 is in #17663. |
NullVoxPopuli-ai-agent
pushed a commit
to NullVoxPopuli/limber
that referenced
this pull request
Sep 17, 2026
The compilers of repl-sdk use two things from Babel: the `transform-typescript` plugin and the `react` preset. `@babel/standalone` has every plugin and preset, the unicode tables for regex transforms (641 kB), and the data of preset-env. `packages/babel-8-lite` is a private package, not published. It bundles `@babel/core` 8 with only those two parts into one browser-ready file, in the shape of `@babel/standalone`. Its own build replaces what Babel 8 needs from node: `node:path`, `node:assert` (Babel calls only `assert()` and `assert.fail()`), and the `process` global. So the packages that bundle it need no configuration for it. ember-repl has it as a dev dependency, so rollup bundles it as its own chunk. The build of ember-repl stays on Babel 7, and ember-repl needs no `@babel/core` peer. In the repl app the Babel chunk goes from 2796 kB to 1143 kB, and from 453 kB to 241 kB compressed. The import map key is `@glimdown/babel-8-lite`, because this is not `@babel/standalone`. repl-sdk asks for that name. A host that does not provide it gets `@babel/standalone@8` from esm.sh, which has the same API. `transform` is `transformSync`, as in `@babel/standalone`. In `@babel/core` 8, `transform` needs a callback, and the react compiler calls it synchronously. The tarball existed for `transformAsync` (babel/babel#17653), which is in Babel 8. The root package and the browser tests of repl-sdk now use `@babel/standalone` 8 from npm. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.