microsoft/playwright#32480 - [REGRESSION]: tsconfig.json's compilerOptions.paths no longer working in 1.47
microsoft/playwright#32552 - [REGRESSION]: broken UI in Trace Viewer while showing network response body
Browser Versions
Chromium 129.0.6668.29
Mozilla Firefox 130.0
WebKit 18.0
This version was also tested against the following stable channels:
Google Chrome 128
Microsoft Edge 128
v1.47.0
Network Tab improvements
The Network tab in the UI mode and trace viewer has several nice improvements:
filtering by asset type and URL
better display of query string parameters
preview of font assets
Credit to @kubajanik for these wonderful improvements!
--tsconfig CLI option
By default, Playwright will look up the closest tsconfig for each imported file using a heuristic. You can now specify a single tsconfig file in the command line, and Playwright will use it for all imported files, not only test files:
# Pass a specific tsconfig
npx playwright test --tsconfig tsconfig.test.json
Allow using the node: import prefix with es* targets (#3821)
The node: prefix on imports is an alternate way to import built-in node modules. For example, import fs from "fs" can also be written import fs from "node:fs". This only works with certain newer versions of node, so esbuild removes it when you target older versions of node such as with --target=node14 so that your code still works. With the way esbuild's platform-specific feature compatibility table works, this was added by saying that only newer versions of node support this feature. However, that means that a target such as --target=node18,es2022 removes the node: prefix because none of the es* targets are known to support this feature. This release adds the support for the node: flag to esbuild's internal compatibility table for es* to allow you to use compound targets like this:
// Original code
import fs from 'node:fs'
fs.open
// Old output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "fs";
fs.open;
// New output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "node:fs";
fs.open;
Fix a panic when using the CLI with invalid build flags if --analyze is present (#3834)
Previously esbuild's CLI could crash if it was invoked with flags that aren't valid for a "build" API call and the --analyze flag is present. This was caused by esbuild's internals attempting to add a Go plugin (which is how --analyze is implemented) to a null build object. The panic has been fixed in this release.
Fix incorrect location of certain error messages (#3845)
This release fixes a regression that caused certain errors relating to variable declarations to be reported at an incorrect location. The regression was introduced in version 0.18.7 of esbuild.
Print comments before case clauses in switch statements (#3838)
With this release, esbuild will attempt to print comments that come before case clauses in switch statements. This is similar to what esbuild already does for comments inside of certain types of expressions. Note that these types of comments are not printed if minification is enabled (specifically whitespace minification).
With this release, the build context's internal pluginData cache will now be cleared when starting a new build. This should fix a leak of memory from plugins that return pluginData objects from onResolve and/or onLoad callbacks.
Allow using the node: import prefix with es* targets (#3821)
The node: prefix on imports is an alternate way to import built-in node modules. For example, import fs from "fs" can also be written import fs from "node:fs". This only works with certain newer versions of node, so esbuild removes it when you target older versions of node such as with --target=node14 so that your code still works. With the way esbuild's platform-specific feature compatibility table works, this was added by saying that only newer versions of node support this feature. However, that means that a target such as --target=node18,es2022 removes the node: prefix because none of the es* targets are known to support this feature. This release adds the support for the node: flag to esbuild's internal compatibility table for es* to allow you to use compound targets like this:
// Original code
import fs from 'node:fs'
fs.open
// Old output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "fs";
fs.open;
// New output (with --bundle --format=esm --platform=node --target=node18,es2022)
import fs from "node:fs";
fs.open;
Fix a panic when using the CLI with invalid build flags if --analyze is present (#3834)
Previously esbuild's CLI could crash if it was invoked with flags that aren't valid for a "build" API call and the --analyze flag is present. This was caused by esbuild's internals attempting to add a Go plugin (which is how --analyze is implemented) to a null build object. The panic has been fixed in this release.
Fix incorrect location of certain error messages (#3845)
This release fixes a regression that caused certain errors relating to variable declarations to be reported at an incorrect location. The regression was introduced in version 0.18.7 of esbuild.
Print comments before case clauses in switch statements (#3838)
With this release, esbuild will attempt to print comments that come before case clauses in switch statements. This is similar to what esbuild already does for comments inside of certain types of expressions. Note that these types of comments are not printed if minification is enabled (specifically whitespace minification).
With this release, the build context's internal pluginData cache will now be cleared when starting a new build. This should fix a leak of memory from plugins that return pluginData objects from onResolve and/or onLoad callbacks.
[dynamic-import-chunkname]: add allowEmpty option to allow empty leading comments (#2942, thanks [@JiangWeixian])
[dynamic-import-chunkname]: Allow empty chunk name when webpackMode: 'eager' is set; add suggestions to remove name in eager mode (#3004, thanks [@amsardesai])
This major release changes the prototype of a jsdom's EventTarget.prototype to point to the Object.prototype inside the jsdom, instead of pointing to the Node.js Object.prototype. Thus, the prototype chain of Window stays entirely within the jsdom, never crossing over into the Node.js realm.
This only occurs when runScripts is set to non-default values of "dangerously" or "outside-only", as with the default value, there is no separate Object.prototype inside the jsdom.
This will likely not impact many programs, but could cause some changes in instanceof behavior, and so out of an abundance of caution, we're releasing it as a new major version.
Version 24.1.3
Fixed calls to postMessage() that were done as a bare property (i.e., postMessage() instead of window.postMessage()).
Version 24.1.2
Fixed an issue with the in operator applied to EventTarget methods, e.g. 'addEventListener' in window, which only appeared in Node.js ≥22.5.0. (legendecas)
Fixed the events fired by blur(): it no longer fires focus and focusin on the Document, and blur and focusout no longer have their relatedTarget property set. (asamuzaK)
This major release changes the prototype of a jsdom's EventTarget.prototype to point to the Object.prototype inside the jsdom, instead of pointing to the Node.js Object.prototype. Thus, the prototype chain of Window stays entirely within the jsdom, never crossing over into the Node.js realm.
This only occurs when runScripts is set to non-default values of "dangerously" or "outside-only", as with the default value, there is no separate Object.prototype inside the jsdom.
This will likely not impact many programs, but could cause some changes in instanceof behavior, and so out of an abundance of caution, we're releasing it as a new major version.
24.1.3
Fixed calls to postMessage() that were done as a bare property (i.e., postMessage() instead of window.postMessage()).
24.1.2
Fixed an issue with the in operator applied to EventTarget methods, e.g. 'addEventListener' in window, which only appeared in Node.js ≥22.5.0. (legendecas)
Fixed the events fired by blur(): it no longer fires focus and focusin on the Document, and blur and focusout no longer have their relatedTarget property set. (asamuzaK)
To install Sass 1.78.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
The meta.feature-exists function is now deprecated. This deprecation is named feature-exists.
Fix a crash when using @at-root without any queries or children in the indented syntax.
JS API
Backport the deprecation options (fatalDeprecations, futureDeprecations, and silenceDeprecations) to the legacy JS API. The legacy JS API is itself deprecated, and you should move off of it if possible, but this will allow users of bundlers and other tools that are still using the legacy API to still control deprecation warnings.
Fix a bug where accessing SourceSpan.url would crash when a relative URL was passed to the Sass API.
Embedded Sass
Explicitly expose a sass executable from the sass-embedded npm package. This was intended to be included in 1.63.0, but due to the way platform-specific dependency executables are installed it did not work as intended. Now users can run npx sass for local installs or just sass when sass-embedded is installed globally.
Add linux-riscv64, linux-musl-riscv64, and android-riscv64 support for the sass-embedded npm package.
Fix an edge case where the Dart VM could hang when shutting down when requests were in flight.
Fix a race condition where the embedded host could fail to shut down if it was closed around the same time a new compilation was started.
Fix a bug where parse-time deprecation warnings could not be controlled by the deprecation options in some circumstances.
The meta.feature-exists function is now deprecated. This deprecation is
named feature-exists.
Fix a crash when using @at-root without any queries or children in the
indented syntax.
JS API
Backport the deprecation options (fatalDeprecations, futureDeprecations,
and silenceDeprecations) to the legacy JS API. The legacy JS API is itself
deprecated, and you should move off of it if possible, but this will allow
users of bundlers and other tools that are still using the legacy API to
still control deprecation warnings.
Fix a bug where accessing SourceSpan.url would crash when a relative URL was
passed to the Sass API.
Embedded Sass
Explicitly expose a sass executable from the sass-embedded npm package.
This was intended to be included in 1.63.0, but due to the way
platform-specific dependency executables are installed it did not work as
intended. Now users can run npx sass for local installs or just sass when
sass-embedded is installed globally.
Add linux-riscv64, linux-musl-riscv64, and android-riscv64 support for the
sass-embedded npm package.
Fix an edge case where the Dart VM could hang when shutting down when requests
were in flight.
Fix a race condition where the embedded host could fail to shut down if it was
closed around the same time a new compilation was started.
Fix a bug where parse-time deprecation warnings could not be controlled by
the deprecation options in some circumstances.
Commits
90a70ef Fix failing double check test for sass-parser (#2330)
b1d5f98 Backport deprecation API to legacy JS API (#2293)
Bumps the external-dependencies group with 15 updates in the / directory:
23.12.2
23.15.1
6.1.38
6.1.46
4.4.3
4.5.0
1.46.0
1.47.1
0.0.269
0.0.271
22.1.0
22.5.5
0.10.7
0.12.1
0.23.0
0.23.1
2.29.1
2.30.0
10.4.2
11.0.0
5.2.0
5.3.0
24.1.1
25.0.0
1.77.8
1.78.0
17.1.0
17.1.2
5.5.4
5.6.2
Updates
i18next
from 23.12.2 to 23.15.1Release notes
Sourced from i18next's releases.
Changelog
Sourced from i18next's changelog.
Commits
0d82641
23.15.1f507f06
release7739788
types(TFunction): make return not inferrable and use defaultValue as return w...e5170ad
23.15.03256771
releasef0768a1
support unescaped variables in TypeScript (#2233)0083b3a
23.14.004e2fc9
If backend errors with retry flag, set internal state to 0, so reloadingResou...d7fcec6
23.13.0ffc0a52
buildUpdates
tldts
from 6.1.38 to 6.1.46Release notes
Sourced from tldts's releases.
... (truncated)
Changelog
Sourced from tldts's changelog.
... (truncated)
Commits
2a4b1a6
Bump version to: v6.1.46 [skip ci]9bcf051
Update CHANGELOG.md [skip ci]aab07da
Update upstream public suffix list (#2152)fb84baa
Bump version to: v6.1.45 [skip ci]a75ca40
Update CHANGELOG.md [skip ci]77707eb
Update upstream public suffix list (#2149)77d29cf
Bump@types/mocha
from 10.0.7 to 10.0.8 (#2151)cc0eacb
Bump rollup from 4.21.2 to 4.21.3 (#2150)6ae5125
Bump typescript from 5.5.4 to 5.6.2 (#2148)331e11f
Bump version to: v6.1.44 [skip ci]Updates
@fingerprintjs/fingerprintjs
from 4.4.3 to 4.5.0Release notes
Sourced from
@fingerprintjs/fingerprintjs
's releases.Commits
46edb93
Bump the version to 4.5.0 (#1029)e1cbe6e
Addunsupported
field to thewebGlExtensions
entropy source (#1027)2dea4b0
Bump webpack from 5.76.0 to 5.94.0 (#1028)506926a
Bump micromatch from 4.0.5 to 4.0.8 (#1025)0bf1b3e
Add Safari 18 to the list of tested browsers (#1023)c3d5dd8
Fix the "detects Safari" test failing in Safari 15 (#1024)2235771
Update Karma to fix the testing browser list (#1022)2e34641
Bump elliptic from 6.5.4 to 6.5.7 (#1021)139822c
Update the GitHub Actions versions (#1020)Updates
@playwright/test
from 1.46.0 to 1.47.1Release notes
Sourced from
@playwright/test
's releases.... (truncated)
Commits
3d2ffd0
chore: mark v1.47.1 (#32617)dba1319
cherry-pick(#32589): docs: release note fixes for 1.4790f959a
cherry-pick(#32553): fix(trace-viewer): fix ui issue on network request details13e6e48
cherry-pick(#32491): fix(test runner): allow directory imports with path mapp...8762407
cherry-pick(#32492): Revert "fix(test runner): align with typescript … (#32560)f9145b1
cherry-pick(#32516): chore: allow query as string in Python/.NET2c17b1f
cherry-pick(#32482): docs: update release notes for 1.47 to our changes from ...d5943de
cherry-pick(#32475): docs: update browsers version in release notes (#32476)73fdd25
cherry-pick(#32470): feat(chromium): roll to r1134 (#32473)13f4531
chore: mark 1.47 (#32472)Updates
@types/chrome
from 0.0.269 to 0.0.271Commits
Updates
@types/node
from 22.1.0 to 22.5.5Commits
Updates
@types/webextension-polyfill
from 0.10.7 to 0.12.1Commits
Updates
esbuild
from 0.23.0 to 0.23.1Release notes
Sourced from esbuild's releases.
Changelog
Sourced from esbuild's changelog.
Commits
3327274
publish 0.23.1 to npm38e22ed
add a warning/debug log message for #3867a15bb51
fix #3825: memory leak ofpluginData
valuesf6e6481
fix #3838: print comments beforecase
clauses9c13ae1
fix #3853: update go 1.22.4 => 1.22.578f89e4
fix #3845: some incorrect error message locations892d2a7
fix #3834: cli sometimes panics with--analyze
360d472
fix a typo in the release notese3f4e2d
fix #3821: allownode:
prefix withes*
targetsUpdates
eslint-plugin-import
from 2.29.1 to 2.30.0Release notes
Sourced from eslint-plugin-import's releases.
... (truncated)
Changelog
Sourced from eslint-plugin-import's changelog.
Commits
18787d3
Bump to 2.30.09902298
[Deps] updateeslint-module-utils
9d194a6
[utils] v2.9.00a58d75
[resolvers/webpack] v0.13.9a3015eb
[Test]namespace
: ensure valid case is actually included8bdb32b
[Test] add explicit marker for trailing whitespace in cases038c26c
[readme] Clarify how to install the plugin32a2b89
[Fix]order
: do not compare first path segment for relative paths (#2682)ee1ea02
[Fix]newline-after-import
: fix considerComments option when require806e3c2
[New] add support for Flat ConfigUpdates
glob
from 10.4.2 to 11.0.0Changelog
Sourced from glob's changelog.
... (truncated)
Commits
561601d
11.0.057226aa
drop node before 207827516
10.4.4d06c8f8
restore support for node 14.latest and 16.latestc14b787
10.4.38a69def
node 14 no longer supportedUpdates
jasmine
from 5.2.0 to 5.3.0Release notes
Sourced from jasmine's releases.
Commits
7c31381
Bump version to 5.3.0Updates
jsdom
from 24.1.1 to 25.0.0Release notes
Sourced from jsdom's releases.
Changelog
Sourced from jsdom's changelog.
Commits
c53efc8
Version 25.0.0784c8a5
Set EventTarget.prototype to the jsdom's Object.prototype0314f1e
Version 24.1.346d5d5c
Fix postMessage referenced as a bare propertya241df6
Version 24.1.2c3a9aed
Remove upstreamed WPTs07fab37
Refactor Window object setup code3383805
Fix events fired by blur()065abcb
Roll web platform tests439a43e
Setup Window prototype in vm contextUpdates
sass
from 1.77.8 to 1.78.0Release notes
Sourced from sass's releases.
Changelog
Sourced from sass's changelog.
Commits
90a70ef
Fix failing double check test for sass-parser (#2330)b1d5f98
Backport deprecation API to legacy JS API (#2293)56a4237
Delete unreachabledefault
clause. (#2323)a7f623d
Bump bufbuild/buf-setup-action in /.github/util/initialize (#2319)9f82850
Ignore newunreachable_switch_default
warning. (#2318)798cd7c
Update pubspec.yaml (#2321)2bf3ae0
Fix a comment (#2316)eb6c19e
Initial implementation of a PostCSS-compatible parser JS API (#2304)c3cccef
Bump dartdoc from 8.0.7 to 8.0.8 (#2300)f0a0182
docs: Fix link to custom importer (#2315)Updates
standard
from 17.1.0 to 17.1.2Release notes
Sourced from standard's releases.
Changelog
Sourced from standard's changelog.
Commits
be62115
17.1.2004e63b
Unpin and bump eslint-plugin-react75a1877
17.1.1d535d98
Pin eslint-plugin-react to7.35.2
170a02f
Deactivate cron on external tests3b3c316
Merge pull request #1962 from SebastjanPrachovskij/feature/add-searchapi-logodbf1142
Add SearchApi logo to users5ff8441
Merge pull request #1936 from poozhu/masterf40f923
Merge branch 'master' into master3b6f95d
Edit Discord badge. (Looks like these dependencies are updatable in another way, so this is no longer needed.