After executing the handler added with page.addLocatorHandler(), Playwright will now wait until the overlay that triggered the handler is not visible anymore. You can opt-out of this behavior with the new noWaitAfter option.
You can use new times option in page.addLocatorHandler() to specify maximum number of times the handler should be run.
const locator = page.getByText('This interstitial covers the button');
await page.addLocatorHandler(locator, async overlay => {
await overlay.locator('#close').click();
}, { times: 3, noWaitAfter: true });
// Run your tests that can be interrupted by the overlay.
// ...
await page.removeLocatorHandler(locator);
Miscellaneous options
multipart option in apiRequestContext.fetch() now accepts FormData and supports repeating fields with the same name.
const formData = new FormData();
formData.append('file', new File(['let x = 2024;'], 'f1.js', { type: 'text/javascript' }));
formData.append('file', new File(['hello'], 'f2.txt', { type: 'text/plain' }));
context.request.post('https://example.com/uploadFiles', {
multipart: formData
This release implements the decorator metadata proposal, which is a sub-proposal of the decorators proposal. Microsoft shipped the decorators proposal in TypeScript 5.0 and the decorator metadata proposal in TypeScript 5.2, so it's important that esbuild also supports both of these features. Here's a quick example:
// Shim the "Symbol.metadata" symbol
Symbol.metadata ??= Symbol('Symbol.metadata')
// Prints ["foo", "bar"]
console.log(Foo[Symbol.metadata].names)
⚠️ WARNING ⚠️
This proposal has been marked as "stage 3" which means "recommended for implementation". However, it's still a work in progress and isn't a part of JavaScript yet, so keep in mind that any code that uses JavaScript decorator metadata may need to be updated as the feature continues to evolve. If/when that happens, I will update esbuild's implementation to match the specification. I will not be supporting old versions of the specification.
In certain cases, bundling code that uses decorators in a derived class with a class body that references its own class name could previously generate code that crashes at run-time due to an incorrect variable name. This problem has been fixed. Here is an example of code that was compiled incorrectly before this fix:
This release fixes an issue with a scenario involving a tsconfig.json file that extends another file from within a symlinked directory that uses the paths feature. In that case, the implicit baseURL value should be based on the real path (i.e. after expanding all symbolic links) instead of the original path. This was already done for other files that esbuild resolves but was not yet done for tsconfig.json because it's special-cased (the regular path resolver can't be used because the information inside tsconfig.json is involved in path resolution). Note that this fix no longer applies if the --preserve-symlinks setting is enabled.
v0.21.2
Correct this in field and accessor decorators (#3761)
This release changes the value of this in initializers for class field and accessor decorators from the module-level this value to the appropriate this value for the decorated element (either the class or the instance). It was previously incorrect due to lack of test coverage. Here's an example of a decorator that doesn't work without this change:
This release implements the decorator metadata proposal, which is a sub-proposal of the decorators proposal. Microsoft shipped the decorators proposal in TypeScript 5.0 and the decorator metadata proposal in TypeScript 5.2, so it's important that esbuild also supports both of these features. Here's a quick example:
// Shim the "Symbol.metadata" symbol
Symbol.metadata ??= Symbol('Symbol.metadata')
// Prints ["foo", "bar"]
console.log(Foo[Symbol.metadata].names)
⚠️ WARNING ⚠️
This proposal has been marked as "stage 3" which means "recommended for implementation". However, it's still a work in progress and isn't a part of JavaScript yet, so keep in mind that any code that uses JavaScript decorator metadata may need to be updated as the feature continues to evolve. If/when that happens, I will update esbuild's implementation to match the specification. I will not be supporting old versions of the specification.
In certain cases, bundling code that uses decorators in a derived class with a class body that references its own class name could previously generate code that crashes at run-time due to an incorrect variable name. This problem has been fixed. Here is an example of code that was compiled incorrectly before this fix:
This release fixes an issue with a scenario involving a tsconfig.json file that extends another file from within a symlinked directory that uses the paths feature. In that case, the implicit baseURL value should be based on the real path (i.e. after expanding all symbolic links) instead of the original path. This was already done for other files that esbuild resolves but was not yet done for tsconfig.json because it's special-cased (the regular path resolver can't be used because the information inside tsconfig.json is involved in path resolution). Note that this fix no longer applies if the --preserve-symlinks setting is enabled.
0.21.2
Correct this in field and accessor decorators (#3761)
This release changes the value of this in initializers for class field and accessor decorators from the module-level this value to the appropriate this value for the decorated element (either the class or the instance). It was previously incorrect due to lack of test coverage. Here's an example of a decorator that doesn't work without this change:
Bumps the external-dependencies group with 12 updates in the / directory:
23.11.2
23.11.4
6.1.16
6.1.20
3.22.4
3.23.8
4.2.2
4.3.0
1.43.1
1.44.0
0.0.266
0.0.268
20.12.7
20.12.12
0.20.2
0.21.3
8.57.0
9.3.0
10.3.12
10.3.15
1.75.0
1.77.2
0.10.0
0.12.0
Updates
i18next
from 23.11.2 to 23.11.4Release notes
Sourced from i18next's releases.
Changelog
Sourced from i18next's changelog.
Commits
9ce9150
23.11.484f6194
released4bc164
perf(interpolator): use object deconstruction and optional chaining (#2181)99d6d69
23.11.3462525a
buildc1e2f91
fix: Unsupported language is automatically added to preload option #2178Updates
tldts
from 6.1.16 to 6.1.20Release notes
Sourced from tldts's releases.
... (truncated)
Changelog
Sourced from tldts's changelog.
... (truncated)
Commits
82ed457
Bump version to: v6.1.20 [skip ci]8313756
Update CHANGELOG.md [skip ci]cbc72dd
Update upstream public suffix list (#2035)8fd1eb4
Bump rimraf from 5.0.5 to 5.0.7 (#2039)5e697a3
Bump@types/node
from 20.12.8 to 20.12.11 (#2037)7b5695a
Bump version to: v6.1.19 [skip ci]8b44a38
Update CHANGELOG.md [skip ci]3f082b1
Update upstream public suffix list (#2031)e95a419
Bump@typescript-eslint/parser
from 7.7.1 to 7.8.0 (#2030)8496419
Bump ejs from 3.1.9 to 3.1.10 (#2034)Updates
zod
from 3.22.4 to 3.23.8Release notes
Sourced from zod's releases.
... (truncated)
Commits
ca42965
v3.23.8eda7df3
Change RefinementCtx to interface1968731
Tweak tiers (#3471)0f4d403
Add Bronze logos (#3470)f985b5b
3.23.72239ff3
Add social crowd969423
Fix #3437: extendShape erases JSDoc property documentation (#3463)29d2ea2
Add copper93b480b
v3.23.6ce3711e
add VSCode dev container support and documenationUpdates
@fingerprintjs/fingerprintjs
from 4.2.2 to 4.3.0Release notes
Sourced from
@fingerprintjs/fingerprintjs
's releases.Commits
45d3574
Bump the version to 4.3.0 (#1001)8591892
Bump express from 4.18.2 to 4.19.2 (#995)e2d11f3
Fix unsupported BrowserStack browser combinations (#994)193fb19
Bump webpack-dev-middleware from 5.3.3 to 5.3.4 (#993)a78043c
Bump follow-redirects from 1.15.4 to 1.15.6 (#991)5792a80
Bugfix: values of canvas geometry and text returned in reverse order. (#990)5ae80b7
README Correction (#988)fb161e6
Fix the timezone test and a missing minus in the timezone fallback (#986)872bb49
chore: Supportyarn build
on Windows machines (#985)Updates
@playwright/test
from 1.43.1 to 1.44.0Release notes
Sourced from
@playwright/test
's releases.... (truncated)
Commits
a6aa50b
chore: set version to 1.44.0 (#30680)54c157d
cherry-pick(#30677): chore: print resolved host in the http server te… (#30679)2d437e8
cherry-pick(#30646): feat(chromium): roll to r1117 (#30652)7637399
cherry-pick(#30636): fix(role): extract tagName safely (#30639)9e091e7
cherry-pick(#30611): chore: add common env vars for junit and json re… (#30624)154694b
chore: update playwright-browsers to Mar 19 (#30599)fa7d4e5
docs: releae notes 1.44 for js (#30596)b9f70f4
docs(junit): document existing options and env (#30595)fb90797
fix(last-run): remove globalOutputDir (#30571)96f3d19
feat(ctrl_or_meta): add a universal ctrl-meta modifier (#30572)Updates
@types/chrome
from 0.0.266 to 0.0.268Commits
Updates
@types/node
from 20.12.7 to 20.12.12Commits
Updates
esbuild
from 0.20.2 to 0.21.3Release notes
Sourced from esbuild's releases.
... (truncated)
Changelog
Sourced from esbuild's changelog.
... (truncated)
Commits
efa3dd2
publish 0.21.3 to npm5e7cf25
fix #3760: implement decorator metadata proposalbd0b13b
lowering: always propagate class expression names90acd14
explicit bitwise operators for initializer flagsba548df
move decorator initializer list to after the class66b7c6d
fix #3768: bundled decorators in derived classes6e6f15f
fix #3767:tsconfig.json
files inside symlinksb7dcb95
transform: reuselowerField
for auto-accessorsb24180e
publish 0.21.2 to npmf82e0ad
fix #3761:this
in field and accessor decoratorsUpdates
eslint
from 8.57.0 to 9.3.0Release notes
Sourced from eslint's releases.
... (truncated)
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
41a871c
9.3.0463a2e3
Build: changelog update for 9.3.058e2719
chore: update dependencies for v9.3.0 release (#18469)b681ecb
chore: package.json update for@eslint/js
release8db0eff
fix: Improve config error messages (#18457)ceada8c
docs: explain how to use "tsc waiting" label (#18466)b32153c
feat: addoverrides.namedExports
tofunc-style
rule (#18444)06f1d1c
chore: update dependency@humanwhocodes/retry
to ^0.3.0 (#18463)5c28d9a
fix: don't remove comments between key and value in object-shorthand (#18442)62e686c
docs: Add troubleshooting info for plugin compatibility (#18451)Updates
glob
from 10.3.12 to 10.3.15Commits
921c4b9
10.3.1557f5551
engines: need 14.18, where 'node:path' shows up4da30cd
10.3.140e7f0cf
path-scurry@1.11.0d6a9d05
10.3.13435d1f7
fix: usenode:
-prefixed requires for builtins7732ea3
fix test-regen bugUpdates
sass
from 1.75.0 to 1.77.2Release notes
Sourced from sass's releases.