Fix a regression in 0.19.0 regarding paths in tsconfig.json (#3354)
The fix in esbuild version 0.19.0 to process tsconfig.json aliases before the --packages=external setting unintentionally broke an edge case in esbuild's handling of certain tsconfig.json aliases where there are multiple files with the same name in different directories. This release adjusts esbuild's behavior for this edge case so that it passes while still processing aliases before --packages=external. Please read the linked issue for more details.
This release fixes a bug where esbuild's CSS minifier didn't insert a space between the font size and the font family in the font CSS shorthand property in the edge case where the original source code didn't already have a space and the leading string token was shortened to an identifier:
/* Original code */
.foo { font: 16px"Menlo"; }
/* Old output (with --minify) */
.foo{font:16pxMenlo}
/* New output (with --minify) */
.foo{font:16px Menlo}
Fix bundling CSS with asset names containing spaces (#3410)
Assets referenced via CSS url() tokens may cause esbuild to generate invalid output when bundling if the file name contains spaces (e.g. url(image 2.png)). With this release, esbuild will now quote all bundled asset references in url() tokens to avoid this problem. This only affects assets loaded using the file and copy loaders.
Fix invalid CSS url() tokens in @import rules (#3426)
In the future, CSS url() tokens may contain additional stuff after the URL. This is irrelevant today as no CSS specification does this. But esbuild previously had a bug where using these tokens in an @import rule resulted in malformed output. This bug has been fixed.
Fix browser + false + type: module in package.json (#3367)
The browser field in package.json allows you to map a file to false to have it be treated as an empty file when bundling for the browser. However, if package.json contains "type": "module" then all .js files will be considered ESM, not CommonJS. Importing a named import from an empty CommonJS file gives you undefined, but importing a named export from an empty ESM file is a build error. This release changes esbuild's interpretation of these files mapped to false in this situation from ESM to CommonJS to avoid generating build errors for named imports.
Fix a bug in top-level await error reporting (#3400)
Using require() on a file that contains top-level await is not allowed because require() must return synchronously and top-level await makes that impossible. You will get a build error if you try to bundle code that does this with esbuild. This release fixes a bug in esbuild's error reporting code for complex cases of this situation involving multiple levels of imports to get to the module containing the top-level await.
Update to Unicode 15.1.0
The character tables that determine which characters form valid JavaScript identifiers have been updated from Unicode version 15.0.0 to the newly-released Unicode version 15.1.0. I'm not putting an example in the release notes because all of the new characters will likely just show up as little squares since fonts haven't been updated yet. But you can read https://www.unicode.org/versions/Unicode15.1.0/#Summary for more information about the changes.
Fix printing of JavaScript decorators in tricky cases (#3396)
This release fixes some bugs where esbuild's pretty-printing of JavaScript decorators could incorrectly produced code with a syntax error. The problem happened because esbuild sometimes substitutes identifiers for other expressions in the pretty-printer itself, but the decision about whether to wrap the expression or not didn't account for this. Here are some examples:
// Original code
import { constant } from './constants.js'
Fix a regression in 0.19.0 regarding paths in tsconfig.json (#3354)
The fix in esbuild version 0.19.0 to process tsconfig.json aliases before the --packages=external setting unintentionally broke an edge case in esbuild's handling of certain tsconfig.json aliases where there are multiple files with the same name in different directories. This release adjusts esbuild's behavior for this edge case so that it passes while still processing aliases before --packages=external. Please read the linked issue for more details.
This release fixes a bug where esbuild's CSS minifier didn't insert a space between the font size and the font family in the font CSS shorthand property in the edge case where the original source code didn't already have a space and the leading string token was shortened to an identifier:
/* Original code */
.foo { font: 16px"Menlo"; }
/* Old output (with --minify) */
.foo{font:16pxMenlo}
/* New output (with --minify) */
.foo{font:16px Menlo}
Fix bundling CSS with asset names containing spaces (#3410)
Assets referenced via CSS url() tokens may cause esbuild to generate invalid output when bundling if the file name contains spaces (e.g. url(image 2.png)). With this release, esbuild will now quote all bundled asset references in url() tokens to avoid this problem. This only affects assets loaded using the file and copy loaders.
Fix invalid CSS url() tokens in @import rules (#3426)
In the future, CSS url() tokens may contain additional stuff after the URL. This is irrelevant today as no CSS specification does this. But esbuild previously had a bug where using these tokens in an @import rule resulted in malformed output. This bug has been fixed.
Fix browser + false + type: module in package.json (#3367)
The browser field in package.json allows you to map a file to false to have it be treated as an empty file when bundling for the browser. However, if package.json contains "type": "module" then all .js files will be considered ESM, not CommonJS. Importing a named import from an empty CommonJS file gives you undefined, but importing a named export from an empty ESM file is a build error. This release changes esbuild's interpretation of these files mapped to false in this situation from ESM to CommonJS to avoid generating build errors for named imports.
Fix a bug in top-level await error reporting (#3400)
Using require() on a file that contains top-level await is not allowed because require() must return synchronously and top-level await makes that impossible. You will get a build error if you try to bundle code that does this with esbuild. This release fixes a bug in esbuild's error reporting code for complex cases of this situation involving multiple levels of imports to get to the module containing the top-level await.
Update to Unicode 15.1.0
The character tables that determine which characters form valid JavaScript identifiers have been updated from Unicode version 15.0.0 to the newly-released Unicode version 15.1.0. I'm not putting an example in the release notes because all of the new characters will likely just show up as little squares since fonts haven't been updated yet. But you can read https://www.unicode.org/versions/Unicode15.1.0/#Summary for more information about the changes.
Fix printing of JavaScript decorators in tricky cases (#3396)
This release fixes some bugs where esbuild's pretty-printing of JavaScript decorators could incorrectly produced code with a syntax error. The problem happened because esbuild sometimes substitutes identifiers for other expressions in the pretty-printer itself, but the decision about whether to wrap the expression or not didn't account for this. Here are some examples:
Bumps the dependencies group with 23 updates:
1.3.92
1.3.96
25.0.5
25.0.7
4.3.6
4.3.9
3.1.7
3.1.8
2.0.1
2.0.2
10.0.2
10.0.3
18.15.0
20.8.10
1.0.2
1.0.3
5.62.0
6.9.1
5.62.0
6.9.1
2.3.5
2.3.6
2.21.1
2.22.0
0.18.20
0.19.5
8.50.0
8.53.0
8.10.0
9.0.0
35.0.0
39.1.1
2.28.1
2.29.0
15.7.0
16.2.0
2.8.8
3.0.3
15.0.1
16.1.2
3.29.4
4.3.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
@types/chai
from 4.3.6 to 4.3.9Commits
Updates
@types/debounce-promise
from 3.1.7 to 3.1.8Commits
Updates
@types/json-parse-safe
from 2.0.1 to 2.0.2Commits
Updates
@types/mocha
from 10.0.2 to 10.0.3Commits
Updates
@types/node
from 18.15.0 to 20.8.10Commits
Updates
@types/readline-transform
from 1.0.2 to 1.0.3Commits
Updates
@typescript-eslint/eslint-plugin
from 5.62.0 to 6.9.1Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
1e47294
chore: publish v6.9.17ad86ee
fix(eslint-plugin): [naming-convention] allow PascalCase for imports (#7841)3300fa1
docs: add caveats to no-explicit-any docs (#7805)31988e0
fix(eslint-plugin): [no-unused-expressions] handle TSInstantiationExpression ...6455278
docs(eslint-plugin): [no-unsafe-member-access] correct example idx from const...101563b
chore: publish v6.9.0066ccf7
chore: update to nx 17 (#7815)9f85e67
docs(website): add Open in Playground button to code examples (#7482)53d5263
feat(eslint-plugin): [no-unsafe-enum-comparison] add switch suggestion (#7691)4972ecd
chore: enabled most of strict-type-checked internally (#7339)Updates
@typescript-eslint/parser
from 5.62.0 to 6.9.1Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.... (truncated)
Commits
1e47294
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.3ddb8589
chore: publish v6.7.2aefb268
chore: publish v6.7.1Updates
@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.5Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
a7fcc43
publish 0.19.5 to npm5870809
fix #3367: ignore ESM flag for disabled modulesd5f397f
fix #3354:tsconfig.json
regression withpaths
72b1e8b
resolver: moveIsExternal
intoPathPair
b0eddea
fix #3400: bug in top-level await error reporting47fc80b
fix #3426: improve invalidurl()
token parsingd6973b9
css: fix url token backtracking with leading space30a43ec
fix #3410: quote asset references in url tokensa579bd8
fix #3452: insert space infont
when minifyingcd91337
update go 1.20.7 => 1.20.10Updates
eslint
from 8.50.0 to 8.53.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.