This release deliberately contains backwards-incompatible changes. To avoid automatically picking up releases like this, you should either be pinning the exact version of esbuild in your package.json file (recommended) or be using a version range syntax that only accepts patch upgrades such as ^0.23.0 or ~0.23.0. See npm's documentation about semver for more information.
This release drops support for the following operating system:
macOS 10.15 Catalina
This is because the Go programming language dropped support for this operating system version in Go 1.23, and this release updates esbuild from Go 1.22 to Go 1.23. Go 1.23 now requires macOS 11 Big Sur or later.
Note that this only affects the binary esbuild executables that are published to the esbuild npm package. It's still possible to compile esbuild's source code for these older operating systems. If you need to, you can compile esbuild for yourself using an older version of the Go compiler (before Go version 1.23). That might look something like this:
git clone https://github.com/evanw/esbuild.git
cd esbuild
go build ./cmd/esbuild
./esbuild --version
Fix class field decorators in TypeScript if useDefineForClassFields is false (#3913)
Setting the useDefineForClassFields flag to false in tsconfig.json means class fields use the legacy TypeScript behavior instead of the standard JavaScript behavior. Specifically they use assign semantics instead of define semantics (e.g. setters are triggered) and fields without an initializer are not initialized at all. However, when this legacy behavior is combined with standard JavaScript decorators, TypeScript switches to always initializing all fields, even those without initializers. Previously esbuild incorrectly continued to omit field initializers for this edge case. These field initializers in this case should now be emitted starting with this release.
Avoid incorrect cycle warning with tsconfig.json multiple inheritance (#3898)
TypeScript 5.0 introduced multiple inheritance for tsconfig.json files where extends can be an array of file paths. Previously esbuild would incorrectly treat files encountered more than once when processing separate subtrees of the multiple inheritance hierarchy as an inheritance cycle. With this release, tsconfig.json files containing this edge case should work correctly without generating a warning.
Handle Yarn Plug'n'Play stack overflow with tsconfig.json (#3915)
Previously a tsconfig.json file that extends another file in a package with an exports map could cause a stack overflow when Yarn's Plug'n'Play resolution was active. This edge case should work now starting with this release.
This version of Deno broke the stdin and stdout properties on command objects for inherited streams, which matters when you run esbuild's Deno module as the entry point (i.e. when import.meta.main is true). Previously esbuild would crash in Deno 1.31+ if you ran esbuild like that. This should be fixed starting with this release.
This release deliberately contains backwards-incompatible changes. To avoid automatically picking up releases like this, you should either be pinning the exact version of esbuild in your package.json file (recommended) or be using a version range syntax that only accepts patch upgrades such as ^0.23.0 or ~0.23.0. See npm's documentation about semver for more information.
This release drops support for the following operating system:
macOS 10.15 Catalina
This is because the Go programming language dropped support for this operating system version in Go 1.23, and this release updates esbuild from Go 1.22 to Go 1.23. Go 1.23 now requires macOS 11 Big Sur or later.
Note that this only affects the binary esbuild executables that are published to the esbuild npm package. It's still possible to compile esbuild's source code for these older operating systems. If you need to, you can compile esbuild for yourself using an older version of the Go compiler (before Go version 1.23). That might look something like this:
git clone https://github.com/evanw/esbuild.git
cd esbuild
go build ./cmd/esbuild
./esbuild --version
Fix class field decorators in TypeScript if useDefineForClassFields is false (#3913)
Setting the useDefineForClassFields flag to false in tsconfig.json means class fields use the legacy TypeScript behavior instead of the standard JavaScript behavior. Specifically they use assign semantics instead of define semantics (e.g. setters are triggered) and fields without an initializer are not initialized at all. However, when this legacy behavior is combined with standard JavaScript decorators, TypeScript switches to always initializing all fields, even those without initializers. Previously esbuild incorrectly continued to omit field initializers for this edge case. These field initializers in this case should now be emitted starting with this release.
Avoid incorrect cycle warning with tsconfig.json multiple inheritance (#3898)
TypeScript 5.0 introduced multiple inheritance for tsconfig.json files where extends can be an array of file paths. Previously esbuild would incorrectly treat files encountered more than once when processing separate subtrees of the multiple inheritance hierarchy as an inheritance cycle. With this release, tsconfig.json files containing this edge case should work correctly without generating a warning.
Handle Yarn Plug'n'Play stack overflow with tsconfig.json (#3915)
Previously a tsconfig.json file that extends another file in a package with an exports map could cause a stack overflow when Yarn's Plug'n'Play resolution was active. This edge case should work now starting with this release.
This version of Deno broke the stdin and stdout properties on command objects for inherited streams, which matters when you run esbuild's Deno module as the entry point (i.e. when import.meta.main is true). Previously esbuild would crash in Deno 1.31+ if you ran esbuild like that. This should be fixed starting with this release.
Bumps the development-dependencies group with 14 updates in the / directory:
19.4.1
19.5.0
19.4.1
19.5.0
9.9.1
9.13.0
22.5.1
22.8.6
1.92.0
1.95.0
8.3.0
8.12.2
8.3.0
8.12.2
5.1.0
6.0.0
0.23.1
0.24.0
9.9.1
9.13.0
15.9.0
15.11.0
9.1.5
9.1.6
0.9.2
0.10.0
5.5.4
5.6.3
Updates
@commitlint/cli
from 19.4.1 to 19.5.0Release notes
Sourced from
@commitlint/cli
's releases.Changelog
Sourced from
@commitlint/cli
's changelog.Commits
7e79af1
v19.5.0d7070d8
feat(cli): use special errorCode for missing rules/config #4142 (#4143)3c4b0fd
chore: replaceexeca
withtinyexec
and Node'schild_process.spawnSync
(...Updates
@commitlint/config-conventional
from 19.4.1 to 19.5.0Release notes
Sourced from
@commitlint/config-conventional
's releases.Changelog
Sourced from
@commitlint/config-conventional
's changelog.Commits
7e79af1
v19.5.0Updates
@eslint/js
from 9.9.1 to 9.13.0Release notes
Sourced from
@eslint/js
's releases.... (truncated)
Changelog
Sourced from
@eslint/js
's changelog.... (truncated)
Commits
2211f0a
chore: package.json update for@eslint/js
release873ae60
chore: package.json update for@eslint/js
release36d8095
chore: package.json update for@eslint/js
releasea10f90a
chore: package.json update for@eslint/js
release1ebdde1
chore: package.json update for@eslint/js
releaseUpdates
@types/node
from 22.5.1 to 22.8.6Commits
Updates
@types/vscode
from 1.92.0 to 1.95.0Commits
Updates
@typescript-eslint/eslint-plugin
from 8.3.0 to 8.12.2Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.... (truncated)
Commits
4af866a
chore(release): publish 8.12.2cc7177c
fix(eslint-plugin): [switch-exhaustiveness-check] invert `considerDefaultExha...1edec1d
chore(release): publish 8.12.13413a2d
chore(release): publish 8.12.0ac18749
feat(eslint-plugin): [no-base-to-string] handle String() (#10005)3c8978d
feat(eslint-plugin): [switch-exhaustiveness-check] add allowDefaultCaseMatchU...af4743f
test(eslint-plugin): fix a typo in a test, causing it to test theerror
typ...9c956ee
feat(eslint-plugin): [consistent-indexed-object-style] report mapped types (#...e765033
feat(eslint-plugin): [prefer-nullish-coalescing] add support for assignment e...79c27a8
chore(release): publish 8.11.0Updates
@typescript-eslint/parser
from 8.3.0 to 8.12.2Release notes
Sourced from
@typescript-eslint/parser
's releases.... (truncated)
Changelog
Sourced from
@typescript-eslint/parser
's changelog.... (truncated)
Commits
4af866a
chore(release): publish 8.12.21edec1d
chore(release): publish 8.12.13413a2d
chore(release): publish 8.12.079c27a8
chore(release): publish 8.11.08d35958
chore: enable eslint-plugin-perfectionist on typescript-estree package (#9852)7effdea
chore(release): publish 8.10.0f9c49e3
feat: support TypeScript 5.6 (#9972)4666ed4
chore(release): publish 8.9.0f898248
chore(release): publish 8.8.12055cfb
chore(release): publish 8.8.0Updates
del-cli
from 5.1.0 to 6.0.0Release notes
Sourced from del-cli's releases.
Commits
f6e4605
6.0.0de54031
Require Node.js 18 and update dependencies028ebb1
Meta tweaksUpdates
esbuild
from 0.23.1 to 0.24.0Release notes
Sourced from esbuild's releases.
Changelog
Sourced from esbuild's changelog.
Commits
d34e79e
publish 0.24.0 to npm045a87f
fix #3887: omit dead export warning fordefault
6e049b8
fix #3913: useDefineForClassFields and decorators9c26f98
lower decorators for useDefineForClassFields #391346fdb68
fix #3898: incorrect cyclic tsconfig.json warningb500443
fix #3917: running esbuild cli with denob125e62
runmake update-compat-table
112b9aa
fix #3915: stack overflow with yarn + tsconfiged5a555
wasm: catch and rethrow stack overflows (#3915)11d3196
fix #3902: update go 1.22.5 => 1.23.1Updates
eslint
from 9.9.1 to 9.13.0Release notes
Sourced from eslint's releases.