This release fixes a bug with the bundler that happens when importing an ES module using require (which causes it to be wrapped) and there's a top-level var inside an if statement without being wrapped in a { ... } block (and a few other conditions). The bundling transform needed to hoist these var declarations outside of the lazy ES module wrapper for correctness. See the issue for details.
Fix minifier bug with for inside try inside label (#4351)
This fixes an old regression from version v0.21.4. Some code was introduced to move the label inside the try statement to address a problem with transforming labeled for await loops to avoid the await (the transformation involves converting the for await loop into a for loop and wrapping it in a try statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to for loops that esbuild itself generates internally as part of the for await transform. Here is an example of some affected code:
// Original code
d: {
e: {
try {
while (1) { break d }
} catch { break e; }
}
}
// Old output (with --minify)
a:try{e:for(;;)break a}catch{break e}
// New output (with --minify)
a:e:try{for(;;)break a}catch{break e}
Inline IIFEs containing a single expression (#4354)
Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single return statement. Now it should also work if the body contains a single expression statement instead:
// Old output (with --minify)
const foo=()=>(()=>{console.log(x())})();
// New output (with --minify)
const foo=()=>{console.log(x())};
The minifier now strips empty finally clauses (#4353)
This improvement means that finally clauses containing dead code can potentially cause the associated try statement to be removed from the output entirely in minified builds:
This release fixes a bug with the bundler that happens when importing an ES module using require (which causes it to be wrapped) and there's a top-level var inside an if statement without being wrapped in a { ... } block (and a few other conditions). The bundling transform needed to hoist these var declarations outside of the lazy ES module wrapper for correctness. See the issue for details.
Fix minifier bug with for inside try inside label (#4351)
This fixes an old regression from version v0.21.4. Some code was introduced to move the label inside the try statement to address a problem with transforming labeled for await loops to avoid the await (the transformation involves converting the for await loop into a for loop and wrapping it in a try statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to for loops that esbuild itself generates internally as part of the for await transform. Here is an example of some affected code:
// Original code
d: {
e: {
try {
while (1) { break d }
} catch { break e; }
}
}
// Old output (with --minify)
a:try{e:for(;;)break a}catch{break e}
// New output (with --minify)
a:e:try{for(;;)break a}catch{break e}
Inline IIFEs containing a single expression (#4354)
Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single return statement. Now it should also work if the body contains a single expression statement instead:
// Old output (with --minify)
const foo=()=>(()=>{console.log(x())})();
// New output (with --minify)
const foo=()=>{console.log(x())};
The minifier now strips empty finally clauses (#4353)
This improvement means that finally clauses containing dead code can potentially cause the associated try statement to be removed from the output entirely in minified builds:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
@dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
@dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
@dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
@dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/fosrl/pangolin/pull/1969
**Author:** [@dependabot[bot]](https://github.com/apps/dependabot)
**Created:** 12/4/2025
**Status:** ❌ Closed
**Base:** `main` ← **Head:** `dependabot/npm_and_yarn/dev-patch-updates-42f78d98b0`
---
### 📝 Commits (1)
- [`eb6f931`](https://github.com/fosrl/pangolin/commit/eb6f931863bfa12cdd0fae6f1f34e18672840ab7) Bump the dev-patch-updates group across 1 directory with 3 updates
### 📊 Changes
**2 files changed** (+2864 additions, -593 deletions)
<details>
<summary>View changed files</summary>
📝 `package-lock.json` (+2861 -590)
📝 `package.json` (+3 -3)
</details>
### 📄 Description
Bumps the dev-patch-updates group with 3 updates in the / directory: [@types/yargs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yargs), [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) and [esbuild](https://github.com/evanw/esbuild).
Updates `@types/yargs` from 17.0.34 to 17.0.35
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yargs">compare view</a></li>
</ul>
</details>
<br />
Updates `drizzle-kit` from 0.31.6 to 0.31.7
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/47ba9c8c0149c3a5aac397962b08cf1cf161ffa1"><code>47ba9c8</code></a> Merge remote-tracking branch 'origin/main'</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/4e61887e20d8ed6585e52db84010ac90d7704f6a"><code>4e61887</code></a> +</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/c66862c55abe6cd23e9bf1f07519e3e5c6274cbf"><code>c66862c</code></a> Merge pull request <a href="https://redirect.github.com/drizzle-team/drizzle-orm/issues/5036">#5036</a> from drizzle-team/kit-checks</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/391d33bb619cddb4ef6b629cc03115819a5e78a4"><code>391d33b</code></a> Merge branch 'main' into kit-checks</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/97f9a45dcb1e4d3dfc4e1763df6017669e3799a5"><code>97f9a45</code></a> fix: Update permissions and streamline npm configuration in release workflows</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/0dfed1bf09f8fc7eab8df5bc458e69e96659a71b"><code>0dfed1b</code></a> Merge pull request <a href="https://redirect.github.com/drizzle-team/drizzle-orm/issues/5035">#5035</a> from drizzle-team/kit-checks</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/b6a6aac4078ff6485b39cb5ae29d828e930c21fc"><code>b6a6aac</code></a> fix: Add environment variables for npm authentication in release workflow</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/b9d7199a8ed6b21c4a6c9143a2e36989cfbba425"><code>b9d7199</code></a> fix: Fix release-latest</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/c314c8d88339a0cce1169147ee99a3a36d46777d"><code>c314c8d</code></a> Merge pull request <a href="https://redirect.github.com/drizzle-team/drizzle-orm/issues/5034">#5034</a> from drizzle-team/kit-checks</li>
<li><a href="https://github.com/drizzle-team/drizzle-orm/commit/64f4c797c04f8ce74bc82b88eada4cf03eeb869a"><code>64f4c79</code></a> +</li>
<li>Additional commits viewable in <a href="https://github.com/drizzle-team/drizzle-orm/compare/drizzle-kit@0.31.6...v0.31.7">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a> Actions), a new releaser for drizzle-kit since your current version.</p>
</details>
<br />
Updates `esbuild` from 0.27.0 to 0.27.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/evanw/esbuild/releases">esbuild's releases</a>.</em></p>
<blockquote>
<h2>v0.27.1</h2>
<ul>
<li>
<p>Fix bundler bug with <code>var</code> nested inside <code>if</code> (<a href="https://redirect.github.com/evanw/esbuild/issues/4348">#4348</a>)</p>
<p>This release fixes a bug with the bundler that happens when importing an ES module using <code>require</code> (which causes it to be wrapped) and there's a top-level <code>var</code> inside an <code>if</code> statement without being wrapped in a <code>{ ... }</code> block (and a few other conditions). The bundling transform needed to hoist these <code>var</code> declarations outside of the lazy ES module wrapper for correctness. See the issue for details.</p>
</li>
<li>
<p>Fix minifier bug with <code>for</code> inside <code>try</code> inside label (<a href="https://redirect.github.com/evanw/esbuild/issues/4351">#4351</a>)</p>
<p>This fixes an old regression from <a href="https://github.com/evanw/esbuild/releases/v0.21.4">version v0.21.4</a>. Some code was introduced to move the label inside the <code>try</code> statement to address a problem with transforming labeled <code>for await</code> loops to avoid the <code>await</code> (the transformation involves converting the <code>for await</code> loop into a <code>for</code> loop and wrapping it in a <code>try</code> statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to <code>for</code> loops that esbuild itself generates internally as part of the <code>for await</code> transform. Here is an example of some affected code:</p>
<pre lang="js"><code>// Original code
d: {
e: {
try {
while (1) { break d }
} catch { break e; }
}
}
<p>// Old output (with --minify)<br />
a:try{e:for(;;)break a}catch{break e}</p>
<p>// New output (with --minify)<br />
a:e:try{for(;;)break a}catch{break e}<br />
</code></pre></p>
</li>
<li>
<p>Inline IIFEs containing a single expression (<a href="https://redirect.github.com/evanw/esbuild/issues/4354">#4354</a>)</p>
<p>Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single <code>return</code> statement. Now it should also work if the body contains a single expression statement instead:</p>
<pre lang="js"><code>// Original code
const foo = () => {
const cb = () => {
console.log(x())
}
return cb()
}
<p>// Old output (with --minify)<br />
const foo=()=>(()=>{console.log(x())})();</p>
<p>// New output (with --minify)<br />
const foo=()=>{console.log(x())};<br />
</code></pre></p>
</li>
<li>
<p>The minifier now strips empty <code>finally</code> clauses (<a href="https://redirect.github.com/evanw/esbuild/issues/4353">#4353</a>)</p>
<p>This improvement means that <code>finally</code> clauses containing dead code can potentially cause the associated <code>try</code> statement to be removed from the output entirely in minified builds:</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/evanw/esbuild/blob/main/CHANGELOG.md">esbuild's changelog</a>.</em></p>
<blockquote>
<h2>0.27.1</h2>
<ul>
<li>
<p>Fix bundler bug with <code>var</code> nested inside <code>if</code> (<a href="https://redirect.github.com/evanw/esbuild/issues/4348">#4348</a>)</p>
<p>This release fixes a bug with the bundler that happens when importing an ES module using <code>require</code> (which causes it to be wrapped) and there's a top-level <code>var</code> inside an <code>if</code> statement without being wrapped in a <code>{ ... }</code> block (and a few other conditions). The bundling transform needed to hoist these <code>var</code> declarations outside of the lazy ES module wrapper for correctness. See the issue for details.</p>
</li>
<li>
<p>Fix minifier bug with <code>for</code> inside <code>try</code> inside label (<a href="https://redirect.github.com/evanw/esbuild/issues/4351">#4351</a>)</p>
<p>This fixes an old regression from <a href="https://github.com/evanw/esbuild/releases/v0.21.4">version v0.21.4</a>. Some code was introduced to move the label inside the <code>try</code> statement to address a problem with transforming labeled <code>for await</code> loops to avoid the <code>await</code> (the transformation involves converting the <code>for await</code> loop into a <code>for</code> loop and wrapping it in a <code>try</code> statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to <code>for</code> loops that esbuild itself generates internally as part of the <code>for await</code> transform. Here is an example of some affected code:</p>
<pre lang="js"><code>// Original code
d: {
e: {
try {
while (1) { break d }
} catch { break e; }
}
}
<p>// Old output (with --minify)<br />
a:try{e:for(;;)break a}catch{break e}</p>
<p>// New output (with --minify)<br />
a:e:try{for(;;)break a}catch{break e}<br />
</code></pre></p>
</li>
<li>
<p>Inline IIFEs containing a single expression (<a href="https://redirect.github.com/evanw/esbuild/issues/4354">#4354</a>)</p>
<p>Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single <code>return</code> statement. Now it should also work if the body contains a single expression statement instead:</p>
<pre lang="js"><code>// Original code
const foo = () => {
const cb = () => {
console.log(x())
}
return cb()
}
<p>// Old output (with --minify)<br />
const foo=()=>(()=>{console.log(x())})();</p>
<p>// New output (with --minify)<br />
const foo=()=>{console.log(x())};<br />
</code></pre></p>
</li>
<li>
<p>The minifier now strips empty <code>finally</code> clauses (<a href="https://redirect.github.com/evanw/esbuild/issues/4353">#4353</a>)</p>
<p>This improvement means that <code>finally</code> clauses containing dead code can potentially cause the associated <code>try</code> statement to be removed from the output entirely in minified builds:</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/evanw/esbuild/commit/5e0e56d6d62076dfeff47f5227ae5300f91d2b16"><code>5e0e56d</code></a> publish 0.27.1 to npm</li>
<li><a href="https://github.com/evanw/esbuild/commit/5a89732d6bc7d251b604b9d82a3044de65078230"><code>5a89732</code></a> fix <a href="https://redirect.github.com/evanw/esbuild/issues/4354">#4354</a>: improve IIFE inlining for expressions</li>
<li><a href="https://github.com/evanw/esbuild/commit/b940218ceaadc819d11e8d84dfdf07ac84e27e57"><code>b940218</code></a> minify: move unused expr simplification later</li>
<li><a href="https://github.com/evanw/esbuild/commit/c46d498c20ed336a3b5b69040b1250a861b2fa89"><code>c46d498</code></a> fix <a href="https://redirect.github.com/evanw/esbuild/issues/4353">#4353</a>: remove empty <code>try</code>/<code>finally</code> clauses</li>
<li><a href="https://github.com/evanw/esbuild/commit/7a72735c0d5efccd99ac4920cb9501e928b28ec9"><code>7a72735</code></a> fix <a href="https://redirect.github.com/evanw/esbuild/issues/4348">#4348</a>: bundler bug with <code>var</code> inside <code>if</code></li>
<li><a href="https://github.com/evanw/esbuild/commit/4e4e177bf252829472fc827aa421554cf436b40a"><code>4e4e177</code></a> fix <a href="https://redirect.github.com/evanw/esbuild/issues/4351">#4351</a>: label + <code>try</code> + <code>for</code> minifier bug</li>
<li><a href="https://github.com/evanw/esbuild/commit/d6427c91edab734da686c4c5d29ed580b08b9fd5"><code>d6427c9</code></a> fix: deno release url wrong comment (<a href="https://redirect.github.com/evanw/esbuild/issues/4326">#4326</a>)</li>
<li><a href="https://github.com/evanw/esbuild/commit/48e3e19bbf5c72e7b15afbb660fb1e1acaf3ce6f"><code>48e3e19</code></a> calling <code>Symbol.for</code> with a primitive never throws</li>
<li><a href="https://github.com/evanw/esbuild/commit/4ff88d01062514c21ee58fdbee6ecfc4158689c0"><code>4ff88d0</code></a> update <code>decorator-tests.js</code> snapshot</li>
<li><a href="https://github.com/evanw/esbuild/commit/1877e605bf1ac3e5881e6ffba5dfe94d5259b95c"><code>1877e60</code></a> calling <code>Symbol</code> with a primitive will never throw</li>
<li>See full diff in <a href="https://github.com/evanw/esbuild/compare/v0.27.0...v0.27.1">compare view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions
</details>
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/1969
Author: @dependabot[bot]
Created: 12/4/2025
Status: ❌ Closed
Base:
main← Head:dependabot/npm_and_yarn/dev-patch-updates-42f78d98b0📝 Commits (1)
eb6f931Bump the dev-patch-updates group across 1 directory with 3 updates📊 Changes
2 files changed (+2864 additions, -593 deletions)
View changed files
📝
package-lock.json(+2861 -590)📝
package.json(+3 -3)📄 Description
Bumps the dev-patch-updates group with 3 updates in the / directory: @types/yargs, drizzle-kit and esbuild.
Updates
@types/yargsfrom 17.0.34 to 17.0.35Commits
Updates
drizzle-kitfrom 0.31.6 to 0.31.7Commits
47ba9c8Merge remote-tracking branch 'origin/main'4e61887+c66862cMerge pull request #5036 from drizzle-team/kit-checks391d33bMerge branch 'main' into kit-checks97f9a45fix: Update permissions and streamline npm configuration in release workflows0dfed1bMerge pull request #5035 from drizzle-team/kit-checksb6a6aacfix: Add environment variables for npm authentication in release workflowb9d7199fix: Fix release-latestc314c8dMerge pull request #5034 from drizzle-team/kit-checks64f4c79+Maintainer changes
This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for drizzle-kit since your current version.
Updates
esbuildfrom 0.27.0 to 0.27.1Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
5e0e56dpublish 0.27.1 to npm5a89732fix #4354: improve IIFE inlining for expressionsb940218minify: move unused expr simplification laterc46d498fix #4353: remove emptytry/finallyclauses7a72735fix #4348: bundler bug withvarinsideif4e4e177fix #4351: label +try+forminifier bugd6427c9fix: deno release url wrong comment (#4326)48e3e19callingSymbol.forwith a primitive never throws4ff88d0updatedecorator-tests.jssnapshot1877e60callingSymbolwith a primitive will never throwDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.