From 1fc9983a3b3608dd0dccf1a692210cfbbf26e165 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 22 Aug 2023 10:27:02 -0700
Subject: [PATCH] build(deps-dev): bump esbuild from 0.17.19 to 0.19.2 (#19)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.17.19 to
0.19.2.
Sourced from esbuild's
releases. Update how CSS nesting is parsed again CSS nesting syntax has been changed again, and esbuild has been
updated to match. Type selectors may now be used with CSS nesting: Previously this was disallowed in the CSS specification because it's
ambiguous whether an identifier is a declaration or a nested rule
starting with a type selector without requiring unbounded lookahead in
the parser. It has now been allowed because the CSS working group has
decided that requiring unbounded lookahead is acceptable after all. Note that this change means esbuild no longer considers any existing
browser to support CSS nesting since none of the existing browsers
support this new syntax. CSS nesting will now always be transformed when
targeting a browser. This situation will change in the future as
browsers add support for this new syntax. Fix a scope-related bug with The recently-released Make renamed CSS names unique across entry points (#3295) Previously esbuild's generated names for local names in CSS were only
unique within a given entry point (or across all entry points when code
splitting was enabled). That meant that building multiple entry points
with esbuild could result in local names being renamed to the same
identifier even when those entry points were built simultaneously within
a single esbuild API call. This problem was especially likely to happen
with minification enabled. With this release, esbuild will now avoid
renaming local names from two separate entry points to the same name if
those entry points were built with a single esbuild API call, even when
code splitting is disabled. Fix CSS ordering bug with CSS lets you put /* Old output (with --bundle) */
/* New output (with --bundle) */
Release notes
v0.19.2
.foo {
div {
color: red;
}
}
--drop-labels= (#3311)--drop-labels= feature previously
had a bug where esbuild's internal scope stack wasn't being restored
properly when a statement with a label was dropped. This could manifest
as a tree-shaking issue, although it's possible that this could have
also been causing other subtle problems too. The bug has been fixed in
this release.@layer before
@import@layer rules before
@import rules to define the order of layers in a
stylesheet. Previously esbuild's CSS bundler incorrectly ordered these
after the imported files because before the introduction of cascade
layers to CSS, imported files could be bundled by removing the
@import rules and then joining files together in the right
order. But with @layer, CSS files may now need to be split
apart into multiple pieces in the bundle. For example:/* Original code */
@layer start;
@import "data:text/css,@layer inner.start;";
@import "data:text/css,@layer inner.end;";
@layer end;
@layer inner.start;
@layer inner.end;
@layer start;
@layer end;@layer start;
@layer inner.start;
@layer inner.end;
@layer end;
Unwrap nested duplicate @media rules (#3226)
... (truncated)
Sourced from esbuild's changelog.
0.19.2
Update how CSS nesting is parsed again
CSS nesting syntax has been changed again, and esbuild has been updated to match. Type selectors may now be used with CSS nesting:
.foo { div { color: red; } }Previously this was disallowed in the CSS specification because it's ambiguous whether an identifier is a declaration or a nested rule starting with a type selector without requiring unbounded lookahead in the parser. It has now been allowed because the CSS working group has decided that requiring unbounded lookahead is acceptable after all.
Note that this change means esbuild no longer considers any existing browser to support CSS nesting since none of the existing browsers support this new syntax. CSS nesting will now always be transformed when targeting a browser. This situation will change in the future as browsers add support for this new syntax.
Fix a scope-related bug with
--drop-labels=(#3311)The recently-released
--drop-labels=feature previously had a bug where esbuild's internal scope stack wasn't being restored properly when a statement with a label was dropped. This could manifest as a tree-shaking issue, although it's possible that this could have also been causing other subtle problems too. The bug has been fixed in this release.Make renamed CSS names unique across entry points (#3295)
Previously esbuild's generated names for local names in CSS were only unique within a given entry point (or across all entry points when code splitting was enabled). That meant that building multiple entry points with esbuild could result in local names being renamed to the same identifier even when those entry points were built simultaneously within a single esbuild API call. This problem was especially likely to happen with minification enabled. With this release, esbuild will now avoid renaming local names from two separate entry points to the same name if those entry points were built with a single esbuild API call, even when code splitting is disabled.
Fix CSS ordering bug with
@layerbefore@importCSS lets you put
@layerrules before@importrules to define the order of layers in a stylesheet. Previously esbuild's CSS bundler incorrectly ordered these after the imported files because before the introduction of cascade layers to CSS, imported files could be bundled by removing the@importrules and then joining files together in the right order. But with@layer, CSS files may now need to be split apart into multiple pieces in the bundle. For example:/* Original code */ @layer start; @import "data:text/css,@layer inner.start;"; @import "data:text/css,@layer inner.end;"; @layer end;/* Old output (with --bundle) */
@layerinner.start;@layerinner.end;@layerstart;@layerend;/* New output (with --bundle) */
@layerstart;@layerinner.start;@layerinner.end;@layerend;
... (truncated)
09a1001
publish 0.19.2 to npm4d9b764
fix #3311:
pop scope after --drop-labels= runsf2d23b2
fix some typose76780c
css: further changes to css nesting syntax71f4a5a
update compat-table (note: css nesting changed)eb667c3
css: try to merge adjacent @layer rules togetherf759693
css: fix ordering with @layer before
@importc73f0f8
css: extract wrapping logic to a helper functiona05a2f9
css: make source index on compile results optionalbb16fb7
css: parser separates layers pre/post @import