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 extension-dependencies group with 14 updates:
3.3.1
3.3.2
1.15.2
1.15.3
1.14.1
1.14.4
8.1.0
9.0.1
20.4.4
20.9.0
1.80.0
1.84.1
6.1.0
6.10.0
6.1.0
6.10.0
2.19.0
2.22.0
0.18.16
0.19.5
8.45.0
8.53.0
7.0.2
8.0.0
3.0.0
3.1.0
5.1.6
5.2.2
Updates
fast-glob
from 3.3.1 to 3.3.2Release notes
Sourced from fast-glob's releases.
Commits
e60a9f5
3.3.28638dc6
fix: escape square braces on Windows platform91dc88a
fix: keep escaping after brace expansionUpdates
follow-redirects
from 1.15.2 to 1.15.3Commits
192dbe7
Release version 1.15.3 of the npm package.bd8c81e
Fix resource leak on destroy.9c728c3
Split linting and testing.d388fe2
build: harden ci.yml permissionsUpdates
@types/follow-redirects
from 1.14.1 to 1.14.4Commits
Updates
vscode-languageclient
from 8.1.0 to 9.0.1Commits
4f782ce
New release 3.17.58c81fc8
Update lock files (#1323)300fac4
Prepare new release (#1322)dfdb85d
Fix folding range tests (#1320)4e057d5
Add the workspace/foldingRange/refresh method (#1309)b6e99d8
AddMessageType.Debug
(#1264)c6817d3
Fixes #1313: Capture the exit code of a server process and print it to the lo...c880c61
Move to vscode version 1.82 (#1312)864c8c5
Dbaeumer/frail-salamander-amber (#1311)fb0a3d4
Move to lock file version 3 (#1304)Updates
@types/node
from 20.4.4 to 20.9.0Commits
Updates
@types/vscode
from 1.80.0 to 1.84.1Commits
Updates
@typescript-eslint/eslint-plugin
from 6.1.0 to 6.10.0Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
75c1288
chore: publish v6.10.029c2e68
docs: flip the flag of skipCompoundAssignments in the example (#7868)855abea
fix(eslint-plugin): [require-await] add support for "await using" (#7866)11e57c5
fix(eslint-plugin): [no-unused-vars] handle logical assignment (#7854)5e73a48
feat(eslint-plugin): [ban-ts-comments] suggest ts-expect-error over ts-ignore...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...Updates
@typescript-eslint/parser
from 6.1.0 to 6.10.0Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.... (truncated)
Commits
75c1288
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.3ddb8589
chore: publish v6.7.2Updates
@vscode/vsce
from 2.19.0 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)2e474b4
use execFile instead of exec (#898)70b844e
clean commit message (#897)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)Updates
esbuild
from 0.18.16 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.45.0 to 8.53.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.