Repository navigation
Skip for await in transform-for-of - #18292
Merged
Merged
Conversation
The main `ForOfStatement` visitor had no `await` check, so when the plugin ran without `transform-async-generator-functions` (standalone, or excluded from preset-env) a `for await (x of xs)` loop was rewritten into a synchronous `createForOfIteratorHelper` loop and the `await` was silently dropped. The `iterableIsArray` visitor already had this guard. Assisted-by: Claude Fable 5.1
Thanks for opening this pull request! 🎉We really appreciate you taking the time to contribute, @brunoborta. A maintainer will take a look as soon as they can. In the meantime, please make sure that:
If anything needs adjusting we'll leave comments here. Thanks again! |
Collaborator
|
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/62271 |
|
commit: |
brandhaug
added a commit
to brandhaug/b2b-saas-starter
that referenced
this pull request
Oct 10, 2026
## pnpm-workspace.yaml (default) ## Dependency Updates | Package | From | To | Type | | --- | --- | --- | --- | | `@babel/core` | 8.0.6 | 8.0.7 | patch | | `@react-email/ui` | 6.11.0 | 6.11.1 | patch | | `ai` | 7.0.128 | 7.0.130 | patch | | `react-email` | 6.11.0 | 6.11.1 | patch | | `shadcn` | 4.21.3 | 4.21.4 | patch | ## Release Notes <details> <summary><b>@<!---->babel/core</b> (8.0.6 → 8.0.7)</summary> ## v8.0.7 (2026-10-07) Thanks @<!---->brunoborta, @<!---->CINC0S, @<!---->hoobnn, and @<!---->jpradelle for your first PRs! #### 🐛 Bug Fix * `babel-helper-create-regexp-features-plugin`, `babel-plugin-transform-dotall-regex`, `babel-plugin-transform-unicode-sets-regex`, `babel-preset-env` * [#18295](babel/babel#18295) Bump regexpu-core to 6.5.3 ([@<!---->JLHwung](https://github.com/JLHwung)) * `babel-plugin-transform-for-of` * [#18292](babel/babel#18292) Skip `for await` in `transform-for-of` ([@<!---->brunoborta](https://github.com/brunoborta)) * `babel-helpers`, `babel-plugin-transform-async-generator-functions`, `babel-runtime-corejs3` * [#18283](babel/babel#18283) Fix `asyncIterator` helper forwarding `.throw()` to `.return()` ([@<!---->brunoborta](https://github.com/brunoborta)) * `babel-parser` * [#18288](babel/babel#18288) fix(parser): allow await as a function expression name inside async arrow ([@<!---->JLHwung](https://github.com/JLHwung)) * `babel-helpers`, `babel-plugin-transform-class-properties`, `babel-plugin-transform-modules-systemjs`, `babel-runtime-corejs3` * [#18284](babel/babel#18284) Guard `@@toPrimitive` usage in toPrimitive helper ([@<!---->nicolo-ribaudo](https://github.com/nicolo-ribaudo)) * `babel-plugin-transform-block-scoping` * [#18195](babel/babel#18195) fix: closures in for-loop init capture wrong binding ([@<!---->joelle-a-dev](https://github.com/joelle-a-dev)) * `babel-helper-create-class-features-plugin`, `babel-plugin-transform-private-property-in-object` * [#18265](babel/babel#18265) Return false for `#x in` on static private fields before initialization ([@<!---->hoobnn](https://github.com/hoobnn)) * `babel-traverse` * [#18151](babel/babel#18151) Evaluate TypeScript expression wrappers in `NodePath#evaluate` ([@<!---->CINC0S](https://github.com/CINC0S)) * [#18250](https://github …[full notes](https://github.com/babel/babel/releases/tag/v8.0.7) </details> <details> <summary><b>react-email</b> (6.11.0 → 6.11.1)</summary> ### Patch Changes * 54769fc: Prevent `email export` from deleting the project, the home directory, the email templates or the static assets when `--outDir` points at them. * 6926bac: `<Markdown>` now applies `markdownCustomStyles.th` to table header cells. Header cells were previously styled with `td`, so any `th` styles were ignored. </details> <details> <summary><b>shadcn</b> (4.21.3 → 4.21.4)</summary> ### Patch Changes - [#12189](shadcn-ui/ui#12189) [`76fd499595ba7cc01f49d159bd7ac82d7aca8e63`](shadcn-ui/ui@76fd499) Thanks [@<!---->shadcn](https://github.com/shadcn)! - Drop the ts-morph dependency from @<!---->shadcn/registry. - [#12184](shadcn-ui/ui#12184) [`995c2cfff44c373bd210d451089726ec097ab917`](shadcn-ui/ui@995c2cf) Thanks [@<!---->shadcn](https://github.com/shadcn)! - Run the icons and asChild transformers without ts-morph. - [#12160](shadcn-ui/ui#12160) [`6efecd8fe9aa167886fe2cc0c05c5623a5bb5670`](shadcn-ui/ui@6efecd8) Thanks [@<!---->shadcn](https://github.com/shadcn)! - Edit the Next.js layout for font items without ts-morph, and skip it with a warning instead of writing a broken layout. - [#12188](shadcn-ui/ui#12188) [`efa11781f756c86debb0392fbea4fe468250b41b`](shadcn-ui/ui@efa1178) Thanks [@<!---->shadcn](https://github.com/shadcn)! - Rewrite imports and crawl file imports without ts-morph. - [#12177](shadcn-ui/ui#12177) [`e8c3143b1cd191280befcd6c9538284bb43399a8`](shadcn-ui/ui@e8c3143) Thanks [@<!---->shadcn](https://github.com/shadcn)! - Edit tailwind.config without ts-morph, and skip it with a warning instead of writing a broken config. - [#12183](shadcn-ui/ui#12183) [`f56bbd7282f0116a925a601cb6d7e0c3fede448b`](shadcn-ui/ui@f56bbd7) Thanks [@<!---->shadcn](https://github.com/shadcn)! - Run the rsc, import, CSS variable, cleanup, font and menu transformers without ts-morph. - [#12185](shadcn-ui/ui#12185) [`4a90344c42dc9ae47494179065219377ff5f2a8f`](https://github.com/shadcn-ui/u …[full notes](https://github.com/shadcn-ui/ui/releases/tag/shadcn%404.21.4) </details> --- *This PR was auto-generated by [catalog-update-action](https://github.com/brandhaug/catalog-update-action).* Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.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.
The main
ForOfStatementvisitor had noawaitcheck, so with the plugin standalone (ortransform-async-generator-functionsexcluded from preset-env) afor awaitloop was rewritten into a synchronouscreateForOfIteratorHelperloop and theawaitwas dropped. This adds the same guard theiterableIsArrayvisitor already has. If you'd rather throw abuildCodeFrameErrorinstead of skipping, I can change it.