chore(deps): update dependency esbuild to v0.15.7 #6348
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.15.5
->0.15.7
Release Notes
evanw/esbuild
v0.15.7
Compare Source
Add
--watch=forever
to allow esbuild to never terminate (#1511, #1885)Currently using esbuild's watch mode via
--watch
from the CLI will stop watching if stdin is closed. The rationale is that stdin is automatically closed by the OS when the parent process exits, so stopping watch mode when stdin is closed ensures that esbuild's watch mode doesn't keep running forever after the parent process has been closed. For example, it would be bad if you wrote a shell script that didesbuild --watch &
to run esbuild's watch mode in the background, and every time you run the script it creates a newesbuild
process that runs forever.However, there are cases when it makes sense for esbuild's watch mode to never exit. One such case is within a short-lived VM where the lifetime of all processes inside the VM is expected to be the lifetime of the VM. Previously you could easily do this by piping the output of a long-lived command into esbuild's stdin such as
sleep 999999999 | esbuild --watch &
. However, this possibility often doesn't occur to people, and it also doesn't work on Windows. People also sometimes attempt to keep esbuild open by piping an infinite stream of data to esbuild such as withesbuild --watch </dev/zero &
which causes esbuild to spin at 100% CPU. So with this release, esbuild now has a--watch=forever
flag that will not stop watch mode when stdin is closed.Work around
PATH
withoutnode
in install script (#2519)Some people install esbuild's npm package in an environment without the
node
command in theirPATH
. This fails on Windows because esbuild's install script runs theesbuild
command before exiting as a sanity check, and on Windows theesbuild
command has to be a JavaScript file because of some internal details about how npm handles thebin
folder (specifically theesbuild
command lacks the.exe
extension, which is required on Windows). This release attempts to work around this problem by usingprocess.execPath
instead of"node"
as the command for running node. In theory this means the installer can now still function on Windows if something is wrong withPATH
.v0.15.6
Compare Source
Lower
for await
loops (#1930)This release lowers
for await
loops to the equivalentfor
loop containingawait
when esbuild is configured such thatfor await
loops are unsupported. This transform still requires at least generator functions to be supported since esbuild's lowering ofawait
currently relies on generators. This new transformation is mostly modeled after what the TypeScript compiler does. Here's an example:The code above will now become the following code with
--target=es2017
(omitting the code for the__forAwait
helper function):Automatically fix invalid
supported
configurations (#2497)The
--target=
setting lets you tell esbuild to target a specific version of one or more JavaScript runtimes such aschrome80,node14
and esbuild will restrict its output to only those features supported by all targeted JavaScript runtimes. More recently, esbuild introduced the--supported:
setting that lets you override which features are supported on a per-feature basis. However, this now lets you configure nonsensical things such as--supported:async-await=false --supported:async-generator=true
. Previously doing this could result in esbuild building successfully but producing invalid output.Starting with this release, esbuild will now attempt to automatically fix nonsensical feature override configurations by introducing more overrides until the configuration makes sense. So now the configuration from previous example will be changed such that
async-await=false
impliesasync-generator=false
. The full list of implications that were introduced is below:async-await=false
implies:async-generator=false
for-await=false
top-level-await=false
generator=false
implies:async-generator=false
object-accessors=false
implies:class-private-accessor=false
class-private-static-accessor=false
class-field=false
implies:class-private-field=false
class-static-field=false
implies:class-private-static-field=false
class=false
implies:class-field=false
class-private-accessor=false
class-private-brand-check=false
class-private-field=false
class-private-method=false
class-private-static-accessor=false
class-private-static-field=false
class-private-static-method=false
class-static-blocks=false
class-static-field=false
Implement a small minification improvement (#2496)
Some people write code that contains a label with an immediate break such as
x: break x
. Previously this code was not removed during minification but it will now be removed during minification starting with this release.Fix installing esbuild via Yarn with
enableScripts: false
configured (#2457)If esbuild is installed with Yarn with the
enableScripts: false
setting configured, then Yarn will not "unplug" theesbuild
package (i.e. it will keep the entire package inside a.zip
file). This messes with esbuild's library code that extracts the platform-specific binary executable because that code copies the binary executable into the esbuild package directory, and Yarn's.zip
file system shim doesn't let you write to a directory inside of a.zip
file. This release fixes this problem by writing to thenode_modules/.cache/esbuild
directory instead in this case. So you should now be able to use esbuild with Yarn whenenableScripts: false
is configured.This fix was contributed by @jonaskuske.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.