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
This runs a small shell script that downloads the latest esbuild binary executable to the current directory. This can be convenient on systems that don't have npm installed or when you just want to get a copy of esbuild quickly without any extra steps. If you want a specific version of esbuild (starting with this version onward), you can provide that version in the URL instead of latest:
curl -fsSL https://esbuild.github.io/dl/v0.16.0 | sh
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
This runs a small shell script that downloads the latest esbuild binary executable to the current directory. This can be convenient on systems that don't have npm installed or when you just want to get a copy of esbuild quickly without any extra steps. If you want a specific version of esbuild (starting with this version onward), you can provide that version in the URL instead of latest:
curl -fsSL https://esbuild.github.io/dl/v0.16.0 | sh
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)
Bumps esbuild from 0.15.18 to 0.16.0.
Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
6c8d15d
publish 0.16.0 to npm895f50c
fix #1843: generate shorter data urls if possible5abe071
fix #2417: add themodule
condition by default328ce12
fix #2649: allow disabling escaping of\</script>
0228284
discard legal comments by defaultc3b0890
fix #714: remove the webassembly_exit(0)
hack055f9e3
add a shell script that downloads esbuild directly157860b
move to scoped packages66fab46
throw if UTF-8 text isn't encoded toUint8Array
04aa7f8
warn aboutimport.meta
without theesm
formatDependabot 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)