@checkly/playwright-core 1.51.17-beta.1 → 1.54.2-beta.0
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/browsers.json +16 -14
- package/index.js +1 -1
- package/lib/androidServerImpl.js +47 -50
- package/lib/browserServerImpl.js +89 -69
- package/lib/checkly/escapeRegExp.js +23 -27
- package/lib/checkly/fetch.js +64 -46
- package/lib/checkly/secretsFilter.js +49 -36
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +400 -359
- package/lib/cli/programWithTestStub.js +51 -45
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +151 -242
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -36
- package/lib/client/browser.js +96 -71
- package/lib/client/browserContext.js +314 -345
- package/lib/client/browserType.js +103 -127
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +90 -113
- package/lib/client/clientHelper.js +48 -39
- package/lib/client/clientInstrumentation.js +40 -37
- package/lib/client/clientStackTrace.js +41 -37
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +188 -214
- package/lib/client/consoleMessage.js +31 -28
- package/lib/client/coverage.js +25 -22
- package/lib/client/dialog.js +30 -31
- package/lib/client/download.js +25 -25
- package/lib/client/electron.js +80 -77
- package/lib/client/elementHandle.js +120 -159
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +124 -121
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +166 -190
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +31 -28
- package/lib/client/frame.js +207 -306
- package/lib/client/harRouter.js +42 -52
- package/lib/client/input.js +42 -69
- package/lib/client/jsHandle.js +54 -69
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +29 -29
- package/lib/client/locator.js +145 -237
- package/lib/client/network.js +282 -307
- package/lib/client/page.js +269 -318
- package/lib/client/platform.js +46 -43
- package/lib/client/playwright.js +51 -76
- package/lib/client/selectors.js +45 -63
- package/lib/client/stream.js +29 -25
- package/lib/client/timeoutSettings.js +55 -41
- package/lib/client/tracing.js +49 -96
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +69 -88
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +43 -56
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +27 -23
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +26 -6
- package/lib/generated/consoleApiSource.js +26 -6
- package/lib/generated/injectedScriptSource.js +26 -6
- package/lib/generated/pollingRecorderSource.js +26 -6
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +26 -6
- package/lib/generated/webSocketMockSource.js +333 -5
- package/lib/inProcessFactory.js +51 -53
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +51 -46
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2807 -2739
- package/lib/protocol/validatorPrimitives.js +114 -73
- package/lib/remote/playwrightConnection.js +88 -242
- package/lib/remote/playwrightServer.js +305 -92
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +251 -241
- package/lib/server/android/backendAdb.js +87 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +297 -158
- package/lib/server/bidi/bidiChromium.js +119 -89
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +129 -113
- package/lib/server/bidi/bidiFirefox.js +86 -76
- package/lib/server/bidi/bidiInput.js +106 -117
- package/lib/server/bidi/bidiNetworkManager.js +142 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +260 -260
- package/lib/server/bidi/bidiPdf.js +52 -86
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
- package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
- package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
- package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
- package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
- package/lib/server/browser.js +93 -95
- package/lib/server/browserContext.js +419 -429
- package/lib/server/browserType.js +186 -216
- package/lib/server/callLog.js +47 -44
- package/lib/server/chromium/chromium.js +235 -203
- package/lib/server/chromium/chromiumSwitches.js +100 -67
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +310 -292
- package/lib/server/chromium/crConnection.js +95 -121
- package/lib/server/chromium/crCoverage.js +121 -131
- package/lib/server/chromium/crDevTools.js +60 -51
- package/lib/server/chromium/crDragDrop.js +68 -84
- package/lib/server/chromium/crExecutionContext.js +89 -83
- package/lib/server/chromium/crInput.js +118 -113
- package/lib/server/chromium/crNetworkManager.js +274 -375
- package/lib/server/chromium/crPage.js +536 -593
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +84 -73
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +66 -99
- package/lib/server/clock.js +107 -83
- package/lib/server/codegen/csharp.js +192 -162
- package/lib/server/codegen/java.js +156 -129
- package/lib/server/codegen/javascript.js +163 -148
- package/lib/server/codegen/jsonl.js +32 -28
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -126
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +108 -86
- package/lib/server/debugController.js +147 -151
- package/lib/server/debugger.js +86 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +238 -128
- package/lib/server/dialog.js +84 -39
- package/lib/server/dispatchers/androidDispatcher.js +257 -148
- package/lib/server/dispatchers/artifactDispatcher.js +79 -79
- package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
- package/lib/server/dispatchers/browserDispatcher.js +96 -148
- package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
- package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
- package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
- package/lib/server/dispatchers/dialogDispatcher.js +34 -31
- package/lib/server/dispatchers/dispatcher.js +208 -248
- package/lib/server/dispatchers/electronDispatcher.js +66 -70
- package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
- package/lib/server/dispatchers/frameDispatcher.js +211 -272
- package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
- package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
- package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
- package/lib/server/dispatchers/networkDispatchers.js +117 -128
- package/lib/server/dispatchers/pageDispatcher.js +256 -248
- package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
- package/lib/server/dispatchers/streamDispatcher.js +52 -48
- package/lib/server/dispatchers/tracingDispatcher.js +47 -52
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
- package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
- package/lib/server/dom.js +485 -582
- package/lib/server/download.js +47 -37
- package/lib/server/electron/electron.js +216 -243
- package/lib/server/electron/loader.js +9 -37
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +317 -360
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -60
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +268 -305
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +92 -73
- package/lib/server/firefox/ffInput.js +82 -84
- package/lib/server/firefox/ffNetworkManager.js +137 -114
- package/lib/server/firefox/ffPage.js +261 -293
- package/lib/server/firefox/firefox.js +80 -72
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +98 -114
- package/lib/server/frames.js +845 -1055
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +290 -223
- package/lib/server/harBackend.js +80 -80
- package/lib/server/helper.js +55 -59
- package/lib/server/index.js +59 -99
- package/lib/server/input.js +151 -189
- package/lib/server/instrumentation.js +57 -44
- package/lib/server/javascript.js +133 -134
- package/lib/server/launchApp.js +113 -75
- package/lib/server/localUtils.js +150 -142
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +299 -303
- package/lib/server/page.js +513 -544
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +58 -67
- package/lib/server/progress.js +137 -68
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +70 -86
- package/lib/server/recorder/recorderApp.js +341 -176
- package/lib/server/recorder/recorderInTraceViewer.js +65 -94
- package/lib/server/recorder/recorderRunner.js +93 -116
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +104 -47
- package/lib/server/recorder/throttledFile.js +42 -30
- package/lib/server/recorder.js +395 -275
- package/lib/server/registry/browserFetcher.js +106 -101
- package/lib/server/registry/dependencies.js +245 -196
- package/lib/server/registry/index.js +930 -803
- package/lib/server/registry/nativeDeps.js +1073 -464
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +160 -191
- package/lib/server/selectors.js +90 -51
- package/lib/server/socksClientCertificatesInterceptor.js +171 -186
- package/lib/server/socksInterceptor.js +62 -70
- package/lib/server/trace/recorder/snapshotter.js +76 -102
- package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
- package/lib/server/trace/recorder/tracing.js +354 -362
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +160 -147
- package/lib/server/transport.js +119 -134
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +39 -26
- package/lib/server/utils/comparators.js +105 -103
- package/lib/server/utils/crypto.js +157 -112
- package/lib/server/utils/debug.js +36 -32
- package/lib/server/utils/debugLogger.js +77 -48
- package/lib/server/utils/env.js +52 -37
- package/lib/server/utils/eventsHelper.js +29 -28
- package/lib/server/utils/expectUtils.js +31 -26
- package/lib/server/utils/fileUtils.js +123 -136
- package/lib/server/utils/happyEyeballs.js +141 -126
- package/lib/server/utils/hostPlatform.js +84 -120
- package/lib/server/utils/httpServer.js +106 -121
- package/lib/server/utils/image_tools/colorUtils.js +42 -51
- package/lib/server/utils/image_tools/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +38 -30
- package/lib/server/utils/image_tools/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +50 -37
- package/lib/server/utils/network.js +152 -96
- package/lib/server/utils/nodePlatform.js +87 -79
- package/lib/server/utils/pipeTransport.js +44 -42
- package/lib/server/utils/processLauncher.js +111 -121
- package/lib/server/utils/profiler.js +52 -39
- package/lib/server/utils/socksProxy.js +280 -339
- package/lib/server/utils/spawnAsync.js +37 -41
- package/lib/server/utils/task.js +31 -38
- package/lib/server/utils/userAgent.js +73 -66
- package/lib/server/utils/wsServer.js +68 -75
- package/lib/server/utils/zipFile.js +36 -37
- package/lib/server/utils/zones.js +37 -34
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +77 -61
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +193 -184
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +85 -70
- package/lib/server/webkit/wkInput.js +97 -95
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +568 -667
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +79 -79
- package/lib/utils/expectUtils.js +31 -26
- package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
- package/lib/utils/isomorphic/assert.js +28 -22
- package/lib/utils/isomorphic/colors.js +66 -59
- package/lib/utils/isomorphic/cssParser.js +120 -125
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +38 -37
- package/lib/utils/isomorphic/locatorGenerators.js +358 -357
- package/lib/utils/isomorphic/locatorParser.js +96 -105
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +46 -39
- package/lib/utils/isomorphic/mimeType.js +447 -25
- package/lib/utils/isomorphic/multimap.js +34 -27
- package/lib/utils/isomorphic/protocolFormatter.js +68 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
- package/lib/utils/isomorphic/recorderUtils.js +140 -181
- package/lib/utils/isomorphic/rtti.js +35 -33
- package/lib/utils/isomorphic/selectorParser.js +182 -193
- package/lib/utils/isomorphic/semaphore.js +27 -24
- package/lib/utils/isomorphic/stackTrace.js +87 -98
- package/lib/utils/isomorphic/stringUtils.js +98 -112
- package/lib/utils/isomorphic/time.js +46 -22
- package/lib/utils/isomorphic/timeoutRunner.js +53 -53
- package/lib/utils/isomorphic/traceUtils.js +37 -41
- package/lib/utils/isomorphic/types.js +15 -4
- package/lib/utils/isomorphic/urlMatch.js +113 -67
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
- package/lib/utils.js +101 -443
- package/lib/utilsBundle.js +101 -52
- package/lib/utilsBundleImpl/index.js +160 -150
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +1 -1
- package/types/protocol.d.ts +1267 -1057
- package/types/types.d.ts +131 -29
- package/lib/common/socksProxy.js +0 -569
- package/lib/common/timeoutSettings.js +0 -73
- package/lib/common/types.js +0 -5
- package/lib/image_tools/colorUtils.js +0 -98
- package/lib/image_tools/compare.js +0 -108
- package/lib/image_tools/imageChannel.js +0 -70
- package/lib/image_tools/stats.js +0 -102
- package/lib/protocol/debug.js +0 -27
- package/lib/protocol/transport.js +0 -82
- package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
- package/lib/server/recorder/contextRecorder.js +0 -290
- package/lib/server/recorder/recorderCollection.js +0 -104
- package/lib/server/recorder/recorderFrontend.js +0 -5
- package/lib/server/storageScript.js +0 -160
- package/lib/server/timeoutSettings.js +0 -74
- package/lib/third_party/diff_match_patch.js +0 -2222
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -171
- package/lib/utils/crypto.js +0 -174
- package/lib/utils/debug.js +0 -46
- package/lib/utils/debugLogger.js +0 -91
- package/lib/utils/env.js +0 -49
- package/lib/utils/eventsHelper.js +0 -38
- package/lib/utils/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -210
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -133
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- package/lib/utils/linuxUtils.js +0 -78
- package/lib/utils/manualPromise.js +0 -109
- package/lib/utils/multimap.js +0 -75
- package/lib/utils/network.js +0 -160
- package/lib/utils/processLauncher.js +0 -248
- package/lib/utils/profiler.js +0 -53
- package/lib/utils/rtti.js +0 -44
- package/lib/utils/semaphore.js +0 -51
- package/lib/utils/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -121
- package/lib/utils/task.js +0 -58
- package/lib/utils/time.js +0 -37
- package/lib/utils/timeoutRunner.js +0 -66
- package/lib/utils/traceUtils.js +0 -44
- package/lib/utils/userAgent.js +0 -105
- package/lib/utils/wsServer.js +0 -127
- package/lib/utils/zipFile.js +0 -75
- package/lib/utils/zones.js +0 -62
- package/lib/vite/htmlReport/index.html +0 -69
- package/lib/vite/recorder/assets/codeMirrorModule-DrMbgOIo.js +0 -16684
- package/lib/vite/recorder/assets/codeMirrorModule-DuST8d_k.css +0 -344
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-5NM3V7eb.css +0 -2524
- package/lib/vite/recorder/assets/index-CT-scFHn.js +0 -16848
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-CB-2okZ8.js +0 -16684
- package/lib/vite/traceViewer/assets/defaultSettingsView-CBiB4avC.js +0 -217
- package/lib/vite/traceViewer/assets/inspectorTab-CwgfffWb.js +0 -25143
- package/lib/vite/traceViewer/assets/workbench-CWZselvp.js +0 -2470
- package/lib/vite/traceViewer/assets/xtermModule-Es_gt_u7.js +0 -5994
- package/lib/vite/traceViewer/codeMirrorModule.DuST8d_k.css +0 -344
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.Dp3b_92q.css +0 -41
- package/lib/vite/traceViewer/embedded.BeldSa2G.css +0 -68
- package/lib/vite/traceViewer/embedded.gzudoghF.js +0 -106
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/index.DilotR1h.js +0 -314
- package/lib/vite/traceViewer/index.QewjJ85u.css +0 -131
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.DnGm18kV.css +0 -3178
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.DLgqV9db.css +0 -15
- package/lib/vite/traceViewer/recorder.DVrkq3Um.js +0 -551
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.C9_OcpPU.js +0 -1756
- package/lib/vite/traceViewer/uiMode.c5ORgcrX.css +0 -1424
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.xUZSA8PY.css +0 -787
- package/lib/vite/traceViewer/xtermModule.EsaqrrTX.css +0 -209
|
@@ -1,59 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var inMemorySnapshotter_exports = {};
|
|
20
|
+
__export(inMemorySnapshotter_exports, {
|
|
21
|
+
InMemorySnapshotter: () => InMemorySnapshotter
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
/**
|
|
12
|
-
* Copyright (c) Microsoft Corporation.
|
|
13
|
-
*
|
|
14
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
-
* you may not use this file except in compliance with the License.
|
|
16
|
-
* You may obtain a copy of the License at
|
|
17
|
-
*
|
|
18
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
*
|
|
20
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
-
* See the License for the specific language governing permissions and
|
|
24
|
-
* limitations under the License.
|
|
25
|
-
*/
|
|
26
|
-
|
|
23
|
+
module.exports = __toCommonJS(inMemorySnapshotter_exports);
|
|
24
|
+
var import_snapshotStorage = require("../../../../../trace-viewer/src/sw/snapshotStorage");
|
|
25
|
+
var import_utils = require("../../../utils");
|
|
26
|
+
var import_harTracer = require("../../har/harTracer");
|
|
27
|
+
var import_snapshotter = require("../recorder/snapshotter");
|
|
27
28
|
class InMemorySnapshotter {
|
|
28
29
|
constructor(context) {
|
|
29
|
-
this._blobs = new Map();
|
|
30
|
-
this.
|
|
31
|
-
this._harTracer = void 0;
|
|
32
|
-
this._snapshotReadyPromises = new Map();
|
|
33
|
-
this._storage = void 0;
|
|
30
|
+
this._blobs = /* @__PURE__ */ new Map();
|
|
31
|
+
this._snapshotReadyPromises = /* @__PURE__ */ new Map();
|
|
34
32
|
this._snapshotCount = 0;
|
|
35
|
-
this._snapshotter = new
|
|
36
|
-
this._harTracer = new
|
|
37
|
-
|
|
38
|
-
includeTraceInfo: true,
|
|
39
|
-
recordRequestOverrides: false,
|
|
40
|
-
waitForContentOnStop: false
|
|
41
|
-
});
|
|
42
|
-
this._storage = new _snapshotStorage.SnapshotStorage();
|
|
33
|
+
this._snapshotter = new import_snapshotter.Snapshotter(context, this);
|
|
34
|
+
this._harTracer = new import_harTracer.HarTracer(context, null, this, { content: "attach", includeTraceInfo: true, recordRequestOverrides: false, waitForContentOnStop: false });
|
|
35
|
+
this._storage = new import_snapshotStorage.SnapshotStorage();
|
|
43
36
|
}
|
|
44
37
|
async initialize() {
|
|
45
38
|
await this._snapshotter.start();
|
|
46
|
-
this._harTracer.start({
|
|
47
|
-
omitScripts: true
|
|
48
|
-
});
|
|
39
|
+
this._harTracer.start({ omitScripts: true });
|
|
49
40
|
}
|
|
50
41
|
async reset() {
|
|
51
42
|
await this._snapshotter.reset();
|
|
52
43
|
await this._harTracer.flush();
|
|
53
44
|
this._harTracer.stop();
|
|
54
|
-
this._harTracer.start({
|
|
55
|
-
omitScripts: true
|
|
56
|
-
});
|
|
45
|
+
this._harTracer.start({ omitScripts: true });
|
|
57
46
|
}
|
|
58
47
|
async dispose() {
|
|
59
48
|
this._snapshotter.dispose();
|
|
@@ -61,15 +50,18 @@ class InMemorySnapshotter {
|
|
|
61
50
|
this._harTracer.stop();
|
|
62
51
|
}
|
|
63
52
|
async captureSnapshot(page, callId, snapshotName) {
|
|
64
|
-
if (this._snapshotReadyPromises.has(snapshotName))
|
|
65
|
-
|
|
66
|
-
|
|
53
|
+
if (this._snapshotReadyPromises.has(snapshotName))
|
|
54
|
+
throw new Error("Duplicate snapshot name: " + snapshotName);
|
|
55
|
+
this._snapshotter.captureSnapshot(page, callId, snapshotName).catch(() => {
|
|
56
|
+
});
|
|
57
|
+
const promise = new import_utils.ManualPromise();
|
|
67
58
|
this._snapshotReadyPromises.set(snapshotName, promise);
|
|
68
59
|
return promise;
|
|
69
60
|
}
|
|
70
|
-
onEntryStarted(entry) {
|
|
61
|
+
onEntryStarted(entry) {
|
|
62
|
+
}
|
|
71
63
|
onEntryFinished(entry) {
|
|
72
|
-
this._storage.addResource(
|
|
64
|
+
this._storage.addResource("", entry);
|
|
73
65
|
}
|
|
74
66
|
onContentBlob(sha1, buffer) {
|
|
75
67
|
this._blobs.set(sha1, buffer);
|
|
@@ -78,10 +70,9 @@ class InMemorySnapshotter {
|
|
|
78
70
|
this._blobs.set(blob.sha1, blob.buffer);
|
|
79
71
|
}
|
|
80
72
|
onFrameSnapshot(snapshot) {
|
|
81
|
-
var _this$_snapshotReadyP;
|
|
82
73
|
++this._snapshotCount;
|
|
83
|
-
const renderer = this._storage.addFrameSnapshot(
|
|
84
|
-
|
|
74
|
+
const renderer = this._storage.addFrameSnapshot("", snapshot, []);
|
|
75
|
+
this._snapshotReadyPromises.get(snapshot.snapshotName || "")?.resolve(renderer);
|
|
85
76
|
}
|
|
86
77
|
async resourceContentForTest(sha1) {
|
|
87
78
|
return this._blobs.get(sha1);
|
|
@@ -90,4 +81,7 @@ class InMemorySnapshotter {
|
|
|
90
81
|
return this._snapshotCount;
|
|
91
82
|
}
|
|
92
83
|
}
|
|
93
|
-
|
|
84
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
85
|
+
0 && (module.exports = {
|
|
86
|
+
InMemorySnapshotter
|
|
87
|
+
});
|
|
@@ -1,116 +1,130 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty
|
|
4
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var traceViewer_exports = {};
|
|
30
|
+
__export(traceViewer_exports, {
|
|
31
|
+
installRootRedirect: () => installRootRedirect,
|
|
32
|
+
openTraceInBrowser: () => openTraceInBrowser,
|
|
33
|
+
openTraceViewerApp: () => openTraceViewerApp,
|
|
34
|
+
runTraceInBrowser: () => runTraceInBrowser,
|
|
35
|
+
runTraceViewerApp: () => runTraceViewerApp,
|
|
36
|
+
startTraceViewerServer: () => startTraceViewerServer
|
|
5
37
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var _launchApp = require("../../launchApp");
|
|
19
|
-
var _playwright = require("../../playwright");
|
|
20
|
-
var _progress = require("../../progress");
|
|
21
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
-
/**
|
|
23
|
-
* Copyright (c) Microsoft Corporation.
|
|
24
|
-
*
|
|
25
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
26
|
-
* you may not use this file except in compliance with the License.
|
|
27
|
-
* You may obtain a copy of the License at
|
|
28
|
-
*
|
|
29
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
30
|
-
*
|
|
31
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
32
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
33
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
34
|
-
* See the License for the specific language governing permissions and
|
|
35
|
-
* limitations under the License.
|
|
36
|
-
*/
|
|
37
|
-
|
|
38
|
+
module.exports = __toCommonJS(traceViewer_exports);
|
|
39
|
+
var import_fs = __toESM(require("fs"));
|
|
40
|
+
var import_path = __toESM(require("path"));
|
|
41
|
+
var import_utils = require("../../../utils");
|
|
42
|
+
var import_utils2 = require("../../../utils");
|
|
43
|
+
var import_httpServer = require("../../utils/httpServer");
|
|
44
|
+
var import_utilsBundle = require("../../../utilsBundle");
|
|
45
|
+
var import_instrumentation = require("../../instrumentation");
|
|
46
|
+
var import_launchApp = require("../../launchApp");
|
|
47
|
+
var import_launchApp2 = require("../../launchApp");
|
|
48
|
+
var import_playwright = require("../../playwright");
|
|
49
|
+
var import_progress = require("../../progress");
|
|
38
50
|
function validateTraceUrls(traceUrls) {
|
|
39
51
|
for (const traceUrl of traceUrls) {
|
|
40
52
|
let traceFile = traceUrl;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (!traceUrl.startsWith(
|
|
53
|
+
if (traceUrl.endsWith(".json"))
|
|
54
|
+
traceFile = traceUrl.substring(0, traceUrl.length - ".json".length);
|
|
55
|
+
if (!traceUrl.startsWith("http://") && !traceUrl.startsWith("https://") && !import_fs.default.existsSync(traceFile) && !import_fs.default.existsSync(traceFile + ".trace"))
|
|
56
|
+
throw new Error(`Trace file ${traceUrl} does not exist!`);
|
|
44
57
|
}
|
|
45
58
|
}
|
|
46
59
|
async function startTraceViewerServer(options) {
|
|
47
|
-
const server = new
|
|
48
|
-
server.routePrefix(
|
|
49
|
-
const url = new URL(
|
|
50
|
-
const relativePath = url.pathname.slice(
|
|
60
|
+
const server = new import_httpServer.HttpServer();
|
|
61
|
+
server.routePrefix("/trace", (request, response) => {
|
|
62
|
+
const url = new URL("http://localhost" + request.url);
|
|
63
|
+
const relativePath = url.pathname.slice("/trace".length);
|
|
51
64
|
if (process.env.PW_HMR) {
|
|
52
|
-
|
|
53
|
-
response.appendHeader('Access-Control-Allow-Origin', 'http://localhost:44223');
|
|
65
|
+
response.appendHeader("Access-Control-Allow-Origin", "http://localhost:44223");
|
|
54
66
|
}
|
|
55
|
-
if (relativePath.endsWith(
|
|
56
|
-
|
|
67
|
+
if (relativePath.endsWith("/stall.js"))
|
|
68
|
+
return true;
|
|
69
|
+
if (relativePath.startsWith("/file")) {
|
|
57
70
|
try {
|
|
58
|
-
const filePath = url.searchParams.get(
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const traceName = filePath.substring(0, filePath.length - '.json'.length);
|
|
71
|
+
const filePath = url.searchParams.get("path");
|
|
72
|
+
if (import_fs.default.existsSync(filePath))
|
|
73
|
+
return server.serveFile(request, response, url.searchParams.get("path"));
|
|
74
|
+
if (filePath.endsWith(".json")) {
|
|
75
|
+
const traceName = filePath.substring(0, filePath.length - ".json".length);
|
|
64
76
|
response.statusCode = 200;
|
|
65
|
-
response.setHeader(
|
|
77
|
+
response.setHeader("Content-Type", "application/json");
|
|
66
78
|
response.end(JSON.stringify(traceDescriptor(traceName)));
|
|
67
79
|
return true;
|
|
68
80
|
}
|
|
69
|
-
} catch (e) {
|
|
81
|
+
} catch (e) {
|
|
82
|
+
}
|
|
70
83
|
response.statusCode = 404;
|
|
71
84
|
response.end();
|
|
72
85
|
return true;
|
|
73
86
|
}
|
|
74
|
-
const absolutePath =
|
|
87
|
+
const absolutePath = import_path.default.join(__dirname, "..", "..", "..", "vite", "traceViewer", ...relativePath.split("/"));
|
|
75
88
|
return server.serveFile(request, response, absolutePath);
|
|
76
89
|
});
|
|
77
|
-
const transport =
|
|
78
|
-
if (transport)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
} = options || {};
|
|
83
|
-
await server.start({
|
|
84
|
-
preferredPort: port,
|
|
85
|
-
host
|
|
86
|
-
});
|
|
90
|
+
const transport = options?.transport || (options?.isServer ? new StdinServer() : void 0);
|
|
91
|
+
if (transport)
|
|
92
|
+
server.createWebSocket(transport);
|
|
93
|
+
const { host, port } = options || {};
|
|
94
|
+
await server.start({ preferredPort: port, host });
|
|
87
95
|
return server;
|
|
88
96
|
}
|
|
89
97
|
async function installRootRedirect(server, traceUrls, options) {
|
|
90
98
|
const params = new URLSearchParams();
|
|
91
|
-
if (
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
|
|
97
|
-
if (options
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
if (import_path.default.sep !== import_path.default.posix.sep)
|
|
100
|
+
params.set("pathSeparator", import_path.default.sep);
|
|
101
|
+
for (const traceUrl of traceUrls)
|
|
102
|
+
params.append("trace", traceUrl);
|
|
103
|
+
if (server.wsGuid())
|
|
104
|
+
params.append("ws", server.wsGuid());
|
|
105
|
+
if (options?.isServer)
|
|
106
|
+
params.append("isServer", "");
|
|
107
|
+
if ((0, import_utils2.isUnderTest)())
|
|
108
|
+
params.append("isUnderTest", "true");
|
|
109
|
+
for (const arg of options.args || [])
|
|
110
|
+
params.append("arg", arg);
|
|
111
|
+
if (options.grep)
|
|
112
|
+
params.append("grep", options.grep);
|
|
113
|
+
if (options.grepInvert)
|
|
114
|
+
params.append("grepInvert", options.grepInvert);
|
|
115
|
+
for (const project of options.project || [])
|
|
116
|
+
params.append("project", project);
|
|
117
|
+
for (const reporter of options.reporter || [])
|
|
118
|
+
params.append("reporter", reporter);
|
|
119
|
+
let baseUrl = ".";
|
|
102
120
|
if (process.env.PW_HMR) {
|
|
103
|
-
baseUrl =
|
|
104
|
-
params.set(
|
|
121
|
+
baseUrl = "http://localhost:44223";
|
|
122
|
+
params.set("server", server.urlPrefix("precise"));
|
|
105
123
|
}
|
|
106
|
-
const urlPath = `${baseUrl}/trace/${options.webApp ||
|
|
107
|
-
server.routePath(
|
|
124
|
+
const urlPath = `${baseUrl}/trace/${options.webApp || "index.html"}?${params.toString()}`;
|
|
125
|
+
server.routePath("/", (_, response) => {
|
|
108
126
|
response.statusCode = 302;
|
|
109
|
-
response.setHeader(
|
|
110
|
-
if (process.env.EXPERIMENTAL_OPENAI_API_KEY) response.appendHeader('Set-Cookie', `openai_api_key=${process.env.EXPERIMENTAL_OPENAI_API_KEY}`);
|
|
111
|
-
if (process.env.OPENAI_BASE_URL) response.appendHeader('Set-Cookie', `openai_base_url=${process.env.OPENAI_BASE_URL}`);
|
|
112
|
-
if (process.env.EXPERIMENTAL_ANTHROPIC_API_KEY) response.appendHeader('Set-Cookie', `anthropic_api_key=${process.env.EXPERIMENTAL_ANTHROPIC_API_KEY}`);
|
|
113
|
-
if (process.env.ANTHROPIC_BASE_URL) response.appendHeader('Set-Cookie', `anthropic_base_url=${process.env.ANTHROPIC_BASE_URL}`);
|
|
127
|
+
response.setHeader("Location", urlPath);
|
|
114
128
|
response.end();
|
|
115
129
|
return true;
|
|
116
130
|
});
|
|
@@ -119,83 +133,77 @@ async function runTraceViewerApp(traceUrls, browserName, options, exitOnClose) {
|
|
|
119
133
|
validateTraceUrls(traceUrls);
|
|
120
134
|
const server = await startTraceViewerServer(options);
|
|
121
135
|
await installRootRedirect(server, traceUrls, options);
|
|
122
|
-
const page = await openTraceViewerApp(server.urlPrefix(
|
|
123
|
-
if (exitOnClose)
|
|
136
|
+
const page = await openTraceViewerApp(server.urlPrefix("precise"), browserName, options);
|
|
137
|
+
if (exitOnClose)
|
|
138
|
+
page.on("close", () => (0, import_utils.gracefullyProcessExitDoNotHang)(0));
|
|
124
139
|
return page;
|
|
125
140
|
}
|
|
126
141
|
async function runTraceInBrowser(traceUrls, options) {
|
|
127
142
|
validateTraceUrls(traceUrls);
|
|
128
143
|
const server = await startTraceViewerServer(options);
|
|
129
144
|
await installRootRedirect(server, traceUrls, options);
|
|
130
|
-
await openTraceInBrowser(server.urlPrefix(
|
|
145
|
+
await openTraceInBrowser(server.urlPrefix("human-readable"));
|
|
131
146
|
}
|
|
132
147
|
async function openTraceViewerApp(url, browserName, options) {
|
|
133
|
-
const traceViewerPlaywright = (0,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
});
|
|
137
|
-
const traceViewerBrowser = (0, _utils.isUnderTest)() ? 'chromium' : browserName;
|
|
138
|
-
const {
|
|
139
|
-
context,
|
|
140
|
-
page
|
|
141
|
-
} = await (0, _launchApp.launchApp)(traceViewerPlaywright[traceViewerBrowser], {
|
|
142
|
-
// TODO: store language in the trace.
|
|
148
|
+
const traceViewerPlaywright = (0, import_playwright.createPlaywright)({ sdkLanguage: "javascript", isInternalPlaywright: true });
|
|
149
|
+
const traceViewerBrowser = (0, import_utils2.isUnderTest)() ? "chromium" : browserName;
|
|
150
|
+
const { context, page } = await (0, import_launchApp2.launchApp)(traceViewerPlaywright[traceViewerBrowser], {
|
|
143
151
|
sdkLanguage: traceViewerPlaywright.options.sdkLanguage,
|
|
144
|
-
windowSize: {
|
|
145
|
-
width: 1280,
|
|
146
|
-
height: 800
|
|
147
|
-
},
|
|
152
|
+
windowSize: { width: 1280, height: 800 },
|
|
148
153
|
persistentContextOptions: {
|
|
149
|
-
...
|
|
150
|
-
|
|
151
|
-
headless: !!
|
|
152
|
-
colorScheme: (0,
|
|
154
|
+
...options?.persistentContextOptions,
|
|
155
|
+
cdpPort: (0, import_utils2.isUnderTest)() ? 0 : void 0,
|
|
156
|
+
headless: !!options?.headless,
|
|
157
|
+
colorScheme: (0, import_utils2.isUnderTest)() ? "light" : void 0
|
|
153
158
|
}
|
|
154
159
|
});
|
|
155
|
-
const controller = new
|
|
156
|
-
await controller.run(async progress => {
|
|
160
|
+
const controller = new import_progress.ProgressController((0, import_instrumentation.serverSideCallMetadata)(), context._browser);
|
|
161
|
+
await controller.run(async (progress) => {
|
|
157
162
|
await context._browser._defaultContext._loadDefaultContextAsIs(progress);
|
|
163
|
+
if (process.env.PWTEST_PRINT_WS_ENDPOINT)
|
|
164
|
+
process.stderr.write("DevTools listening on: " + context._browser.options.wsEndpoint + "\n");
|
|
165
|
+
if (!(0, import_utils2.isUnderTest)())
|
|
166
|
+
await (0, import_launchApp.syncLocalStorageWithSettings)(page, "traceviewer");
|
|
167
|
+
if ((0, import_utils2.isUnderTest)())
|
|
168
|
+
page.on("close", () => context.close({ reason: "Trace viewer closed" }).catch(() => {
|
|
169
|
+
}));
|
|
170
|
+
await page.mainFrame().goto(progress, url);
|
|
158
171
|
});
|
|
159
|
-
if (process.env.PWTEST_PRINT_WS_ENDPOINT) process.stderr.write('DevTools listening on: ' + context._browser.options.wsEndpoint + '\n');
|
|
160
|
-
if (!(0, _utils.isUnderTest)()) await (0, _launchApp.syncLocalStorageWithSettings)(page, 'traceviewer');
|
|
161
|
-
if ((0, _utils.isUnderTest)()) page.on('close', () => context.close({
|
|
162
|
-
reason: 'Trace viewer closed'
|
|
163
|
-
}).catch(() => {}));
|
|
164
|
-
await page.mainFrame().goto((0, _instrumentation.serverSideCallMetadata)(), url);
|
|
165
172
|
return page;
|
|
166
173
|
}
|
|
167
174
|
async function openTraceInBrowser(url) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
175
|
+
console.log("\nListening on " + url);
|
|
176
|
+
if (!(0, import_utils2.isUnderTest)())
|
|
177
|
+
await (0, import_utilsBundle.open)(url.replace("0.0.0.0", "localhost")).catch(() => {
|
|
178
|
+
});
|
|
171
179
|
}
|
|
172
180
|
class StdinServer {
|
|
173
181
|
constructor() {
|
|
174
|
-
|
|
175
|
-
this._traceUrl = void 0;
|
|
176
|
-
this.sendEvent = void 0;
|
|
177
|
-
this.close = void 0;
|
|
178
|
-
process.stdin.on('data', data => {
|
|
182
|
+
process.stdin.on("data", (data) => {
|
|
179
183
|
const url = data.toString().trim();
|
|
180
|
-
if (url === this._traceUrl)
|
|
181
|
-
|
|
184
|
+
if (url === this._traceUrl)
|
|
185
|
+
return;
|
|
186
|
+
if (url.endsWith(".json"))
|
|
187
|
+
this._pollLoadTrace(url);
|
|
188
|
+
else
|
|
189
|
+
this._loadTrace(url);
|
|
182
190
|
});
|
|
183
|
-
process.stdin.on(
|
|
191
|
+
process.stdin.on("close", () => (0, import_utils.gracefullyProcessExitDoNotHang)(0));
|
|
192
|
+
}
|
|
193
|
+
onconnect() {
|
|
184
194
|
}
|
|
185
|
-
onconnect() {}
|
|
186
195
|
async dispatch(method, params) {
|
|
187
|
-
if (method ===
|
|
188
|
-
if (this._traceUrl)
|
|
196
|
+
if (method === "initialize") {
|
|
197
|
+
if (this._traceUrl)
|
|
198
|
+
this._loadTrace(this._traceUrl);
|
|
189
199
|
}
|
|
190
200
|
}
|
|
191
|
-
onclose() {
|
|
201
|
+
onclose() {
|
|
202
|
+
}
|
|
192
203
|
_loadTrace(traceUrl) {
|
|
193
|
-
var _this$sendEvent;
|
|
194
204
|
this._traceUrl = traceUrl;
|
|
195
205
|
clearTimeout(this._pollTimer);
|
|
196
|
-
|
|
197
|
-
traceUrl
|
|
198
|
-
});
|
|
206
|
+
this.sendEvent?.("loadTraceRequested", { traceUrl });
|
|
199
207
|
}
|
|
200
208
|
_pollLoadTrace(url) {
|
|
201
209
|
this._loadTrace(url);
|
|
@@ -208,20 +216,25 @@ function traceDescriptor(traceName) {
|
|
|
208
216
|
const result = {
|
|
209
217
|
entries: []
|
|
210
218
|
};
|
|
211
|
-
const traceDir =
|
|
212
|
-
const traceFile =
|
|
213
|
-
for (const name of
|
|
214
|
-
if (name.startsWith(traceFile))
|
|
215
|
-
name,
|
|
216
|
-
path: _path.default.join(traceDir, name)
|
|
217
|
-
});
|
|
219
|
+
const traceDir = import_path.default.dirname(traceName);
|
|
220
|
+
const traceFile = import_path.default.basename(traceName);
|
|
221
|
+
for (const name of import_fs.default.readdirSync(traceDir)) {
|
|
222
|
+
if (name.startsWith(traceFile))
|
|
223
|
+
result.entries.push({ name, path: import_path.default.join(traceDir, name) });
|
|
218
224
|
}
|
|
219
|
-
const resourcesDir =
|
|
220
|
-
if (
|
|
221
|
-
for (const name of
|
|
222
|
-
name:
|
|
223
|
-
path: _path.default.join(resourcesDir, name)
|
|
224
|
-
});
|
|
225
|
+
const resourcesDir = import_path.default.join(traceDir, "resources");
|
|
226
|
+
if (import_fs.default.existsSync(resourcesDir)) {
|
|
227
|
+
for (const name of import_fs.default.readdirSync(resourcesDir))
|
|
228
|
+
result.entries.push({ name: "resources/" + name, path: import_path.default.join(resourcesDir, name) });
|
|
225
229
|
}
|
|
226
230
|
return result;
|
|
227
|
-
}
|
|
231
|
+
}
|
|
232
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
233
|
+
0 && (module.exports = {
|
|
234
|
+
installRootRedirect,
|
|
235
|
+
openTraceInBrowser,
|
|
236
|
+
openTraceViewerApp,
|
|
237
|
+
runTraceInBrowser,
|
|
238
|
+
runTraceViewerApp,
|
|
239
|
+
startTraceViewerServer
|
|
240
|
+
});
|