This release fixes a bug where esbuild incorrectly checked for bigint equality by checking the equality of the bigint literal text. This is correct if the bigint doesn't have a radix because bigint literals without a radix are always in canonical form (since leading zeros are not allowed). However, this is incorrect if the bigint has a radix (e.g. 0x123n) because the canonical form is not enforced when a radix is present.
This release adds more cases to the JavaScript minifier, including support for inlining String.fromCharCode and String.prototype.charCodeAt when possible:
// Original code
document.onkeydown = e => e.keyCode === 'A'.charCodeAt(0) && console.log(String.fromCharCode(55358, 56768))
// Old output (with --minify)
document.onkeydown=o=>o.keyCode==="A".charCodeAt(0)&&console.log(String.fromCharCode(55358,56768));
// New output (with --minify)
document.onkeydown=o=>o.keyCode===65&&console.log("🧀");
In addition, immediately-invoked function expressions (IIFEs) that return a single expression are now inlined when minifying. This makes it possible to use IIFEs in combination with @__PURE__ annotations to annotate arbitrary expressions as side-effect free without the IIFE wrapper impacting code size. For example:
This release fixes a bug where esbuild incorrectly checked for bigint equality by checking the equality of the bigint literal text. This is correct if the bigint doesn't have a radix because bigint literals without a radix are always in canonical form (since leading zeros are not allowed). However, this is incorrect if the bigint has a radix (e.g. 0x123n) because the canonical form is not enforced when a radix is present.
This release adds more cases to the JavaScript minifier, including support for inlining String.fromCharCode and String.prototype.charCodeAt when possible:
// Original code
document.onkeydown = e => e.keyCode === 'A'.charCodeAt(0) && console.log(String.fromCharCode(55358, 56768))
// Old output (with --minify)
document.onkeydown=o=>o.keyCode==="A".charCodeAt(0)&&console.log(String.fromCharCode(55358,56768));
// New output (with --minify)
document.onkeydown=o=>o.keyCode===65&&console.log("🧀");
In addition, immediately-invoked function expressions (IIFEs) that return a single expression are now inlined when minifying. This makes it possible to use IIFEs in combination with @__PURE__ annotations to annotate arbitrary expressions as side-effect free without the IIFE wrapper impacting code size. For example:
Bumps the dependencies group with 24 updates:
1.3.92
1.3.96
25.0.5
25.0.7
0.2.1
0.3.0
4.3.6
4.3.10
3.1.7
3.1.9
2.0.1
2.0.3
10.0.2
10.0.4
18.15.0
20.9.2
1.0.2
1.0.4
5.62.0
6.11.0
5.62.0
6.11.0
2.3.5
2.3.6
2.21.1
2.22.0
0.18.20
0.19.6
8.50.0
8.54.0
8.10.0
9.0.0
35.0.0
40.0.0
2.28.1
2.29.0
15.7.0
16.3.1
2.8.8
3.1.0
15.0.1
16.1.2
3.29.4
4.5.0
15.2.0
17.0.1
5.1.6
5.2.2
Updates
@swc/core
from 1.3.92 to 1.3.96Changelog
Sourced from
@swc/core
's changelog.... (truncated)
Commits
93bb69d
chore: Publishv1.3.96
withswc_core
v0.86.29
(#8216)f2c1da8
chore: Publish 1.3.96-nightly-20231103.15bdd8fd
chore: Publish crates47733a9
fix(es/react): Visit children nodes injsx-src
pass (#8212)2b35e6c
chore: Publish crates83a5a0c
fix(es/compat): Handle private names from class properties pass (#8090)407aa63
chore: Publish cratesabced23
fix(es/typescript): Preserve const enum for named export (#8208)f721814
chore: Publish cratesc061356
fix(es/transforms): Do not addPURE
comment toBytePos(0)
(#8207)Updates
@rollup/plugin-commonjs
from 25.0.5 to 25.0.7Changelog
Sourced from
@rollup/plugin-commonjs
's changelog.Commits
ad406ba
chore(release): commonjs v25.0.78e2ed59
fix(commonjs,dynamic-import-vars,esm-shim,inject,replace,strip): bump magic-s...88687f0
chore(release): commonjs v25.0.6cb579c8
fix(commonjs): Keep the shebang at the top of the file content (#1610)Updates
@rollup/plugin-swc
from 0.2.1 to 0.3.0Changelog
Sourced from
@rollup/plugin-swc
's changelog.Commits
2c58b01
chore(release): swc v0.3.0a4c7679
feat(swc): allow passingenv
property as option (#1624)dcd8da5
chore(repo): use@dot/versioner
for releases (#1612)Updates
@types/chai
from 4.3.6 to 4.3.10Commits
Updates
@types/debounce-promise
from 3.1.7 to 3.1.9Commits
Updates
@types/json-parse-safe
from 2.0.1 to 2.0.3Commits
Updates
@types/mocha
from 10.0.2 to 10.0.4Commits
Updates
@types/node
from 18.15.0 to 20.9.2Commits
Updates
@types/readline-transform
from 1.0.2 to 1.0.4Commits
Updates
@typescript-eslint/eslint-plugin
from 5.62.0 to 6.11.0Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
06496e2
chore: publish v6.11.0a54a60b
chore: add eslint-utils wrappers around deprecated ESLint methods (#7914)e77616b
chore(eslint-plugin): fixed no-unnecessary-condition complaints (#7837)8e87fac
chore: fix miscellaneous no-unnecessary-condition violations (#7834)72cb9e4
feat(eslint-plugin): no-unsafe-enum-comparison handles switch cases (#7898)99a026f
feat(utils): add ESLintCodePath
selector types (#7551)b6c40b4
feat: allow typescript@5.3.0-RC as devDependency (#7821)c4709c2
feat: addno-unsafe-unary-minus
rule (#7390)66cd0c0
feat: add types for flat config files (#7273)a668f5b
fix(eslint-plugin): [no-unnecessary-qualifier] handle nested namespace id (#7...Updates
@typescript-eslint/parser
from 5.62.0 to 6.11.0Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.... (truncated)
Commits
06496e2
chore: publish v6.11.075c1288
chore: publish v6.10.01e47294
chore: publish v6.9.1101563b
chore: publish v6.9.0066ccf7
chore: update to nx 17 (#7815)0f11c18
chore(deps): update dependency prettier to v3 (#7425)d475f88
chore: publish v6.8.036aecb6
chore: publish v6.7.5d948dc4
chore: publish v6.7.491a3e0c
chore: publish v6.7.3Updates
@vscode/test-electron
from 2.3.5 to 2.3.6Changelog
Sourced from
@vscode/test-electron
's changelog.Commits
0064e89
2.3.687b9842
fix: avoid faulty rename when installing310c6b2
chore(deps): bump postcss from 8.4.19 to 8.4.31 (#238)0be636f
Merge pull request #237 from microsoft/connor4312/issue-233Updates
@vscode/vsce
from 2.21.1 to 2.22.0Commits
10309ba
remove win32-ia32 (#908)a001296
docs: fix grammatical error in engine mismatch message (#907)955a554
missing comma added for README.md (#903)Updates
esbuild
from 0.18.20 to 0.19.6Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
6073a3a
publish 0.19.6 to npm19ff9d3
async arrow functions are not IIFEs9fa4e79
inline IIFEs that return a single expression6c4aa2c
fix #3454: crash with jsx-dev before super() call4a1e576
fix #3467:formatMessages
edge case perf hack20c2604
add some go tests for message formatting5271f82
silence new warnings withinnode_modules
83e8c7f
fix #3485: map subpath imports to node built-ins07e527d
fix #3453: useSymbol.for
for missing symbols50cead7
try adding a warning about suspicious uses of=>
Updates
eslint
from 8.50.0 to 8.54.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.