Skip to content

Commit

Permalink
publish 0.15.0 to npm
Browse files Browse the repository at this point in the history
  • Loading branch information
evanw committed Aug 10, 2022
1 parent a0b752e commit c223771
Show file tree
Hide file tree
Showing 26 changed files with 48 additions and 48 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

## Unreleased
## 0.15.0

**This release contains backwards-incompatible changes.** Since esbuild is before version 1.0.0, these changes have been released as a new minor version to reflect this (as [recommended by npm](https://docs.npmjs.com/cli/v6/using-npm/semver/)). You should either be pinning the exact version of `esbuild` in your `package.json` file or be using a version range syntax that only accepts patch upgrades such as `~0.14.0`. See the documentation about [semver](https://docs.npmjs.com/cli/v6/using-npm/semver/) for more information.

Expand All @@ -12,7 +12,7 @@

Previously the workaround for using esbuild with Plug'n'Play was to use the [`@yarnpkg/esbuild-plugin-pnp`](https://www.npmjs.com/package/@yarnpkg/esbuild-plugin-pnp) plugin with esbuild's JavaScript API. However, this wasn't great because the plugin needed to potentially intercept every single import path and file load to check whether it was a Plug'n'Play package, which has an unusually high performance cost. It also meant that certain subtleties of path resolution rules within a `.zip` file could differ slightly from the way esbuild normally works since path resolution inside `.zip` files was implemented by Yarn, not by esbuild (which is due to a limitation of esbuild's plugin API).

With this release, esbuild now contains an independent implementation of Yarn's Plug'n'Play algorithm (which is used when esbuild finds a `.pnp.js`, `.pnp.cjs`, or `.pnp.data.json` file in the directory tree). Creating additional implementations of this algorithm recently became possible because Yarn's package manifest format was recently documented: https://yarnpkg.com/advanced/pnp-spec/. This should mean that you can now use esbuild to bundle Plug'n'Play projects without any additional configuration (so you shouldn't need `@yarnpkg/esbuild-plugin-pnp` anymore). Bundling these projects should now happen much faster as Yarn no longer even needs to be run at all. And path resolution rules within Yarn packages should now be consistent with how esbuild handles regular Node packages. For example, fields such as `module` and `browser` in `package.json` files within `.zip` files should now be respected.
With this release, esbuild now contains an independent implementation of Yarn's Plug'n'Play algorithm (which is used when esbuild finds a `.pnp.js`, `.pnp.cjs`, or `.pnp.data.json` file in the directory tree). Creating additional implementations of this algorithm recently became possible because Yarn's package manifest format was recently documented: https://yarnpkg.com/advanced/pnp-spec/. This should mean that you can now use esbuild to bundle Plug'n'Play projects without any additional configuration (so you shouldn't need `@yarnpkg/esbuild-plugin-pnp` anymore). Bundling these projects should now happen much faster as Yarn no longer even needs to be run at all. Bundling the Yarn codebase itself with esbuild before and after this change seems to demonstrate over a 10x speedup (3.4s to 0.24s). And path resolution rules within Yarn packages should now be consistent with how esbuild handles regular Node packages. For example, fields such as `module` and `browser` in `package.json` files within `.zip` files should now be respected.

Keep in mind that this is brand new code and there may be some initial issues to work through before esbuild's implementation is solid. Yarn's Plug'n'Play specification is also brand new and may need some follow-up edits to guide new implementations to match Yarn's exact behavior. If you try this out, make sure to test it before committing to using it, and let me know if anything isn't working as expected. Should you need to debug esbuild's path resolution, you may find `--log-level=verbose` helpful.

Expand Down
2 changes: 1 addition & 1 deletion cmd/esbuild/version.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
package main

const esbuildVersion = "0.14.54"
const esbuildVersion = "0.15.0"
2 changes: 1 addition & 1 deletion npm/@esbuild/linux-loong64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@esbuild/linux-loong64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux LoongArch 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-android-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-android-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "A WebAssembly shim for esbuild on Android x64.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-android-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-android-arm64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Android ARM 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-darwin-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-darwin-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The macOS 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-darwin-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-darwin-arm64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The macOS ARM 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-freebsd-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-freebsd-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The FreeBSD 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-freebsd-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-freebsd-arm64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The FreeBSD ARM 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-32/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-32",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux 32-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-arm/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-arm",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux ARM binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-arm64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux ARM 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-mips64le/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-mips64le",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux MIPS 64-bit Little Endian binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-ppc64le/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-ppc64le",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux PowerPC 64-bit Little Endian binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-riscv64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-riscv64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux RISC-V 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-linux-s390x/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-linux-s390x",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Linux IBM Z 64-bit Big Endian binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-netbsd-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-netbsd-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The NetBSD AMD64 binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-openbsd-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-openbsd-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The OpenBSD 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-sunos-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-sunos-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The illumos 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-wasm/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-wasm",
"version": "0.14.54",
"version": "0.15.0",
"description": "The cross-platform WebAssembly binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-windows-32/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-windows-32",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Windows 32-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-windows-64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-windows-64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Windows 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
2 changes: 1 addition & 1 deletion npm/esbuild-windows-arm64/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild-windows-arm64",
"version": "0.14.54",
"version": "0.15.0",
"description": "The Windows ARM 64-bit binary for esbuild, a JavaScript bundler.",
"repository": "https://github.com/evanw/esbuild",
"license": "MIT",
Expand Down
44 changes: 22 additions & 22 deletions npm/esbuild/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "esbuild",
"version": "0.14.54",
"version": "0.15.0",
"description": "An extremely fast JavaScript and CSS bundler and minifier.",
"repository": "https://github.com/evanw/esbuild",
"scripts": {
Expand All @@ -15,27 +15,27 @@
"esbuild": "bin/esbuild"
},
"optionalDependencies": {
"@esbuild/linux-loong64": "0.14.54",
"esbuild-android-64": "0.14.54",
"esbuild-android-arm64": "0.14.54",
"esbuild-darwin-64": "0.14.54",
"esbuild-darwin-arm64": "0.14.54",
"esbuild-freebsd-64": "0.14.54",
"esbuild-freebsd-arm64": "0.14.54",
"esbuild-linux-32": "0.14.54",
"esbuild-linux-64": "0.14.54",
"esbuild-linux-arm": "0.14.54",
"esbuild-linux-arm64": "0.14.54",
"esbuild-linux-mips64le": "0.14.54",
"esbuild-linux-ppc64le": "0.14.54",
"esbuild-linux-riscv64": "0.14.54",
"esbuild-linux-s390x": "0.14.54",
"esbuild-netbsd-64": "0.14.54",
"esbuild-openbsd-64": "0.14.54",
"esbuild-sunos-64": "0.14.54",
"esbuild-windows-32": "0.14.54",
"esbuild-windows-64": "0.14.54",
"esbuild-windows-arm64": "0.14.54"
"@esbuild/linux-loong64": "0.15.0",
"esbuild-android-64": "0.15.0",
"esbuild-android-arm64": "0.15.0",
"esbuild-darwin-64": "0.15.0",
"esbuild-darwin-arm64": "0.15.0",
"esbuild-freebsd-64": "0.15.0",
"esbuild-freebsd-arm64": "0.15.0",
"esbuild-linux-32": "0.15.0",
"esbuild-linux-64": "0.15.0",
"esbuild-linux-arm": "0.15.0",
"esbuild-linux-arm64": "0.15.0",
"esbuild-linux-mips64le": "0.15.0",
"esbuild-linux-ppc64le": "0.15.0",
"esbuild-linux-riscv64": "0.15.0",
"esbuild-linux-s390x": "0.15.0",
"esbuild-netbsd-64": "0.15.0",
"esbuild-openbsd-64": "0.15.0",
"esbuild-sunos-64": "0.15.0",
"esbuild-windows-32": "0.15.0",
"esbuild-windows-64": "0.15.0",
"esbuild-windows-arm64": "0.15.0"
},
"license": "MIT"
}
2 changes: 1 addition & 1 deletion version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.14.54
0.15.0

0 comments on commit c223771

Please sign in to comment.