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 @layer before @import
CSS lets you put @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:
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 @layer before @import
CSS lets you put @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:
Bumps the dependencies group with 18 updates:
4.8.2
4.9.2
16.18.39
20.6.0
5.62.0
6.6.0
5.62.0
6.6.0
2.3.3
2.3.4
2.19.0
2.21.0
4.3.7
4.3.8
4.3.5
4.3.6
0.18.16
0.19.2
8.45.0
8.49.0
8.8.0
9.0.0
35.0.0
39.0.0
2.27.5
2.28.1
15.7.0
16.1.0
10.3.3
10.3.4
2.8.8
3.0.3
3.12.7
3.12.8
5.1.6
5.2.2
Updates
tslog
from 4.8.2 to 4.9.2Release notes
Sourced from tslog's releases.
... (truncated)
Commits
ad6556f
4.9.21e93acc
Add more tests for some types3044fce
Merge pull request #259 from vktrl/masterbe1e549
add null test for noded510305
fix undefined check, add null test for browser6ab687e
Merge pull request #257 from fullstack-build/developmentc24f7e1
Fix docs, fix #256a080998
4.9.14bb3465
Move runtime into BaseLogger, fix #256aeb3620
4.9.0Updates
@types/node
from 16.18.39 to 20.6.0Commits
Updates
@typescript-eslint/eslint-plugin
from 5.62.0 to 6.6.0Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
a3a3932
chore: publish v6.6.07012279
fix(eslint-plugin): [key-spacing] consider properties with parens and comment...337525b
chore(deps): update dependency jest to v29.6.4 (#7575)4f34d0b
chore: publish v6.5.023ac499
fix(eslint-plugin): [consistent-type-assertions] wrap object return value wit...85f34da
docs: add info for no-extra-semi (#7330)ef1367e
chore: publish v6.4.12e1cfd5
chore: upgrade to yarn 3 (#6162)b52658f
fix(eslint-plugin): [no-unnecessary-condition] false positives with branded t...66cc514
chore: enable logical-assignment-operators rule internally (#7484)Updates
@typescript-eslint/parser
from 5.62.0 to 6.6.0Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.... (truncated)
Commits
a3a3932
chore: publish v6.6.0337525b
chore(deps): update dependency jest to v29.6.4 (#7575)4f34d0b
chore: publish v6.5.0ef1367e
chore: publish v6.4.12e1cfd5
chore: upgrade to yarn 3 (#6162)14bea42
chore: publish v6.4.00a1de14
chore: publish v6.3.0948b061
chore: publish v6.2.1c869aa1
chore: publish v6.2.0d98f1e8
chore: publish v6.1.0Updates
@vscode/test-electron
from 2.3.3 to 2.3.4Changelog
Sourced from
@vscode/test-electron
's changelog.Commits
Updates
@vscode/vsce
from 2.19.0 to 2.21.0Commits
11223c3
support manual release version (#895)e0857ea
feat: add support for packaging and publishing without license file (#887)986df2b
feat: add user-friendly info to --help (#884)a4f0bf3
rephrase error message for mismatched pricing values in manifest (#890)eb0b8b9
Add CodeQL suppression comment (#894)446c1de
add a pack alias for package (#892)a6187b3
Merge pull request #886 from microsoft/roblou/fixPlatCheckaa2113d
Version bump0ef9ec2
Look for an exact match of version+platform when detecting duplicates8deb0f6
2.20.0 (#883)Updates
chai
from 4.3.7 to 4.3.8Release notes
Sourced from chai's releases.
Commits
d9ff2c6
4.3.88d3205b
buildb351dc0
Fix: update exports.version to current version (#1534)1a8247f
Update CONTRIBUTING.md (#1521)3a8c49a
docs: specify return type of objDisplay (#1490)b455124
test: fix typo in test.js (#1459)98f4233
build(deps): bump socket.io-parser from 4.0.4 to 4.0.5 (#1488)acd16e0
chore: 4.x.x: Fix link to commit logs on GitHub (#1487)3c947a7
buildMaintainer changes
This version was pushed to npm by keithamus, a new releaser for chai since your current version.
Updates
@types/chai
from 4.3.5 to 4.3.6Commits
Updates
esbuild
from 0.18.16 to 0.19.2Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
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@import
c73f0f8
css: extract wrapping logic to a helper functiona05a2f9
css: make source index on compile results optionalbb16fb7
css: parser separates layers pre/post@import
Updates
eslint
from 8.45.0 to 8.49.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
55c1685
8.49.0d498a51
Build: changelog update for 8.49.0b7621c3
chore: remove browser test fromnpm test
(Looks like these dependencies are updatable in another way, so this is no longer needed.