playwright-test
playwright-test copied to clipboard
chore(deps): bump esbuild from 0.14.39 to 0.15.6
Bumps esbuild from 0.14.39 to 0.15.6.
Release notes
Sourced from esbuild's releases.
v0.15.6
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:async function f() { for await (let x of y) x() }
The code above will now become the following code with
--target=es2017
(omitting the code for the__forAwait
helper function):async function f() { try { for (var iter = __forAwait(y), more, temp, error; more = !(temp = await iter.next()).done; more = false) { let x = temp.value; x(); } } catch (temp) { error = [temp]; } finally { try { more && (temp = iter.return) && await temp.call(iter); } finally { if (error) throw error[0]; } } }
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
... (truncated)
Changelog
Sourced from esbuild's changelog.
0.15.6
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:async function f() { for await (let x of y) x() }
The code above will now become the following code with
--target=es2017
(omitting the code for the__forAwait
helper function):async function f() { try { for (var iter = __forAwait(y), more, temp, error; more = !(temp = await iter.next()).done; more = false) { let x = temp.value; x(); } } catch (temp) { error = [temp]; } finally { try { more && (temp = iter.return) && await temp.call(iter); } finally { if (error) throw error[0]; } } }
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:
... (truncated)
Commits
78a1e00
publish 0.15.6 to npm6414eeb
follow-up to #24574eb1713
fix: don't write pnpapi binary into own pkg (#2457)7cae769
remove an unused test script632d8d1
fix invalid runtime code possible withsupported
d317a42
tests: remove hack from when import() was esm-onlye7169db
implement lowering offor await
loopsaf4d944
fix #2496: minify removes useless break statements501abf7
fix #2497: correct invalid feature configurations2026535
avoid duplicate errors for unsupported functions- 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)