The CSS uses a URL fragment (the #x) to reference the clipPath element in the SVG file. Previously esbuild's CSS bundler didn't preserve the URL fragment when bundling the SVG using the dataurl loader, which broke the bundled CSS. With this release, esbuild will now preserve the URL fragment in the bundled CSS:
This release includes dedicated support for parsing @scope rules in CSS. These rules include optional "start" and "end" selector lists. One important consequence of this is that the local/global status of names in selector lists is now respected, which improves the correctness of esbuild's support for CSS modules. Minification of selectors inside @scope rules has also improved slightly.
Here's an example:
/* Original code */@​scope(:global(.foo))to(:local(.bar)){.bar{color:red;}}/* Old output (with --loader=local-css --minify) */@​scope(:global(.foo))to(:local(.bar)){.o{color:red}}/* New output (with --loader=local-css --minify) */@​scope(.foo)to(.o){.o{color:red}}
Fix a minification bug with lowering of for await (#4378, #4385)
This release fixes a bug where the minifier would incorrectly strip the variable in the automatically-generated catch clause of lowered for await loops. The code that generated the loop previously failed to mark the internal variable references as used.
Update the Go compiler from v1.25.5 to v1.25.7 (#4383, #4388)
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [esbuild](https://github.com/evanw/esbuild) | [`0.27.2` → `0.27.3`](https://renovatebot.com/diffs/npm/esbuild/0.27.2/0.27.3) |  |  |
---
### Release Notes
<details>
<summary>evanw/esbuild (esbuild)</summary>
### [`v0.27.3`](https://github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0273)
[Compare Source](https://github.com/evanw/esbuild/compare/v0.27.2...v0.27.3)
- Preserve URL fragments in data URLs ([#​4370](https://github.com/evanw/esbuild/issues/4370))
Consider the following HTML, CSS, and SVG:
- `index.html`:
```html
<!DOCTYPE html>
<html>
<head><link rel="stylesheet" href="icons.css"></head>
<body><div class="triangle"></div></body>
</html>
```
- `icons.css`:
```css
.triangle {
width: 10px;
height: 10px;
background: currentColor;
clip-path: url(./triangle.svg#x);
}
```
- `triangle.svg`:
```xml
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<clipPath id="x">
<path d="M0 0H10V10Z"/>
</clipPath>
</defs>
</svg>
```
The CSS uses a URL fragment (the `#x`) to reference the `clipPath` element in the SVG file. Previously esbuild's CSS bundler didn't preserve the URL fragment when bundling the SVG using the `dataurl` loader, which broke the bundled CSS. With this release, esbuild will now preserve the URL fragment in the bundled CSS:
```css
/* icons.css */
.triangle {
width: 10px;
height: 10px;
background: currentColor;
clip-path: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"><defs><clipPath id="x"><path d="M0 0H10V10Z"/></clipPath></defs></svg>#x');
}
```
- Parse and print CSS `@scope` rules ([#​4322](https://github.com/evanw/esbuild/issues/4322))
This release includes dedicated support for parsing `@scope` rules in CSS. These rules include optional "start" and "end" selector lists. One important consequence of this is that the local/global status of names in selector lists is now respected, which improves the correctness of esbuild's support for [CSS modules](https://esbuild.github.io/content-types/#local-css). Minification of selectors inside `@scope` rules has also improved slightly.
Here's an example:
```css
/* Original code */
@​scope (:global(.foo)) to (:local(.bar)) {
.bar {
color: red;
}
}
/* Old output (with --loader=local-css --minify) */
@​scope (:global(.foo)) to (:local(.bar)){.o{color:red}}
/* New output (with --loader=local-css --minify) */
@​scope(.foo)to (.o){.o{color:red}}
```
- Fix a minification bug with lowering of `for await` ([#​4378](https://github.com/evanw/esbuild/pull/4378), [#​4385](https://github.com/evanw/esbuild/pull/4385))
This release fixes a bug where the minifier would incorrectly strip the variable in the automatically-generated `catch` clause of lowered `for await` loops. The code that generated the loop previously failed to mark the internal variable references as used.
- Update the Go compiler from v1.25.5 to v1.25.7 ([#​4383](https://github.com/evanw/esbuild/issues/4383), [#​4388](https://github.com/evanw/esbuild/pull/4388))
This PR was contributed by [@​MikeWillCook](https://github.com/MikeWillCook).
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4wLjkiLCJ1cGRhdGVkSW5WZXIiOiI0My4wLjkiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
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.
This PR contains the following updates:
0.27.2→0.27.3Release Notes
evanw/esbuild (esbuild)
v0.27.3Compare Source
Preserve URL fragments in data URLs (#4370)
Consider the following HTML, CSS, and SVG:
index.html:icons.css:triangle.svg:The CSS uses a URL fragment (the
#x) to reference theclipPathelement in the SVG file. Previously esbuild's CSS bundler didn't preserve the URL fragment when bundling the SVG using thedataurlloader, which broke the bundled CSS. With this release, esbuild will now preserve the URL fragment in the bundled CSS:Parse and print CSS
@scoperules (#4322)This release includes dedicated support for parsing
@scoperules in CSS. These rules include optional "start" and "end" selector lists. One important consequence of this is that the local/global status of names in selector lists is now respected, which improves the correctness of esbuild's support for CSS modules. Minification of selectors inside@scoperules has also improved slightly.Here's an example:
Fix a minification bug with lowering of
for await(#4378, #4385)This release fixes a bug where the minifier would incorrectly strip the variable in the automatically-generated
catchclause of loweredfor awaitloops. The code that generated the loop previously failed to mark the internal variable references as used.Update the Go compiler from v1.25.5 to v1.25.7 (#4383, #4388)
This PR was contributed by @MikeWillCook.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.