Bumps esbuild from 0.15.7 to 0.16.1.
Release notes
Sourced from esbuild's releases.
v0.16.1
This is a hotfix for the previous release.
-
Re-allow importing JSON with the copy
loader using an import assertion
The previous release made it so when assert { type: 'json' }
is present on an import statement, esbuild validated that the json
loader was used. This is what an import assertion is supposed to do. However, I forgot about the relatively new copy
loader, which sort of behaves as if the import path was marked as external (and thus not loaded at all) except that the file is copied to the output directory and the import path is rewritten to point to the copy. In this case whatever JavaScript runtime ends up running the code is the one to evaluate the import assertion. So esbuild should really allow this case as well. With this release, esbuild now allows both the json
and copy
loaders when an assert { type: 'json' }
import assertion is present.
v0.16.0
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.15.0
. See npm's documentation about semver for more information.
-
Move all binary executable packages to the @esbuild/
scope
Binary package executables for esbuild are published as individual packages separate from the main esbuild
package so you only have to download the relevant one for the current platform when you install esbuild. This release moves all of these packages under the @esbuild/
scope to avoid collisions with 3rd-party packages. It also changes them to a consistent naming scheme that uses the os
and cpu
names from node.
The package name changes are as follows:
@esbuild/linux-loong64
=> @esbuild/linux-loong64
(no change)
esbuild-android-64
=> @esbuild/android-x64
esbuild-android-arm64
=> @esbuild/android-arm64
esbuild-darwin-64
=> @esbuild/darwin-x64
esbuild-darwin-arm64
=> @esbuild/darwin-arm64
esbuild-freebsd-64
=> @esbuild/freebsd-x64
esbuild-freebsd-arm64
=> @esbuild/freebsd-arm64
esbuild-linux-32
=> @esbuild/linux-ia32
esbuild-linux-64
=> @esbuild/linux-x64
esbuild-linux-arm
=> @esbuild/linux-arm
esbuild-linux-arm64
=> @esbuild/linux-arm64
esbuild-linux-mips64le
=> @esbuild/linux-mips64el
esbuild-linux-ppc64le
=> @esbuild/linux-ppc64
esbuild-linux-riscv64
=> @esbuild/linux-riscv64
esbuild-linux-s390x
=> @esbuild/linux-s390x
esbuild-netbsd-64
=> @esbuild/netbsd-x64
esbuild-openbsd-64
=> @esbuild/openbsd-x64
esbuild-sunos-64
=> @esbuild/sunos-x64
esbuild-wasm
=> esbuild-wasm
(no change)
esbuild-windows-32
=> @esbuild/win32-ia32
esbuild-windows-64
=> @esbuild/win32-x64
esbuild-windows-arm64
=> @esbuild/win32-arm64
esbuild
=> esbuild
(no change)
Normal usage of the esbuild
and esbuild-wasm
packages should not be affected. These name changes should only affect tools that hard-coded the individual binary executable package names into custom esbuild downloader scripts.
This change was not made with performance in mind. But as a bonus, installing esbuild with npm may potentially happen faster now. This is because npm's package installation protocol is inefficient: it always downloads metadata for all past versions of each package even when it only needs metadata about a single version. This makes npm package downloads O(n) in the number of published versions, which penalizes packages like esbuild that are updated regularly. Since most of esbuild's package names have now changed, npm will now need to download much less data when installing esbuild (8.72mb of package manifests before this change → 0.06mb of package manifests after this change). However, this is only a temporary improvement. Installing esbuild will gradually get slower again as further versions of esbuild are published.
-
Publish a shell script that downloads esbuild directly
In addition to all of the existing ways to install esbuild, you can now also download esbuild directly like this:
curl -fsSL https://esbuild.github.io/dl/latest | sh
... (truncated)
Changelog
Sourced from esbuild's changelog.
0.16.1
This is a hotfix for the previous release.
-
Re-allow importing JSON with the copy
loader using an import assertion
The previous release made it so when assert { type: 'json' }
is present on an import statement, esbuild validated that the json
loader was used. This is what an import assertion is supposed to do. However, I forgot about the relatively new copy
loader, which sort of behaves as if the import path was marked as external (and thus not loaded at all) except that the file is copied to the output directory and the import path is rewritten to point to the copy. In this case whatever JavaScript runtime ends up running the code is the one to evaluate the import assertion. So esbuild should really allow this case as well. With this release, esbuild now allows both the json
and copy
loaders when an assert { type: 'json' }
import assertion is present.
0.16.0
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.15.0
. See npm's documentation about semver for more information.
-
Move all binary executable packages to the @esbuild/
scope
Binary package executables for esbuild are published as individual packages separate from the main esbuild
package so you only have to download the relevant one for the current platform when you install esbuild. This release moves all of these packages under the @esbuild/
scope to avoid collisions with 3rd-party packages. It also changes them to a consistent naming scheme that uses the os
and cpu
names from node.
The package name changes are as follows:
@esbuild/linux-loong64
=> @esbuild/linux-loong64
(no change)
esbuild-android-64
=> @esbuild/android-x64
esbuild-android-arm64
=> @esbuild/android-arm64
esbuild-darwin-64
=> @esbuild/darwin-x64
esbuild-darwin-arm64
=> @esbuild/darwin-arm64
esbuild-freebsd-64
=> @esbuild/freebsd-x64
esbuild-freebsd-arm64
=> @esbuild/freebsd-arm64
esbuild-linux-32
=> @esbuild/linux-ia32
esbuild-linux-64
=> @esbuild/linux-x64
esbuild-linux-arm
=> @esbuild/linux-arm
esbuild-linux-arm64
=> @esbuild/linux-arm64
esbuild-linux-mips64le
=> @esbuild/linux-mips64el
esbuild-linux-ppc64le
=> @esbuild/linux-ppc64
esbuild-linux-riscv64
=> @esbuild/linux-riscv64
esbuild-linux-s390x
=> @esbuild/linux-s390x
esbuild-netbsd-64
=> @esbuild/netbsd-x64
esbuild-openbsd-64
=> @esbuild/openbsd-x64
esbuild-sunos-64
=> @esbuild/sunos-x64
esbuild-wasm
=> esbuild-wasm
(no change)
esbuild-windows-32
=> @esbuild/win32-ia32
esbuild-windows-64
=> @esbuild/win32-x64
esbuild-windows-arm64
=> @esbuild/win32-arm64
esbuild
=> esbuild
(no change)
Normal usage of the esbuild
and esbuild-wasm
packages should not be affected. These name changes should only affect tools that hard-coded the individual binary executable package names into custom esbuild downloader scripts.
This change was not made with performance in mind. But as a bonus, installing esbuild with npm may potentially happen faster now. This is because npm's package installation protocol is inefficient: it always downloads metadata for all past versions of each package even when it only needs metadata about a single version. This makes npm package downloads O(n) in the number of published versions, which penalizes packages like esbuild that are updated regularly. Since most of esbuild's package names have now changed, npm will now need to download much less data when installing esbuild (8.72mb of package manifests before this change → 0.06mb of package manifests after this change). However, this is only a temporary improvement. Installing esbuild will gradually get slower again as further versions of esbuild are published.
-
Publish a shell script that downloads esbuild directly
In addition to all of the existing ways to install esbuild, you can now also download esbuild directly like this:
... (truncated)
Commits
3b62a36
publish 0.16.1 to npm
07f8eeb
hotfix: re-allow copy
with json import assertion
219ffc6
fix JSXMode => JSX for the Go transform API
6c8d15d
publish 0.16.0 to npm
895f50c
fix #1843: generate shorter data urls if possible
5abe071
fix #2417: add the module
condition by default
328ce12
fix #2649: allow disabling escaping of \</script>
0228284
discard legal comments by default
c3b0890
fix #714: remove the webassembly _exit(0)
hack
055f9e3
add a shell script that downloads esbuild directly
- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it
@dependabot merge
will merge this PR after your CI passes on it
@dependabot squash and merge
will squash and merge this PR after your CI passes on it
@dependabot cancel merge
will cancel a previously requested merge and block automerging
@dependabot reopen
will reopen this PR if it is closed
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependencies