Skip to content

Conversation

@JLHwung
Copy link
Contributor

@JLHwung JLHwung commented Jul 18, 2025

Q                       A
Fixed Issues? Fixes #1, Fixes #2
Patch: Bug Fix?
Major: Breaking Change?
Minor: New Feature?
Tests Added + Pass? Yes
Documentation PR Link
Any Dependency Changes?
License MIT

In this PR we scan for the control flow statements within a do block and use the previous transform approach when there is no break/continue/return. The current approach has to memoize every top level statements to ensure that the block can be unwrapped, when there is no control flow statements, this approach unnecessarily bloated the output.

We also added new tests for the coverage of the transform that supports early exits. A few unreachable codes have been removed.

This PR happens to fixes #17439, to the extent of when early exits do not present in the do block.

JLHwung added 3 commits July 17, 2025 14:54
Only apply the flatten transform when the do expression contains Break/Continue/Return. This enables us to optimize the output since we don't have to memoize intermediate results.
@JLHwung JLHwung added Spec: Do Expressions PR: Output optimization 🔬 A type of pull request used for our changelog categories labels Jul 18, 2025
@babel-bot
Copy link
Collaborator

babel-bot commented Jul 18, 2025

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/59750

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jul 18, 2025

Open in StackBlitz

commit: 014add9

@JLHwung JLHwung force-pushed the optimize-do-expression-output branch from 5286248 to 06972c8 Compare July 21, 2025 20:47
@JLHwung JLHwung marked this pull request as ready for review July 21, 2025 21:00
const uid = body.scope.generateDeclaredUidIdentifier("do");
if (left.isVariableDeclaration()) {
const init = left.get("declarations")[0].get("init");
if (init.node) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This this PR add support for for (var i = 0 in {});?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! I overlooked the sloppy mode, I will revert this part.

@JLHwung JLHwung requested a review from nicolo-ribaudo July 24, 2025 15:31
@JLHwung JLHwung merged commit 220089e into babel:main Jul 25, 2025
76 checks passed
@JLHwung JLHwung deleted the optimize-do-expression-output branch July 25, 2025 18:29
mergify bot added a commit to reisene/HulajDusza-serwis that referenced this pull request Sep 15, 2025
![snyk-io[bot]](https://badgen.net/badge/icon/snyk-io%5Bbot%5D/green?label=)
![Contributor](https://badgen.net/badge/icon/Contributor/000000?label=)
[<img width="16" alt="Powered by Pull Request Badge"
src="https://user-images.githubusercontent.com/1393946/111216524-d2bb8e00-85d4-11eb-821b-ed4c00989c02.png">](https://pullrequestbadge.com/?utm_medium=github&utm_source=reisene&utm_campaign=badge_info)<!--
PR-BADGE: PLEASE DO NOT REMOVE THIS COMMENT -->


![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade @babel/core from 7.28.0 to
7.28.3.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **1 version** ahead of your current
version.

- The recommended version was released **a month ago**.

#### Issues fixed by the recommended upgrade:

|  | Issue | Score | Exploit Maturity |

:-------------------------:|:-------------------------|:-------------------------|:-------------------------
![low
severity](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests//severity-low.svg
'low severity') | Regular Expression Denial of Service
(ReDoS)<br/>[SNYK-JS-BRACEEXPANSION-9789073](https://snyk.io/vuln/SNYK-JS-BRACEEXPANSION-9789073)
| **57** | Proof of Concept
![low
severity](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests//severity-low.svg
'low severity') | Regular Expression Denial of Service
(ReDoS)<br/>[SNYK-JS-BRACEEXPANSION-9789073](https://snyk.io/vuln/SNYK-JS-BRACEEXPANSION-9789073)
| **57** | Proof of Concept



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>@babel/core</b></summary>
    <ul>
      <li>
<b>7.28.3</b> - <a
href="https://redirect.github.com/babel/babel/releases/tag/v7.28.3">2025-08-14</a></br><h2>v7.28.3
(2025-08-14)</h2>
<h4>👓 Spec Compliance</h4>
<ul>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-transform-class-static-block</code>,
<code>babel-preset-env</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17443"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17443/hovercard">#17443</a>
[static blocks] Do not inject new static fields after static code (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4>🐛 Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17465"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17465/hovercard">#17465</a>
fix(parser/typescript): parse <code>import("./a", {with:{},})</code> (<a
href="https://redirect.github.com/easrng">@ easrng</a>)</li>
<li><a href="https://redirect.github.com/babel/babel/pull/17478"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17478/hovercard">#17478</a>
fix(parser): stop subscript parsing on async arrow (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4>💅 Polish</h4>
<ul>
<li><code>babel-plugin-transform-regenerator</code>,
<code>babel-plugin-transform-runtime</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17363"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17363/hovercard">#17363</a> Do not
save last yield in call in temp var (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4>📝 Documentation</h4>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17448"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17448/hovercard">#17448</a> move
eslint-{parser,plugin} docs to the website (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
<h4>🏠 Internal</h4>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17454"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17454/hovercard">#17454</a> Enable
type checking for <code>scripts</code> and <code>babel-worker.cjs</code>
(<a href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
<h4>🔬 Output optimization</h4>
<ul>
<li><code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-do-expressions</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17444"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17444/hovercard">#17444</a>
Optimize do expression output (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 5</h4>
<ul>
<li>Babel Bot (<a href="https://redirect.github.com/babel-bot">@
babel-bot</a>)</li>
<li>Huáng Jùnliàng (<a href="https://redirect.github.com/JLHwung">@
JLHwung</a>)</li>
<li>Jam Balaya (<a href="https://redirect.github.com/JamBalaya56562">@
JamBalaya56562</a>)</li>
<li>Nicolò Ribaudo (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
<li>easrng (<a href="https://redirect.github.com/easrng">@
easrng</a>)</li>
</ul>
      </li>
      <li>
<b>7.28.0</b> - <a
href="https://redirect.github.com/babel/babel/releases/tag/v7.28.0">2025-07-02</a></br><h2>v7.28.0
(2025-07-02)</h2>
<h4>🚀 New Feature</h4>
<ul>
<li><code>babel-node</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17147"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17147/hovercard">#17147</a>
Support top level await in node repl (<a
href="https://redirect.github.com/liuxingbaoyu">@ liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-types</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17258"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17258/hovercard">#17258</a>
feat(matchesPattern): support super/private/meta (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-compat-data</code>, <code>babel-preset-env</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17355"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17355/hovercard">#17355</a> Add
explicit resource management to preset-env (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-core</code>, <code>babel-parser</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17390"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17390/hovercard">#17390</a>
Support <code>sourceType: "commonjs"</code> (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>, <code>babel-parser</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17346"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17346/hovercard">#17346</a>
Materialize <code>explicitResourceManagement</code> parser plugin (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-do-expressions</code>,
<code>babel-plugin-transform-object-rest-spread</code>,
<code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17391"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17391/hovercard">#17391</a> LVal
coverage updates (Part 2) (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-parser</code>, <code>babel-traverse</code>,
<code>babel-types</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17378"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17378/hovercard">#17378</a> Accept
bigints in <code>t.bigIntLiteral</code> factory (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-discard-binding</code>,
<code>babel-plugin-transform-destructuring</code>,
<code>babel-plugin-transform-explicit-resource-management</code>,
<code>babel-plugin-transform-react-display-name</code>,
<code>babel-types</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17277"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17277/hovercard">#17277</a>
Transform discard binding (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-generator</code>, <code>babel-parser</code>,
<code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-transform-block-scoping</code>,
<code>babel-plugin-transform-object-rest-spread</code>,
<code>babel-plugin-transform-typescript</code>,
<code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17163"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17163/hovercard">#17163</a> Parse
discard binding (<a href="https://redirect.github.com/JLHwung">@
JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4>🐛 Bug Fix</h4>
<ul>
<li><code>babel-helper-globals</code>,
<code>babel-plugin-transform-classes</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17297"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17297/hovercard">#17297</a> Create
babel-helper-globals (<a href="https://redirect.github.com/JLHwung">@
JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-types</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17009"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17009/hovercard">#17009</a>
feature: TSTypeOperator: keyof (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2502652054"
data-permission-text="Title is private"
data-url="babel/babel#16799"
data-hovercard-type="issue"
data-hovercard-url="/babel/babel/issues/16799/hovercard"
href="https://redirect.github.com/babel/babel/issues/16799">#16799</a>)
(<a href="https://redirect.github.com/coderaiser">@ coderaiser</a>)</li>
</ul>
</li>
</ul>
<h4>🏠 Internal</h4>
<ul>
<li><code>babel-compat-data</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-transform-async-generator-functions</code>,
<code>babel-plugin-transform-json-modules</code>,
<code>babel-plugin-transform-regenerator</code>,
<code>babel-plugin-transform-runtime</code>,
<code>babel-preset-env</code>, <code>babel-runtime-corejs3</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17403"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17403/hovercard">#17403</a> Update
<code>babel-polyfill</code> packages (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 5</h4>
<ul>
<li>Babel Bot (<a href="https://redirect.github.com/babel-bot">@
babel-bot</a>)</li>
<li>Huáng Jùnliàng (<a href="https://redirect.github.com/JLHwung">@
JLHwung</a>)</li>
<li>Nicolò Ribaudo (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
<li><a href="https://redirect.github.com/liuxingbaoyu">@
liuxingbaoyu</a></li>
<li>coderaiser (<a href="https://redirect.github.com/coderaiser">@
coderaiser</a>)</li>
</ul>
      </li>
    </ul>
from <a
href="https://redirect.github.com/babel/babel/releases">@babel/core
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.
> - Max score is 1000. Note that the real score may have changed since
the PR was raised.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI3NWI5ZGJmMC02NDhhLTQ0NTYtOWEzMy05ZmE4ZjdjMjk1NTMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6Ijc1YjlkYmYwLTY0OGEtNDQ1Ni05YTMzLTlmYThmN2MyOTU1MyJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59?utm_source&#x3D;github-cloud-app&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59/settings/integration?utm_source&#x3D;github-cloud-app&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59/settings/integration?pkg&#x3D;@babel/core&amp;utm_source&#x3D;github-cloud-app&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"@babel/core","from":"7.28.0","to":"7.28.3"}],"env":"prod","hasFixes":true,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":["SNYK-JS-BRACEEXPANSION-9789073","SNYK-JS-BRACEEXPANSION-9789073"],"prId":"75b9dbf0-648a-4456-9a33-9fa8f7c29553","prPublicId":"75b9dbf0-648a-4456-9a33-9fa8f7c29553","packageManager":"npm","priorityScoreList":[57],"projectPublicId":"55e114f8-489e-4f14-b900-20574b041e59","projectUrl":"https://app.snyk.io/org/reisene/project/55e114f8-489e-4f14-b900-20574b041e59?utm_source=github-cloud-app&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":["priorityScore"],"type":"auto","upgrade":["SNYK-JS-BRACEEXPANSION-9789073","SNYK-JS-BRACEEXPANSION-9789073"],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2025-08-14T12:36:21.762Z"},"vulns":["SNYK-JS-BRACEEXPANSION-9789073","SNYK-JS-BRACEEXPANSION-9789073"]}'
BugBareDrums added a commit to DEFRA/grants-ui that referenced this pull request Sep 29, 2025
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade @babel/runtime from 7.28.3 to
7.28.4.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **1 version** ahead of your current
version.

- The recommended version was released **22 days ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>@babel/runtime</b></summary>
    <ul>
      <li>
<b>7.28.4</b> - <a
href="https://redirect.github.com/babel/babel/releases/tag/v7.28.4">2025-09-05</a></br><h2>v7.28.4
(2025-09-05)</h2>
<p>Thanks <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/gwillen/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/gwillen">@ gwillen</a> and <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/mrginglymus/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/mrginglymus">@ mrginglymus</a> for
your first PRs!</p>
<h4>🏠 Internal</h4>
<ul>
<li><code>babel-core</code>,
<code>babel-helper-check-duplicate-nodes</code>,
<code>babel-traverse</code>, <code>babel-types</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17493"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17493/hovercard">#17493</a> Update
Jest to v30.1.1 (<a href="https://redirect.github.com/JLHwung">@
JLHwung</a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-regenerator</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17455"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17455/hovercard">#17455</a> chore:
Clean up <code>transform-regenerator</code> (<a
href="https://redirect.github.com/liuxingbaoyu">@ liuxingbaoyu</a>)</li>
</ul>
</li>
<li><code>babel-core</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17474"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17474/hovercard">#17474</a> Switch
to @ jridgewell/remapping (<a
href="https://redirect.github.com/mrginglymus">@ mrginglymus</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 5</h4>
<ul>
<li>Babel Bot (<a href="https://redirect.github.com/babel-bot">@
babel-bot</a>)</li>
<li>Bill Collins (<a href="https://redirect.github.com/mrginglymus">@
mrginglymus</a>)</li>
<li>Glenn Willen (<a href="https://redirect.github.com/gwillen">@
gwillen</a>)</li>
<li>Huáng Jùnliàng (<a href="https://redirect.github.com/JLHwung">@
JLHwung</a>)</li>
<li><a href="https://redirect.github.com/liuxingbaoyu">@
liuxingbaoyu</a></li>
</ul>
      </li>
      <li>
<b>7.28.3</b> - <a
href="https://redirect.github.com/babel/babel/releases/tag/v7.28.3">2025-08-14</a></br><h2>v7.28.3
(2025-08-14)</h2>
<h4>👓 Spec Compliance</h4>
<ul>
<li><code>babel-helper-create-class-features-plugin</code>,
<code>babel-plugin-proposal-decorators</code>,
<code>babel-plugin-transform-class-static-block</code>,
<code>babel-preset-env</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17443"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17443/hovercard">#17443</a>
[static blocks] Do not inject new static fields after static code (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4>🐛 Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17465"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17465/hovercard">#17465</a>
fix(parser/typescript): parse <code>import("./a", {with:{},})</code> (<a
href="https://redirect.github.com/easrng">@ easrng</a>)</li>
<li><a href="https://redirect.github.com/babel/babel/pull/17478"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17478/hovercard">#17478</a>
fix(parser): stop subscript parsing on async arrow (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4>💅 Polish</h4>
<ul>
<li><code>babel-plugin-transform-regenerator</code>,
<code>babel-plugin-transform-runtime</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17363"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17363/hovercard">#17363</a> Do not
save last yield in call in temp var (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
</ul>
</li>
</ul>
<h4>📝 Documentation</h4>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17448"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17448/hovercard">#17448</a> move
eslint-{parser,plugin} docs to the website (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
<h4>🏠 Internal</h4>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17454"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17454/hovercard">#17454</a> Enable
type checking for <code>scripts</code> and <code>babel-worker.cjs</code>
(<a href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
<h4>🔬 Output optimization</h4>
<ul>
<li><code>babel-plugin-proposal-destructuring-private</code>,
<code>babel-plugin-proposal-do-expressions</code>
<ul>
<li><a href="https://redirect.github.com/babel/babel/pull/17444"
data-hovercard-type="pull_request"
data-hovercard-url="/babel/babel/pull/17444/hovercard">#17444</a>
Optimize do expression output (<a
href="https://redirect.github.com/JLHwung">@ JLHwung</a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 5</h4>
<ul>
<li>Babel Bot (<a href="https://redirect.github.com/babel-bot">@
babel-bot</a>)</li>
<li>Huáng Jùnliàng (<a href="https://redirect.github.com/JLHwung">@
JLHwung</a>)</li>
<li>Jam Balaya (<a href="https://redirect.github.com/JamBalaya56562">@
JamBalaya56562</a>)</li>
<li>Nicolò Ribaudo (<a
href="https://redirect.github.com/nicolo-ribaudo">@
nicolo-ribaudo</a>)</li>
<li>easrng (<a href="https://redirect.github.com/easrng">@
easrng</a>)</li>
</ul>
      </li>
    </ul>
from <a
href="https://redirect.github.com/babel/babel/releases">@babel/runtime
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJmOTY5NTNlMS1jOTM2LTRiMDYtOTFkMi1hN2I1YjNjMjMwOTgiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImY5Njk1M2UxLWM5MzYtNGIwNi05MWQyLWE3YjViM2MyMzA5OCJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.snyk.io/org/alanplatt/project/ff50773c-5262-40d8-b38d-68f56510f59a?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/alanplatt/project/ff50773c-5262-40d8-b38d-68f56510f59a/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/alanplatt/project/ff50773c-5262-40d8-b38d-68f56510f59a/settings/integration?pkg&#x3D;@babel/runtime&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":null,"FF_showPullRequestBreakingChangesWebSearch":null,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"@babel/runtime","from":"7.28.3","to":"7.28.4"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"f96953e1-c936-4b06-91d2-a7b5b3c23098","prPublicId":"f96953e1-c936-4b06-91d2-a7b5b3c23098","packageManager":"npm","priorityScoreList":[],"projectPublicId":"ff50773c-5262-40d8-b38d-68f56510f59a","projectUrl":"https://app.snyk.io/org/alanplatt/project/ff50773c-5262-40d8-b38d-68f56510f59a?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2025-09-05T14:53:08.958Z"},"vulns":[]}'
Franteos added a commit to Franteos/babel that referenced this pull request Oct 9, 2025
@github-actions github-actions bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Oct 25, 2025
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

outdated A closed issue/PR that is archived due to age. Recommended to make a new issue PR: Output optimization 🔬 A type of pull request used for our changelog categories Spec: Do Expressions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorrect return value from delete do { ... }

4 participants