@smoothdeploy/playwright-core 1.58.3 → 1.60.0-beta-1780662356000
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 +7 -4070
- package/browsers.json +16 -14
- package/cli.js +4 -1
- package/index.js +1 -1
- package/lib/bootstrap.js +77 -0
- package/lib/coreBundle.js +70057 -0
- package/lib/entry/cliDaemon.js +5 -0
- package/lib/entry/dashboardApp.js +3 -0
- package/lib/entry/mcp.js +10 -0
- package/lib/entry/oopBrowserDownload.js +3 -0
- package/lib/{server/deviceDescriptors.js → package.js} +18 -7
- package/lib/server/deviceDescriptorsSource.json +137 -137
- package/lib/server/electron/loader.js +99 -13
- package/lib/serverRegistry.js +7343 -0
- package/lib/serverRegistry.js.LICENSE +354 -0
- package/lib/tools/cli-client/channelSessions.js +141 -0
- package/lib/tools/cli-client/cli.js +6 -0
- package/lib/tools/cli-client/help.json +679 -0
- package/lib/tools/cli-client/minimist.js +128 -0
- package/lib/tools/cli-client/output.js +343 -0
- package/lib/tools/cli-client/program.js +380 -0
- package/lib/tools/cli-client/registry.js +176 -0
- package/lib/tools/cli-client/session.js +265 -0
- package/lib/tools/cli-client/skill/SKILL.md +388 -0
- package/lib/tools/cli-client/skill/references/element-attributes.md +23 -0
- package/lib/tools/cli-client/skill/references/playwright-tests.md +39 -0
- package/lib/tools/cli-client/skill/references/request-mocking.md +87 -0
- package/lib/tools/cli-client/skill/references/running-code.md +241 -0
- package/lib/tools/cli-client/skill/references/session-management.md +225 -0
- package/lib/tools/cli-client/skill/references/spec-driven-testing.md +305 -0
- package/lib/tools/cli-client/skill/references/storage-state.md +275 -0
- package/lib/tools/cli-client/skill/references/test-generation.md +134 -0
- package/lib/tools/cli-client/skill/references/tracing.md +139 -0
- package/lib/tools/cli-client/skill/references/video-recording.md +143 -0
- package/lib/tools/dashboard/appIcon.png +0 -0
- package/lib/tools/trace/SKILL.md +171 -0
- package/lib/{server/utils/profiler.js → tools/utils/extension.js} +42 -29
- package/lib/tools/utils/socketConnection.js +108 -0
- package/lib/utilsBundle.js +85377 -68
- package/lib/utilsBundle.js.LICENSE +2002 -0
- package/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg +1 -0
- package/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg +1 -0
- package/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg +1 -0
- package/lib/vite/dashboard/assets/index-BY2S1tHT.css +1 -0
- package/lib/vite/dashboard/assets/index-DpEq2p62.js +52 -0
- package/lib/vite/dashboard/assets/safari-na3_-uQk.svg +1 -0
- package/lib/vite/dashboard/index.html +29 -0
- package/lib/vite/dashboard/playwright-logo.svg +24 -0
- package/lib/vite/htmlReport/index.html +2 -70
- package/lib/vite/htmlReport/report.css +1 -0
- package/lib/vite/htmlReport/report.js +72 -0
- package/lib/vite/recorder/assets/{codeMirrorModule-SGmxtuwi.js → codeMirrorModule-DyIpd_mA.js} +20 -20
- package/lib/vite/recorder/assets/index-4ZiSSCmn.css +1 -0
- package/lib/vite/recorder/assets/index-5q9Mg4LR.js +195 -0
- package/lib/vite/recorder/index.html +2 -2
- package/lib/vite/traceViewer/assets/{codeMirrorModule-BOUrQdmH.js → codeMirrorModule-DZq9EItR.js} +20 -20
- package/lib/vite/traceViewer/assets/defaultSettingsView-D4EpQvB-.js +262 -0
- package/lib/vite/traceViewer/assets/urlMatch-BYQrIQwR.js +1 -0
- package/lib/vite/traceViewer/defaultSettingsView.BDKsFU3c.css +1 -0
- package/lib/vite/traceViewer/index.CcoKXsOB.js +2 -0
- package/lib/vite/traceViewer/{index.BVu7tZDe.css → index.CzXZzn5A.css} +1 -1
- package/lib/vite/traceViewer/index.html +5 -4
- package/lib/vite/traceViewer/snapshot.html +4 -15
- package/lib/vite/traceViewer/snapshot.v8KI4P3m.js +2 -0
- package/lib/vite/traceViewer/sw.bundle.js +4 -4
- package/lib/vite/traceViewer/uiMode.B1W9rAxj.js +6 -0
- package/lib/vite/traceViewer/uiMode.html +4 -3
- package/package.json +4 -14
- package/types/protocol.d.ts +1084 -343
- package/types/types.d.ts +6035 -4360
- package/lib/androidServerImpl.js +0 -65
- package/lib/browserServerImpl.js +0 -120
- package/lib/cli/driver.js +0 -97
- package/lib/cli/program.js +0 -589
- package/lib/cli/programWithTestStub.js +0 -74
- package/lib/client/android.js +0 -361
- package/lib/client/api.js +0 -137
- package/lib/client/artifact.js +0 -79
- package/lib/client/browser.js +0 -161
- package/lib/client/browserContext.js +0 -582
- package/lib/client/browserType.js +0 -185
- package/lib/client/cdpSession.js +0 -51
- package/lib/client/channelOwner.js +0 -195
- package/lib/client/clientHelper.js +0 -64
- package/lib/client/clientInstrumentation.js +0 -65
- package/lib/client/clientStackTrace.js +0 -69
- package/lib/client/clock.js +0 -68
- package/lib/client/connection.js +0 -318
- package/lib/client/consoleMessage.js +0 -58
- package/lib/client/coverage.js +0 -44
- package/lib/client/dialog.js +0 -56
- package/lib/client/download.js +0 -62
- package/lib/client/electron.js +0 -138
- package/lib/client/elementHandle.js +0 -284
- package/lib/client/errors.js +0 -77
- package/lib/client/eventEmitter.js +0 -314
- package/lib/client/events.js +0 -103
- package/lib/client/fetch.js +0 -368
- package/lib/client/fileChooser.js +0 -46
- package/lib/client/fileUtils.js +0 -34
- package/lib/client/frame.js +0 -409
- package/lib/client/harRouter.js +0 -87
- package/lib/client/input.js +0 -84
- package/lib/client/jsHandle.js +0 -109
- package/lib/client/jsonPipe.js +0 -39
- package/lib/client/localUtils.js +0 -60
- package/lib/client/locator.js +0 -369
- package/lib/client/network.js +0 -747
- package/lib/client/page.js +0 -745
- package/lib/client/pageAgent.js +0 -64
- package/lib/client/platform.js +0 -77
- package/lib/client/playwright.js +0 -71
- package/lib/client/selectors.js +0 -55
- package/lib/client/stream.js +0 -39
- package/lib/client/timeoutSettings.js +0 -79
- package/lib/client/tracing.js +0 -119
- package/lib/client/types.js +0 -28
- package/lib/client/video.js +0 -59
- package/lib/client/waiter.js +0 -142
- package/lib/client/webError.js +0 -39
- package/lib/client/webSocket.js +0 -93
- package/lib/client/worker.js +0 -85
- package/lib/client/writableStream.js +0 -39
- package/lib/generated/bindingsControllerSource.js +0 -28
- package/lib/generated/clockSource.js +0 -28
- package/lib/generated/injectedScriptSource.js +0 -28
- package/lib/generated/pollingRecorderSource.js +0 -28
- package/lib/generated/storageScriptSource.js +0 -28
- package/lib/generated/utilityScriptSource.js +0 -28
- package/lib/generated/webSocketMockSource.js +0 -336
- package/lib/inProcessFactory.js +0 -60
- package/lib/inprocess.js +0 -3
- package/lib/mcpBundle.js +0 -84
- package/lib/mcpBundleImpl/index.js +0 -147
- package/lib/outofprocess.js +0 -76
- package/lib/protocol/serializers.js +0 -197
- package/lib/protocol/validator.js +0 -3023
- package/lib/protocol/validatorPrimitives.js +0 -193
- package/lib/remote/playwrightConnection.js +0 -129
- package/lib/remote/playwrightServer.js +0 -334
- package/lib/server/agent/actionRunner.js +0 -335
- package/lib/server/agent/actions.js +0 -128
- package/lib/server/agent/codegen.js +0 -111
- package/lib/server/agent/context.js +0 -150
- package/lib/server/agent/expectTools.js +0 -156
- package/lib/server/agent/pageAgent.js +0 -204
- package/lib/server/agent/performTools.js +0 -262
- package/lib/server/agent/tool.js +0 -109
- package/lib/server/android/android.js +0 -465
- package/lib/server/android/backendAdb.js +0 -177
- package/lib/server/artifact.js +0 -127
- package/lib/server/bidi/bidiBrowser.js +0 -549
- package/lib/server/bidi/bidiChromium.js +0 -149
- package/lib/server/bidi/bidiConnection.js +0 -213
- package/lib/server/bidi/bidiDeserializer.js +0 -116
- package/lib/server/bidi/bidiExecutionContext.js +0 -267
- package/lib/server/bidi/bidiFirefox.js +0 -128
- package/lib/server/bidi/bidiInput.js +0 -146
- package/lib/server/bidi/bidiNetworkManager.js +0 -383
- package/lib/server/bidi/bidiOverCdp.js +0 -102
- package/lib/server/bidi/bidiPage.js +0 -583
- package/lib/server/bidi/bidiPdf.js +0 -106
- package/lib/server/bidi/third_party/bidiCommands.d.js +0 -22
- package/lib/server/bidi/third_party/bidiKeyboard.js +0 -256
- package/lib/server/bidi/third_party/bidiProtocol.js +0 -24
- package/lib/server/bidi/third_party/bidiProtocolCore.js +0 -180
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +0 -42
- package/lib/server/bidi/third_party/bidiSerializer.js +0 -148
- package/lib/server/bidi/third_party/firefoxPrefs.js +0 -259
- package/lib/server/browser.js +0 -149
- package/lib/server/browserContext.js +0 -700
- package/lib/server/browserType.js +0 -336
- package/lib/server/callLog.js +0 -82
- package/lib/server/chromium/chromium.js +0 -397
- package/lib/server/chromium/chromiumSwitches.js +0 -104
- package/lib/server/chromium/crBrowser.js +0 -520
- package/lib/server/chromium/crConnection.js +0 -197
- package/lib/server/chromium/crCoverage.js +0 -235
- package/lib/server/chromium/crDevTools.js +0 -111
- package/lib/server/chromium/crDragDrop.js +0 -131
- package/lib/server/chromium/crExecutionContext.js +0 -146
- package/lib/server/chromium/crInput.js +0 -187
- package/lib/server/chromium/crNetworkManager.js +0 -707
- package/lib/server/chromium/crPage.js +0 -1001
- package/lib/server/chromium/crPdf.js +0 -121
- package/lib/server/chromium/crProtocolHelper.js +0 -145
- package/lib/server/chromium/crServiceWorker.js +0 -136
- package/lib/server/chromium/defaultFontFamilies.js +0 -162
- package/lib/server/chromium/protocol.d.js +0 -16
- package/lib/server/clock.js +0 -149
- package/lib/server/codegen/csharp.js +0 -327
- package/lib/server/codegen/java.js +0 -274
- package/lib/server/codegen/javascript.js +0 -247
- package/lib/server/codegen/jsonl.js +0 -52
- package/lib/server/codegen/language.js +0 -133
- package/lib/server/codegen/languages.js +0 -68
- package/lib/server/codegen/python.js +0 -279
- package/lib/server/codegen/types.js +0 -16
- package/lib/server/console.js +0 -57
- package/lib/server/cookieStore.js +0 -206
- package/lib/server/debugController.js +0 -181
- package/lib/server/debugger.js +0 -119
- package/lib/server/dialog.js +0 -116
- package/lib/server/dispatchers/androidDispatcher.js +0 -325
- package/lib/server/dispatchers/artifactDispatcher.js +0 -118
- package/lib/server/dispatchers/browserContextDispatcher.js +0 -384
- package/lib/server/dispatchers/browserDispatcher.js +0 -118
- package/lib/server/dispatchers/browserTypeDispatcher.js +0 -64
- package/lib/server/dispatchers/cdpSessionDispatcher.js +0 -44
- package/lib/server/dispatchers/debugControllerDispatcher.js +0 -78
- package/lib/server/dispatchers/dialogDispatcher.js +0 -47
- package/lib/server/dispatchers/dispatcher.js +0 -364
- package/lib/server/dispatchers/electronDispatcher.js +0 -89
- package/lib/server/dispatchers/elementHandlerDispatcher.js +0 -181
- package/lib/server/dispatchers/frameDispatcher.js +0 -227
- package/lib/server/dispatchers/jsHandleDispatcher.js +0 -85
- package/lib/server/dispatchers/jsonPipeDispatcher.js +0 -58
- package/lib/server/dispatchers/localUtilsDispatcher.js +0 -149
- package/lib/server/dispatchers/networkDispatchers.js +0 -213
- package/lib/server/dispatchers/pageAgentDispatcher.js +0 -96
- package/lib/server/dispatchers/pageDispatcher.js +0 -393
- package/lib/server/dispatchers/playwrightDispatcher.js +0 -108
- package/lib/server/dispatchers/streamDispatcher.js +0 -67
- package/lib/server/dispatchers/tracingDispatcher.js +0 -68
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +0 -165
- package/lib/server/dispatchers/writableStreamDispatcher.js +0 -79
- package/lib/server/dom.js +0 -815
- package/lib/server/download.js +0 -70
- package/lib/server/electron/electron.js +0 -273
- package/lib/server/errors.js +0 -69
- package/lib/server/fetch.js +0 -621
- package/lib/server/fileChooser.js +0 -43
- package/lib/server/fileUploadUtils.js +0 -84
- package/lib/server/firefox/ffBrowser.js +0 -418
- package/lib/server/firefox/ffConnection.js +0 -142
- package/lib/server/firefox/ffExecutionContext.js +0 -150
- package/lib/server/firefox/ffInput.js +0 -159
- package/lib/server/firefox/ffNetworkManager.js +0 -256
- package/lib/server/firefox/ffPage.js +0 -497
- package/lib/server/firefox/firefox.js +0 -114
- package/lib/server/firefox/protocol.d.js +0 -16
- package/lib/server/formData.js +0 -147
- package/lib/server/frameSelectors.js +0 -160
- package/lib/server/frames.js +0 -1471
- package/lib/server/har/harRecorder.js +0 -147
- package/lib/server/har/harTracer.js +0 -607
- package/lib/server/harBackend.js +0 -157
- package/lib/server/helper.js +0 -96
- package/lib/server/index.js +0 -58
- package/lib/server/input.js +0 -277
- package/lib/server/instrumentation.js +0 -72
- package/lib/server/javascript.js +0 -291
- package/lib/server/launchApp.js +0 -128
- package/lib/server/localUtils.js +0 -214
- package/lib/server/macEditingCommands.js +0 -143
- package/lib/server/network.js +0 -667
- package/lib/server/page.js +0 -830
- package/lib/server/pipeTransport.js +0 -89
- package/lib/server/playwright.js +0 -69
- package/lib/server/progress.js +0 -132
- package/lib/server/protocolError.js +0 -52
- package/lib/server/recorder/chat.js +0 -161
- package/lib/server/recorder/recorderApp.js +0 -366
- package/lib/server/recorder/recorderRunner.js +0 -138
- package/lib/server/recorder/recorderSignalProcessor.js +0 -83
- package/lib/server/recorder/recorderUtils.js +0 -157
- package/lib/server/recorder/throttledFile.js +0 -57
- package/lib/server/recorder.js +0 -554
- package/lib/server/registry/browserFetcher.js +0 -177
- package/lib/server/registry/dependencies.js +0 -371
- package/lib/server/registry/index.js +0 -1422
- package/lib/server/registry/nativeDeps.js +0 -1280
- package/lib/server/registry/oopDownloadBrowserMain.js +0 -127
- package/lib/server/screencast.js +0 -190
- package/lib/server/screenshotCompositor.js +0 -153
- package/lib/server/screenshotter.js +0 -333
- package/lib/server/selectors.js +0 -112
- package/lib/server/socksClientCertificatesInterceptor.js +0 -383
- package/lib/server/socksInterceptor.js +0 -95
- package/lib/server/trace/recorder/snapshotter.js +0 -147
- package/lib/server/trace/recorder/snapshotterInjected.js +0 -561
- package/lib/server/trace/recorder/tracing.js +0 -604
- package/lib/server/trace/viewer/traceParser.js +0 -72
- package/lib/server/trace/viewer/traceViewer.js +0 -245
- package/lib/server/transport.js +0 -181
- package/lib/server/types.js +0 -28
- package/lib/server/usKeyboardLayout.js +0 -145
- package/lib/server/utils/ascii.js +0 -44
- package/lib/server/utils/comparators.js +0 -139
- package/lib/server/utils/crypto.js +0 -216
- package/lib/server/utils/debug.js +0 -42
- package/lib/server/utils/debugLogger.js +0 -122
- package/lib/server/utils/env.js +0 -73
- package/lib/server/utils/eventsHelper.js +0 -39
- package/lib/server/utils/expectUtils.js +0 -123
- package/lib/server/utils/fileUtils.js +0 -191
- package/lib/server/utils/happyEyeballs.js +0 -207
- package/lib/server/utils/hostPlatform.js +0 -138
- package/lib/server/utils/httpServer.js +0 -203
- package/lib/server/utils/imageUtils.js +0 -141
- package/lib/server/utils/image_tools/colorUtils.js +0 -89
- package/lib/server/utils/image_tools/compare.js +0 -109
- package/lib/server/utils/image_tools/imageChannel.js +0 -78
- package/lib/server/utils/image_tools/stats.js +0 -102
- package/lib/server/utils/linuxUtils.js +0 -71
- package/lib/server/utils/network.js +0 -242
- package/lib/server/utils/nodePlatform.js +0 -154
- package/lib/server/utils/pipeTransport.js +0 -84
- package/lib/server/utils/processLauncher.js +0 -241
- package/lib/server/utils/socksProxy.js +0 -511
- package/lib/server/utils/spawnAsync.js +0 -41
- package/lib/server/utils/task.js +0 -51
- package/lib/server/utils/userAgent.js +0 -98
- package/lib/server/utils/wsServer.js +0 -121
- package/lib/server/utils/zipFile.js +0 -74
- package/lib/server/utils/zones.js +0 -57
- package/lib/server/videoRecorder.js +0 -124
- package/lib/server/webkit/protocol.d.js +0 -16
- package/lib/server/webkit/webkit.js +0 -108
- package/lib/server/webkit/wkBrowser.js +0 -335
- package/lib/server/webkit/wkConnection.js +0 -144
- package/lib/server/webkit/wkExecutionContext.js +0 -154
- package/lib/server/webkit/wkInput.js +0 -181
- package/lib/server/webkit/wkInterceptableRequest.js +0 -197
- package/lib/server/webkit/wkPage.js +0 -1159
- package/lib/server/webkit/wkProvisionalPage.js +0 -83
- package/lib/server/webkit/wkWorkers.js +0 -105
- package/lib/third_party/pixelmatch.js +0 -255
- package/lib/utils/isomorphic/ariaSnapshot.js +0 -455
- package/lib/utils/isomorphic/assert.js +0 -31
- package/lib/utils/isomorphic/colors.js +0 -72
- package/lib/utils/isomorphic/cssParser.js +0 -245
- package/lib/utils/isomorphic/cssTokenizer.js +0 -1051
- package/lib/utils/isomorphic/headers.js +0 -53
- package/lib/utils/isomorphic/locatorGenerators.js +0 -689
- package/lib/utils/isomorphic/locatorParser.js +0 -176
- package/lib/utils/isomorphic/locatorUtils.js +0 -81
- package/lib/utils/isomorphic/lruCache.js +0 -51
- package/lib/utils/isomorphic/manualPromise.js +0 -114
- package/lib/utils/isomorphic/mimeType.js +0 -459
- package/lib/utils/isomorphic/multimap.js +0 -80
- package/lib/utils/isomorphic/protocolFormatter.js +0 -81
- package/lib/utils/isomorphic/protocolMetainfo.js +0 -330
- package/lib/utils/isomorphic/rtti.js +0 -43
- package/lib/utils/isomorphic/selectorParser.js +0 -386
- package/lib/utils/isomorphic/semaphore.js +0 -54
- package/lib/utils/isomorphic/stackTrace.js +0 -158
- package/lib/utils/isomorphic/stringUtils.js +0 -204
- package/lib/utils/isomorphic/time.js +0 -49
- package/lib/utils/isomorphic/timeoutRunner.js +0 -66
- package/lib/utils/isomorphic/trace/entries.js +0 -16
- package/lib/utils/isomorphic/trace/snapshotRenderer.js +0 -499
- package/lib/utils/isomorphic/trace/snapshotServer.js +0 -120
- package/lib/utils/isomorphic/trace/snapshotStorage.js +0 -89
- package/lib/utils/isomorphic/trace/traceLoader.js +0 -131
- package/lib/utils/isomorphic/trace/traceModel.js +0 -365
- package/lib/utils/isomorphic/trace/traceModernizer.js +0 -400
- package/lib/utils/isomorphic/trace/versions/traceV3.js +0 -16
- package/lib/utils/isomorphic/trace/versions/traceV4.js +0 -16
- package/lib/utils/isomorphic/trace/versions/traceV5.js +0 -16
- package/lib/utils/isomorphic/trace/versions/traceV6.js +0 -16
- package/lib/utils/isomorphic/trace/versions/traceV7.js +0 -16
- package/lib/utils/isomorphic/trace/versions/traceV8.js +0 -16
- package/lib/utils/isomorphic/traceUtils.js +0 -58
- package/lib/utils/isomorphic/types.js +0 -16
- package/lib/utils/isomorphic/urlMatch.js +0 -190
- package/lib/utils/isomorphic/utilityScriptSerializers.js +0 -251
- package/lib/utils/isomorphic/yaml.js +0 -84
- package/lib/utils.js +0 -111
- package/lib/utilsBundleImpl/index.js +0 -218
- package/lib/vite/recorder/assets/index-BSjZa4pk.css +0 -1
- package/lib/vite/recorder/assets/index-xK8wYVpV.js +0 -195
- package/lib/vite/traceViewer/assets/defaultSettingsView-k0nPICvc.js +0 -266
- package/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +0 -1
- package/lib/vite/traceViewer/index.DDDCQ_xS.js +0 -2
- package/lib/vite/traceViewer/uiMode.C7uDu3VD.js +0 -5
- package/lib/zipBundle.js +0 -34
- package/lib/zipBundleImpl.js +0 -5
- /package/lib/{utilsBundleImpl/xdg-open → xdg-open} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/xtermModule-CsJ4vdCR.js","./xtermModule.DYP7pi_n.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import"./assets/urlMatch-BYQrIQwR.js";import{u as Vt,r as H,g as $t,_ as Ht,h as qt,i as Yt,j as n,R as d,E as Qt,s as Et,k as _t,l as Xt,t as Jt,m as Zt,n as q,o as F,T as Rt,c as Gt,p as G,a as te,W as ee,S as se,q as ie,b as oe,e as ne,f as re}from"./assets/defaultSettingsView-D4EpQvB-.js";var ae={};class gt{constructor(t,e={}){this.isListing=!1,this._tests=new Map,this._rootSuite=new tt("","root"),this._options=e,this._reporter=t}reset(){this._rootSuite._entries=[],this._tests.clear()}dispatch(t){const{method:e,params:s}=t;if(e==="onConfigure"){this._onConfigure(s.config);return}if(e==="onProject"){this._onProject(s.project);return}if(e==="onBegin"){this._onBegin();return}if(e==="onTestBegin"){this._onTestBegin(s.testId,s.result);return}if(e==="onTestPaused"){this._onTestPaused(s.testId,s.resultId,s.errors);return}if(e==="onTestEnd"){this._onTestEnd(s.test,s.result);return}if(e==="onStepBegin"){this._onStepBegin(s.testId,s.resultId,s.step);return}if(e==="onAttach"){this._onAttach(s.testId,s.resultId,s.attachments);return}if(e==="onStepEnd"){this._onStepEnd(s.testId,s.resultId,s.step);return}if(e==="onError"){this._onError(s.error,s.workerInfo);return}if(e==="onStdIO"){this._onStdIO(s.type,s.testId,s.resultId,s.data,s.isBase64);return}if(e==="onEnd")return this._onEnd(s.result);if(e==="onExit")return this._onExit()}_onConfigure(t){var e,s;this._rootDir=t.rootDir,this._config=this._parseConfig(t),(s=(e=this._reporter).onConfigure)==null||s.call(e,this._config)}_onProject(t){let e=this._options.mergeProjects?this._rootSuite.suites.find(a=>a.project().name===t.name):void 0;e||(e=new tt(t.name,"project"),this._rootSuite._addSuite(e));const s=this._parseProject(t);e._project=s;let i=-1;this._options.mergeProjects&&(i=this._config.projects.findIndex(a=>a.name===t.name)),i===-1?this._config.projects.push(s):this._config.projects[i]=s;for(const a of t.suites)this._mergeSuiteInto(a,e)}_onBegin(){var t,e;(e=(t=this._reporter).onBegin)==null||e.call(t,this._rootSuite)}_onTestBegin(t,e){var a,r;const s=this._tests.get(t);this._options.clearPreviousResultsWhenTestBegins&&(s.results=[]);const i=s._createTestResult(e.id);i.retry=e.retry,i.workerIndex=e.workerIndex,i.parallelIndex=e.parallelIndex,i.setStartTimeNumber(e.startTime),(r=(a=this._reporter).onTestBegin)==null||r.call(a,s,i)}_onTestPaused(t,e,s){var r,g;const i=this._tests.get(t),a=i.results.find(c=>c._id===e);a.errors.push(...s),a.error=a.errors[0],(g=(r=this._reporter).onTestPaused)==null||g.call(r,i,a)}_onTestEnd(t,e){var a,r;const s=this._tests.get(t.testId);s.timeout=t.timeout,s.expectedStatus=t.expectedStatus;const i=s.results.find(g=>g._id===e.id);i.duration=e.duration,i.status=e.status,i.errors.push(...e.errors??[]),i.error=i.errors[0],e.attachments&&(i.attachments=this._parseAttachments(e.attachments)),e.annotations&&(this._absoluteAnnotationLocationsInplace(e.annotations),i.annotations=e.annotations,s.annotations=e.annotations),(r=(a=this._reporter).onTestEnd)==null||r.call(a,s,i),i._stepMap=new Map}_onStepBegin(t,e,s){var p,l;const i=this._tests.get(t),a=i.results.find(w=>w._id===e),r=s.parentStepId?a._stepMap.get(s.parentStepId):void 0,g=this._absoluteLocation(s.location),c=new ce(s,r,g,a);r?r.steps.push(c):a.steps.push(c),a._stepMap.set(s.id,c),(l=(p=this._reporter).onStepBegin)==null||l.call(p,i,a,c)}_onStepEnd(t,e,s){var g,c;const i=this._tests.get(t),a=i.results.find(p=>p._id===e),r=a._stepMap.get(s.id);r._endPayload=s,r.duration=s.duration,r.error=s.error,(c=(g=this._reporter).onStepEnd)==null||c.call(g,i,a,r)}_onAttach(t,e,s){this._tests.get(t).results.find(r=>r._id===e).attachments.push(...s.map(r=>({name:r.name,contentType:r.contentType,path:r.path,body:r.base64&&globalThis.Buffer?Buffer.from(r.base64,"base64"):void 0})))}_onError(t,e){var i,a;let s;if(e){const r=this._config.projects.find(g=>g.name===e.projectName);r&&(s={workerIndex:e.workerIndex,parallelIndex:e.parallelIndex,config:this._config,project:r})}(a=(i=this._reporter).onError)==null||a.call(i,t,s)}_onStdIO(t,e,s,i,a){var p,l,w,x;const r=a?globalThis.Buffer?Buffer.from(i,"base64"):atob(i):i,g=e?this._tests.get(e):void 0,c=g&&s?g.results.find(h=>h._id===s):void 0;t==="stdout"?(c==null||c.stdout.push(r),(l=(p=this._reporter).onStdOut)==null||l.call(p,r,g,c)):(c==null||c.stderr.push(r),(x=(w=this._reporter).onStdErr)==null||x.call(w,r,g,c))}async _onEnd(t){var e,s;await((s=(e=this._reporter).onEnd)==null?void 0:s.call(e,fe(t)))}_onExit(){var t,e;return(e=(t=this._reporter).onExit)==null?void 0:e.call(t)}_parseConfig(t){const e=pe(t);return this._options.configOverrides&&(e.configFile=this._options.configOverrides.configFile,e.reportSlowTests=this._options.configOverrides.reportSlowTests,e.quiet=this._options.configOverrides.quiet,e.reporter=[...this._options.configOverrides.reporter]),e}_parseProject(t){return{metadata:t.metadata,name:t.name,outputDir:this._absolutePath(t.outputDir),repeatEach:t.repeatEach,retries:t.retries,testDir:this._absolutePath(t.testDir),testIgnore:ct(t.testIgnore),testMatch:ct(t.testMatch),timeout:t.timeout,grep:ct(t.grep),grepInvert:ct(t.grepInvert),dependencies:t.dependencies,teardown:t.teardown,snapshotDir:this._absolutePath(t.snapshotDir),ignoreSnapshots:t.ignoreSnapshots??!1,use:t.use}}_parseAttachments(t){return t.map(e=>({...e,body:e.base64&&globalThis.Buffer?Buffer.from(e.base64,"base64"):void 0}))}_mergeSuiteInto(t,e){let s=e.suites.find(i=>i.title===t.title);s||(s=new tt(t.title,e.type==="project"?"file":"describe"),e._addSuite(s)),s.location=this._absoluteLocation(t.location),t.entries.forEach(i=>{"testId"in i?this._mergeTestInto(i,s):this._mergeSuiteInto(i,s)})}_mergeTestInto(t,e){let s=this._options.mergeTestCases?e.tests.find(i=>i.title===t.title&&i.repeatEachIndex===t.repeatEachIndex):void 0;s||(s=new le(t.testId,t.title,this._absoluteLocation(t.location),t.repeatEachIndex),e._addTest(s),this._tests.set(s.id,s)),this._updateTest(t,s)}_updateTest(t,e){return e.id=t.testId,e.location=this._absoluteLocation(t.location),e.retries=t.retries,e.tags=t.tags??[],e.annotations=t.annotations??[],this._absoluteAnnotationLocationsInplace(e.annotations),e}_absoluteAnnotationLocationsInplace(t){for(const e of t)e.location&&(e.location=this._absoluteLocation(e.location))}_absoluteLocation(t){return t&&{...t,file:this._absolutePath(t.file)}}_absolutePath(t){if(t!==void 0)return this._options.resolvePath?this._options.resolvePath(this._rootDir,t):this._rootDir+"/"+t}}class tt{constructor(t,e){this._entries=[],this._requireFile="",this._parallelMode="none",this.title=t,this._type=e}get type(){return this._type}get suites(){return this._entries.filter(t=>t.type!=="test")}get tests(){return this._entries.filter(t=>t.type==="test")}entries(){return this._entries}allTests(){const t=[],e=s=>{for(const i of s.entries())i.type==="test"?t.push(i):e(i)};return e(this),t}titlePath(){const t=this.parent?this.parent.titlePath():[];return(this.title||this._type!=="describe")&&t.push(this.title),t}project(){var t;return this._project??((t=this.parent)==null?void 0:t.project())}_addTest(t){t.parent=this,this._entries.push(t)}_addSuite(t){t.parent=this,this._entries.push(t)}}class le{constructor(t,e,s,i){this.fn=()=>{},this.results=[],this.type="test",this.expectedStatus="passed",this.timeout=0,this.annotations=[],this.retries=0,this.tags=[],this.repeatEachIndex=0,this.id=t,this.title=e,this.location=s,this.repeatEachIndex=i}titlePath(){const t=this.parent?this.parent.titlePath():[];return t.push(this.title),t}outcome(){return he(this)}ok(){const t=this.outcome();return t==="expected"||t==="flaky"||t==="skipped"}_createTestResult(t){const e=new de(this.results.length,t);return this.results.push(e),e}}class ce{constructor(t,e,s,i){this.duration=-1,this.steps=[],this._startTime=0,this.title=t.title,this.category=t.category,this.location=s,this.parent=e,this._startTime=t.startTime,this._result=i}titlePath(){var e;return[...((e=this.parent)==null?void 0:e.titlePath())||[],this.title]}get startTime(){return new Date(this._startTime)}set startTime(t){this._startTime=+t}get attachments(){var t,e;return((e=(t=this._endPayload)==null?void 0:t.attachments)==null?void 0:e.map(s=>this._result.attachments[s]))??[]}get annotations(){var t;return((t=this._endPayload)==null?void 0:t.annotations)??[]}}class de{constructor(t,e){this.parallelIndex=-1,this.workerIndex=-1,this.duration=-1,this.stdout=[],this.stderr=[],this.attachments=[],this.annotations=[],this.status="skipped",this.steps=[],this.errors=[],this._stepMap=new Map,this._startTime=0,this.retry=t,this._id=e}setStartTimeNumber(t){this._startTime=t}get startTime(){return new Date(this._startTime)}set startTime(t){this._startTime=+t}}const ue={forbidOnly:!1,fullyParallel:!1,globalSetup:null,globalTeardown:null,globalTimeout:0,grep:/.*/,grepInvert:null,maxFailures:0,metadata:{},preserveOutput:"always",projects:[],reporter:[[ae.CI?"dot":"list"]],reportSlowTests:{max:5,threshold:3e5},configFile:"",rootDir:"",quiet:!1,shard:null,tags:[],updateSnapshots:"missing",updateSourceMethod:"patch",version:"",workers:0,webServer:null};function ct(o){return o.map(t=>t.s!==void 0?t.s:new RegExp(t.r.source,t.r.flags))}function he(o){let t=0,e=0,s=0;for(const i of o.results)i.status==="interrupted"||(i.status==="skipped"&&o.expectedStatus==="skipped"?++t:i.status==="skipped"||(i.status===o.expectedStatus?++e:++s));return e===0&&s===0?"skipped":s===0?"expected":e===0&&t===0?"unexpected":"flaky"}function fe(o){return{status:o.status,startTime:new Date(o.startTime),duration:o.duration}}function pe(o){return{...ue,...o}}class mt{constructor(t,e,s,i,a,r){this._treeItemById=new Map,this._treeItemByTestId=new Map;const g=i&&[...i.values()].some(Boolean);this.pathSeparator=a,this.rootItem={kind:"group",subKind:"folder",id:t,title:"",location:{file:"",line:0,column:0},duration:0,parent:void 0,children:[],status:"none",hasLoadErrors:!1},this._treeItemById.set(t,this.rootItem);const c=(p,l,w,x)=>{for(const h of x==="tests"?[]:l.suites){if(!h.title){c(p,h,w,"all");continue}let y=w.children.find(u=>u.kind==="group"&&u.title===h.title);y||(y={kind:"group",subKind:"describe",id:"suite:"+l.titlePath().join("")+""+h.title,title:h.title,location:h.location,duration:0,parent:w,children:[],status:"none",hasLoadErrors:!1},this._addChild(w,y)),c(p,h,y,"all")}for(const h of x==="suites"?[]:l.tests){const y=h.title;let u=w.children.find(E=>E.kind!=="group"&&E.title===y);u||(u={kind:"case",id:"test:"+h.titlePath().join(""),title:y,parent:w,children:[],tests:[],location:h.location,duration:0,status:"none",project:void 0,test:void 0,tags:h.tags},this._addChild(w,u));const b=h.results[0];let S="none";(b==null?void 0:b[et])==="scheduled"?S="scheduled":(b==null?void 0:b[et])==="running"?S="running":(b==null?void 0:b.status)==="skipped"?S="skipped":(b==null?void 0:b.status)==="interrupted"?S="none":b&&h.outcome()!=="expected"?S="failed":b&&h.outcome()==="expected"&&(S="passed"),u.tests.push(h);const j={kind:"test",id:h.id,title:p.name,location:h.location,test:h,parent:u,children:[],status:S,duration:h.results.length?Math.max(0,h.results[0].duration):0,project:p};this._addChild(u,j),this._treeItemByTestId.set(h.id,j),u.duration=u.children.reduce((E,I)=>E+I.duration,0)}};for(const p of(e==null?void 0:e.suites)||[])if(!(g&&!i.get(p.title)))for(const l of p.suites)if(r){if(c(p.project(),l,this.rootItem,"suites"),l.tests.length){const w=this._defaultDescribeItem();c(p.project(),l,w,"tests")}}else{const w=this._fileItem(l.location.file.split(a),!0);c(p.project(),l,w,"all")}for(const p of s){if(!p.location)continue;const l=this._fileItem(p.location.file.split(a),!0);l.hasLoadErrors=!0}}_addChild(t,e){t.children.push(e),e.parent=t,this._treeItemById.set(e.id,e)}filterTree(t,e,s){const i=t.trim().toLowerCase().split(" "),a=[...e.values()].some(Boolean),r=c=>{const p=[...c.tests[0].titlePath(),...c.tests[0].tags].join(" ").toLowerCase();return!i.every(l=>p.includes(l))&&!c.tests.some(l=>s==null?void 0:s.has(l.id))?!1:(c.children=c.children.filter(l=>!a||(s==null?void 0:s.has(l.test.id))||e.get(l.status)),c.tests=c.children.map(l=>l.test),!!c.children.length)},g=c=>{const p=[];for(const l of c.children)l.kind==="case"?r(l)&&p.push(l):(g(l),(l.children.length||l.hasLoadErrors)&&p.push(l));c.children=p};g(this.rootItem)}_fileItem(t,e){if(t.length===0)return this.rootItem;const s=t.join(this.pathSeparator),i=this._treeItemById.get(s);if(i)return i;const a=this._fileItem(t.slice(0,t.length-1),!1),r={kind:"group",subKind:e?"file":"folder",id:s,title:t[t.length-1],location:{file:s,line:0,column:0},duration:0,parent:a,children:[],status:"none",hasLoadErrors:!1};return this._addChild(a,r),r}_defaultDescribeItem(){let t=this._treeItemById.get("<anonymous>");return t||(t={kind:"group",subKind:"describe",id:"<anonymous>",title:"<anonymous>",location:{file:"",line:0,column:0},duration:0,parent:this.rootItem,children:[],status:"none",hasLoadErrors:!1},this._addChild(this.rootItem,t)),t}sortAndPropagateStatus(){Bt(this.rootItem)}flattenForSingleProject(){const t=e=>{e.kind==="case"&&e.children.length===1?(e.project=e.children[0].project,e.test=e.children[0].test,e.children=[],this._treeItemByTestId.set(e.test.id,e)):e.children.forEach(t)};t(this.rootItem)}shortenRoot(){let t=this.rootItem;for(;t.children.length===1&&t.children[0].kind==="group"&&t.children[0].subKind==="folder";)t=t.children[0];t.location=this.rootItem.location,this.rootItem=t}fileNames(){const t=new Set,e=s=>{s.kind==="group"&&s.subKind==="file"?t.add(s.id):s.children.forEach(e)};return e(this.rootItem),[...t]}flatTreeItems(){const t=[],e=s=>{t.push(s),s.children.forEach(e)};return e(this.rootItem),t}treeItemById(t){return this._treeItemById.get(t)}collectTestIds(t){return ge(t)}}function Bt(o){for(const r of o.children)Bt(r);o.kind==="group"&&o.children.sort((r,g)=>r.location.file.localeCompare(g.location.file)||r.location.line-g.location.line);let t=o.children.length>0,e=o.children.length>0,s=!1,i=!1,a=!1;for(const r of o.children)e=e&&r.status==="skipped",t=t&&(r.status==="passed"||r.status==="skipped"),s=s||r.status==="failed",i=i||r.status==="running",a=a||r.status==="scheduled";i?o.status="running":a?o.status="scheduled":s?o.status="failed":e?o.status="skipped":t&&(o.status="passed")}function ge(o){const t=new Set,e=new Set,s=i=>{if(i.kind!=="test"&&i.kind!=="case"){i.children.forEach(s);return}let a=i;for(;a&&a.parent&&!(a.kind==="group"&&a.subKind==="file");)a=a.parent;e.add(a.location.file),i.kind==="case"?i.tests.forEach(r=>t.add(r.id)):t.add(i.id)};return s(o),{testIds:t,locations:e}}const et=Symbol("statusEx");class me{constructor(t){this.loadErrors=[],this.progress={total:0,passed:0,failed:0,skipped:0},this._lastRunTestCount=0,this._receiver=new gt(this._createReporter(),{mergeProjects:!0,mergeTestCases:!0,resolvePath:kt(t.pathSeparator),clearPreviousResultsWhenTestBegins:!0}),this._options=t}_createReporter(){return{version:()=>"v2",onConfigure:t=>{this.config=t,this._lastRunReceiver=new gt({version:()=>"v2",onBegin:e=>{this._lastRunTestCount=e.allTests().length,this._lastRunReceiver=void 0}},{mergeProjects:!0,mergeTestCases:!1,resolvePath:kt(this._options.pathSeparator)}),this._lastRunReceiver.dispatch({method:"onConfigure",params:{config:t}})},onBegin:t=>{var e;if(this.rootSuite||(this.rootSuite=t),this._testResultsSnapshot){for(const s of this.rootSuite.allTests())s.results=((e=this._testResultsSnapshot)==null?void 0:e.get(s.id))||s.results;this._testResultsSnapshot=void 0}this.progress.total=this._lastRunTestCount,this.progress.passed=0,this.progress.failed=0,this.progress.skipped=0,this._options.onUpdate(!0)},onEnd:()=>{this._options.onUpdate(!0)},onTestBegin:(t,e)=>{e[et]="running",this._options.onUpdate()},onTestEnd:(t,e)=>{t.outcome()==="skipped"?++this.progress.skipped:t.outcome()==="unexpected"?++this.progress.failed:++this.progress.passed,e[et]=e.status,this._options.onUpdate()},onError:t=>this._handleOnError(t),printsToStdio:()=>!1}}processGlobalReport(t){const e=new gt({version:()=>"v2",onConfigure:s=>{this.config=s},onError:s=>this._handleOnError(s)});for(const s of t)e.dispatch(s)}processListReport(t){var s;const e=((s=this.rootSuite)==null?void 0:s.allTests())||[];this._testResultsSnapshot=new Map(e.map(i=>[i.id,i.results])),this._receiver.reset();for(const i of t)this._receiver.dispatch(i)}processTestReportEvent(t){var e,s,i;(s=(e=this._lastRunReceiver)==null?void 0:e.dispatch(t))==null||s.catch(()=>{}),(i=this._receiver.dispatch(t))==null||i.catch(()=>{})}_handleOnError(t){var e,s;this.loadErrors.push(t),(s=(e=this._options).onError)==null||s.call(e,t),this._options.onUpdate()}asModel(){return{rootSuite:this.rootSuite||new tt("","root"),config:this.config,loadErrors:this.loadErrors,progress:this.progress}}}function kt(o){return(t,e)=>{const s=[];for(const i of[...t.split(o),...e.split(o)]){const a=o==="\\"&&s.length===1&&s[0].endsWith(":"),r=!s.length;if(!(!i&&!r&&!a)&&i!=="."){if(i===".."){s.pop();continue}s.push(i)}}return s.join(o)}}const _e=({source:o})=>{const[t,e]=Vt(),[s,i]=H.useState($t()),[a]=H.useState(Ht(()=>import("./assets/xtermModule-CsJ4vdCR.js"),__vite__mapDeps([0,1]),import.meta.url).then(g=>g.default)),r=H.useRef(null);return H.useEffect(()=>(qt(i),()=>Yt(i)),[]),H.useEffect(()=>{const g=o.write,c=o.clear;return(async()=>{const{Terminal:p,FitAddon:l}=await a,w=e.current;if(!w)return;const x=s==="dark-mode"?we:ve;if(r.current&&r.current.terminal.options.theme===x)return;r.current&&(w.textContent="");const h=new p({convertEol:!0,fontSize:13,scrollback:1e4,fontFamily:"monospace",theme:x}),y=new l;h.loadAddon(y);for(const u of o.pending)h.write(u);o.write=(u=>{o.pending.push(u),h.write(u)}),o.clear=()=>{o.pending=[],h.clear()},h.open(w),y.fit(),r.current={terminal:h,fitAddon:y}})(),()=>{o.clear=c,o.write=g}},[a,r,e,o,s]),H.useEffect(()=>{setTimeout(()=>{r.current&&(r.current.fitAddon.fit(),o.resize(r.current.terminal.cols,r.current.terminal.rows))},250)},[t,o]),n.jsx("div",{"data-testid":"output",className:"xterm-wrapper",style:{flex:"auto"},ref:e})},ve={foreground:"#383a42",background:"#fafafa",cursor:"#383a42",black:"#000000",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a0a0",brightBlack:"#000000",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#d19a66",brightBlue:"#4078f2",brightMagenta:"#a626a4",brightCyan:"#0184bc",brightWhite:"#383a42",selectionBackground:"#d7d7d7",selectionForeground:"#383a42"},we={foreground:"#f8f8f2",background:"#1e1e1e",cursor:"#f8f8f0",black:"#000000",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#bfbfbf",brightBlack:"#4d4d4d",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#e6e6e6",selectionBackground:"#44475a",selectionForeground:"#f8f8f2"},be=({filterText:o,setFilterText:t,statusFilters:e,setStatusFilters:s,projectFilters:i,setProjectFilters:a,onlyChanged:r,setOnlyChanged:g,testModel:c,runTests:p})=>{const[l,w]=d.useState(!1),x=d.useRef(null);d.useEffect(()=>{var u;(u=x.current)==null||u.focus()},[]);const h=[...e.entries()].filter(([u,b])=>b).map(([u])=>u).join(" ")||"all",y=[...i.entries()].filter(([u,b])=>b).map(([u])=>u).join(" ")||"all";return n.jsxs("div",{className:"filters",children:[n.jsx(Qt,{expanded:l,setExpanded:w,title:n.jsx("input",{ref:x,type:"search",placeholder:"Filter (e.g. text, @tag)",spellCheck:!1,value:o,onChange:u=>{t(u.target.value)},onKeyDown:u=>{u.key==="Enter"&&p()}})}),n.jsxs("div",{className:"filter-summary",title:"Status: "+h+`
|
|
3
|
+
Projects: `+y+(r?`
|
|
4
|
+
Only changed`:""),onClick:()=>w(!l),children:[n.jsx("span",{className:"filter-label",children:"Status:"})," ",h,n.jsx("span",{className:"filter-label",children:"Projects:"})," ",y,r&&n.jsx(n.Fragment,{children:n.jsx("span",{className:"filter-label",children:"Only changed"})})]}),l&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"hbox",style:{marginLeft:14,maxHeight:200,overflowY:"auto"},children:[n.jsx("div",{className:"filter-list",role:"list","data-testid":"status-filters",children:[...e.entries()].map(([u,b])=>n.jsx("div",{className:"filter-entry",role:"listitem",children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:b,onChange:()=>{const S=new Map(e);S.set(u,!S.get(u)),s(S)}}),n.jsx("div",{children:u})]})},u))}),n.jsx("div",{className:"filter-list",role:"list","data-testid":"project-filters",children:[...i.entries()].map(([u,b])=>n.jsx("div",{className:"filter-entry",role:"listitem",children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:b,onChange:()=>{var E;const S=new Map(i);S.set(u,!S.get(u)),a(S);const j=(E=c==null?void 0:c.config)==null?void 0:E.configFile;j&&Et.setObject(j+":projects",[...S.entries()].filter(([I,W])=>W).map(([I])=>I))}}),n.jsx("div",{children:u||"untitled"})]})},u))})]}),n.jsx("div",{className:"filter-entry",style:{marginLeft:24},children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:r,onChange:()=>g(!r)}),n.jsx("div",{children:"Show only changed files"})]})})]})]})},xe=({tag:o,style:t,onClick:e})=>n.jsx("span",{className:_t("tag",`tag-color-${Se(o)}`),onClick:e,style:{margin:"6px 0 0 6px",...t},title:`Click to filter by tag: ${o}`,children:o});function Se(o){let t=0;for(let e=0;e<o.length;e++)t=o.charCodeAt(e)+((t<<8)-t);return Math.abs(t%6)}const Te=Xt,ke=({filterText:o,testModel:t,testServerConnection:e,testTree:s,runTests:i,runningState:a,watchAll:r,watchedTreeIds:g,setWatchedTreeIds:c,isLoading:p,onItemSelected:l,requestedCollapseAllCount:w,requestedExpandAllCount:x,setFilterText:h,onRevealSource:y})=>{const[u,b]=d.useState({expandedItems:new Map}),[S,j]=d.useState(),[E,I]=d.useState(w),[W,st]=d.useState(x);d.useEffect(()=>{if(E!==w){u.expandedItems.clear();for(const k of s.flatTreeItems())u.expandedItems.set(k.id,!1);I(w),j(void 0),b({...u});return}if(W!==x){u.expandedItems.clear();for(const k of s.flatTreeItems())u.expandedItems.set(k.id,!0);st(x),j(void 0),b({...u});return}if(!a||a.itemSelectedByUser)return;let f;const C=k=>{var M;k.children.forEach(C),!f&&k.status==="failed"&&(k.kind==="test"&&a.testIds.has(k.test.id)||k.kind==="case"&&a.testIds.has((M=k.tests[0])==null?void 0:M.id))&&(f=k)};C(s.rootItem),f&&j(f.id)},[a,j,s,E,I,w,W,st,x,u,b]);const N=d.useMemo(()=>{if(S)return s.treeItemById(S)},[S,s]);d.useEffect(()=>{if(!t)return;const f=je(N,t);let C;(N==null?void 0:N.kind)==="test"?C=N.test:(N==null?void 0:N.kind)==="case"&&N.tests.length===1&&(C=N.tests[0]),l({treeItem:N,testCase:C,testFile:f})},[t,N,l]),d.useEffect(()=>{if(!p)if(r)e==null||e.watchNoReply({fileNames:s.fileNames()});else{const f=new Set;for(const C of g.value){const k=s.treeItemById(C),M=k==null?void 0:k.location.file;M&&f.add(M)}e==null||e.watchNoReply({fileNames:[...f]})}},[p,s,r,g,e]);const $=f=>{j(f.id),i("bounce-if-busy",s.collectTestIds(f))},K=(f,C)=>{if(f.preventDefault(),f.stopPropagation(),f.metaKey||f.ctrlKey){const k=o.split(" ");k.includes(C)?h(k.filter(M=>M!==C).join(" ").trim()):h((o+" "+C).trim())}else h((o.split(" ").filter(k=>!k.startsWith("@")).join(" ")+" "+C).trim())};return n.jsx(Te,{name:"tests",treeState:u,setTreeState:b,rootItem:s.rootItem,dataTestId:"test-tree",render:f=>{const C=f.id.replace(/[^\w\d-_]/g,"-"),k=C+"-label",M=C+"-time";return n.jsxs("div",{className:"hbox ui-mode-tree-item","aria-labelledby":`${k} ${M}`,children:[n.jsxs("div",{id:k,className:"ui-mode-tree-item-title",children:[n.jsx("span",{children:f.title}),f.kind==="case"?f.tags.map(Y=>n.jsx(xe,{tag:Y.slice(1),onClick:dt=>K(dt,Y)},Y)):null]}),!!f.duration&&f.status!=="skipped"&&n.jsx("div",{id:M,className:"ui-mode-tree-item-time",children:Zt(f.duration)}),n.jsxs(q,{noMinHeight:!0,noShadow:!0,children:[n.jsx(F,{icon:"play",title:"Run",onClick:()=>$(f),disabled:!!a&&!a.completed}),n.jsx(F,{icon:"go-to-file",title:"Show source",onClick:y,style:f.kind==="group"&&f.subKind==="folder"?{visibility:"hidden"}:{}}),!r&&n.jsx(F,{icon:"eye",title:"Watch",onClick:()=>{g.value.has(f.id)?g.value.delete(f.id):g.value.add(f.id),c({...g})},toggled:g.value.has(f.id)})]})]})},icon:f=>Jt(f.status),title:f=>f.title,selectedItem:N,onAccepted:$,onSelected:f=>{a&&(a.itemSelectedByUser=!0),j(f.id)},isError:f=>f.kind==="group"?f.hasLoadErrors:!1,autoExpandDepth:o?5:1,noItemsMessage:p?"Loading…":"No tests"})};function je(o,t){if(!(!o||!t))return{file:o.location.file,line:o.location.line,column:o.location.column,source:{errors:t.loadErrors.filter(e=>{var s;return((s=e.location)==null?void 0:s.file)===o.location.file}).map(e=>({line:e.location.line,message:e.message})),content:void 0}}}function Ie(o){return`.playwright-artifacts-${o}`}const ye=({item:o,rootDir:t,onOpenExternally:e,revealSource:s,pathSeparator:i})=>{var w,x;const[a,r]=d.useState(void 0),[g,c]=d.useState(0),p=d.useRef(null),{outputDir:l}=d.useMemo(()=>({outputDir:o.testCase?Ee(o.testCase):void 0}),[o]);return d.useEffect(()=>{var b,S,j;p.current&&clearTimeout(p.current);const h=(b=o.testCase)==null?void 0:b.results[0];if(!h||((S=o.treeItem)==null?void 0:S.status)==="scheduled"){r(void 0);return}const y=h&&h.duration>=0&&h.attachments.find(E=>E.name==="trace");if(y&&y.path){jt(y.path,h.startTime.getTime()).then(E=>r({model:E,isLive:!1}));return}if(!l){r(void 0);return}const u=[l,Ie(h.workerIndex),"traces",`${(j=o.testCase)==null?void 0:j.id}.json`].join(i);return p.current=setTimeout(async()=>{try{const E=await jt(u,Date.now());r({model:E,isLive:!0})}catch{const E=new Rt("",[]);E.errorDescriptors.push(...h.errors.flatMap(I=>I.message?[{message:I.message}]:[])),r({model:E,isLive:!1})}finally{c(g+1)}},500),()=>{p.current&&clearTimeout(p.current)}},[l,o,r,g,c,i]),n.jsx(Gt,{model:a==null?void 0:a.model,showSourcesFirst:!0,rootDir:t,fallbackLocation:o.testFile,isLive:a==null?void 0:a.isLive,status:(w=o.treeItem)==null?void 0:w.status,annotations:((x=o.testCase)==null?void 0:x.annotations)??[],onOpenExternally:e,revealSource:s},"workbench")},Ee=o=>{var t;for(let e=o.parent;e;e=e.parent)if(e.project())return(t=e.project())==null?void 0:t.outputDir};async function jt(o,t){const e=`file?path=${encodeURIComponent(o)}×tamp=${t}`,s=new URLSearchParams;s.set("trace",e);const a=await(await fetch(`contexts?${s.toString()}`)).json();return new Rt(e,a)}let It={cols:80};const z={pending:[],clear:()=>{},write:o=>z.pending.push(o),resize:()=>{}},A=new URLSearchParams(window.location.search),Re=new URL(A.get("server")??"../",window.location.href),vt=new URL(A.get("ws"),Re);vt.protocol=vt.protocol==="https:"?"wss:":"ws:";const P={args:A.getAll("arg"),grep:A.get("grep")||void 0,grepInvert:A.get("grepInvert")||void 0,projects:A.getAll("project"),workers:A.get("workers")||void 0,headed:A.has("headed"),updateSnapshots:A.get("updateSnapshots")||void 0,reporters:A.has("reporter")?A.getAll("reporter"):void 0,pathSeparator:A.get("pathSeparator")||"/"};P.updateSnapshots&&!["all","changed","none","missing"].includes(P.updateSnapshots)&&(P.updateSnapshots=void 0);const yt=navigator.platform==="MacIntel";function Be(o){return o.startsWith("/")&&(o=o.substring(1)),o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const Ce=({})=>{var St;const[o,t]=d.useState(""),[e,s]=d.useState(!1),[i,a]=d.useState(!1),[r,g]=d.useState(new Map([["passed",!1],["failed",!1],["skipped",!1]])),[c,p]=d.useState(new Map),[l,w]=d.useState(),[x,h]=d.useState(),[y,u]=d.useState({}),[b,S]=d.useState(!1),[j,E]=d.useState(),I=j&&!j.completed,[W,st]=G("watch-all",!1),[N,$]=d.useState({value:new Set}),K=d.useRef(Promise.resolve()),f=d.useRef({testIds:new Set,locations:new Set}),[C,k]=d.useState(0),[M,Y]=d.useState(0),[dt,Ct]=d.useState(!1),[wt,bt]=d.useState(!0),[v,Pt]=d.useState(),[it,Nt]=d.useState(),[ot,Lt]=d.useState(!1),[nt,Dt]=d.useState(!1),[Mt,xt]=d.useState(!1),Ft=d.useCallback(()=>xt(!0),[xt]),[ut,Ot]=G("single-worker",!1),[ht,At]=G("updateSnapshots","missing"),[Q,Ut]=G("only-changed",!1),[X]=G("mergeFiles",!1),Wt=d.useRef(null),rt=d.useCallback(()=>{Pt(m=>(m==null||m.close(),new te(new ee(vt))))},[]);d.useEffect(()=>{var m;(m=Wt.current)==null||m.focus(),S(!0),rt()},[rt]),d.useEffect(()=>{if(!v)return;const m=[v.onStdio(_=>{if(_.buffer){const T=atob(_.buffer);z.write(T)}else z.write(_.text);_.type==="stderr"&&a(!0)}),v.onClose(()=>Ct(!0))];return z.resize=(_,T)=>{It={cols:_,rows:T},v.resizeTerminalNoReply({cols:_,rows:T})},()=>{for(const _ of m)_.dispose()}},[v]),d.useEffect(()=>{if(!v)return;let m;const _=new me({onUpdate:T=>{clearTimeout(m),m=void 0,T?w(_.asModel()):m||(m=setTimeout(()=>{w(_.asModel())},250))},onError:T=>{z.write((T.stack||T.value||"")+`
|
|
5
|
+
`),a(!0)},pathSeparator:P.pathSeparator});return Nt(_),w(void 0),S(!0),$({value:new Set}),(async()=>{try{await v.initialize({interceptStdio:!0,watchTestDirs:!0});const{status:T,report:B}=await v.runGlobalSetup({});if(_.processGlobalReport(B),T!=="passed")return;const L=await v.listTests({projects:P.projects,locations:P.args,grep:P.grep,grepInvert:P.grepInvert,onlyChanged:Q});_.processListReport(L.report),v.onReport(V=>{_.processTestReportEvent(V)});const{hasBrowsers:O}=await v.checkBrowsers({});bt(O)}finally{S(!1)}})(),()=>{clearTimeout(m)}},[Q,v]),d.useEffect(()=>{if(!l)return;const{config:m,rootSuite:_}=l,T=m.configFile?Et.getObject(m.configFile+":projects",void 0):void 0,B=new Map(c);for(const L of B.keys())_.suites.find(O=>O.title===L)||B.delete(L);for(const L of _.suites)B.has(L.title)||B.set(L.title,!!(T!=null&&T.includes(L.title)));!T&&B.size&&![...B.values()].includes(!0)&&B.set(B.entries().next().value[0],!0),(c.size!==B.size||[...c].some(([L,O])=>B.get(L)!==O))&&p(B)},[c,l]),d.useEffect(()=>{I&&(l!=null&&l.progress)?h(l.progress):l||h(void 0)},[l,I]);const{testTree:at}=d.useMemo(()=>{if(!l)return{testTree:new mt("",new tt("","root"),[],c,P.pathSeparator,X)};const m=new mt("",l.rootSuite,l.loadErrors,c,P.pathSeparator,X);return m.filterTree(o,r,I?j==null?void 0:j.testIds:void 0),m.sortAndPropagateStatus(),m.shortenRoot(),m.flattenForSingleProject(),{testTree:m}},[o,l,r,c,j,I,X]),J=d.useCallback((m,_)=>{if(!(!v||!l)&&!(m==="bounce-if-busy"&&I)){for(const T of _.testIds)f.current.testIds.add(T);for(const T of _.locations)f.current.locations.add(T);K.current=K.current.then(async()=>{var O,V,U;const{testIds:T,locations:B}=f.current;if(f.current={testIds:new Set,locations:new Set},!T.size)return;{for(const R of((O=l.rootSuite)==null?void 0:O.allTests())||[])if(T.has(R.id)){R.results=[];const D=R._createTestResult("pending");D[et]="scheduled"}w({...l})}const L=" ["+new Date().toLocaleTimeString()+"]";z.write("\x1B[2m—".repeat(Math.max(0,It.cols-L.length))+L+"\x1B[22m"),h({total:0,passed:0,failed:0,skipped:0}),E({testIds:T}),await v.runTests({locations:[...B].map(Be),grep:P.grep,grepInvert:P.grepInvert,testIds:[...T],projects:[...c].filter(([R,D])=>D).map(([R])=>R),updateSnapshots:ht,reporters:P.reporters,workers:ut?1:void 0,trace:"on"});for(const R of((V=l.rootSuite)==null?void 0:V.allTests())||[])((U=R.results[0])==null?void 0:U.duration)===-1&&(R.results=[]);w({...l}),E(R=>R?{...R,completed:!0}:void 0)})}},[c,I,l,v,ht,ut]),lt=d.useCallback(()=>J("bounce-if-busy",at.collectTestIds(at.rootItem)),[J,at]);d.useEffect(()=>{if(!v||!it)return;const m=v.onTestFilesChanged(async _=>{if(K.current=K.current.then(async()=>{S(!0);try{const U=await v.listTests({projects:P.projects,locations:P.args,grep:P.grep,grepInvert:P.grepInvert,onlyChanged:Q});it.processListReport(U.report)}catch(U){console.log(U)}finally{S(!1)}}),await K.current,_.testFiles.length===0)return;const T=it.asModel(),B=new mt("",T.rootSuite,T.loadErrors,c,P.pathSeparator,X),L=[],O=[],V=new Set(_.testFiles);if(W){const U=R=>{const D=R.location.file;if(D&&V.has(D)){const Z=B.collectTestIds(R);L.push(...Z.locations),O.push(...Z.testIds)}R.kind==="group"&&R.subKind==="folder"&&R.children.forEach(U)};U(B.rootItem)}else for(const U of N.value){const R=B.treeItemById(U);if(!R)continue;let D=R;for(;!(D.kind==="group"&&(D.subKind==="file"||D.subKind==="folder"))&&D.parent;)D=D.parent;const Z=D==null?void 0:D.location.file;if(Z&&V.has(Z)){const Tt=B.collectTestIds(R);L.push(...Tt.locations),O.push(...Tt.testIds)}}J("queue-if-busy",{locations:L,testIds:O})});return()=>m.dispose()},[J,v,W,N,it,c,X,Q]),d.useEffect(()=>{if(!v)return;const m=_=>{_.code==="Backquote"&&_.ctrlKey?(_.preventDefault(),s(!e)):_.code==="F5"&&_.shiftKey?(_.preventDefault(),v==null||v.stopTestsNoReply({})):_.code==="F5"&&(_.preventDefault(),lt())};return addEventListener("keydown",m),()=>{removeEventListener("keydown",m)}},[lt,rt,v,e]);const ft=d.useRef(null),zt=d.useCallback(m=>{var _;m.preventDefault(),m.stopPropagation(),(_=ft.current)==null||_.showModal()},[]),pt=d.useCallback(m=>{var _;m.preventDefault(),m.stopPropagation(),(_=ft.current)==null||_.close()},[]),Kt=d.useCallback(m=>{pt(m),s(!0),v==null||v.installBrowsers({}).then(async()=>{s(!1);const{hasBrowsers:_}=await(v==null?void 0:v.checkBrowsers({}));bt(_)})},[pt,v]);return n.jsxs("div",{className:"vbox ui-mode",children:[!wt&&n.jsxs("dialog",{ref:ft,children:[n.jsxs("div",{className:"title",children:[n.jsx("span",{className:"codicon codicon-lightbulb"}),"Install browsers"]}),n.jsxs("div",{className:"body",children:["Playwright did not find installed browsers.",n.jsx("br",{}),"Would you like to run `playwright install`?",n.jsx("br",{}),n.jsx("button",{className:"button",onClick:Kt,children:"Install"}),n.jsx("button",{className:"button secondary",onClick:pt,children:"Dismiss"})]})]}),dt&&n.jsxs("div",{className:"disconnected",children:[n.jsx("div",{className:"title",children:"UI Mode disconnected"}),n.jsxs("div",{children:[n.jsx("a",{href:"#",onClick:()=>window.location.href="/",children:"Reload the page"})," to reconnect"]})]}),n.jsx(se,{sidebarSize:250,minSidebarSize:150,orientation:"horizontal",sidebarIsFirst:!0,settingName:"testListSidebar",main:n.jsxs("div",{className:"vbox",children:[n.jsxs("div",{className:_t("vbox",!e&&"hidden"),children:[n.jsxs(q,{children:[n.jsx("div",{className:"section-title",style:{flex:"none"},children:"Output"}),n.jsx(F,{icon:"circle-slash",title:"Clear output",onClick:()=>{z.clear(),a(!1)}}),n.jsx("div",{className:"spacer"}),n.jsx(F,{icon:"close",title:"Close",onClick:()=>s(!1)})]}),n.jsx(_e,{source:z})]}),n.jsx("div",{className:_t("vbox",e&&"hidden"),children:n.jsx(ye,{pathSeparator:P.pathSeparator,item:y,rootDir:(St=l==null?void 0:l.config)==null?void 0:St.rootDir,revealSource:Mt,onOpenExternally:m=>v==null?void 0:v.openNoReply({location:{file:m.file,line:m.line,column:m.column}})})})]}),sidebar:n.jsxs("div",{className:"vbox ui-mode-sidebar",children:[n.jsxs(q,{noShadow:!0,noMinHeight:!0,children:[n.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"}),n.jsx("div",{className:"section-title",children:"Playwright"}),n.jsx(F,{icon:"refresh",title:"Reload",onClick:()=>rt(),disabled:I||b}),n.jsx("div",{style:{position:"relative"},children:n.jsx(F,{icon:"terminal",title:"Toggle output — "+(yt?"⌃`":"Ctrl + `"),toggled:e,errorBadge:i?"Output contains error":void 0,onClick:()=>{s(!e)}})}),!wt&&n.jsx(F,{icon:"lightbulb-autofix",style:{color:"var(--vscode-list-warningForeground)"},title:"Playwright browsers are missing",onClick:zt})]}),n.jsx(be,{filterText:o,setFilterText:t,statusFilters:r,setStatusFilters:g,projectFilters:c,setProjectFilters:p,onlyChanged:Q,setOnlyChanged:Ut,testModel:l,runTests:lt}),n.jsxs(q,{className:"section-toolbar",noMinHeight:!0,children:[!I&&!x&&n.jsx("div",{className:"section-title",children:"Tests"}),!I&&x&&n.jsx("div",{"data-testid":"status-line",className:"status-line",children:n.jsxs("div",{children:[x.passed,"/",x.total," passed (",x.passed/x.total*100|0,"%)"]})}),I&&x&&n.jsx("div",{"data-testid":"status-line",className:"status-line",children:n.jsxs("div",{children:["Running ",x.passed,"/",j.testIds.size," passed (",x.passed/j.testIds.size*100|0,"%)"]})}),n.jsx(F,{icon:"play",title:"Run all — F5",onClick:lt,disabled:I||b}),n.jsx(F,{icon:"debug-stop",title:"Stop — "+(yt?"⇧F5":"Shift + F5"),onClick:()=>v==null?void 0:v.stopTests({}),disabled:!I||b,testId:"stop-button"}),n.jsx(F,{icon:"eye",title:"Watch all",toggled:W,onClick:()=>{$({value:new Set}),st(!W)}}),n.jsx(F,{icon:"collapse-all",title:"Collapse all",onClick:()=>{k(C+1)}}),n.jsx(F,{icon:"expand-all",title:"Expand all",onClick:()=>{Y(M+1)}})]}),n.jsx(ke,{filterText:o,testModel:l,testTree:at,testServerConnection:v,runningState:j,runTests:J,onItemSelected:u,watchAll:W,watchedTreeIds:N,setWatchedTreeIds:$,isLoading:b,requestedCollapseAllCount:C,requestedExpandAllCount:M,setFilterText:t,onRevealSource:Ft}),n.jsxs(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Dt(!nt),children:[n.jsx("span",{className:`codicon codicon-${nt?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:nt?"Hide Testing Options":"Show Testing Options"}),n.jsx("div",{className:"section-title",children:"Testing Options"})]}),nt&&n.jsx(ie,{settings:[{type:"check",value:ut,set:Ot,name:"Single worker"},{type:"select",options:[{label:"All",value:"all"},{label:"Changed",value:"changed"},{label:"Missing",value:"missing"},{label:"None",value:"none"}],value:ht,set:At,name:"Update snapshots"}]}),n.jsxs(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Lt(!ot),children:[n.jsx("span",{className:`codicon codicon-${ot?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:ot?"Hide Settings":"Show Settings"}),n.jsx("div",{className:"section-title",children:"Settings"})]}),ot&&n.jsx(oe,{location:"ui-mode"})]})})]})};(async()=>{if(ne(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(o=>setTimeout(o,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
|
|
6
|
+
Make sure to serve the website (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(o=>{navigator.serviceWorker.oncontrollerchange=()=>o()}),setInterval(function(){fetch("ping")},1e4)}re.createRoot(document.querySelector("#root")).render(n.jsx(Ce,{}))})();
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<link rel="icon" href="./playwright-logo.svg" type="image/svg+xml">
|
|
8
8
|
<title>Playwright Test</title>
|
|
9
|
-
<script type="module" crossorigin src="./uiMode.
|
|
10
|
-
<link rel="modulepreload" crossorigin href="./assets/
|
|
11
|
-
<link rel="
|
|
9
|
+
<script type="module" crossorigin src="./uiMode.B1W9rAxj.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="./assets/urlMatch-BYQrIQwR.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-D4EpQvB-.js">
|
|
12
|
+
<link rel="stylesheet" crossorigin href="./defaultSettingsView.BDKsFU3c.css">
|
|
12
13
|
<link rel="stylesheet" crossorigin href="./uiMode.Btcz36p_.css">
|
|
13
14
|
</head>
|
|
14
15
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smoothdeploy/playwright-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.60.0-beta-1780662356000",
|
|
4
4
|
"description": "A high-level API to automate web browsers",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,20 +22,10 @@
|
|
|
22
22
|
"default": "./index.js"
|
|
23
23
|
},
|
|
24
24
|
"./package.json": "./package.json",
|
|
25
|
-
"./lib/
|
|
26
|
-
"./lib/
|
|
27
|
-
"./lib/mcpBundle": "./lib/mcpBundle.js",
|
|
28
|
-
"./lib/remote/playwrightServer": "./lib/remote/playwrightServer.js",
|
|
29
|
-
"./lib/server": "./lib/server/index.js",
|
|
30
|
-
"./lib/server/utils/image_tools/stats": "./lib/server/utils/image_tools/stats.js",
|
|
31
|
-
"./lib/server/utils/image_tools/compare": "./lib/server/utils/image_tools/compare.js",
|
|
32
|
-
"./lib/server/utils/image_tools/imageChannel": "./lib/server/utils/image_tools/imageChannel.js",
|
|
33
|
-
"./lib/server/utils/image_tools/colorUtils": "./lib/server/utils/image_tools/colorUtils.js",
|
|
34
|
-
"./lib/server/registry/index": "./lib/server/registry/index.js",
|
|
35
|
-
"./lib/server/screenshotCompositor": "./lib/server/screenshotCompositor.js",
|
|
36
|
-
"./lib/utils": "./lib/utils.js",
|
|
25
|
+
"./lib/bootstrap": "./lib/bootstrap.js",
|
|
26
|
+
"./lib/coreBundle": "./lib/coreBundle.js",
|
|
37
27
|
"./lib/utilsBundle": "./lib/utilsBundle.js",
|
|
38
|
-
"./lib/
|
|
28
|
+
"./lib/tools/cli-client/program": "./lib/tools/cli-client/program.js"
|
|
39
29
|
},
|
|
40
30
|
"bin": {
|
|
41
31
|
"playwright-core": "cli.js"
|