Allow using the node: import prefix with es* targets (#3821)
The node: prefix on imports is an alternate way to import built-in node modules. For example, import fs from "fs" can also be written import fs from "node:fs". This only works with certain newer versions of node, so esbuild removes it when you target older versions of node such as with --target=node14 so that your code still works. With the way esbuild's platform-specific feature compatibility table works, this was added by saying that only newer versions of node support this feature. However, that means that a target such as --target=node18,es2022 removes the node: prefix because none of the es* targets are known to support this feature. This release adds the support for the node: flag to esbuild's internal compatibility table for es* to allow you to use compound targets like this:
// Original code
import fs from 'node:fs'
fs.open
// Old output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "fs";
fs.open;
// New output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "node:fs";
fs.open;
Fix a panic when using the CLI with invalid build flags if --analyze is present (#3834)
Previously esbuild's CLI could crash if it was invoked with flags that aren't valid for a "build" API call and the --analyze flag is present. This was caused by esbuild's internals attempting to add a Go plugin (which is how --analyze is implemented) to a null build object. The panic has been fixed in this release.
Fix incorrect location of certain error messages (#3845)
This release fixes a regression that caused certain errors relating to variable declarations to be reported at an incorrect location. The regression was introduced in version 0.18.7 of esbuild.
Print comments before case clauses in switch statements (#3838)
With this release, esbuild will attempt to print comments that come before case clauses in switch statements. This is similar to what esbuild already does for comments inside of certain types of expressions. Note that these types of comments are not printed if minification is enabled (specifically whitespace minification).
With this release, the build context's internal pluginData cache will now be cleared when starting a new build. This should fix a leak of memory from plugins that return pluginData objects from onResolve and/or onLoad callbacks.
Allow using the node: import prefix with es* targets (#3821)
The node: prefix on imports is an alternate way to import built-in node modules. For example, import fs from "fs" can also be written import fs from "node:fs". This only works with certain newer versions of node, so esbuild removes it when you target older versions of node such as with --target=node14 so that your code still works. With the way esbuild's platform-specific feature compatibility table works, this was added by saying that only newer versions of node support this feature. However, that means that a target such as --target=node18,es2022 removes the node: prefix because none of the es* targets are known to support this feature. This release adds the support for the node: flag to esbuild's internal compatibility table for es* to allow you to use compound targets like this:
// Original code
import fs from 'node:fs'
fs.open
// Old output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "fs";
fs.open;
// New output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "node:fs";
fs.open;
Fix a panic when using the CLI with invalid build flags if --analyze is present (#3834)
Previously esbuild's CLI could crash if it was invoked with flags that aren't valid for a "build" API call and the --analyze flag is present. This was caused by esbuild's internals attempting to add a Go plugin (which is how --analyze is implemented) to a null build object. The panic has been fixed in this release.
Fix incorrect location of certain error messages (#3845)
This release fixes a regression that caused certain errors relating to variable declarations to be reported at an incorrect location. The regression was introduced in version 0.18.7 of esbuild.
Print comments before case clauses in switch statements (#3838)
With this release, esbuild will attempt to print comments that come before case clauses in switch statements. This is similar to what esbuild already does for comments inside of certain types of expressions. Note that these types of comments are not printed if minification is enabled (specifically whitespace minification).
With this release, the build context's internal pluginData cache will now be cleared when starting a new build. This should fix a leak of memory from plugins that return pluginData objects from onResolve and/or onLoad callbacks.
Bumps the dependencies group with 11 updates in the / directory:
2.9.2
2.10.3
5.5.4
5.6.2
2.27.7
2.27.8
9.8.0
9.10.0
22.0.0
22.5.5
0.23.0
0.23.1
9.8.0
9.10.0
1.7.9
1.7.15
0.6.5
0.6.6
7.17.0
8.5.0
2.0.4
2.1.1
Updates
@astrojs/compiler
from 2.9.2 to 2.10.3Release notes
Sourced from
@astrojs/compiler
's releases.Commits
71fb3ef
[ci] release (#1042)5d0023d
Fix line returns segments being one character too long on Windows (#1043)f55a2af
fix/class:list directive was not properly merging with the class attribute (#...1c01c72
[ci] release (#1041)f05a7cc
fix(tsx): Extract positions based on utf-16 encoding (#1037)b9b0b6a
[ci] release (#1034)21b7b95
revert: top level returns transformations (#1036)af471f5
fix(tsx): Collect multibytes characters in skipped script and styles (#1033)0ebfc96
chore: cover all tests (#1011)f31a4ea
[ci] release (#1029)Updates
typescript
from 5.5.4 to 5.6.2Release notes
Sourced from typescript's releases.
Commits
a7e3374
Bump version to 5.6.2 and LKG2063357
🤖 Pick PR #59708 (LEGO: Pull request from lego/hb_537...) into release-5.6 (#...4fe7e41
🤖 Pick PR #59670 (fix(59649): ts Move to a new file d...) into release-5.6 (#...1a03e53
🤖 Pick PR #59761 (this
can be nullish) into release-5.6 (#59762)6212132
Update LKGbbb5faf
🤖 Pick PR #59542 (Fixing delay caused in vscode due t...) into release-5.6 (#...e6914a5
Bump version to 5.6.1-rc and LKG34121c4
Update LKG2a30c2a
Merge remote-tracking branch 'origin/main' into release-5.6936a79b
Expose TypeChecker. getAwaitedType to public (#59268)Updates
@changesets/cli
from 2.27.7 to 2.27.8Release notes
Sourced from
@changesets/cli
's releases.Commits
c867f32
Version Packages (#1439)bc75c1a
Replacechalk
withpicocolors
(#1417)52c302a
Remove unused@babel/runtime
dependency (#1445)5150fc1
switch frompreferred-pm
topackage-manager-detector
(#1446)4efc038
Fix logging --version flag (#1419)Updates
@eslint/js
from 9.8.0 to 9.10.0Release notes
Sourced from
@eslint/js
's releases.... (truncated)
Changelog
Sourced from
@eslint/js
's changelog.... (truncated)
Commits
1ebdde1
chore: package.json update for@eslint/js
releasecd5a0da
chore: package.json update for@eslint/js
release59dba1b
chore: package.json update for@eslint/js
releaseUpdates
@types/node
from 22.0.0 to 22.5.5Commits
Updates
esbuild
from 0.23.0 to 0.23.1Release notes
Sourced from esbuild's releases.
Changelog
Sourced from esbuild's changelog.
Commits
3327274
publish 0.23.1 to npm38e22ed
add a warning/debug log message for #3867a15bb51
fix #3825: memory leak ofpluginData
valuesf6e6481
fix #3838: print comments beforecase
clauses9c13ae1
fix #3853: update go 1.22.4 => 1.22.578f89e4
fix #3845: some incorrect error message locations892d2a7
fix #3834: cli sometimes panics with--analyze
360d472
fix a typo in the release notese3f4e2d
fix #3821: allownode:
prefix withes*
targetsUpdates
eslint
from 9.8.0 to 9.10.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.