@checkly/playwright-core 1.51.17-beta.2 → 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 -35
- 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-B9YMkrwa.js +0 -24
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
- package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +0 -24
- package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +0 -1
- package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +0 -235
- package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +0 -25
- package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +0 -1
- package/lib/vite/traceViewer/embedded.DpNPH6mk.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.mLhjB5IF.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.CuE3SYGw.js +0 -2
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +0 -1
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.BD-uZJs7.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/recorder.tn0RQdqM.css +0 -0
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
- package/lib/vite/traceViewer/uiMode.DHrNgddz.js +0 -5
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.B9vIAzH9.css +0 -1
- package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
|
@@ -1,140 +1,142 @@
|
|
|
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 javascript_exports = {};
|
|
20
|
+
__export(javascript_exports, {
|
|
21
|
+
JavaScriptFormatter: () => JavaScriptFormatter,
|
|
22
|
+
JavaScriptLanguageGenerator: () => JavaScriptLanguageGenerator,
|
|
23
|
+
quoteMultiline: () => quoteMultiline
|
|
5
24
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var _deviceDescriptors = require("../deviceDescriptors");
|
|
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
|
-
|
|
25
|
+
module.exports = __toCommonJS(javascript_exports);
|
|
26
|
+
var import_language = require("./language");
|
|
27
|
+
var import_utils = require("../../utils");
|
|
28
|
+
var import_deviceDescriptors = require("../deviceDescriptors");
|
|
27
29
|
class JavaScriptLanguageGenerator {
|
|
28
30
|
constructor(isTest) {
|
|
29
|
-
this.
|
|
30
|
-
this.
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this._isTest = void 0;
|
|
34
|
-
this.id = isTest ? 'playwright-test' : 'javascript';
|
|
35
|
-
this.name = isTest ? 'Test Runner' : 'Library';
|
|
31
|
+
this.groupName = "Node.js";
|
|
32
|
+
this.highlighter = "javascript";
|
|
33
|
+
this.id = isTest ? "playwright-test" : "javascript";
|
|
34
|
+
this.name = isTest ? "Test Runner" : "Library";
|
|
36
35
|
this._isTest = isTest;
|
|
37
36
|
}
|
|
38
37
|
generateAction(actionInContext) {
|
|
39
38
|
const action = actionInContext.action;
|
|
40
|
-
if (this._isTest && (action.name ===
|
|
39
|
+
if (this._isTest && (action.name === "openPage" || action.name === "closePage"))
|
|
40
|
+
return "";
|
|
41
41
|
const pageAlias = actionInContext.frame.pageAlias;
|
|
42
42
|
const formatter = new JavaScriptFormatter(2);
|
|
43
|
-
if (action.name ===
|
|
43
|
+
if (action.name === "openPage") {
|
|
44
44
|
formatter.add(`const ${pageAlias} = await context.newPage();`);
|
|
45
|
-
if (action.url && action.url !==
|
|
45
|
+
if (action.url && action.url !== "about:blank" && action.url !== "chrome://newtab/")
|
|
46
|
+
formatter.add(`await ${pageAlias}.goto(${quote(action.url)});`);
|
|
46
47
|
return formatter.format();
|
|
47
48
|
}
|
|
48
|
-
const locators = actionInContext.frame.framePath.map(selector => `.${this._asLocator(selector)}.contentFrame()`);
|
|
49
|
-
const subject = `${pageAlias}${locators.join(
|
|
50
|
-
const signals = (0,
|
|
49
|
+
const locators = actionInContext.frame.framePath.map((selector) => `.${this._asLocator(selector)}.contentFrame()`);
|
|
50
|
+
const subject = `${pageAlias}${locators.join("")}`;
|
|
51
|
+
const signals = (0, import_language.toSignalMap)(action);
|
|
51
52
|
if (signals.dialog) {
|
|
52
53
|
formatter.add(` ${pageAlias}.once('dialog', dialog => {
|
|
53
|
-
console.log(\`Dialog message:
|
|
54
|
+
console.log(\`Dialog message: \${dialog.message()}\`);
|
|
54
55
|
dialog.dismiss().catch(() => {});
|
|
55
56
|
});`);
|
|
56
57
|
}
|
|
57
|
-
if (signals.popup)
|
|
58
|
-
|
|
58
|
+
if (signals.popup)
|
|
59
|
+
formatter.add(`const ${signals.popup.popupAlias}Promise = ${pageAlias}.waitForEvent('popup');`);
|
|
60
|
+
if (signals.download)
|
|
61
|
+
formatter.add(`const download${signals.download.downloadAlias}Promise = ${pageAlias}.waitForEvent('download');`);
|
|
59
62
|
formatter.add(wrapWithStep(actionInContext.description, this._generateActionCall(subject, actionInContext)));
|
|
60
|
-
if (signals.popup)
|
|
61
|
-
|
|
63
|
+
if (signals.popup)
|
|
64
|
+
formatter.add(`const ${signals.popup.popupAlias} = await ${signals.popup.popupAlias}Promise;`);
|
|
65
|
+
if (signals.download)
|
|
66
|
+
formatter.add(`const download${signals.download.downloadAlias} = await download${signals.download.downloadAlias}Promise;`);
|
|
62
67
|
return formatter.format();
|
|
63
68
|
}
|
|
64
69
|
_generateActionCall(subject, actionInContext) {
|
|
65
70
|
const action = actionInContext.action;
|
|
66
71
|
switch (action.name) {
|
|
67
|
-
case
|
|
68
|
-
throw Error(
|
|
69
|
-
case
|
|
72
|
+
case "openPage":
|
|
73
|
+
throw Error("Not reached");
|
|
74
|
+
case "closePage":
|
|
70
75
|
return `await ${subject}.close();`;
|
|
71
|
-
case
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
case
|
|
76
|
+
case "click": {
|
|
77
|
+
let method = "click";
|
|
78
|
+
if (action.clickCount === 2)
|
|
79
|
+
method = "dblclick";
|
|
80
|
+
const options = (0, import_language.toClickOptionsForSourceCode)(action);
|
|
81
|
+
const optionsString = formatOptions(options, false);
|
|
82
|
+
return `await ${subject}.${this._asLocator(action.selector)}.${method}(${optionsString});`;
|
|
83
|
+
}
|
|
84
|
+
case "check":
|
|
80
85
|
return `await ${subject}.${this._asLocator(action.selector)}.check();`;
|
|
81
|
-
case
|
|
86
|
+
case "uncheck":
|
|
82
87
|
return `await ${subject}.${this._asLocator(action.selector)}.uncheck();`;
|
|
83
|
-
case
|
|
88
|
+
case "fill":
|
|
84
89
|
return `await ${subject}.${this._asLocator(action.selector)}.fill(${quote(action.text)});`;
|
|
85
|
-
case
|
|
90
|
+
case "setInputFiles":
|
|
86
91
|
return `await ${subject}.${this._asLocator(action.selector)}.setInputFiles(${formatObject(action.files.length === 1 ? action.files[0] : action.files)});`;
|
|
87
|
-
case
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
case 'navigate':
|
|
92
|
+
case "press": {
|
|
93
|
+
const modifiers = (0, import_language.toKeyboardModifiers)(action.modifiers);
|
|
94
|
+
const shortcut = [...modifiers, action.key].join("+");
|
|
95
|
+
return `await ${subject}.${this._asLocator(action.selector)}.press(${quote(shortcut)});`;
|
|
96
|
+
}
|
|
97
|
+
case "navigate":
|
|
94
98
|
return `await ${subject}.goto(${quote(action.url)});`;
|
|
95
|
-
case
|
|
99
|
+
case "select":
|
|
96
100
|
return `await ${subject}.${this._asLocator(action.selector)}.selectOption(${formatObject(action.options.length === 1 ? action.options[0] : action.options)});`;
|
|
97
|
-
case
|
|
98
|
-
return `${this._isTest ?
|
|
99
|
-
case
|
|
100
|
-
return `${this._isTest ?
|
|
101
|
-
case
|
|
102
|
-
return `${this._isTest ?
|
|
103
|
-
case
|
|
104
|
-
{
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
{
|
|
110
|
-
|
|
111
|
-
return `${commentIfNeeded}await expect(${subject}.${this._asLocator(action.selector)}).toMatchAriaSnapshot(${quoteMultiline(action.snapshot, `${commentIfNeeded} `)});`;
|
|
112
|
-
}
|
|
101
|
+
case "assertText":
|
|
102
|
+
return `${this._isTest ? "" : "// "}await expect(${subject}.${this._asLocator(action.selector)}).${action.substring ? "toContainText" : "toHaveText"}(${quote(action.text)});`;
|
|
103
|
+
case "assertChecked":
|
|
104
|
+
return `${this._isTest ? "" : "// "}await expect(${subject}.${this._asLocator(action.selector)})${action.checked ? "" : ".not"}.toBeChecked();`;
|
|
105
|
+
case "assertVisible":
|
|
106
|
+
return `${this._isTest ? "" : "// "}await expect(${subject}.${this._asLocator(action.selector)}).toBeVisible();`;
|
|
107
|
+
case "assertValue": {
|
|
108
|
+
const assertion = action.value ? `toHaveValue(${quote(action.value)})` : `toBeEmpty()`;
|
|
109
|
+
return `${this._isTest ? "" : "// "}await expect(${subject}.${this._asLocator(action.selector)}).${assertion};`;
|
|
110
|
+
}
|
|
111
|
+
case "assertSnapshot": {
|
|
112
|
+
const commentIfNeeded = this._isTest ? "" : "// ";
|
|
113
|
+
return `${commentIfNeeded}await expect(${subject}.${this._asLocator(action.selector)}).toMatchAriaSnapshot(${quoteMultiline(action.ariaSnapshot, `${commentIfNeeded} `)});`;
|
|
114
|
+
}
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
_asLocator(selector) {
|
|
116
|
-
return (0,
|
|
118
|
+
return (0, import_utils.asLocator)("javascript", selector);
|
|
117
119
|
}
|
|
118
120
|
generateHeader(options) {
|
|
119
|
-
if (this._isTest)
|
|
121
|
+
if (this._isTest)
|
|
122
|
+
return this.generateTestHeader(options);
|
|
120
123
|
return this.generateStandaloneHeader(options);
|
|
121
124
|
}
|
|
122
125
|
generateFooter(saveStorage) {
|
|
123
|
-
if (this._isTest)
|
|
126
|
+
if (this._isTest)
|
|
127
|
+
return this.generateTestFooter(saveStorage);
|
|
124
128
|
return this.generateStandaloneFooter(saveStorage);
|
|
125
129
|
}
|
|
126
130
|
generateTestHeader(options) {
|
|
127
131
|
const formatter = new JavaScriptFormatter();
|
|
128
132
|
const useText = formatContextOptions(options.contextOptions, options.deviceName, this._isTest);
|
|
129
133
|
formatter.add(`
|
|
130
|
-
import { test, expect${options.deviceName ?
|
|
131
|
-
${useText ?
|
|
134
|
+
import { test, expect${options.deviceName ? ", devices" : ""} } from '@playwright/test';
|
|
135
|
+
${useText ? "\ntest.use(" + useText + ");\n" : ""}
|
|
132
136
|
test('test', async ({ page }) => {`);
|
|
133
137
|
if (options.contextOptions.recordHar) {
|
|
134
138
|
const url = options.contextOptions.recordHar.urlFilter;
|
|
135
|
-
formatter.add(` await page.routeFromHAR(${quote(options.contextOptions.recordHar.path)}${url ? `, ${formatOptions({
|
|
136
|
-
url
|
|
137
|
-
}, false)}` : ''});`);
|
|
139
|
+
formatter.add(` await page.routeFromHAR(${quote(options.contextOptions.recordHar.path)}${url ? `, ${formatOptions({ url }, false)}` : ""});`);
|
|
138
140
|
}
|
|
139
141
|
return formatter.format();
|
|
140
142
|
}
|
|
@@ -144,110 +146,123 @@ ${useText ? '\ntest.use(' + useText + ');\n' : ''}
|
|
|
144
146
|
generateStandaloneHeader(options) {
|
|
145
147
|
const formatter = new JavaScriptFormatter();
|
|
146
148
|
formatter.add(`
|
|
147
|
-
const { ${options.browserName}${options.deviceName ?
|
|
149
|
+
const { ${options.browserName}${options.deviceName ? ", devices" : ""} } = require('playwright');
|
|
148
150
|
|
|
149
151
|
(async () => {
|
|
150
152
|
const browser = await ${options.browserName}.launch(${formatObjectOrVoid(options.launchOptions)});
|
|
151
153
|
const context = await browser.newContext(${formatContextOptions(options.contextOptions, options.deviceName, false)});`);
|
|
152
|
-
if (options.contextOptions.recordHar)
|
|
154
|
+
if (options.contextOptions.recordHar)
|
|
155
|
+
formatter.add(` await context.routeFromHAR(${quote(options.contextOptions.recordHar.path)});`);
|
|
153
156
|
return formatter.format();
|
|
154
157
|
}
|
|
155
158
|
generateStandaloneFooter(saveStorage) {
|
|
156
|
-
const storageStateLine = saveStorage ?
|
|
157
|
-
|
|
159
|
+
const storageStateLine = saveStorage ? `
|
|
160
|
+
await context.storageState({ path: ${quote(saveStorage)} });` : "";
|
|
161
|
+
return `
|
|
162
|
+
// ---------------------${storageStateLine}
|
|
158
163
|
await context.close();
|
|
159
164
|
await browser.close();
|
|
160
165
|
})();`;
|
|
161
166
|
}
|
|
162
167
|
}
|
|
163
|
-
exports.JavaScriptLanguageGenerator = JavaScriptLanguageGenerator;
|
|
164
168
|
function formatOptions(value, hasArguments) {
|
|
165
169
|
const keys = Object.keys(value);
|
|
166
|
-
if (!keys.length)
|
|
167
|
-
|
|
170
|
+
if (!keys.length)
|
|
171
|
+
return "";
|
|
172
|
+
return (hasArguments ? ", " : "") + formatObject(value);
|
|
168
173
|
}
|
|
169
|
-
function formatObject(value, indent =
|
|
170
|
-
if (typeof value ===
|
|
171
|
-
|
|
172
|
-
if (
|
|
173
|
-
|
|
174
|
-
|
|
174
|
+
function formatObject(value, indent = " ") {
|
|
175
|
+
if (typeof value === "string")
|
|
176
|
+
return quote(value);
|
|
177
|
+
if (Array.isArray(value))
|
|
178
|
+
return `[${value.map((o) => formatObject(o)).join(", ")}]`;
|
|
179
|
+
if (typeof value === "object") {
|
|
180
|
+
const keys = Object.keys(value).filter((key) => value[key] !== void 0).sort();
|
|
181
|
+
if (!keys.length)
|
|
182
|
+
return "{}";
|
|
175
183
|
const tokens = [];
|
|
176
|
-
for (const key of keys)
|
|
177
|
-
|
|
184
|
+
for (const key of keys)
|
|
185
|
+
tokens.push(`${key}: ${formatObject(value[key])}`);
|
|
186
|
+
return `{
|
|
187
|
+
${indent}${tokens.join(`,
|
|
188
|
+
${indent}`)}
|
|
189
|
+
}`;
|
|
178
190
|
}
|
|
179
191
|
return String(value);
|
|
180
192
|
}
|
|
181
|
-
function formatObjectOrVoid(value, indent =
|
|
193
|
+
function formatObjectOrVoid(value, indent = " ") {
|
|
182
194
|
const result = formatObject(value, indent);
|
|
183
|
-
return result ===
|
|
195
|
+
return result === "{}" ? "" : result;
|
|
184
196
|
}
|
|
185
197
|
function formatContextOptions(options, deviceName, isTest) {
|
|
186
|
-
const device = deviceName &&
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
let serializedObject = formatObjectOrVoid((0, _language.sanitizeDeviceOptions)(device, options));
|
|
195
|
-
// When there are no additional context options, we still want to spread the device inside.
|
|
196
|
-
if (!serializedObject) serializedObject = '{\n}';
|
|
197
|
-
const lines = serializedObject.split('\n');
|
|
198
|
+
const device = deviceName && import_deviceDescriptors.deviceDescriptors[deviceName];
|
|
199
|
+
options = { ...options, recordHar: void 0 };
|
|
200
|
+
if (!device)
|
|
201
|
+
return formatObjectOrVoid(options);
|
|
202
|
+
let serializedObject = formatObjectOrVoid((0, import_language.sanitizeDeviceOptions)(device, options));
|
|
203
|
+
if (!serializedObject)
|
|
204
|
+
serializedObject = "{\n}";
|
|
205
|
+
const lines = serializedObject.split("\n");
|
|
198
206
|
lines.splice(1, 0, `...devices[${quote(deviceName)}],`);
|
|
199
|
-
return lines.join(
|
|
207
|
+
return lines.join("\n");
|
|
200
208
|
}
|
|
201
209
|
class JavaScriptFormatter {
|
|
202
210
|
constructor(offset = 0) {
|
|
203
|
-
this._baseIndent = void 0;
|
|
204
|
-
this._baseOffset = void 0;
|
|
205
211
|
this._lines = [];
|
|
206
|
-
this._baseIndent =
|
|
207
|
-
this._baseOffset =
|
|
212
|
+
this._baseIndent = " ".repeat(2);
|
|
213
|
+
this._baseOffset = " ".repeat(offset);
|
|
208
214
|
}
|
|
209
215
|
prepend(text) {
|
|
210
|
-
const trim = isMultilineString(text) ? line => line : line => line.trim();
|
|
211
|
-
this._lines = text.trim().split(
|
|
216
|
+
const trim = isMultilineString(text) ? (line) => line : (line) => line.trim();
|
|
217
|
+
this._lines = text.trim().split("\n").map(trim).concat(this._lines);
|
|
212
218
|
}
|
|
213
219
|
add(text) {
|
|
214
|
-
const trim = isMultilineString(text) ? line => line : line => line.trim();
|
|
215
|
-
this._lines.push(...text.trim().split(
|
|
220
|
+
const trim = isMultilineString(text) ? (line) => line : (line) => line.trim();
|
|
221
|
+
this._lines.push(...text.trim().split("\n").map(trim));
|
|
216
222
|
}
|
|
217
223
|
newLine() {
|
|
218
|
-
this._lines.push(
|
|
224
|
+
this._lines.push("");
|
|
219
225
|
}
|
|
220
226
|
format() {
|
|
221
|
-
let spaces =
|
|
222
|
-
let previousLine =
|
|
223
|
-
return this._lines.map(line => {
|
|
224
|
-
if (line ===
|
|
225
|
-
|
|
226
|
-
|
|
227
|
+
let spaces = "";
|
|
228
|
+
let previousLine = "";
|
|
229
|
+
return this._lines.map((line) => {
|
|
230
|
+
if (line === "")
|
|
231
|
+
return line;
|
|
232
|
+
if (line.startsWith("}") || line.startsWith("]"))
|
|
233
|
+
spaces = spaces.substring(this._baseIndent.length);
|
|
234
|
+
const extraSpaces = /^(for|while|if|try).*\(.*\)$/.test(previousLine) ? this._baseIndent : "";
|
|
227
235
|
previousLine = line;
|
|
228
|
-
const callCarryOver = line.startsWith(
|
|
229
|
-
line = spaces + extraSpaces + (callCarryOver ? this._baseIndent :
|
|
230
|
-
if (line.endsWith(
|
|
236
|
+
const callCarryOver = line.startsWith(".set");
|
|
237
|
+
line = spaces + extraSpaces + (callCarryOver ? this._baseIndent : "") + line;
|
|
238
|
+
if (line.endsWith("{") || line.endsWith("["))
|
|
239
|
+
spaces += this._baseIndent;
|
|
231
240
|
return this._baseOffset + line;
|
|
232
|
-
}).join(
|
|
241
|
+
}).join("\n");
|
|
233
242
|
}
|
|
234
243
|
}
|
|
235
|
-
exports.JavaScriptFormatter = JavaScriptFormatter;
|
|
236
244
|
function quote(text) {
|
|
237
|
-
return (0,
|
|
245
|
+
return (0, import_utils.escapeWithQuotes)(text, "'");
|
|
238
246
|
}
|
|
239
247
|
function wrapWithStep(description, body) {
|
|
240
248
|
return description ? `await test.step(\`${description}\`, async () => {
|
|
241
249
|
${body}
|
|
242
250
|
});` : body;
|
|
243
251
|
}
|
|
244
|
-
function quoteMultiline(text, indent =
|
|
245
|
-
const escape =
|
|
246
|
-
const lines = text.split(
|
|
247
|
-
if (lines.length === 1)
|
|
248
|
-
|
|
252
|
+
function quoteMultiline(text, indent = " ") {
|
|
253
|
+
const escape = (text2) => text2.replace(/\\/g, "\\\\").replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
|
|
254
|
+
const lines = text.split("\n");
|
|
255
|
+
if (lines.length === 1)
|
|
256
|
+
return "`" + escape(text) + "`";
|
|
257
|
+
return "`\n" + lines.map((line) => indent + escape(line).replace(/\${/g, "\\${")).join("\n") + `
|
|
258
|
+
${indent}\``;
|
|
249
259
|
}
|
|
250
260
|
function isMultilineString(text) {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
261
|
+
return text.match(/`[\S\s]*`/)?.[0].includes("\n");
|
|
262
|
+
}
|
|
263
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
264
|
+
0 && (module.exports = {
|
|
265
|
+
JavaScriptFormatter,
|
|
266
|
+
JavaScriptLanguageGenerator,
|
|
267
|
+
quoteMultiline
|
|
268
|
+
});
|
|
@@ -1,35 +1,36 @@
|
|
|
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 jsonl_exports = {};
|
|
20
|
+
__export(jsonl_exports, {
|
|
21
|
+
JsonlLanguageGenerator: () => JsonlLanguageGenerator
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
/**
|
|
9
|
-
* Copyright (c) Microsoft Corporation.
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
|
|
23
|
+
module.exports = __toCommonJS(jsonl_exports);
|
|
24
|
+
var import_utils = require("../../utils");
|
|
24
25
|
class JsonlLanguageGenerator {
|
|
25
26
|
constructor() {
|
|
26
|
-
this.id =
|
|
27
|
-
this.groupName =
|
|
28
|
-
this.name =
|
|
29
|
-
this.highlighter =
|
|
27
|
+
this.id = "jsonl";
|
|
28
|
+
this.groupName = "";
|
|
29
|
+
this.name = "JSONL";
|
|
30
|
+
this.highlighter = "javascript";
|
|
30
31
|
}
|
|
31
32
|
generateAction(actionInContext) {
|
|
32
|
-
const locator = actionInContext.action.selector ? JSON.parse((0,
|
|
33
|
+
const locator = actionInContext.action.selector ? JSON.parse((0, import_utils.asLocator)("jsonl", actionInContext.action.selector)) : void 0;
|
|
33
34
|
const entry = {
|
|
34
35
|
...actionInContext.action,
|
|
35
36
|
...actionInContext.frame,
|
|
@@ -41,7 +42,10 @@ class JsonlLanguageGenerator {
|
|
|
41
42
|
return JSON.stringify(options);
|
|
42
43
|
}
|
|
43
44
|
generateFooter(saveStorage) {
|
|
44
|
-
return
|
|
45
|
+
return "";
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
JsonlLanguageGenerator
|
|
51
|
+
});
|