patchright-core 1.52.5 → 1.55.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ThirdPartyNotices.txt +65 -123
- package/bin/reinstall_chrome_beta_mac.sh +1 -1
- package/bin/reinstall_chrome_stable_mac.sh +1 -1
- package/bin/reinstall_msedge_beta_mac.sh +1 -1
- package/bin/reinstall_msedge_dev_mac.sh +1 -1
- package/bin/reinstall_msedge_stable_mac.sh +1 -1
- package/browsers.json +14 -14
- package/index.js +1 -1
- package/lib/androidServerImpl.js +4 -2
- package/lib/browserServerImpl.js +47 -12
- package/lib/cli/program.js +116 -50
- package/lib/cli/programWithTestStub.js +1 -1
- package/lib/client/android.js +30 -34
- package/lib/client/browser.js +54 -17
- package/lib/client/browserContext.js +67 -71
- package/lib/client/browserType.js +25 -34
- package/lib/client/channelOwner.js +20 -24
- package/lib/client/connection.js +6 -10
- package/lib/client/electron.js +8 -3
- package/lib/client/elementHandle.js +18 -21
- package/lib/client/fetch.js +5 -3
- package/lib/client/frame.js +54 -32
- package/lib/client/input.js +3 -1
- package/lib/client/jsHandle.js +4 -0
- package/lib/client/localUtils.js +0 -1
- package/lib/client/locator.js +30 -26
- package/lib/client/network.js +5 -12
- package/lib/client/page.js +32 -32
- package/lib/client/playwright.js +6 -16
- package/lib/client/selectors.js +18 -38
- package/lib/client/timeoutSettings.js +12 -8
- package/lib/client/tracing.js +24 -20
- package/lib/client/waiter.js +2 -2
- package/lib/client/webSocket.js +4 -22
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +1 -1
- package/lib/generated/injectedScriptSource.js +1 -1
- package/lib/generated/pollingRecorderSource.js +1 -1
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +1 -1
- package/lib/generated/webSocketMockSource.js +12 -50
- package/lib/inProcessFactory.js +9 -6
- package/lib/outofprocess.js +0 -2
- package/lib/protocol/validator.js +421 -345
- package/lib/protocol/validatorPrimitives.js +18 -4
- package/lib/remote/playwrightConnection.js +29 -166
- package/lib/remote/playwrightServer.js +233 -35
- package/lib/server/android/android.js +97 -83
- package/lib/server/android/backendAdb.js +0 -2
- package/lib/server/bidi/bidiBrowser.js +139 -73
- package/lib/server/bidi/bidiChromium.js +23 -22
- package/lib/server/bidi/bidiExecutionContext.js +2 -1
- package/lib/server/bidi/bidiFirefox.js +17 -14
- package/lib/server/bidi/bidiInput.js +22 -22
- package/lib/server/bidi/bidiNetworkManager.js +8 -11
- package/lib/server/bidi/bidiPage.js +42 -86
- package/lib/server/bidi/third_party/bidiProtocol.js +5 -133
- package/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
- package/lib/server/{dispatchers/selectorsDispatcher.js → bidi/third_party/bidiProtocolPermissions.js} +20 -18
- package/lib/server/browser.js +30 -21
- package/lib/server/browserContext.js +203 -165
- package/lib/server/browserType.js +109 -107
- package/lib/server/chromium/chromium.js +84 -69
- package/lib/server/chromium/chromiumSwitches.js +13 -20
- package/lib/server/chromium/crBrowser.js +74 -40
- package/lib/server/chromium/crConnection.js +8 -9
- package/lib/server/chromium/crCoverage.js +11 -8
- package/lib/server/chromium/crDragDrop.js +25 -20
- package/lib/server/chromium/crExecutionContext.js +2 -1
- package/lib/server/chromium/crInput.js +32 -29
- package/lib/server/chromium/crNetworkManager.js +43 -31
- package/lib/server/chromium/crPage.js +98 -72
- package/lib/server/chromium/crServiceWorker.js +13 -18
- package/lib/server/chromium/videoRecorder.js +10 -18
- package/lib/server/clock.js +51 -39
- package/lib/server/codegen/csharp.js +10 -5
- package/lib/server/codegen/java.js +1 -1
- package/lib/server/codegen/javascript.js +1 -1
- package/lib/server/codegen/jsonl.js +2 -1
- package/lib/server/codegen/language.js +22 -1
- package/lib/server/codegen/languages.js +4 -4
- package/lib/server/codegen/python.js +1 -1
- package/lib/server/cookieStore.js +3 -1
- package/lib/server/debugController.js +105 -71
- package/lib/server/debugger.js +6 -23
- package/lib/server/deviceDescriptorsSource.json +237 -127
- package/lib/server/dialog.js +50 -6
- package/lib/server/dispatchers/androidDispatcher.js +77 -62
- package/lib/server/dispatchers/artifactDispatcher.js +18 -18
- package/lib/server/dispatchers/browserContextDispatcher.js +141 -91
- package/lib/server/dispatchers/browserDispatcher.js +55 -88
- package/lib/server/dispatchers/browserTypeDispatcher.js +18 -9
- package/lib/server/dispatchers/cdpSessionDispatcher.js +4 -4
- package/lib/server/dispatchers/debugControllerDispatcher.js +12 -21
- package/lib/server/dispatchers/dialogDispatcher.js +4 -4
- package/lib/server/dispatchers/dispatcher.js +78 -53
- package/lib/server/dispatchers/electronDispatcher.js +19 -20
- package/lib/server/dispatchers/elementHandlerDispatcher.js +83 -93
- package/lib/server/dispatchers/frameDispatcher.js +98 -101
- package/lib/server/dispatchers/jsHandleDispatcher.js +21 -16
- package/lib/server/dispatchers/jsonPipeDispatcher.js +4 -4
- package/lib/server/dispatchers/localUtilsDispatcher.js +53 -59
- package/lib/server/dispatchers/networkDispatchers.js +41 -35
- package/lib/server/dispatchers/pageDispatcher.js +156 -107
- package/lib/server/dispatchers/playwrightDispatcher.js +37 -25
- package/lib/server/dispatchers/streamDispatcher.js +15 -8
- package/lib/server/dispatchers/tracingDispatcher.js +22 -13
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +46 -35
- package/lib/server/dispatchers/writableStreamDispatcher.js +16 -10
- package/lib/server/dom.js +198 -266
- package/lib/server/download.js +3 -3
- package/lib/server/electron/electron.js +96 -103
- package/lib/server/electron/loader.js +1 -1
- package/lib/server/fetch.js +22 -41
- package/lib/server/fileUploadUtils.js +1 -1
- package/lib/server/firefox/ffBrowser.js +79 -55
- package/lib/server/firefox/ffExecutionContext.js +2 -1
- package/lib/server/firefox/ffInput.js +23 -23
- package/lib/server/firefox/ffNetworkManager.js +8 -6
- package/lib/server/firefox/ffPage.js +39 -36
- package/lib/server/firefox/firefox.js +9 -10
- package/lib/server/frameSelectors.js +63 -20
- package/lib/server/frames.js +495 -555
- package/lib/server/har/harRecorder.js +1 -1
- package/lib/server/har/harTracer.js +4 -2
- package/lib/server/helper.js +3 -7
- package/lib/server/index.js +0 -3
- package/lib/server/input.js +47 -54
- package/lib/server/instrumentation.js +8 -14
- package/lib/server/javascript.js +8 -16
- package/lib/server/launchApp.js +48 -30
- package/lib/server/localUtils.js +45 -38
- package/lib/server/network.js +44 -10
- package/lib/server/page.js +232 -177
- package/lib/server/pageBinding.js +6 -7
- package/lib/server/playwright.js +4 -14
- package/lib/server/progress.js +57 -49
- package/lib/server/recorder/recorderApp.js +298 -95
- package/lib/server/recorder/recorderRunner.js +23 -24
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +67 -10
- package/lib/server/recorder.js +284 -146
- package/lib/server/registry/index.js +83 -48
- package/lib/server/registry/nativeDeps.js +175 -0
- package/lib/server/registry/oopDownloadBrowserMain.js +1 -1
- package/lib/server/screenshotter.js +84 -83
- package/lib/server/selectors.js +12 -12
- package/lib/server/socksClientCertificatesInterceptor.js +198 -136
- package/lib/server/trace/recorder/snapshotter.js +12 -19
- package/lib/server/trace/recorder/tracing.js +36 -27
- package/lib/server/trace/viewer/traceViewer.js +11 -20
- package/lib/server/transport.js +20 -22
- package/lib/server/utils/comparators.js +2 -2
- package/lib/server/utils/debug.js +3 -8
- package/lib/server/utils/debugLogger.js +8 -0
- package/lib/server/utils/hostPlatform.js +3 -1
- package/lib/server/utils/network.js +35 -25
- package/lib/server/utils/nodePlatform.js +1 -1
- package/lib/server/utils/processLauncher.js +4 -1
- package/lib/server/utils/wsServer.js +11 -17
- package/lib/server/webkit/webkit.js +5 -2
- package/lib/server/webkit/wkBrowser.js +51 -28
- package/lib/server/webkit/wkExecutionContext.js +2 -1
- package/lib/server/webkit/wkInput.js +25 -25
- package/lib/server/webkit/wkInterceptableRequest.js +1 -1
- package/lib/server/webkit/wkPage.js +80 -59
- package/lib/server/webkit/wkProvisionalPage.js +1 -1
- package/lib/server/webkit/wkWorkers.js +7 -7
- package/lib/utils/isomorphic/ariaSnapshot.js +13 -7
- package/lib/utils/isomorphic/cssParser.js +1 -2
- package/lib/utils/isomorphic/locatorGenerators.js +18 -0
- package/lib/utils/isomorphic/manualPromise.js +1 -2
- package/lib/utils/isomorphic/mimeType.js +1 -2
- package/lib/utils/isomorphic/multimap.js +1 -2
- package/lib/utils/isomorphic/oldUtilityScriptSerializers.js +248 -0
- package/lib/utils/isomorphic/protocolFormatter.js +78 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +318 -0
- package/lib/utils/isomorphic/selectorParser.js +3 -4
- package/lib/utils/isomorphic/stringUtils.js +3 -24
- package/lib/utils/isomorphic/time.js +9 -4
- package/lib/utils/isomorphic/timeoutRunner.js +3 -4
- package/lib/utils/isomorphic/traceUtils.js +2 -3
- package/lib/utils/isomorphic/urlMatch.js +21 -7
- package/lib/utils/isomorphic/utilityScriptSerializers.js +208 -205
- package/lib/utils.js +8 -2
- package/lib/utilsBundleImpl/index.js +160 -150
- package/lib/vite/htmlReport/index.html +17 -17
- package/lib/vite/recorder/assets/{codeMirrorModule-CXVeovup.js → codeMirrorModule-DzQ0k89p.js} +1 -1
- package/lib/vite/recorder/assets/{index-eHBmevrY.css → index-CI4HQ-Zb.css} +1 -1
- package/lib/vite/recorder/assets/index-D7C7daHH.js +184 -0
- package/lib/vite/recorder/index.html +3 -3
- package/lib/vite/traceViewer/assets/{codeMirrorModule-_GLjJL-7.js → codeMirrorModule-Di48jgWx.js} +1 -1
- package/lib/vite/traceViewer/assets/defaultSettingsView-szBn8781.js +256 -0
- package/lib/vite/traceViewer/defaultSettingsView.DVJHpiGt.css +1 -0
- package/lib/vite/traceViewer/index.BFsek2M6.css +1 -0
- package/lib/vite/traceViewer/index.DQvXoPLL.js +2 -0
- package/lib/vite/traceViewer/index.html +6 -6
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/uiMode.dBV3oN9h.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +4 -4
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +1 -1
- package/types/protocol.d.ts +712 -107
- package/types/types.d.ts +128 -17
- package/lib/generated/consoleApiSource.js +0 -28
- package/lib/protocol/debug.js +0 -211
- package/lib/server/recorder/contextRecorder.js +0 -286
- package/lib/server/recorder/recorderCollection.js +0 -116
- package/lib/server/recorder/recorderFrontend.js +0 -16
- package/lib/server/storageScript.js +0 -154
- package/lib/server/timeoutSettings.js +0 -89
- package/lib/utils/isomorphic/builtins.js +0 -86
- package/lib/vite/recorder/assets/index-BsWQsSGl.js +0 -184
- package/lib/vite/traceViewer/assets/defaultSettingsView-DtCQiGHe.js +0 -265
- package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.cFZzK9RN.js +0 -2
- package/lib/vite/traceViewer/uiMode.XVPIqBeS.js +0 -5
|
@@ -31,7 +31,7 @@ __export(registry_exports, {
|
|
|
31
31
|
Registry: () => Registry,
|
|
32
32
|
browserDirectoryToMarkerFilePath: () => browserDirectoryToMarkerFilePath,
|
|
33
33
|
buildPlaywrightCLICommand: () => buildPlaywrightCLICommand,
|
|
34
|
-
|
|
34
|
+
findChromiumChannelBestEffort: () => findChromiumChannelBestEffort,
|
|
35
35
|
installBrowsersForNpmInstall: () => installBrowsersForNpmInstall,
|
|
36
36
|
registry: () => registry,
|
|
37
37
|
registryDirectory: () => registryDirectory,
|
|
@@ -122,6 +122,8 @@ const DOWNLOAD_PATHS = {
|
|
|
122
122
|
"debian11-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
|
|
123
123
|
"debian12-x64": "builds/chromium/%s/chromium-linux.zip",
|
|
124
124
|
"debian12-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
|
|
125
|
+
"debian13-x64": "builds/chromium/%s/chromium-linux.zip",
|
|
126
|
+
"debian13-arm64": "builds/chromium/%s/chromium-linux-arm64.zip",
|
|
125
127
|
"mac10.13": "builds/chromium/%s/chromium-mac.zip",
|
|
126
128
|
"mac10.14": "builds/chromium/%s/chromium-mac.zip",
|
|
127
129
|
"mac10.15": "builds/chromium/%s/chromium-mac.zip",
|
|
@@ -151,6 +153,8 @@ const DOWNLOAD_PATHS = {
|
|
|
151
153
|
"debian11-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
|
|
152
154
|
"debian12-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
|
|
153
155
|
"debian12-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
|
|
156
|
+
"debian13-x64": "builds/chromium/%s/chromium-headless-shell-linux.zip",
|
|
157
|
+
"debian13-arm64": "builds/chromium/%s/chromium-headless-shell-linux-arm64.zip",
|
|
154
158
|
"mac10.13": void 0,
|
|
155
159
|
"mac10.14": void 0,
|
|
156
160
|
"mac10.15": void 0,
|
|
@@ -180,6 +184,8 @@ const DOWNLOAD_PATHS = {
|
|
|
180
184
|
"debian11-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
|
|
181
185
|
"debian12-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
|
|
182
186
|
"debian12-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
|
|
187
|
+
"debian13-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux.zip",
|
|
188
|
+
"debian13-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-linux-arm64.zip",
|
|
183
189
|
"mac10.13": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
|
|
184
190
|
"mac10.14": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
|
|
185
191
|
"mac10.15": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-mac.zip",
|
|
@@ -209,6 +215,8 @@ const DOWNLOAD_PATHS = {
|
|
|
209
215
|
"debian11-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
|
|
210
216
|
"debian12-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
|
|
211
217
|
"debian12-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
|
|
218
|
+
"debian13-x64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux.zip",
|
|
219
|
+
"debian13-arm64": "builds/chromium-tip-of-tree/%s/chromium-tip-of-tree-headless-shell-linux-arm64.zip",
|
|
212
220
|
"mac10.13": void 0,
|
|
213
221
|
"mac10.14": void 0,
|
|
214
222
|
"mac10.15": void 0,
|
|
@@ -238,6 +246,8 @@ const DOWNLOAD_PATHS = {
|
|
|
238
246
|
"debian11-arm64": "builds/firefox/%s/firefox-debian-11-arm64.zip",
|
|
239
247
|
"debian12-x64": "builds/firefox/%s/firefox-debian-12.zip",
|
|
240
248
|
"debian12-arm64": "builds/firefox/%s/firefox-debian-12-arm64.zip",
|
|
249
|
+
"debian13-x64": "builds/firefox/%s/firefox-debian-13.zip",
|
|
250
|
+
"debian13-arm64": "builds/firefox/%s/firefox-debian-13-arm64.zip",
|
|
241
251
|
"mac10.13": "builds/firefox/%s/firefox-mac.zip",
|
|
242
252
|
"mac10.14": "builds/firefox/%s/firefox-mac.zip",
|
|
243
253
|
"mac10.15": "builds/firefox/%s/firefox-mac.zip",
|
|
@@ -267,6 +277,8 @@ const DOWNLOAD_PATHS = {
|
|
|
267
277
|
"debian11-arm64": "builds/firefox-beta/%s/firefox-beta-debian-11-arm64.zip",
|
|
268
278
|
"debian12-x64": "builds/firefox-beta/%s/firefox-beta-debian-12.zip",
|
|
269
279
|
"debian12-arm64": "builds/firefox-beta/%s/firefox-beta-debian-12-arm64.zip",
|
|
280
|
+
"debian13-x64": "builds/firefox-beta/%s/firefox-beta-debian-12.zip",
|
|
281
|
+
"debian13-arm64": "builds/firefox-beta/%s/firefox-beta-debian-12-arm64.zip",
|
|
270
282
|
"mac10.13": "builds/firefox-beta/%s/firefox-beta-mac.zip",
|
|
271
283
|
"mac10.14": "builds/firefox-beta/%s/firefox-beta-mac.zip",
|
|
272
284
|
"mac10.15": "builds/firefox-beta/%s/firefox-beta-mac.zip",
|
|
@@ -296,6 +308,8 @@ const DOWNLOAD_PATHS = {
|
|
|
296
308
|
"debian11-arm64": "builds/webkit/%s/webkit-debian-11-arm64.zip",
|
|
297
309
|
"debian12-x64": "builds/webkit/%s/webkit-debian-12.zip",
|
|
298
310
|
"debian12-arm64": "builds/webkit/%s/webkit-debian-12-arm64.zip",
|
|
311
|
+
"debian13-x64": "builds/webkit/%s/webkit-debian-13.zip",
|
|
312
|
+
"debian13-arm64": "builds/webkit/%s/webkit-debian-13-arm64.zip",
|
|
299
313
|
"mac10.13": void 0,
|
|
300
314
|
"mac10.14": "builds/deprecated-webkit-mac-10.14/%s/deprecated-webkit-mac-10.14.zip",
|
|
301
315
|
"mac10.15": "builds/deprecated-webkit-mac-10.15/%s/deprecated-webkit-mac-10.15.zip",
|
|
@@ -325,6 +339,8 @@ const DOWNLOAD_PATHS = {
|
|
|
325
339
|
"debian11-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
|
|
326
340
|
"debian12-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
|
|
327
341
|
"debian12-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
|
|
342
|
+
"debian13-x64": "builds/ffmpeg/%s/ffmpeg-linux.zip",
|
|
343
|
+
"debian13-arm64": "builds/ffmpeg/%s/ffmpeg-linux-arm64.zip",
|
|
328
344
|
"mac10.13": "builds/ffmpeg/%s/ffmpeg-mac.zip",
|
|
329
345
|
"mac10.14": "builds/ffmpeg/%s/ffmpeg-mac.zip",
|
|
330
346
|
"mac10.15": "builds/ffmpeg/%s/ffmpeg-mac.zip",
|
|
@@ -354,6 +370,8 @@ const DOWNLOAD_PATHS = {
|
|
|
354
370
|
"debian11-arm64": void 0,
|
|
355
371
|
"debian12-x64": void 0,
|
|
356
372
|
"debian12-arm64": void 0,
|
|
373
|
+
"debian13-x64": void 0,
|
|
374
|
+
"debian13-arm64": void 0,
|
|
357
375
|
"mac10.13": void 0,
|
|
358
376
|
"mac10.14": void 0,
|
|
359
377
|
"mac10.15": void 0,
|
|
@@ -383,6 +401,8 @@ const DOWNLOAD_PATHS = {
|
|
|
383
401
|
"debian11-arm64": "builds/android/%s/android.zip",
|
|
384
402
|
"debian12-x64": "builds/android/%s/android.zip",
|
|
385
403
|
"debian12-arm64": "builds/android/%s/android.zip",
|
|
404
|
+
"debian13-x64": "builds/android/%s/android.zip",
|
|
405
|
+
"debian13-arm64": "builds/android/%s/android.zip",
|
|
386
406
|
"mac10.13": "builds/android/%s/android.zip",
|
|
387
407
|
"mac10.14": "builds/android/%s/android.zip",
|
|
388
408
|
"mac10.15": "builds/android/%s/android.zip",
|
|
@@ -399,7 +419,8 @@ const DOWNLOAD_PATHS = {
|
|
|
399
419
|
"win64": "builds/android/%s/android.zip"
|
|
400
420
|
},
|
|
401
421
|
// TODO(bidi): implement downloads.
|
|
402
|
-
"
|
|
422
|
+
"_bidiFirefox": {},
|
|
423
|
+
"_bidiChromium": {}
|
|
403
424
|
};
|
|
404
425
|
const registryDirectory = (() => {
|
|
405
426
|
let result;
|
|
@@ -591,7 +612,7 @@ ${(0, import_ascii.wrapInASCIIBox)(prettyMessage, 1)}`);
|
|
|
591
612
|
"win32": `\\Google\\Chrome Dev\\Application\\chrome.exe`
|
|
592
613
|
}));
|
|
593
614
|
this._executables.push(this._createChromiumChannel("chrome-canary", {
|
|
594
|
-
"linux": "",
|
|
615
|
+
"linux": "/opt/google/chrome-canary/chrome",
|
|
595
616
|
"darwin": "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",
|
|
596
617
|
"win32": `\\Google\\Chrome SxS\\Application\\chrome.exe`
|
|
597
618
|
}));
|
|
@@ -648,14 +669,14 @@ ${(0, import_ascii.wrapInASCIIBox)(prettyMessage, 1)}`);
|
|
|
648
669
|
"win32": `\\Google\\Chrome\\Application\\chrome.exe`
|
|
649
670
|
}));
|
|
650
671
|
this._executables.push(this._createBidiChromiumChannel("bidi-chrome-canary", {
|
|
651
|
-
"linux": "",
|
|
672
|
+
"linux": "/opt/google/chrome-canary/chrome",
|
|
652
673
|
"darwin": "/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",
|
|
653
674
|
"win32": `\\Google\\Chrome SxS\\Application\\chrome.exe`
|
|
654
675
|
}));
|
|
655
676
|
this._executables.push({
|
|
656
677
|
type: "browser",
|
|
657
|
-
name: "
|
|
658
|
-
browserName: "
|
|
678
|
+
name: "_bidiChromium",
|
|
679
|
+
browserName: "_bidiChromium",
|
|
659
680
|
directory: chromium.dir,
|
|
660
681
|
executablePath: () => chromiumExecutable,
|
|
661
682
|
executablePathOrDie: (sdkLanguage) => executablePathOrDie("chromium", chromiumExecutable, chromium.installByDefault, sdkLanguage),
|
|
@@ -775,20 +796,6 @@ ${(0, import_ascii.wrapInASCIIBox)(prettyMessage, 1)}`);
|
|
|
775
796
|
_dependencyGroup: "tools",
|
|
776
797
|
_isHermeticInstallation: true
|
|
777
798
|
});
|
|
778
|
-
this._executables.push({
|
|
779
|
-
type: "browser",
|
|
780
|
-
name: "bidi",
|
|
781
|
-
browserName: "bidi",
|
|
782
|
-
directory: void 0,
|
|
783
|
-
executablePath: () => void 0,
|
|
784
|
-
executablePathOrDie: () => "",
|
|
785
|
-
installType: "none",
|
|
786
|
-
_validateHostRequirements: () => Promise.resolve(),
|
|
787
|
-
downloadURLs: [],
|
|
788
|
-
_install: () => Promise.resolve(),
|
|
789
|
-
_dependencyGroup: "tools",
|
|
790
|
-
_isHermeticInstallation: true
|
|
791
|
-
});
|
|
792
799
|
}
|
|
793
800
|
_createChromiumChannel(name, lookAt, install) {
|
|
794
801
|
const executablePath = (sdkLanguage, shouldThrow) => {
|
|
@@ -859,7 +866,7 @@ Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
|
|
|
859
866
|
return {
|
|
860
867
|
type: "channel",
|
|
861
868
|
name,
|
|
862
|
-
browserName: "
|
|
869
|
+
browserName: "_bidiFirefox",
|
|
863
870
|
directory: void 0,
|
|
864
871
|
executablePath: (sdkLanguage) => executablePath(sdkLanguage, false),
|
|
865
872
|
executablePathOrDie: (sdkLanguage) => executablePath(sdkLanguage, true),
|
|
@@ -874,7 +881,7 @@ Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
|
|
|
874
881
|
const suffix = lookAt[process.platform];
|
|
875
882
|
if (!suffix) {
|
|
876
883
|
if (shouldThrow)
|
|
877
|
-
throw new Error(`
|
|
884
|
+
throw new Error(`Chromium distribution '${name}' is not supported on ${process.platform}`);
|
|
878
885
|
return void 0;
|
|
879
886
|
}
|
|
880
887
|
const prefixes = process.platform === "win32" ? [
|
|
@@ -900,7 +907,7 @@ Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
|
|
|
900
907
|
return {
|
|
901
908
|
type: "channel",
|
|
902
909
|
name,
|
|
903
|
-
browserName: "
|
|
910
|
+
browserName: "_bidiChromium",
|
|
904
911
|
directory: void 0,
|
|
905
912
|
executablePath: (sdkLanguage) => executablePath(sdkLanguage, false),
|
|
906
913
|
executablePathOrDie: (sdkLanguage) => executablePath(sdkLanguage, true),
|
|
@@ -963,14 +970,15 @@ Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
|
|
|
963
970
|
});
|
|
964
971
|
await import_fs.default.promises.mkdir(linksDir, { recursive: true });
|
|
965
972
|
await import_fs.default.promises.writeFile(import_path.default.join(linksDir, (0, import_utils.calculateSha1)(PACKAGE_PATH)), PACKAGE_PATH);
|
|
966
|
-
|
|
973
|
+
if (!(0, import_utils.getAsBooleanFromENV)("PLAYWRIGHT_SKIP_BROWSER_GC"))
|
|
974
|
+
await this._validateInstallationCache(linksDir);
|
|
967
975
|
for (const executable of executables) {
|
|
968
976
|
if (!executable._install)
|
|
969
977
|
throw new Error(`ERROR: Playwright does not support installing ${executable.name}`);
|
|
970
978
|
const { embedderName } = (0, import_userAgent.getEmbedderName)();
|
|
971
979
|
if (!(0, import_utils.getAsBooleanFromENV)("CI") && !executable._isHermeticInstallation && !forceReinstall && executable.executablePath(embedderName)) {
|
|
972
980
|
const command = buildPlaywrightCLICommand(embedderName, "install --force " + executable.name);
|
|
973
|
-
|
|
981
|
+
process.stderr.write("\n" + (0, import_ascii.wrapInASCIIBox)([
|
|
974
982
|
`ATTENTION: "${executable.name}" is already installed on the system!`,
|
|
975
983
|
``,
|
|
976
984
|
`"${executable.name}" installation is not hermetic; installing newer version`,
|
|
@@ -984,7 +992,8 @@ Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
|
|
|
984
992
|
` ${command}`,
|
|
985
993
|
``,
|
|
986
994
|
`<3 Playwright Team`
|
|
987
|
-
].join("\n"), 1));
|
|
995
|
+
].join("\n"), 1) + "\n\n");
|
|
996
|
+
return;
|
|
988
997
|
}
|
|
989
998
|
await executable._install();
|
|
990
999
|
}
|
|
@@ -1091,7 +1100,7 @@ Run "${buildPlaywrightCLICommand(sdkLanguage, "install " + name)}"` : "";
|
|
|
1091
1100
|
const title = descriptor.browserVersion ? `${displayName} ${descriptor.browserVersion} (playwright build v${descriptor.revision})` : `${displayName} playwright build v${descriptor.revision}`;
|
|
1092
1101
|
const downloadFileName = `playwright-download-${descriptor.name}-${import_hostPlatform.hostPlatform}-${descriptor.revision}.zip`;
|
|
1093
1102
|
const downloadSocketTimeoutEnv = (0, import_utils.getFromENV)("PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT");
|
|
1094
|
-
const downloadSocketTimeout = +(downloadSocketTimeoutEnv || "0") ||
|
|
1103
|
+
const downloadSocketTimeout = +(downloadSocketTimeoutEnv || "0") || import_network.NET_DEFAULT_TIMEOUT;
|
|
1095
1104
|
await (0, import_browserFetcher.downloadBrowserWithProgressBar)(title, descriptor.dir, executablePath, downloadURLs, downloadFileName, downloadSocketTimeout).catch((e) => {
|
|
1096
1105
|
throw new Error(`Failed to download ${title}, caused by
|
|
1097
1106
|
${e.stack}`);
|
|
@@ -1100,7 +1109,7 @@ ${e.stack}`);
|
|
|
1100
1109
|
async _installMSEdgeChannel(channel, scripts) {
|
|
1101
1110
|
const scriptArgs = [];
|
|
1102
1111
|
if (process.platform !== "linux") {
|
|
1103
|
-
const products = lowercaseAllKeys(JSON.parse(await (0, import_network.fetchData)({ url: "https://edgeupdates.microsoft.com/api/products" })));
|
|
1112
|
+
const products = lowercaseAllKeys(JSON.parse(await (0, import_network.fetchData)(void 0, { url: "https://edgeupdates.microsoft.com/api/products" })));
|
|
1104
1113
|
const productName = {
|
|
1105
1114
|
"msedge": "Stable",
|
|
1106
1115
|
"msedge-beta": "Beta",
|
|
@@ -1149,8 +1158,19 @@ ${e.stack}`);
|
|
|
1149
1158
|
throw new Error(`Failed to install ${channel}`);
|
|
1150
1159
|
}
|
|
1151
1160
|
}
|
|
1161
|
+
async listInstalledBrowsers() {
|
|
1162
|
+
const linksDir = import_path.default.join(registryDirectory, ".links");
|
|
1163
|
+
const { browsers } = await this._traverseBrowserInstallations(linksDir);
|
|
1164
|
+
return browsers.filter((browser) => import_fs.default.existsSync(browser.browserPath));
|
|
1165
|
+
}
|
|
1152
1166
|
async _validateInstallationCache(linksDir) {
|
|
1153
|
-
const
|
|
1167
|
+
const { browsers, brokenLinks } = await this._traverseBrowserInstallations(linksDir);
|
|
1168
|
+
await this._deleteStaleBrowsers(browsers);
|
|
1169
|
+
await this._deleteBrokenInstallations(brokenLinks);
|
|
1170
|
+
}
|
|
1171
|
+
async _traverseBrowserInstallations(linksDir) {
|
|
1172
|
+
const browserList = [];
|
|
1173
|
+
const brokenLinks = [];
|
|
1154
1174
|
for (const fileName of await import_fs.default.promises.readdir(linksDir)) {
|
|
1155
1175
|
const linkPath = import_path.default.join(linksDir, fileName);
|
|
1156
1176
|
let linkTarget = "";
|
|
@@ -1162,28 +1182,43 @@ ${e.stack}`);
|
|
|
1162
1182
|
const descriptor = descriptors.find((d) => d.name === browserName);
|
|
1163
1183
|
if (!descriptor)
|
|
1164
1184
|
continue;
|
|
1165
|
-
const
|
|
1166
|
-
const
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1185
|
+
const browserPath = descriptor.dir;
|
|
1186
|
+
const browserVersion = parseInt(descriptor.revision, 10);
|
|
1187
|
+
browserList.push({
|
|
1188
|
+
browserName,
|
|
1189
|
+
browserVersion,
|
|
1190
|
+
browserPath,
|
|
1191
|
+
referenceDir: linkTarget
|
|
1192
|
+
});
|
|
1171
1193
|
}
|
|
1172
1194
|
} catch (e) {
|
|
1173
|
-
|
|
1174
|
-
});
|
|
1195
|
+
brokenLinks.push(linkPath);
|
|
1175
1196
|
}
|
|
1176
1197
|
}
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
await (0, import_fileUtils.
|
|
1198
|
+
return { browsers: browserList, brokenLinks };
|
|
1199
|
+
}
|
|
1200
|
+
async _deleteStaleBrowsers(browserList) {
|
|
1201
|
+
const usedBrowserPaths = /* @__PURE__ */ new Set();
|
|
1202
|
+
for (const browser of browserList) {
|
|
1203
|
+
const { browserName, browserVersion, browserPath } = browser;
|
|
1204
|
+
const shouldHaveMarkerFile = browserName === "chromium" && (browserVersion >= 786218 || browserVersion < 3e5) || browserName === "firefox" && browserVersion >= 1128 || browserName === "webkit" && browserVersion >= 1307 || // All new applications have a marker file right away.
|
|
1205
|
+
browserName !== "firefox" && browserName !== "chromium" && browserName !== "webkit";
|
|
1206
|
+
if (!shouldHaveMarkerFile || await (0, import_fileUtils.existsAsync)(browserDirectoryToMarkerFilePath(browserPath)))
|
|
1207
|
+
usedBrowserPaths.add(browserPath);
|
|
1186
1208
|
}
|
|
1209
|
+
let downloadedBrowsers = (await import_fs.default.promises.readdir(registryDirectory)).map((file) => import_path.default.join(registryDirectory, file));
|
|
1210
|
+
downloadedBrowsers = downloadedBrowsers.filter((file) => isBrowserDirectory(file));
|
|
1211
|
+
const directories = new Set(downloadedBrowsers);
|
|
1212
|
+
for (const browserDirectory of usedBrowserPaths)
|
|
1213
|
+
directories.delete(browserDirectory);
|
|
1214
|
+
for (const directory of directories)
|
|
1215
|
+
(0, import_browserFetcher.logPolitely)("Removing unused browser at " + directory);
|
|
1216
|
+
await (0, import_fileUtils.removeFolders)([...directories]);
|
|
1217
|
+
}
|
|
1218
|
+
async _deleteBrokenInstallations(brokenLinks) {
|
|
1219
|
+
for (const linkPath of brokenLinks)
|
|
1220
|
+
await import_fs.default.promises.unlink(linkPath).catch((e) => {
|
|
1221
|
+
});
|
|
1187
1222
|
}
|
|
1188
1223
|
}
|
|
1189
1224
|
function browserDirectoryToMarkerFilePath(browserDirectory) {
|
|
@@ -1223,7 +1258,7 @@ async function installBrowsersForNpmInstall(browsers) {
|
|
|
1223
1258
|
/* forceReinstall */
|
|
1224
1259
|
);
|
|
1225
1260
|
}
|
|
1226
|
-
function
|
|
1261
|
+
function findChromiumChannelBestEffort(sdkLanguage) {
|
|
1227
1262
|
let channel = null;
|
|
1228
1263
|
for (const name of ["chromium", "chrome", "msedge"]) {
|
|
1229
1264
|
try {
|
|
@@ -1263,7 +1298,7 @@ const registry = new Registry(require("../../../browsers.json"));
|
|
|
1263
1298
|
Registry,
|
|
1264
1299
|
browserDirectoryToMarkerFilePath,
|
|
1265
1300
|
buildPlaywrightCLICommand,
|
|
1266
|
-
|
|
1301
|
+
findChromiumChannelBestEffort,
|
|
1267
1302
|
installBrowsersForNpmInstall,
|
|
1268
1303
|
registry,
|
|
1269
1304
|
registryDirectory,
|
|
@@ -1032,6 +1032,168 @@ const deps = {
|
|
|
1032
1032
|
"libXrandr.so.2": "libxrandr2",
|
|
1033
1033
|
"libgtk-4.so.1": "libgtk-4-1"
|
|
1034
1034
|
}
|
|
1035
|
+
},
|
|
1036
|
+
"debian13-x64": {
|
|
1037
|
+
tools: [
|
|
1038
|
+
"xvfb",
|
|
1039
|
+
"fonts-noto-color-emoji",
|
|
1040
|
+
"fonts-unifont",
|
|
1041
|
+
"libfontconfig1",
|
|
1042
|
+
"libfreetype6",
|
|
1043
|
+
"xfonts-scalable",
|
|
1044
|
+
"fonts-liberation",
|
|
1045
|
+
"fonts-ipafont-gothic",
|
|
1046
|
+
"fonts-wqy-zenhei",
|
|
1047
|
+
"fonts-tlwg-loma-otf",
|
|
1048
|
+
"fonts-freefont-ttf"
|
|
1049
|
+
],
|
|
1050
|
+
chromium: [
|
|
1051
|
+
"libasound2t64",
|
|
1052
|
+
"libatk-bridge2.0-0t64",
|
|
1053
|
+
"libatk1.0-0t64",
|
|
1054
|
+
"libatspi2.0-0t64",
|
|
1055
|
+
"libcairo2",
|
|
1056
|
+
"libcups2t64",
|
|
1057
|
+
"libdbus-1-3",
|
|
1058
|
+
"libdrm2",
|
|
1059
|
+
"libgbm1",
|
|
1060
|
+
"libglib2.0-0t64",
|
|
1061
|
+
"libnspr4",
|
|
1062
|
+
"libnss3",
|
|
1063
|
+
"libpango-1.0-0",
|
|
1064
|
+
"libx11-6",
|
|
1065
|
+
"libxcb1",
|
|
1066
|
+
"libxcomposite1",
|
|
1067
|
+
"libxdamage1",
|
|
1068
|
+
"libxext6",
|
|
1069
|
+
"libxfixes3",
|
|
1070
|
+
"libxkbcommon0",
|
|
1071
|
+
"libxrandr2"
|
|
1072
|
+
],
|
|
1073
|
+
firefox: [
|
|
1074
|
+
"libasound2",
|
|
1075
|
+
"libatk1.0-0t64",
|
|
1076
|
+
"libcairo-gobject2",
|
|
1077
|
+
"libcairo2",
|
|
1078
|
+
"libdbus-1-3",
|
|
1079
|
+
"libdbus-glib-1-2",
|
|
1080
|
+
"libfontconfig1",
|
|
1081
|
+
"libfreetype6",
|
|
1082
|
+
"libgdk-pixbuf-2.0-0",
|
|
1083
|
+
"libglib2.0-0t64",
|
|
1084
|
+
"libgtk-3-0t64",
|
|
1085
|
+
"libharfbuzz0b",
|
|
1086
|
+
"libpango-1.0-0",
|
|
1087
|
+
"libpangocairo-1.0-0",
|
|
1088
|
+
"libx11-6",
|
|
1089
|
+
"libx11-xcb1",
|
|
1090
|
+
"libxcb-shm0",
|
|
1091
|
+
"libxcb1",
|
|
1092
|
+
"libxcomposite1",
|
|
1093
|
+
"libxcursor1",
|
|
1094
|
+
"libxdamage1",
|
|
1095
|
+
"libxext6",
|
|
1096
|
+
"libxfixes3",
|
|
1097
|
+
"libxi6",
|
|
1098
|
+
"libxrandr2",
|
|
1099
|
+
"libxrender1",
|
|
1100
|
+
"libxtst6"
|
|
1101
|
+
],
|
|
1102
|
+
webkit: [
|
|
1103
|
+
"libsoup-3.0-0",
|
|
1104
|
+
"gstreamer1.0-libav",
|
|
1105
|
+
"gstreamer1.0-plugins-bad",
|
|
1106
|
+
"gstreamer1.0-plugins-base",
|
|
1107
|
+
"gstreamer1.0-plugins-good",
|
|
1108
|
+
"libatk-bridge2.0-0t64",
|
|
1109
|
+
"libatk1.0-0t64",
|
|
1110
|
+
"libcairo2",
|
|
1111
|
+
"libdbus-1-3",
|
|
1112
|
+
"libdrm2",
|
|
1113
|
+
"libegl1",
|
|
1114
|
+
"libenchant-2-2",
|
|
1115
|
+
"libepoxy0",
|
|
1116
|
+
"libevdev2",
|
|
1117
|
+
"libfontconfig1",
|
|
1118
|
+
"libfreetype6",
|
|
1119
|
+
"libgbm1",
|
|
1120
|
+
"libgdk-pixbuf-2.0-0",
|
|
1121
|
+
"libgles2",
|
|
1122
|
+
"libglib2.0-0t64",
|
|
1123
|
+
"libglx0",
|
|
1124
|
+
"libgstreamer-gl1.0-0",
|
|
1125
|
+
"libgstreamer-plugins-base1.0-0",
|
|
1126
|
+
"libgstreamer1.0-0",
|
|
1127
|
+
"libgtk-4-1",
|
|
1128
|
+
"libgudev-1.0-0",
|
|
1129
|
+
"libharfbuzz-icu0",
|
|
1130
|
+
"libharfbuzz0b",
|
|
1131
|
+
"libhyphen0",
|
|
1132
|
+
"libicu76",
|
|
1133
|
+
"libjpeg62-turbo",
|
|
1134
|
+
"liblcms2-2",
|
|
1135
|
+
"libmanette-0.2-0",
|
|
1136
|
+
"libnotify4",
|
|
1137
|
+
"libopengl0",
|
|
1138
|
+
"libopenjp2-7",
|
|
1139
|
+
"libopus0",
|
|
1140
|
+
"libpango-1.0-0",
|
|
1141
|
+
"libpng16-16t64",
|
|
1142
|
+
"libproxy1v5",
|
|
1143
|
+
"libsecret-1-0",
|
|
1144
|
+
"libwayland-client0",
|
|
1145
|
+
"libwayland-egl1",
|
|
1146
|
+
"libwayland-server0",
|
|
1147
|
+
"libwebp7",
|
|
1148
|
+
"libwebpdemux2",
|
|
1149
|
+
"libwoff1",
|
|
1150
|
+
"libx11-6",
|
|
1151
|
+
"libxcomposite1",
|
|
1152
|
+
"libxdamage1",
|
|
1153
|
+
"libxkbcommon0",
|
|
1154
|
+
"libxml2",
|
|
1155
|
+
"libxslt1.1",
|
|
1156
|
+
"libatomic1",
|
|
1157
|
+
"libevent-2.1-7t64",
|
|
1158
|
+
"libavif16"
|
|
1159
|
+
],
|
|
1160
|
+
lib2package: {
|
|
1161
|
+
"libicudata.so.74": "libicu76",
|
|
1162
|
+
"libicui18n.so.74": "libicu76",
|
|
1163
|
+
"libicuuc.so.74": "libicu76",
|
|
1164
|
+
"libevent-2.1.so.7": "libevent-2.1-7t64",
|
|
1165
|
+
"libpng16.so.16": "libpng16-16t64",
|
|
1166
|
+
"libgdk-3.so.0": "libgtk-3-0t64",
|
|
1167
|
+
"libgtk-3.so.0": "libgtk-3-0t64",
|
|
1168
|
+
"libavif.so.16": "libavif16",
|
|
1169
|
+
"libsoup-3.0.so.0": "libsoup-3.0-0",
|
|
1170
|
+
"libasound.so.2": "libasound2t64",
|
|
1171
|
+
"libatk-1.0.so.0": "libatk1.0-0t64",
|
|
1172
|
+
"libatk-bridge-2.0.so.0": "libatk-bridge2.0-0t64",
|
|
1173
|
+
"libatspi.so.0": "libatspi2.0-0t64",
|
|
1174
|
+
"libcairo.so.2": "libcairo2",
|
|
1175
|
+
"libcups.so.2": "libcups2t64",
|
|
1176
|
+
"libdbus-1.so.3": "libdbus-1-3",
|
|
1177
|
+
"libdrm.so.2": "libdrm2",
|
|
1178
|
+
"libgbm.so.1": "libgbm1",
|
|
1179
|
+
"libgio-2.0.so.0": "libglib2.0-0t64",
|
|
1180
|
+
"libglib-2.0.so.0": "libglib2.0-0t64",
|
|
1181
|
+
"libgobject-2.0.so.0": "libglib2.0-0t64",
|
|
1182
|
+
"libnspr4.so": "libnspr4",
|
|
1183
|
+
"libnss3.so": "libnss3",
|
|
1184
|
+
"libnssutil3.so": "libnss3",
|
|
1185
|
+
"libpango-1.0.so.0": "libpango-1.0-0",
|
|
1186
|
+
"libsmime3.so": "libnss3",
|
|
1187
|
+
"libX11.so.6": "libx11-6",
|
|
1188
|
+
"libxcb.so.1": "libxcb1",
|
|
1189
|
+
"libXcomposite.so.1": "libxcomposite1",
|
|
1190
|
+
"libXdamage.so.1": "libxdamage1",
|
|
1191
|
+
"libXext.so.6": "libxext6",
|
|
1192
|
+
"libXfixes.so.3": "libxfixes3",
|
|
1193
|
+
"libxkbcommon.so.0": "libxkbcommon0",
|
|
1194
|
+
"libXrandr.so.2": "libxrandr2",
|
|
1195
|
+
"libgtk-4.so.1": "libgtk-4-1"
|
|
1196
|
+
}
|
|
1035
1197
|
}
|
|
1036
1198
|
};
|
|
1037
1199
|
deps["ubuntu20.04-arm64"] = {
|
|
@@ -1099,6 +1261,19 @@ deps["debian12-arm64"] = {
|
|
|
1099
1261
|
...deps["debian12-x64"].lib2package
|
|
1100
1262
|
}
|
|
1101
1263
|
};
|
|
1264
|
+
deps["debian13-arm64"] = {
|
|
1265
|
+
tools: [...deps["debian13-x64"].tools],
|
|
1266
|
+
chromium: [...deps["debian13-x64"].chromium],
|
|
1267
|
+
firefox: [
|
|
1268
|
+
...deps["debian13-x64"].firefox
|
|
1269
|
+
],
|
|
1270
|
+
webkit: [
|
|
1271
|
+
...deps["debian13-x64"].webkit
|
|
1272
|
+
],
|
|
1273
|
+
lib2package: {
|
|
1274
|
+
...deps["debian13-x64"].lib2package
|
|
1275
|
+
}
|
|
1276
|
+
};
|
|
1102
1277
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1103
1278
|
0 && (module.exports = {
|
|
1104
1279
|
deps
|
|
@@ -47,7 +47,7 @@ function downloadFile(options) {
|
|
|
47
47
|
headers: {
|
|
48
48
|
"User-Agent": options.userAgent
|
|
49
49
|
},
|
|
50
|
-
|
|
50
|
+
socketTimeout: options.socketTimeout
|
|
51
51
|
}, (response) => {
|
|
52
52
|
log(`-- response status code: ${response.statusCode}`);
|
|
53
53
|
if (response.statusCode !== 200) {
|