rebrowser-playwright-core 1.49.0 → 1.52.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.
Files changed (373) hide show
  1. package/ThirdPartyNotices.txt +381 -55
  2. package/bin/reinstall_msedge_beta_linux.sh +6 -0
  3. package/bin/reinstall_msedge_dev_linux.sh +6 -0
  4. package/bin/reinstall_msedge_stable_linux.sh +6 -0
  5. package/browsers.json +28 -13
  6. package/index.js +0 -1
  7. package/lib/androidServerImpl.js +42 -48
  8. package/lib/browserServerImpl.js +60 -64
  9. package/lib/cli/driver.js +71 -69
  10. package/lib/cli/program.js +314 -354
  11. package/lib/cli/programWithTestStub.js +51 -44
  12. package/lib/client/accessibility.js +31 -32
  13. package/lib/client/android.js +146 -254
  14. package/lib/client/api.js +135 -283
  15. package/lib/client/artifact.js +39 -39
  16. package/lib/client/browser.js +59 -68
  17. package/lib/client/browserContext.js +302 -322
  18. package/lib/client/browserType.js +95 -143
  19. package/lib/client/cdpSession.js +29 -31
  20. package/lib/client/channelOwner.js +109 -139
  21. package/lib/client/clientHelper.js +49 -42
  22. package/lib/client/clientInstrumentation.js +40 -35
  23. package/lib/client/clientStackTrace.js +69 -0
  24. package/lib/client/clock.js +36 -36
  25. package/lib/client/connection.js +203 -218
  26. package/lib/client/consoleMessage.js +33 -33
  27. package/lib/client/coverage.js +25 -22
  28. package/lib/client/dialog.js +30 -31
  29. package/lib/client/download.js +25 -25
  30. package/lib/client/electron.js +74 -76
  31. package/lib/client/elementHandle.js +126 -163
  32. package/lib/client/errors.js +53 -53
  33. package/lib/client/eventEmitter.js +127 -127
  34. package/lib/client/events.js +72 -68
  35. package/lib/client/fetch.js +154 -178
  36. package/lib/client/fileChooser.js +25 -24
  37. package/lib/client/fileUtils.js +34 -0
  38. package/lib/client/frame.js +189 -307
  39. package/lib/client/harRouter.js +44 -56
  40. package/lib/client/input.js +40 -69
  41. package/lib/client/jsHandle.js +55 -71
  42. package/lib/client/jsonPipe.js +27 -23
  43. package/lib/client/localUtils.js +53 -28
  44. package/lib/client/locator.js +144 -230
  45. package/lib/client/network.js +285 -301
  46. package/lib/client/page.js +273 -312
  47. package/lib/client/platform.js +74 -0
  48. package/lib/client/playwright.js +62 -57
  49. package/lib/client/selectors.js +51 -43
  50. package/lib/client/stream.js +30 -45
  51. package/lib/client/timeoutSettings.js +75 -0
  52. package/lib/client/tracing.js +49 -82
  53. package/lib/client/types.js +26 -22
  54. package/lib/client/video.js +35 -27
  55. package/lib/client/waiter.js +71 -91
  56. package/lib/client/webError.js +25 -23
  57. package/lib/client/webSocket.js +111 -0
  58. package/lib/client/worker.js +48 -56
  59. package/lib/client/writableStream.js +28 -43
  60. package/lib/generated/clockSource.js +26 -5
  61. package/lib/generated/consoleApiSource.js +26 -5
  62. package/lib/generated/injectedScriptSource.js +26 -5
  63. package/lib/generated/pollingRecorderSource.js +26 -5
  64. package/lib/generated/utilityScriptSource.js +26 -5
  65. package/lib/generated/webSocketMockSource.js +375 -4
  66. package/lib/inProcessFactory.js +53 -48
  67. package/lib/inprocess.js +2 -19
  68. package/lib/outofprocess.js +53 -42
  69. package/lib/protocol/debug.js +209 -25
  70. package/lib/protocol/serializers.js +153 -134
  71. package/lib/protocol/validator.js +2712 -2667
  72. package/lib/protocol/validatorPrimitives.js +115 -75
  73. package/lib/remote/playwrightConnection.js +144 -152
  74. package/lib/remote/playwrightServer.js +106 -77
  75. package/lib/server/accessibility.js +44 -37
  76. package/lib/server/android/android.js +216 -206
  77. package/lib/server/android/backendAdb.js +89 -82
  78. package/lib/server/artifact.js +78 -55
  79. package/lib/server/bidi/bidiBrowser.js +227 -158
  80. package/lib/server/bidi/bidiChromium.js +106 -78
  81. package/lib/server/bidi/bidiConnection.js +66 -83
  82. package/lib/server/bidi/bidiExecutionContext.js +161 -97
  83. package/lib/server/bidi/bidiFirefox.js +76 -68
  84. package/lib/server/bidi/bidiInput.js +90 -102
  85. package/lib/server/bidi/bidiNetworkManager.js +141 -159
  86. package/lib/server/bidi/bidiOverCdp.js +57 -58
  87. package/lib/server/bidi/bidiPage.js +262 -261
  88. package/lib/server/bidi/bidiPdf.js +52 -86
  89. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  90. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  91. package/lib/server/bidi/third_party/bidiKeyboard.js +241 -223
  92. package/lib/server/bidi/third_party/bidiProtocol.js +144 -131
  93. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  94. package/lib/server/bidi/third_party/firefoxPrefs.js +149 -111
  95. package/lib/server/browser.js +76 -84
  96. package/lib/server/browserContext.js +343 -360
  97. package/lib/server/browserType.js +169 -181
  98. package/lib/server/callLog.js +82 -0
  99. package/lib/server/chromium/chromium.js +212 -190
  100. package/lib/server/chromium/chromiumSwitches.js +99 -44
  101. package/lib/server/chromium/crAccessibility.js +157 -131
  102. package/lib/server/chromium/crBrowser.js +262 -280
  103. package/lib/server/chromium/crConnection.js +121 -178
  104. package/lib/server/chromium/crCoverage.js +113 -127
  105. package/lib/server/chromium/crDevTools.js +64 -55
  106. package/lib/server/chromium/crDragDrop.js +62 -79
  107. package/lib/server/chromium/crExecutionContext.js +100 -91
  108. package/lib/server/chromium/crInput.js +101 -88
  109. package/lib/server/chromium/crNetworkManager.js +269 -370
  110. package/lib/server/chromium/crPage.js +509 -595
  111. package/lib/server/chromium/crPdf.js +54 -86
  112. package/lib/server/chromium/crProtocolHelper.js +92 -80
  113. package/lib/server/chromium/crServiceWorker.js +85 -69
  114. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  115. package/lib/server/chromium/protocol.d.js +16 -0
  116. package/lib/server/chromium/videoRecorder.js +65 -99
  117. package/lib/server/clock.js +58 -46
  118. package/lib/server/codegen/csharp.js +191 -156
  119. package/lib/server/codegen/java.js +163 -125
  120. package/lib/server/codegen/javascript.js +166 -143
  121. package/lib/server/codegen/jsonl.js +33 -29
  122. package/lib/server/codegen/language.js +75 -52
  123. package/lib/server/codegen/languages.js +65 -27
  124. package/lib/server/codegen/python.js +141 -125
  125. package/lib/server/codegen/types.js +15 -4
  126. package/lib/server/console.js +28 -32
  127. package/lib/server/cookieStore.js +105 -86
  128. package/lib/server/debugController.js +102 -154
  129. package/lib/server/debugger.js +82 -78
  130. package/lib/server/deviceDescriptors.js +37 -24
  131. package/lib/server/deviceDescriptorsSource.json +131 -131
  132. package/lib/server/dialog.js +36 -35
  133. package/lib/server/dispatchers/androidDispatcher.js +196 -107
  134. package/lib/server/dispatchers/artifactDispatcher.js +62 -62
  135. package/lib/server/dispatchers/browserContextDispatcher.js +177 -217
  136. package/lib/server/dispatchers/browserDispatcher.js +78 -97
  137. package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
  138. package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
  139. package/lib/server/dispatchers/debugControllerDispatcher.js +48 -64
  140. package/lib/server/dispatchers/dialogDispatcher.js +30 -27
  141. package/lib/server/dispatchers/dispatcher.js +180 -229
  142. package/lib/server/dispatchers/electronDispatcher.js +54 -57
  143. package/lib/server/dispatchers/elementHandlerDispatcher.js +79 -116
  144. package/lib/server/dispatchers/frameDispatcher.js +93 -162
  145. package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
  146. package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
  147. package/lib/server/dispatchers/localUtilsDispatcher.js +107 -365
  148. package/lib/server/dispatchers/networkDispatchers.js +92 -109
  149. package/lib/server/dispatchers/pageDispatcher.js +130 -169
  150. package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
  151. package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
  152. package/lib/server/dispatchers/streamDispatcher.js +42 -44
  153. package/lib/server/dispatchers/tracingDispatcher.js +36 -41
  154. package/lib/server/dispatchers/webSocketRouteDispatcher.js +100 -135
  155. package/lib/server/dispatchers/writableStreamDispatcher.js +54 -39
  156. package/lib/server/dom.js +424 -443
  157. package/lib/server/download.js +45 -35
  158. package/lib/server/electron/electron.js +156 -175
  159. package/lib/server/electron/loader.js +8 -36
  160. package/lib/server/errors.js +47 -46
  161. package/lib/server/fetch.js +302 -331
  162. package/lib/server/fileChooser.js +25 -24
  163. package/lib/server/fileUploadUtils.js +66 -57
  164. package/lib/server/firefox/ffAccessibility.js +153 -131
  165. package/lib/server/firefox/ffBrowser.js +218 -274
  166. package/lib/server/firefox/ffConnection.js +63 -84
  167. package/lib/server/firefox/ffExecutionContext.js +103 -77
  168. package/lib/server/firefox/ffInput.js +72 -63
  169. package/lib/server/firefox/ffNetworkManager.js +131 -110
  170. package/lib/server/firefox/ffPage.js +244 -302
  171. package/lib/server/firefox/firefox.js +76 -69
  172. package/lib/server/firefox/protocol.d.js +16 -0
  173. package/lib/server/formData.js +107 -35
  174. package/lib/server/frameSelectors.js +77 -111
  175. package/lib/server/frames.js +719 -855
  176. package/lib/server/har/harRecorder.js +85 -77
  177. package/lib/server/har/harTracer.js +288 -224
  178. package/lib/server/harBackend.js +157 -0
  179. package/lib/server/helper.js +56 -59
  180. package/lib/server/index.js +59 -106
  181. package/lib/server/input.js +136 -166
  182. package/lib/server/instrumentation.js +49 -44
  183. package/lib/server/javascript.js +157 -151
  184. package/lib/server/launchApp.js +92 -73
  185. package/lib/server/localUtils.js +211 -0
  186. package/lib/server/macEditingCommands.js +141 -137
  187. package/lib/server/network.js +263 -297
  188. package/lib/server/page.js +353 -432
  189. package/lib/server/pageBinding.js +88 -0
  190. package/lib/server/pipeTransport.js +49 -45
  191. package/lib/server/playwright.js +60 -67
  192. package/lib/server/progress.js +56 -51
  193. package/lib/server/protocolError.js +34 -31
  194. package/lib/server/recorder/chat.js +161 -0
  195. package/lib/server/recorder/contextRecorder.js +135 -148
  196. package/lib/server/recorder/recorderApp.js +129 -132
  197. package/lib/server/recorder/recorderCollection.js +57 -57
  198. package/lib/server/recorder/recorderFrontend.js +15 -4
  199. package/lib/server/recorder/recorderRunner.js +80 -100
  200. package/lib/server/recorder/recorderUtils.js +59 -72
  201. package/lib/server/recorder/throttledFile.js +42 -31
  202. package/lib/server/recorder.js +186 -190
  203. package/lib/server/registry/browserFetcher.js +107 -100
  204. package/lib/server/registry/dependencies.js +247 -198
  205. package/lib/server/registry/index.js +928 -709
  206. package/lib/server/registry/nativeDeps.js +1073 -461
  207. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  208. package/lib/server/screenshotter.js +166 -182
  209. package/lib/server/selectors.js +85 -46
  210. package/lib/server/socksClientCertificatesInterceptor.js +166 -185
  211. package/lib/server/socksInterceptor.js +62 -67
  212. package/lib/server/storageScript.js +154 -0
  213. package/lib/server/timeoutSettings.js +89 -0
  214. package/lib/server/trace/recorder/snapshotter.js +70 -88
  215. package/lib/server/trace/recorder/snapshotterInjected.js +246 -218
  216. package/lib/server/trace/recorder/tracing.js +324 -327
  217. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  218. package/lib/server/trace/viewer/traceViewer.js +172 -137
  219. package/lib/server/transport.js +125 -133
  220. package/lib/server/types.js +26 -22
  221. package/lib/server/usKeyboardLayout.js +135 -545
  222. package/lib/server/utils/ascii.js +44 -0
  223. package/lib/server/utils/comparators.js +161 -0
  224. package/lib/server/utils/crypto.js +216 -0
  225. package/lib/server/utils/debug.js +47 -0
  226. package/lib/server/utils/debugLogger.js +114 -0
  227. package/lib/server/utils/env.js +68 -0
  228. package/lib/server/utils/eventsHelper.js +39 -0
  229. package/lib/server/utils/expectUtils.js +38 -0
  230. package/lib/server/utils/fileUtils.js +191 -0
  231. package/lib/server/utils/happyEyeballs.js +207 -0
  232. package/lib/server/utils/hostPlatform.js +109 -0
  233. package/lib/server/utils/httpServer.js +218 -0
  234. package/lib/server/utils/image_tools/colorUtils.js +89 -0
  235. package/lib/{image_tools → server/utils/image_tools}/compare.js +44 -43
  236. package/lib/server/utils/image_tools/imageChannel.js +78 -0
  237. package/lib/{image_tools → server/utils/image_tools}/stats.js +40 -40
  238. package/lib/server/utils/linuxUtils.js +71 -0
  239. package/lib/server/utils/network.js +217 -0
  240. package/lib/server/utils/nodePlatform.js +148 -0
  241. package/lib/server/utils/pipeTransport.js +84 -0
  242. package/lib/server/utils/processLauncher.js +238 -0
  243. package/lib/server/utils/profiler.js +65 -0
  244. package/lib/server/utils/socksProxy.js +511 -0
  245. package/lib/server/utils/spawnAsync.js +41 -0
  246. package/lib/server/utils/task.js +51 -0
  247. package/lib/server/utils/userAgent.js +98 -0
  248. package/lib/server/utils/wsServer.js +132 -0
  249. package/lib/server/utils/zipFile.js +74 -0
  250. package/lib/server/utils/zones.js +57 -0
  251. package/lib/server/webkit/protocol.d.js +16 -0
  252. package/lib/server/webkit/webkit.js +76 -63
  253. package/lib/server/webkit/wkAccessibility.js +161 -118
  254. package/lib/server/webkit/wkBrowser.js +163 -180
  255. package/lib/server/webkit/wkConnection.js +59 -83
  256. package/lib/server/webkit/wkExecutionContext.js +96 -73
  257. package/lib/server/webkit/wkInput.js +87 -75
  258. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  259. package/lib/server/webkit/wkPage.js +536 -645
  260. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  261. package/lib/server/webkit/wkWorkers.js +77 -77
  262. package/lib/utils/isomorphic/ariaSnapshot.js +245 -128
  263. package/lib/utils/isomorphic/assert.js +31 -0
  264. package/lib/utils/isomorphic/builtins.js +90 -0
  265. package/lib/utils/isomorphic/colors.js +72 -0
  266. package/lib/utils/isomorphic/cssParser.js +123 -127
  267. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  268. package/lib/utils/isomorphic/headers.js +53 -0
  269. package/lib/utils/isomorphic/locatorGenerators.js +344 -349
  270. package/lib/utils/isomorphic/locatorParser.js +103 -106
  271. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  272. package/lib/utils/isomorphic/manualPromise.js +115 -0
  273. package/lib/utils/isomorphic/mimeType.js +453 -22
  274. package/lib/utils/isomorphic/multimap.js +81 -0
  275. package/lib/utils/isomorphic/rtti.js +43 -0
  276. package/lib/utils/isomorphic/selectorParser.js +183 -193
  277. package/lib/utils/isomorphic/semaphore.js +54 -0
  278. package/lib/utils/isomorphic/stackTrace.js +158 -0
  279. package/lib/utils/isomorphic/stringUtils.js +113 -106
  280. package/lib/utils/isomorphic/time.js +44 -0
  281. package/lib/utils/isomorphic/timeoutRunner.js +67 -0
  282. package/lib/utils/isomorphic/traceUtils.js +52 -32
  283. package/lib/utils/isomorphic/types.js +16 -0
  284. package/lib/utils/isomorphic/urlMatch.js +114 -71
  285. package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
  286. package/lib/utils.js +101 -0
  287. package/lib/utilsBundle.js +101 -76
  288. package/lib/utilsBundleImpl/index.js +114 -116
  289. package/lib/vite/htmlReport/index.html +26 -20
  290. package/lib/vite/recorder/assets/codeMirrorModule-DVQi6prl.js +24 -0
  291. package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
  292. package/lib/vite/recorder/assets/{index-iA1aAGZg.css → index-eHBmevrY.css} +1 -1
  293. package/lib/vite/recorder/index.html +2 -2
  294. package/lib/vite/traceViewer/assets/codeMirrorModule-DwAiTpyC.js +24 -0
  295. package/lib/vite/traceViewer/assets/defaultSettingsView-DkkRvn5X.js +265 -0
  296. package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
  297. package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +1 -0
  298. package/lib/vite/traceViewer/index.DvtSwn6E.js +2 -0
  299. package/lib/vite/traceViewer/index.html +4 -7
  300. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  301. package/lib/vite/traceViewer/{uiMode.voC1ZiOQ.css → uiMode.BatfzHMG.css} +1 -1
  302. package/lib/vite/traceViewer/uiMode.Sdytl9wc.js +5 -0
  303. package/lib/vite/traceViewer/uiMode.html +4 -7
  304. package/lib/zipBundle.js +32 -23
  305. package/lib/zipBundleImpl.js +4 -4
  306. package/package.json +7 -7
  307. package/types/protocol.d.ts +819 -127
  308. package/types/types.d.ts +196 -75
  309. package/bin/PrintDeps.exe +0 -0
  310. package/bin/README.md +0 -2
  311. package/lib/common/socksProxy.js +0 -569
  312. package/lib/common/timeoutSettings.js +0 -73
  313. package/lib/common/types.js +0 -5
  314. package/lib/image_tools/colorUtils.js +0 -98
  315. package/lib/image_tools/imageChannel.js +0 -70
  316. package/lib/protocol/transport.js +0 -82
  317. package/lib/server/ariaSnapshot.js +0 -33
  318. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
  319. package/lib/server/recorder/recorderInTraceViewer.js +0 -144
  320. package/lib/utils/ascii.js +0 -31
  321. package/lib/utils/comparators.js +0 -153
  322. package/lib/utils/crypto.js +0 -171
  323. package/lib/utils/debug.js +0 -46
  324. package/lib/utils/debugLogger.js +0 -91
  325. package/lib/utils/env.js +0 -49
  326. package/lib/utils/eventsHelper.js +0 -38
  327. package/lib/utils/expectUtils.js +0 -33
  328. package/lib/utils/fileUtils.js +0 -205
  329. package/lib/utils/happy-eyeballs.js +0 -194
  330. package/lib/utils/headers.js +0 -52
  331. package/lib/utils/hostPlatform.js +0 -139
  332. package/lib/utils/httpServer.js +0 -237
  333. package/lib/utils/index.js +0 -368
  334. package/lib/utils/isomorphic/recorderUtils.js +0 -227
  335. package/lib/utils/linuxUtils.js +0 -78
  336. package/lib/utils/manualPromise.js +0 -109
  337. package/lib/utils/multimap.js +0 -75
  338. package/lib/utils/network.js +0 -160
  339. package/lib/utils/processLauncher.js +0 -248
  340. package/lib/utils/profiler.js +0 -53
  341. package/lib/utils/rtti.js +0 -44
  342. package/lib/utils/semaphore.js +0 -51
  343. package/lib/utils/sequence.js +0 -64
  344. package/lib/utils/spawnAsync.js +0 -45
  345. package/lib/utils/stackTrace.js +0 -134
  346. package/lib/utils/task.js +0 -58
  347. package/lib/utils/time.js +0 -37
  348. package/lib/utils/timeoutRunner.js +0 -66
  349. package/lib/utils/traceUtils.js +0 -44
  350. package/lib/utils/userAgent.js +0 -105
  351. package/lib/utils/wsServer.js +0 -127
  352. package/lib/utils/zipFile.js +0 -75
  353. package/lib/utils/zones.js +0 -71
  354. package/lib/vite/recorder/assets/codeMirrorModule-AFvV6hAs.js +0 -24
  355. package/lib/vite/recorder/assets/index-_cTWgVuJ.js +0 -184
  356. package/lib/vite/traceViewer/assets/codeMirrorModule-KatbITLF.js +0 -24
  357. package/lib/vite/traceViewer/assets/inspectorTab-DdpLd2bb.js +0 -68
  358. package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
  359. package/lib/vite/traceViewer/assets/workbench-CdYbzWFD.js +0 -9
  360. package/lib/vite/traceViewer/embedded.6m3UZh7r.js +0 -2
  361. package/lib/vite/traceViewer/embedded.html +0 -18
  362. package/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
  363. package/lib/vite/traceViewer/index.WUV-8boJ.js +0 -2
  364. package/lib/vite/traceViewer/inspectorTab.DEOUW62d.css +0 -1
  365. package/lib/vite/traceViewer/recorder.B_SY1GJM.css +0 -0
  366. package/lib/vite/traceViewer/recorder.OT2tVHgn.js +0 -2
  367. package/lib/vite/traceViewer/recorder.html +0 -17
  368. package/lib/vite/traceViewer/uiMode.BZBTyvGn.js +0 -5
  369. package/lib/vite/traceViewer/workbench.C-zR9ysA.css +0 -1
  370. /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
  371. /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
  372. /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
  373. /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
@@ -1,141 +1,152 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var recorder_exports = {};
30
+ __export(recorder_exports, {
31
+ Recorder: () => Recorder
5
32
  });
6
- exports.Recorder = void 0;
7
- var fs = _interopRequireWildcard(require("fs"));
8
- var consoleApiSource = _interopRequireWildcard(require("../generated/consoleApiSource"));
9
- var _utils = require("../utils");
10
- var _locatorParser = require("../utils/isomorphic/locatorParser");
11
- var _browserContext = require("./browserContext");
12
- var _debugger = require("./debugger");
13
- var _contextRecorder = require("./recorder/contextRecorder");
14
- var _recorderUtils = require("./recorder/recorderUtils");
15
- var _recorderUtils2 = require("../utils/isomorphic/recorderUtils");
16
- var _selectorParser = require("../utils/isomorphic/selectorParser");
17
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
- /**
20
- * Copyright (c) Microsoft Corporation.
21
- *
22
- * Licensed under the Apache License, Version 2.0 (the "License");
23
- * you may not use this file except in compliance with the License.
24
- * You may obtain a copy of the License at
25
- *
26
- * http://www.apache.org/licenses/LICENSE-2.0
27
- *
28
- * Unless required by applicable law or agreed to in writing, software
29
- * distributed under the License is distributed on an "AS IS" BASIS,
30
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31
- * See the License for the specific language governing permissions and
32
- * limitations under the License.
33
- */
34
-
35
- const recorderSymbol = Symbol('recorderSymbol');
33
+ module.exports = __toCommonJS(recorder_exports);
34
+ var import_fs = __toESM(require("fs"));
35
+ var consoleApiSource = __toESM(require("../generated/consoleApiSource"));
36
+ var import_utils = require("../utils");
37
+ var import_browserContext = require("./browserContext");
38
+ var import_debugger = require("./debugger");
39
+ var import_contextRecorder = require("./recorder/contextRecorder");
40
+ var import_recorderUtils = require("./recorder/recorderUtils");
41
+ var import_locatorParser = require("../utils/isomorphic/locatorParser");
42
+ var import_selectorParser = require("../utils/isomorphic/selectorParser");
43
+ const recorderSymbol = Symbol("recorderSymbol");
36
44
  class Recorder {
45
+ constructor(context, params) {
46
+ this._highlightedElement = {};
47
+ this._overlayState = { offsetX: 0 };
48
+ this._recorderApp = null;
49
+ this._currentCallsMetadata = /* @__PURE__ */ new Map();
50
+ this._recorderSources = [];
51
+ this._userSources = /* @__PURE__ */ new Map();
52
+ this._omitCallTracking = false;
53
+ this._mode = params.mode || "none";
54
+ this.handleSIGINT = params.handleSIGINT;
55
+ this._contextRecorder = new import_contextRecorder.ContextRecorder(context, params, {});
56
+ this._context = context;
57
+ this._omitCallTracking = !!params.omitCallTracking;
58
+ this._debugger = context.debugger();
59
+ context.instrumentation.addListener(this, context);
60
+ this._currentLanguage = this._contextRecorder.languageName();
61
+ if ((0, import_utils.isUnderTest)()) {
62
+ this._overlayState.offsetX = 200;
63
+ }
64
+ }
37
65
  static async showInspector(context, params, recorderAppFactory) {
38
- if ((0, _utils.isUnderTest)()) params.language = process.env.TEST_INSPECTOR_LANGUAGE;
39
- return await Recorder.show('actions', context, recorderAppFactory, params);
66
+ if ((0, import_utils.isUnderTest)())
67
+ params.language = process.env.TEST_INSPECTOR_LANGUAGE;
68
+ return await Recorder.show(context, recorderAppFactory, params);
40
69
  }
41
70
  static showInspectorNoReply(context, recorderAppFactory) {
42
- Recorder.showInspector(context, {}, recorderAppFactory).catch(() => {});
71
+ Recorder.showInspector(context, {}, recorderAppFactory).catch(() => {
72
+ });
43
73
  }
44
- static show(codegenMode, context, recorderAppFactory, params) {
74
+ static show(context, recorderAppFactory, params) {
45
75
  let recorderPromise = context[recorderSymbol];
46
76
  if (!recorderPromise) {
47
- recorderPromise = Recorder._create(codegenMode, context, recorderAppFactory, params);
77
+ recorderPromise = Recorder._create(context, recorderAppFactory, params);
48
78
  context[recorderSymbol] = recorderPromise;
49
79
  }
50
80
  return recorderPromise;
51
81
  }
52
- static async _create(codegenMode, context, recorderAppFactory, params = {}) {
53
- const recorder = new Recorder(codegenMode, context, params);
82
+ static async _create(context, recorderAppFactory, params = {}) {
83
+ const recorder = new Recorder(context, params);
54
84
  const recorderApp = await recorderAppFactory(recorder);
55
85
  await recorder._install(recorderApp);
56
86
  return recorder;
57
87
  }
58
- constructor(codegenMode, context, params) {
59
- this.handleSIGINT = void 0;
60
- this._context = void 0;
61
- this._mode = void 0;
62
- this._highlightedElement = {};
63
- this._overlayState = {
64
- offsetX: 0
65
- };
66
- this._recorderApp = null;
67
- this._currentCallsMetadata = new Map();
68
- this._recorderSources = [];
69
- this._userSources = new Map();
70
- this._debugger = void 0;
71
- this._contextRecorder = void 0;
72
- this._omitCallTracking = false;
73
- this._currentLanguage = void 0;
74
- this._mode = params.mode || 'none';
75
- this.handleSIGINT = params.handleSIGINT;
76
- this._contextRecorder = new _contextRecorder.ContextRecorder(codegenMode, context, params, {});
77
- this._context = context;
78
- this._omitCallTracking = !!params.omitCallTracking;
79
- this._debugger = context.debugger();
80
- context.instrumentation.addListener(this, context);
81
- this._currentLanguage = this._contextRecorder.languageName();
82
- if ((0, _utils.isUnderTest)()) {
83
- // Most of our tests put elements at the top left, so get out of the way.
84
- this._overlayState.offsetX = 200;
85
- }
86
- }
87
88
  async _install(recorderApp) {
88
89
  this._recorderApp = recorderApp;
89
- recorderApp.once('close', () => {
90
+ recorderApp.once("close", () => {
90
91
  this._debugger.resume(false);
91
92
  this._recorderApp = null;
92
93
  });
93
- recorderApp.on('event', data => {
94
- if (data.event === 'setMode') {
94
+ recorderApp.on("event", (data) => {
95
+ if (data.event === "setMode") {
95
96
  this.setMode(data.params.mode);
96
97
  return;
97
98
  }
98
- if (data.event === 'highlightRequested') {
99
- if (data.params.selector) this.setHighlightedSelector(this._currentLanguage, data.params.selector);
100
- if (data.params.ariaTemplate) this.setHighlightedAriaTemplate(data.params.ariaTemplate);
99
+ if (data.event === "highlightRequested") {
100
+ if (data.params.selector)
101
+ this.setHighlightedSelector(this._currentLanguage, data.params.selector);
102
+ if (data.params.ariaTemplate)
103
+ this.setHighlightedAriaTemplate(data.params.ariaTemplate);
101
104
  return;
102
105
  }
103
- if (data.event === 'step') {
106
+ if (data.event === "step") {
104
107
  this._debugger.resume(true);
105
108
  return;
106
109
  }
107
- if (data.event === 'fileChanged') {
110
+ if (data.event === "fileChanged") {
108
111
  this._currentLanguage = this._contextRecorder.languageName(data.params.file);
109
112
  this._refreshOverlay();
110
113
  return;
111
114
  }
112
- if (data.event === 'resume') {
115
+ if (data.event === "resume") {
113
116
  this._debugger.resume(false);
114
117
  return;
115
118
  }
116
- if (data.event === 'pause') {
119
+ if (data.event === "pause") {
117
120
  this._debugger.pauseOnNextStatement();
118
121
  return;
119
122
  }
120
- if (data.event === 'clear') {
123
+ if (data.event === "clear") {
121
124
  this._contextRecorder.clearScript();
122
125
  return;
123
126
  }
127
+ if (data.event === "runTask") {
128
+ this._contextRecorder.runTask(data.params.task);
129
+ return;
130
+ }
124
131
  });
125
- await Promise.all([recorderApp.setMode(this._mode), recorderApp.setPaused(this._debugger.isPaused()), this._pushAllSources()]);
126
- this._context.once(_browserContext.BrowserContext.Events.Close, () => {
127
- var _this$_recorderApp;
132
+ await Promise.all([
133
+ recorderApp.setMode(this._mode),
134
+ recorderApp.setPaused(this._debugger.isPaused()),
135
+ this._pushAllSources()
136
+ ]);
137
+ this._context.once(import_browserContext.BrowserContext.Events.Close, () => {
128
138
  this._contextRecorder.dispose();
129
139
  this._context.instrumentation.removeListener(this);
130
- (_this$_recorderApp = this._recorderApp) === null || _this$_recorderApp === void 0 || _this$_recorderApp.close().catch(() => {});
140
+ this._recorderApp?.close().catch(() => {
141
+ });
131
142
  });
132
- this._contextRecorder.on(_contextRecorder.ContextRecorder.Events.Change, data => {
143
+ this._contextRecorder.on(import_contextRecorder.ContextRecorder.Events.Change, (data) => {
133
144
  this._recorderSources = data.sources;
134
145
  recorderApp.setActions(data.actions, data.sources);
135
- recorderApp.setRunningFile(undefined);
146
+ recorderApp.setRunningFile(void 0);
136
147
  this._pushAllSources();
137
148
  });
138
- await this._context.exposeBinding('__pw_recorderState', false, async source => {
149
+ await this._context.exposeBinding("__pw_recorderState", false, async (source) => {
139
150
  let actionSelector;
140
151
  let actionPoint;
141
152
  const hasActiveScreenshotCommand = [...this._currentCallsMetadata.keys()].some(isScreenshotCommand);
@@ -159,59 +170,50 @@ class Recorder {
159
170
  };
160
171
  return uiState;
161
172
  });
162
- await this._context.exposeBinding('__pw_recorderElementPicked', false, async ({
163
- frame
164
- }, elementInfo) => {
165
- var _this$_recorderApp2;
166
- const selectorChain = await (0, _contextRecorder.generateFrameSelector)(frame);
167
- await ((_this$_recorderApp2 = this._recorderApp) === null || _this$_recorderApp2 === void 0 ? void 0 : _this$_recorderApp2.elementPicked({
168
- selector: (0, _recorderUtils2.buildFullSelector)(selectorChain, elementInfo.selector),
169
- ariaSnapshot: elementInfo.ariaSnapshot
170
- }, true));
173
+ await this._context.exposeBinding("__pw_recorderElementPicked", false, async ({ frame }, elementInfo) => {
174
+ const selectorChain = await (0, import_contextRecorder.generateFrameSelector)(frame);
175
+ await this._recorderApp?.elementPicked({ selector: (0, import_recorderUtils.buildFullSelector)(selectorChain, elementInfo.selector), ariaSnapshot: elementInfo.ariaSnapshot }, true);
171
176
  });
172
- await this._context.exposeBinding('__pw_recorderSetMode', false, async ({
173
- frame
174
- }, mode) => {
175
- if (frame.parentFrame()) return;
177
+ await this._context.exposeBinding("__pw_recorderSetMode", false, async ({ frame }, mode) => {
178
+ if (frame.parentFrame())
179
+ return;
176
180
  this.setMode(mode);
177
181
  });
178
- await this._context.exposeBinding('__pw_recorderSetOverlayState', false, async ({
179
- frame
180
- }, state) => {
181
- if (frame.parentFrame()) return;
182
+ await this._context.exposeBinding("__pw_recorderSetOverlayState", false, async ({ frame }, state) => {
183
+ if (frame.parentFrame())
184
+ return;
182
185
  this._overlayState = state;
183
186
  });
184
- await this._context.exposeBinding('__pw_resume', false, () => {
187
+ await this._context.exposeBinding("__pw_resume", false, () => {
185
188
  this._debugger.resume(false);
186
189
  });
187
190
  await this._context.extendInjectedScript(consoleApiSource.source);
188
191
  await this._contextRecorder.install();
189
- if (this._debugger.isPaused()) this._pausedStateChanged();
190
- this._debugger.on(_debugger.Debugger.Events.PausedStateChanged, () => this._pausedStateChanged());
192
+ if (this._debugger.isPaused())
193
+ this._pausedStateChanged();
194
+ this._debugger.on(import_debugger.Debugger.Events.PausedStateChanged, () => this._pausedStateChanged());
191
195
  this._context.recorderAppForTest = this._recorderApp;
192
196
  }
193
197
  _pausedStateChanged() {
194
- var _this$_recorderApp3;
195
- // If we are called upon page.pause, we don't have metadatas, populate them.
196
- for (const {
197
- metadata,
198
- sdkObject
199
- } of this._debugger.pausedDetails()) {
200
- if (!this._currentCallsMetadata.has(metadata)) this.onBeforeCall(sdkObject, metadata);
198
+ for (const { metadata, sdkObject } of this._debugger.pausedDetails()) {
199
+ if (!this._currentCallsMetadata.has(metadata))
200
+ this.onBeforeCall(sdkObject, metadata);
201
201
  }
202
- (_this$_recorderApp3 = this._recorderApp) === null || _this$_recorderApp3 === void 0 || _this$_recorderApp3.setPaused(this._debugger.isPaused());
202
+ this._recorderApp?.setPaused(this._debugger.isPaused());
203
203
  this._updateUserSources();
204
204
  this.updateCallLog([...this._currentCallsMetadata.keys()]);
205
205
  }
206
206
  setMode(mode) {
207
- var _this$_recorderApp4;
208
- if (this._mode === mode) return;
207
+ if (this._mode === mode)
208
+ return;
209
209
  this._highlightedElement = {};
210
210
  this._mode = mode;
211
- (_this$_recorderApp4 = this._recorderApp) === null || _this$_recorderApp4 === void 0 || _this$_recorderApp4.setMode(this._mode);
211
+ this._recorderApp?.setMode(this._mode);
212
212
  this._contextRecorder.setEnabled(this._isRecording());
213
213
  this._debugger.setMuted(this._isRecording());
214
- if (this._mode !== 'none' && this._mode !== 'standby' && this._context.pages().length === 1) this._context.pages()[0].bringToFront().catch(() => {});
214
+ if (this._mode !== "none" && this._mode !== "standby" && this._context.pages().length === 1)
215
+ this._context.pages()[0].bringToFront().catch(() => {
216
+ });
215
217
  this._refreshOverlay();
216
218
  }
217
219
  resume() {
@@ -221,15 +223,11 @@ class Recorder {
221
223
  return this._mode;
222
224
  }
223
225
  setHighlightedSelector(language, selector) {
224
- this._highlightedElement = {
225
- selector: (0, _locatorParser.locatorOrSelectorAsSelector)(language, selector, this._context.selectors().testIdAttributeName())
226
- };
226
+ this._highlightedElement = { selector: (0, import_locatorParser.locatorOrSelectorAsSelector)(language, selector, this._context.selectors().testIdAttributeName()) };
227
227
  this._refreshOverlay();
228
228
  }
229
229
  setHighlightedAriaTemplate(ariaTemplate) {
230
- this._highlightedElement = {
231
- ariaTemplate
232
- };
230
+ this._highlightedElement = { ariaTemplate };
233
231
  this._refreshOverlay();
234
232
  }
235
233
  hideHighlightedSelector() {
@@ -237,23 +235,20 @@ class Recorder {
237
235
  this._refreshOverlay();
238
236
  }
239
237
  async _scopeHighlightedSelectorToFrame(frame) {
240
- if (!this._highlightedElement.selector) return;
238
+ if (!this._highlightedElement.selector)
239
+ return;
241
240
  try {
242
241
  const mainFrame = frame._page.mainFrame();
243
242
  const resolved = await mainFrame.selectors.resolveFrameForSelector(this._highlightedElement.selector);
244
- // selector couldn't be found, don't highlight anything
245
- if (!resolved) return '';
246
-
247
- // selector points to no specific frame, highlight in all frames
248
- if ((resolved === null || resolved === void 0 ? void 0 : resolved.frame) === mainFrame) return (0, _selectorParser.stringifySelector)(resolved.info.parsed);
249
-
250
- // selector points to this frame, highlight it
251
- if ((resolved === null || resolved === void 0 ? void 0 : resolved.frame) === frame) return (0, _selectorParser.stringifySelector)(resolved.info.parsed);
252
-
253
- // selector points to a different frame, highlight nothing
254
- return '';
243
+ if (!resolved)
244
+ return "";
245
+ if (resolved?.frame === mainFrame)
246
+ return (0, import_selectorParser.stringifySelector)(resolved.info.parsed);
247
+ if (resolved?.frame === frame)
248
+ return (0, import_selectorParser.stringifySelector)(resolved.info.parsed);
249
+ return "";
255
250
  } catch {
256
- return '';
251
+ return "";
257
252
  }
258
253
  }
259
254
  setOutput(codegenId, outputFile) {
@@ -261,104 +256,105 @@ class Recorder {
261
256
  }
262
257
  _refreshOverlay() {
263
258
  for (const page of this._context.pages()) {
264
- for (const frame of page.frames()) frame.evaluateExpression('window.__pw_refreshOverlay()').catch(() => {});
259
+ for (const frame of page.frames())
260
+ frame.evaluateExpression("window.__pw_refreshOverlay()").catch(() => {
261
+ });
265
262
  }
266
263
  }
267
264
  async onBeforeCall(sdkObject, metadata) {
268
- if (this._omitCallTracking || this._isRecording()) return;
265
+ if (this._omitCallTracking || this._isRecording())
266
+ return;
269
267
  this._currentCallsMetadata.set(metadata, sdkObject);
270
268
  this._updateUserSources();
271
269
  this.updateCallLog([metadata]);
272
- if (isScreenshotCommand(metadata)) this.hideHighlightedSelector();else if (metadata.params && metadata.params.selector) this._highlightedElement = {
273
- selector: metadata.params.selector
274
- };
270
+ if (isScreenshotCommand(metadata))
271
+ this.hideHighlightedSelector();
272
+ else if (metadata.params && metadata.params.selector)
273
+ this._highlightedElement = { selector: metadata.params.selector };
275
274
  }
276
275
  async onAfterCall(sdkObject, metadata) {
277
- if (this._omitCallTracking || this._isRecording()) return;
278
- if (!metadata.error) this._currentCallsMetadata.delete(metadata);
276
+ if (this._omitCallTracking || this._isRecording())
277
+ return;
278
+ if (!metadata.error)
279
+ this._currentCallsMetadata.delete(metadata);
279
280
  this._updateUserSources();
280
281
  this.updateCallLog([metadata]);
281
282
  }
282
283
  _updateUserSources() {
283
- var _this$_recorderApp5;
284
- // Remove old decorations.
285
284
  for (const source of this._userSources.values()) {
286
285
  source.highlight = [];
287
- source.revealLine = undefined;
286
+ source.revealLine = void 0;
288
287
  }
289
-
290
- // Apply new decorations.
291
- let fileToSelect = undefined;
288
+ let fileToSelect = void 0;
292
289
  for (const metadata of this._currentCallsMetadata.keys()) {
293
- if (!metadata.location) continue;
294
- const {
295
- file,
296
- line
297
- } = metadata.location;
290
+ if (!metadata.location)
291
+ continue;
292
+ const { file, line } = metadata.location;
298
293
  let source = this._userSources.get(file);
299
294
  if (!source) {
300
- source = {
301
- isRecorded: false,
302
- label: file,
303
- id: file,
304
- text: this._readSource(file),
305
- highlight: [],
306
- language: languageForFile(file)
307
- };
295
+ source = { isRecorded: false, label: file, id: file, text: this._readSource(file), highlight: [], language: languageForFile(file) };
308
296
  this._userSources.set(file, source);
309
297
  }
310
298
  if (line) {
311
299
  const paused = this._debugger.isPaused(metadata);
312
- source.highlight.push({
313
- line,
314
- type: metadata.error ? 'error' : paused ? 'paused' : 'running'
315
- });
300
+ source.highlight.push({ line, type: metadata.error ? "error" : paused ? "paused" : "running" });
316
301
  source.revealLine = line;
317
302
  fileToSelect = source.id;
318
303
  }
319
304
  }
320
305
  this._pushAllSources();
321
- if (fileToSelect) (_this$_recorderApp5 = this._recorderApp) === null || _this$_recorderApp5 === void 0 || _this$_recorderApp5.setRunningFile(fileToSelect);
306
+ if (fileToSelect)
307
+ this._recorderApp?.setRunningFile(fileToSelect);
322
308
  }
323
309
  _pushAllSources() {
324
- var _this$_recorderApp6;
325
- (_this$_recorderApp6 = this._recorderApp) === null || _this$_recorderApp6 === void 0 || _this$_recorderApp6.setSources([...this._recorderSources, ...this._userSources.values()]);
310
+ const primaryPage = this._context.pages()[0];
311
+ this._recorderApp?.setSources([...this._recorderSources, ...this._userSources.values()], primaryPage?.mainFrame().url());
312
+ }
313
+ async onBeforeInputAction(sdkObject, metadata) {
326
314
  }
327
- async onBeforeInputAction(sdkObject, metadata) {}
328
315
  async onCallLog(sdkObject, metadata, logName, message) {
329
316
  this.updateCallLog([metadata]);
330
317
  }
331
318
  updateCallLog(metadatas) {
332
- var _this$_recorderApp7;
333
- if (this._isRecording()) return;
319
+ if (this._isRecording())
320
+ return;
334
321
  const logs = [];
335
322
  for (const metadata of metadatas) {
336
- if (!metadata.method || metadata.internal) continue;
337
- let status = 'done';
338
- if (this._currentCallsMetadata.has(metadata)) status = 'in-progress';
339
- if (this._debugger.isPaused(metadata)) status = 'paused';
340
- logs.push((0, _recorderUtils.metadataToCallLog)(metadata, status));
323
+ if (!metadata.method || metadata.internal)
324
+ continue;
325
+ let status = "done";
326
+ if (this._currentCallsMetadata.has(metadata))
327
+ status = "in-progress";
328
+ if (this._debugger.isPaused(metadata))
329
+ status = "paused";
330
+ logs.push((0, import_recorderUtils.metadataToCallLog)(metadata, status));
341
331
  }
342
- (_this$_recorderApp7 = this._recorderApp) === null || _this$_recorderApp7 === void 0 || _this$_recorderApp7.updateCallLogs(logs);
332
+ this._recorderApp?.updateCallLogs(logs);
343
333
  }
344
334
  _isRecording() {
345
- return ['recording', 'assertingText', 'assertingVisibility', 'assertingValue', 'assertingSnapshot'].includes(this._mode);
335
+ return ["recording", "assertingText", "assertingVisibility", "assertingValue", "assertingSnapshot"].includes(this._mode);
346
336
  }
347
337
  _readSource(fileName) {
348
338
  try {
349
- return fs.readFileSync(fileName, 'utf-8');
339
+ return import_fs.default.readFileSync(fileName, "utf-8");
350
340
  } catch (e) {
351
- return '// No source available';
341
+ return "// No source available";
352
342
  }
353
343
  }
354
344
  }
355
- exports.Recorder = Recorder;
356
345
  function isScreenshotCommand(metadata) {
357
- return metadata.method.toLowerCase().includes('screenshot');
346
+ return metadata.method.toLowerCase().includes("screenshot");
358
347
  }
359
348
  function languageForFile(file) {
360
- if (file.endsWith('.py')) return 'python';
361
- if (file.endsWith('.java')) return 'java';
362
- if (file.endsWith('.cs')) return 'csharp';
363
- return 'javascript';
364
- }
349
+ if (file.endsWith(".py"))
350
+ return "python";
351
+ if (file.endsWith(".java"))
352
+ return "java";
353
+ if (file.endsWith(".cs"))
354
+ return "csharp";
355
+ return "javascript";
356
+ }
357
+ // Annotate the CommonJS export names for ESM import in node:
358
+ 0 && (module.exports = {
359
+ Recorder
360
+ });