@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.
Files changed (376) hide show
  1. package/ThirdPartyNotices.txt +65 -123
  2. package/browsers.json +16 -14
  3. package/index.js +1 -1
  4. package/lib/androidServerImpl.js +47 -50
  5. package/lib/browserServerImpl.js +89 -69
  6. package/lib/checkly/escapeRegExp.js +23 -27
  7. package/lib/checkly/fetch.js +64 -46
  8. package/lib/checkly/secretsFilter.js +49 -35
  9. package/lib/cli/driver.js +71 -69
  10. package/lib/cli/program.js +400 -359
  11. package/lib/cli/programWithTestStub.js +51 -45
  12. package/lib/client/accessibility.js +31 -32
  13. package/lib/client/android.js +151 -242
  14. package/lib/client/api.js +135 -283
  15. package/lib/client/artifact.js +39 -36
  16. package/lib/client/browser.js +96 -71
  17. package/lib/client/browserContext.js +314 -345
  18. package/lib/client/browserType.js +103 -127
  19. package/lib/client/cdpSession.js +29 -31
  20. package/lib/client/channelOwner.js +90 -113
  21. package/lib/client/clientHelper.js +48 -39
  22. package/lib/client/clientInstrumentation.js +40 -37
  23. package/lib/client/clientStackTrace.js +41 -37
  24. package/lib/client/clock.js +36 -36
  25. package/lib/client/connection.js +188 -214
  26. package/lib/client/consoleMessage.js +31 -28
  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 +80 -77
  31. package/lib/client/elementHandle.js +120 -159
  32. package/lib/client/errors.js +53 -53
  33. package/lib/client/eventEmitter.js +124 -121
  34. package/lib/client/events.js +72 -68
  35. package/lib/client/fetch.js +166 -190
  36. package/lib/client/fileChooser.js +25 -24
  37. package/lib/client/fileUtils.js +31 -28
  38. package/lib/client/frame.js +207 -306
  39. package/lib/client/harRouter.js +42 -52
  40. package/lib/client/input.js +42 -69
  41. package/lib/client/jsHandle.js +54 -69
  42. package/lib/client/jsonPipe.js +27 -23
  43. package/lib/client/localUtils.js +29 -29
  44. package/lib/client/locator.js +145 -237
  45. package/lib/client/network.js +282 -307
  46. package/lib/client/page.js +269 -318
  47. package/lib/client/platform.js +46 -43
  48. package/lib/client/playwright.js +51 -76
  49. package/lib/client/selectors.js +45 -63
  50. package/lib/client/stream.js +29 -25
  51. package/lib/client/timeoutSettings.js +55 -41
  52. package/lib/client/tracing.js +49 -96
  53. package/lib/client/types.js +26 -22
  54. package/lib/client/video.js +35 -27
  55. package/lib/client/waiter.js +69 -88
  56. package/lib/client/webError.js +25 -23
  57. package/lib/client/webSocket.js +43 -56
  58. package/lib/client/worker.js +48 -56
  59. package/lib/client/writableStream.js +27 -23
  60. package/lib/generated/bindingsControllerSource.js +28 -0
  61. package/lib/generated/clockSource.js +26 -6
  62. package/lib/generated/consoleApiSource.js +26 -6
  63. package/lib/generated/injectedScriptSource.js +26 -6
  64. package/lib/generated/pollingRecorderSource.js +26 -6
  65. package/lib/generated/storageScriptSource.js +28 -0
  66. package/lib/generated/utilityScriptSource.js +26 -6
  67. package/lib/generated/webSocketMockSource.js +333 -5
  68. package/lib/inProcessFactory.js +51 -53
  69. package/lib/inprocess.js +2 -19
  70. package/lib/outofprocess.js +51 -46
  71. package/lib/protocol/serializers.js +153 -134
  72. package/lib/protocol/validator.js +2807 -2739
  73. package/lib/protocol/validatorPrimitives.js +114 -73
  74. package/lib/remote/playwrightConnection.js +88 -242
  75. package/lib/remote/playwrightServer.js +305 -92
  76. package/lib/server/accessibility.js +44 -37
  77. package/lib/server/android/android.js +251 -241
  78. package/lib/server/android/backendAdb.js +87 -82
  79. package/lib/server/artifact.js +78 -55
  80. package/lib/server/bidi/bidiBrowser.js +297 -158
  81. package/lib/server/bidi/bidiChromium.js +119 -89
  82. package/lib/server/bidi/bidiConnection.js +66 -83
  83. package/lib/server/bidi/bidiExecutionContext.js +129 -113
  84. package/lib/server/bidi/bidiFirefox.js +86 -76
  85. package/lib/server/bidi/bidiInput.js +106 -117
  86. package/lib/server/bidi/bidiNetworkManager.js +142 -159
  87. package/lib/server/bidi/bidiOverCdp.js +57 -58
  88. package/lib/server/bidi/bidiPage.js +260 -260
  89. package/lib/server/bidi/bidiPdf.js +52 -86
  90. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  91. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  92. package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
  93. package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
  94. package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
  95. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  96. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  97. package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
  98. package/lib/server/browser.js +93 -95
  99. package/lib/server/browserContext.js +419 -429
  100. package/lib/server/browserType.js +186 -216
  101. package/lib/server/callLog.js +47 -44
  102. package/lib/server/chromium/chromium.js +235 -203
  103. package/lib/server/chromium/chromiumSwitches.js +100 -67
  104. package/lib/server/chromium/crAccessibility.js +157 -131
  105. package/lib/server/chromium/crBrowser.js +310 -292
  106. package/lib/server/chromium/crConnection.js +95 -121
  107. package/lib/server/chromium/crCoverage.js +121 -131
  108. package/lib/server/chromium/crDevTools.js +60 -51
  109. package/lib/server/chromium/crDragDrop.js +68 -84
  110. package/lib/server/chromium/crExecutionContext.js +89 -83
  111. package/lib/server/chromium/crInput.js +118 -113
  112. package/lib/server/chromium/crNetworkManager.js +274 -375
  113. package/lib/server/chromium/crPage.js +536 -593
  114. package/lib/server/chromium/crPdf.js +54 -86
  115. package/lib/server/chromium/crProtocolHelper.js +92 -80
  116. package/lib/server/chromium/crServiceWorker.js +84 -73
  117. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  118. package/lib/server/chromium/protocol.d.js +16 -0
  119. package/lib/server/chromium/videoRecorder.js +66 -99
  120. package/lib/server/clock.js +107 -83
  121. package/lib/server/codegen/csharp.js +192 -162
  122. package/lib/server/codegen/java.js +156 -129
  123. package/lib/server/codegen/javascript.js +163 -148
  124. package/lib/server/codegen/jsonl.js +32 -28
  125. package/lib/server/codegen/language.js +75 -52
  126. package/lib/server/codegen/languages.js +65 -27
  127. package/lib/server/codegen/python.js +141 -126
  128. package/lib/server/codegen/types.js +15 -4
  129. package/lib/server/console.js +28 -32
  130. package/lib/server/cookieStore.js +108 -86
  131. package/lib/server/debugController.js +147 -151
  132. package/lib/server/debugger.js +86 -78
  133. package/lib/server/deviceDescriptors.js +37 -24
  134. package/lib/server/deviceDescriptorsSource.json +238 -128
  135. package/lib/server/dialog.js +84 -39
  136. package/lib/server/dispatchers/androidDispatcher.js +257 -148
  137. package/lib/server/dispatchers/artifactDispatcher.js +79 -79
  138. package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
  139. package/lib/server/dispatchers/browserDispatcher.js +96 -148
  140. package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
  141. package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
  142. package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
  143. package/lib/server/dispatchers/dialogDispatcher.js +34 -31
  144. package/lib/server/dispatchers/dispatcher.js +208 -248
  145. package/lib/server/dispatchers/electronDispatcher.js +66 -70
  146. package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
  147. package/lib/server/dispatchers/frameDispatcher.js +211 -272
  148. package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
  149. package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
  150. package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
  151. package/lib/server/dispatchers/networkDispatchers.js +117 -128
  152. package/lib/server/dispatchers/pageDispatcher.js +256 -248
  153. package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
  154. package/lib/server/dispatchers/streamDispatcher.js +52 -48
  155. package/lib/server/dispatchers/tracingDispatcher.js +47 -52
  156. package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
  157. package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
  158. package/lib/server/dom.js +485 -582
  159. package/lib/server/download.js +47 -37
  160. package/lib/server/electron/electron.js +216 -243
  161. package/lib/server/electron/loader.js +9 -37
  162. package/lib/server/errors.js +47 -46
  163. package/lib/server/fetch.js +317 -360
  164. package/lib/server/fileChooser.js +25 -24
  165. package/lib/server/fileUploadUtils.js +66 -60
  166. package/lib/server/firefox/ffAccessibility.js +153 -131
  167. package/lib/server/firefox/ffBrowser.js +268 -305
  168. package/lib/server/firefox/ffConnection.js +63 -84
  169. package/lib/server/firefox/ffExecutionContext.js +92 -73
  170. package/lib/server/firefox/ffInput.js +82 -84
  171. package/lib/server/firefox/ffNetworkManager.js +137 -114
  172. package/lib/server/firefox/ffPage.js +261 -293
  173. package/lib/server/firefox/firefox.js +80 -72
  174. package/lib/server/firefox/protocol.d.js +16 -0
  175. package/lib/server/formData.js +107 -35
  176. package/lib/server/frameSelectors.js +98 -114
  177. package/lib/server/frames.js +845 -1055
  178. package/lib/server/har/harRecorder.js +85 -77
  179. package/lib/server/har/harTracer.js +290 -223
  180. package/lib/server/harBackend.js +80 -80
  181. package/lib/server/helper.js +55 -59
  182. package/lib/server/index.js +59 -99
  183. package/lib/server/input.js +151 -189
  184. package/lib/server/instrumentation.js +57 -44
  185. package/lib/server/javascript.js +133 -134
  186. package/lib/server/launchApp.js +113 -75
  187. package/lib/server/localUtils.js +150 -142
  188. package/lib/server/macEditingCommands.js +141 -137
  189. package/lib/server/network.js +299 -303
  190. package/lib/server/page.js +513 -544
  191. package/lib/server/pipeTransport.js +49 -45
  192. package/lib/server/playwright.js +58 -67
  193. package/lib/server/progress.js +137 -68
  194. package/lib/server/protocolError.js +34 -31
  195. package/lib/server/recorder/chat.js +70 -86
  196. package/lib/server/recorder/recorderApp.js +341 -176
  197. package/lib/server/recorder/recorderInTraceViewer.js +65 -94
  198. package/lib/server/recorder/recorderRunner.js +93 -116
  199. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  200. package/lib/server/recorder/recorderUtils.js +104 -47
  201. package/lib/server/recorder/throttledFile.js +42 -30
  202. package/lib/server/recorder.js +395 -275
  203. package/lib/server/registry/browserFetcher.js +106 -101
  204. package/lib/server/registry/dependencies.js +245 -196
  205. package/lib/server/registry/index.js +930 -803
  206. package/lib/server/registry/nativeDeps.js +1073 -464
  207. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  208. package/lib/server/screenshotter.js +160 -191
  209. package/lib/server/selectors.js +90 -51
  210. package/lib/server/socksClientCertificatesInterceptor.js +171 -186
  211. package/lib/server/socksInterceptor.js +62 -70
  212. package/lib/server/trace/recorder/snapshotter.js +76 -102
  213. package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
  214. package/lib/server/trace/recorder/tracing.js +354 -362
  215. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  216. package/lib/server/trace/viewer/traceViewer.js +160 -147
  217. package/lib/server/transport.js +119 -134
  218. package/lib/server/types.js +26 -22
  219. package/lib/server/usKeyboardLayout.js +135 -545
  220. package/lib/server/utils/ascii.js +39 -26
  221. package/lib/server/utils/comparators.js +105 -103
  222. package/lib/server/utils/crypto.js +157 -112
  223. package/lib/server/utils/debug.js +36 -32
  224. package/lib/server/utils/debugLogger.js +77 -48
  225. package/lib/server/utils/env.js +52 -37
  226. package/lib/server/utils/eventsHelper.js +29 -28
  227. package/lib/server/utils/expectUtils.js +31 -26
  228. package/lib/server/utils/fileUtils.js +123 -136
  229. package/lib/server/utils/happyEyeballs.js +141 -126
  230. package/lib/server/utils/hostPlatform.js +84 -120
  231. package/lib/server/utils/httpServer.js +106 -121
  232. package/lib/server/utils/image_tools/colorUtils.js +42 -51
  233. package/lib/server/utils/image_tools/compare.js +44 -43
  234. package/lib/server/utils/image_tools/imageChannel.js +38 -30
  235. package/lib/server/utils/image_tools/stats.js +40 -40
  236. package/lib/server/utils/linuxUtils.js +50 -37
  237. package/lib/server/utils/network.js +152 -96
  238. package/lib/server/utils/nodePlatform.js +87 -79
  239. package/lib/server/utils/pipeTransport.js +44 -42
  240. package/lib/server/utils/processLauncher.js +111 -121
  241. package/lib/server/utils/profiler.js +52 -39
  242. package/lib/server/utils/socksProxy.js +280 -339
  243. package/lib/server/utils/spawnAsync.js +37 -41
  244. package/lib/server/utils/task.js +31 -38
  245. package/lib/server/utils/userAgent.js +73 -66
  246. package/lib/server/utils/wsServer.js +68 -75
  247. package/lib/server/utils/zipFile.js +36 -37
  248. package/lib/server/utils/zones.js +37 -34
  249. package/lib/server/webkit/protocol.d.js +16 -0
  250. package/lib/server/webkit/webkit.js +77 -61
  251. package/lib/server/webkit/wkAccessibility.js +161 -118
  252. package/lib/server/webkit/wkBrowser.js +193 -184
  253. package/lib/server/webkit/wkConnection.js +59 -83
  254. package/lib/server/webkit/wkExecutionContext.js +85 -70
  255. package/lib/server/webkit/wkInput.js +97 -95
  256. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  257. package/lib/server/webkit/wkPage.js +568 -667
  258. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  259. package/lib/server/webkit/wkWorkers.js +79 -79
  260. package/lib/utils/expectUtils.js +31 -26
  261. package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
  262. package/lib/utils/isomorphic/assert.js +28 -22
  263. package/lib/utils/isomorphic/colors.js +66 -59
  264. package/lib/utils/isomorphic/cssParser.js +120 -125
  265. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  266. package/lib/utils/isomorphic/headers.js +38 -37
  267. package/lib/utils/isomorphic/locatorGenerators.js +358 -357
  268. package/lib/utils/isomorphic/locatorParser.js +96 -105
  269. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  270. package/lib/utils/isomorphic/manualPromise.js +46 -39
  271. package/lib/utils/isomorphic/mimeType.js +447 -25
  272. package/lib/utils/isomorphic/multimap.js +34 -27
  273. package/lib/utils/isomorphic/protocolFormatter.js +68 -0
  274. package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
  275. package/lib/utils/isomorphic/recorderUtils.js +140 -181
  276. package/lib/utils/isomorphic/rtti.js +35 -33
  277. package/lib/utils/isomorphic/selectorParser.js +182 -193
  278. package/lib/utils/isomorphic/semaphore.js +27 -24
  279. package/lib/utils/isomorphic/stackTrace.js +87 -98
  280. package/lib/utils/isomorphic/stringUtils.js +98 -112
  281. package/lib/utils/isomorphic/time.js +46 -22
  282. package/lib/utils/isomorphic/timeoutRunner.js +53 -53
  283. package/lib/utils/isomorphic/traceUtils.js +37 -41
  284. package/lib/utils/isomorphic/types.js +15 -4
  285. package/lib/utils/isomorphic/urlMatch.js +113 -67
  286. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  287. package/lib/utils.js +101 -443
  288. package/lib/utilsBundle.js +101 -52
  289. package/lib/utilsBundleImpl/index.js +160 -150
  290. package/lib/zipBundle.js +32 -23
  291. package/lib/zipBundleImpl.js +4 -4
  292. package/package.json +1 -1
  293. package/types/protocol.d.ts +1267 -1057
  294. package/types/types.d.ts +131 -29
  295. package/lib/common/socksProxy.js +0 -569
  296. package/lib/common/timeoutSettings.js +0 -73
  297. package/lib/common/types.js +0 -5
  298. package/lib/image_tools/colorUtils.js +0 -98
  299. package/lib/image_tools/compare.js +0 -108
  300. package/lib/image_tools/imageChannel.js +0 -70
  301. package/lib/image_tools/stats.js +0 -102
  302. package/lib/protocol/debug.js +0 -27
  303. package/lib/protocol/transport.js +0 -82
  304. package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
  305. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
  306. package/lib/server/recorder/contextRecorder.js +0 -290
  307. package/lib/server/recorder/recorderCollection.js +0 -104
  308. package/lib/server/recorder/recorderFrontend.js +0 -5
  309. package/lib/server/storageScript.js +0 -160
  310. package/lib/server/timeoutSettings.js +0 -74
  311. package/lib/third_party/diff_match_patch.js +0 -2222
  312. package/lib/utils/ascii.js +0 -31
  313. package/lib/utils/comparators.js +0 -171
  314. package/lib/utils/crypto.js +0 -174
  315. package/lib/utils/debug.js +0 -46
  316. package/lib/utils/debugLogger.js +0 -91
  317. package/lib/utils/env.js +0 -49
  318. package/lib/utils/eventsHelper.js +0 -38
  319. package/lib/utils/fileUtils.js +0 -205
  320. package/lib/utils/happy-eyeballs.js +0 -210
  321. package/lib/utils/headers.js +0 -52
  322. package/lib/utils/hostPlatform.js +0 -133
  323. package/lib/utils/httpServer.js +0 -237
  324. package/lib/utils/index.js +0 -368
  325. package/lib/utils/linuxUtils.js +0 -78
  326. package/lib/utils/manualPromise.js +0 -109
  327. package/lib/utils/multimap.js +0 -75
  328. package/lib/utils/network.js +0 -160
  329. package/lib/utils/processLauncher.js +0 -248
  330. package/lib/utils/profiler.js +0 -53
  331. package/lib/utils/rtti.js +0 -44
  332. package/lib/utils/semaphore.js +0 -51
  333. package/lib/utils/spawnAsync.js +0 -45
  334. package/lib/utils/stackTrace.js +0 -121
  335. package/lib/utils/task.js +0 -58
  336. package/lib/utils/time.js +0 -37
  337. package/lib/utils/timeoutRunner.js +0 -66
  338. package/lib/utils/traceUtils.js +0 -44
  339. package/lib/utils/userAgent.js +0 -105
  340. package/lib/utils/wsServer.js +0 -127
  341. package/lib/utils/zipFile.js +0 -75
  342. package/lib/utils/zones.js +0 -62
  343. package/lib/vite/htmlReport/index.html +0 -69
  344. package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +0 -24
  345. package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
  346. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  347. package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
  348. package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
  349. package/lib/vite/recorder/index.html +0 -29
  350. package/lib/vite/recorder/playwright-logo.svg +0 -9
  351. package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +0 -24
  352. package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +0 -1
  353. package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +0 -235
  354. package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +0 -25
  355. package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
  356. package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
  357. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  358. package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +0 -1
  359. package/lib/vite/traceViewer/embedded.DpNPH6mk.js +0 -2
  360. package/lib/vite/traceViewer/embedded.html +0 -18
  361. package/lib/vite/traceViewer/embedded.mLhjB5IF.css +0 -1
  362. package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
  363. package/lib/vite/traceViewer/index.CuE3SYGw.js +0 -2
  364. package/lib/vite/traceViewer/index.html +0 -47
  365. package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +0 -1
  366. package/lib/vite/traceViewer/playwright-logo.svg +0 -9
  367. package/lib/vite/traceViewer/recorder.BD-uZJs7.js +0 -2
  368. package/lib/vite/traceViewer/recorder.html +0 -17
  369. package/lib/vite/traceViewer/recorder.tn0RQdqM.css +0 -0
  370. package/lib/vite/traceViewer/snapshot.html +0 -21
  371. package/lib/vite/traceViewer/sw.bundle.js +0 -3
  372. package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
  373. package/lib/vite/traceViewer/uiMode.DHrNgddz.js +0 -5
  374. package/lib/vite/traceViewer/uiMode.html +0 -21
  375. package/lib/vite/traceViewer/workbench.B9vIAzH9.css +0 -1
  376. package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
@@ -1,73 +1,92 @@
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 browserServerImpl_exports = {};
30
+ __export(browserServerImpl_exports, {
31
+ BrowserServerLauncherImpl: () => BrowserServerLauncherImpl
5
32
  });
6
- exports.BrowserServerLauncherImpl = void 0;
7
- var _socksProxy = require("./server/utils/socksProxy");
8
- var _playwrightServer = require("./remote/playwrightServer");
9
- var _helper = require("./server/helper");
10
- var _instrumentation = require("./server/instrumentation");
11
- var _playwright = require("./server/playwright");
12
- var _crypto = require("./server/utils/crypto");
13
- var _stackTrace = require("./utils/isomorphic/stackTrace");
14
- var _utilsBundle = require("./utilsBundle");
15
- /**
16
- * Copyright (c) Microsoft Corporation.
17
- *
18
- * Licensed under the Apache License, Version 2.0 (the 'License");
19
- * you may not use this file except in compliance with the License.
20
- * You may obtain a copy of the License at
21
- *
22
- * http://www.apache.org/licenses/LICENSE-2.0
23
- *
24
- * Unless required by applicable law or agreed to in writing, software
25
- * distributed under the License is distributed on an "AS IS" BASIS,
26
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27
- * See the License for the specific language governing permissions and
28
- * limitations under the License.
29
- */
30
-
33
+ module.exports = __toCommonJS(browserServerImpl_exports);
34
+ var import_playwrightServer = require("./remote/playwrightServer");
35
+ var import_helper = require("./server/helper");
36
+ var import_instrumentation = require("./server/instrumentation");
37
+ var import_playwright = require("./server/playwright");
38
+ var import_crypto = require("./server/utils/crypto");
39
+ var import_debug = require("./server/utils/debug");
40
+ var import_stackTrace = require("./utils/isomorphic/stackTrace");
41
+ var import_time = require("./utils/isomorphic/time");
42
+ var import_utilsBundle = require("./utilsBundle");
43
+ var validatorPrimitives = __toESM(require("./protocol/validatorPrimitives"));
44
+ var import_progress = require("./server/progress");
31
45
  class BrowserServerLauncherImpl {
32
46
  constructor(browserName) {
33
- this._browserName = void 0;
34
47
  this._browserName = browserName;
35
48
  }
36
49
  async launchServer(options = {}) {
37
- const playwright = (0, _playwright.createPlaywright)({
38
- sdkLanguage: 'javascript',
39
- isServer: true
40
- });
41
- // TODO: enable socks proxy once ipv6 is supported.
42
- const socksProxy = false ? new _socksProxy.SocksProxy() : undefined;
43
- playwright.options.socksProxyPort = await (socksProxy === null || socksProxy === void 0 ? void 0 : socksProxy.listen(0));
44
-
45
- // 1. Pre-launch the browser
46
- const metadata = (0, _instrumentation.serverSideCallMetadata)();
47
- const browser = await playwright[this._browserName].launch(metadata, {
50
+ const playwright = (0, import_playwright.createPlaywright)({ sdkLanguage: "javascript", isServer: true });
51
+ const metadata = (0, import_instrumentation.serverSideCallMetadata)();
52
+ const validatorContext = {
53
+ tChannelImpl: (names, arg, path2) => {
54
+ throw new validatorPrimitives.ValidationError(`${path2}: channels are not expected in launchServer`);
55
+ },
56
+ binary: "buffer",
57
+ isUnderTest: import_debug.isUnderTest
58
+ };
59
+ let launchOptions = {
48
60
  ...options,
49
- ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : undefined,
61
+ ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : void 0,
50
62
  ignoreAllDefaultArgs: !!options.ignoreDefaultArgs && !Array.isArray(options.ignoreDefaultArgs),
51
- env: options.env ? envObjectToArray(options.env) : undefined
52
- }, toProtocolLogger(options.logger)).catch(e => {
53
- const log = _helper.helper.formatBrowserLogs(metadata.log);
54
- (0, _stackTrace.rewriteErrorMessage)(e, `${e.message} Failed to launch browser.${log}`);
63
+ env: options.env ? envObjectToArray(options.env) : void 0,
64
+ timeout: options.timeout ?? import_time.DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT
65
+ };
66
+ let browser;
67
+ try {
68
+ const controller = new import_progress.ProgressController(metadata, playwright[this._browserName]);
69
+ browser = await controller.run(async (progress) => {
70
+ if (options._userDataDir !== void 0) {
71
+ const validator = validatorPrimitives.scheme["BrowserTypeLaunchPersistentContextParams"];
72
+ launchOptions = validator({ ...launchOptions, userDataDir: options._userDataDir }, "", validatorContext);
73
+ const context = await playwright[this._browserName].launchPersistentContext(progress, options._userDataDir, launchOptions);
74
+ return context._browser;
75
+ } else {
76
+ const validator = validatorPrimitives.scheme["BrowserTypeLaunchParams"];
77
+ launchOptions = validator(launchOptions, "", validatorContext);
78
+ return await playwright[this._browserName].launch(progress, launchOptions, toProtocolLogger(options.logger));
79
+ }
80
+ });
81
+ } catch (e) {
82
+ const log = import_helper.helper.formatBrowserLogs(metadata.log);
83
+ (0, import_stackTrace.rewriteErrorMessage)(e, `${e.message} Failed to launch browser.${log}`);
55
84
  throw e;
56
- });
57
- const path = options.wsPath ? options.wsPath.startsWith('/') ? options.wsPath : `/${options.wsPath}` : `/${(0, _crypto.createGuid)()}`;
58
-
59
- // 2. Start the server
60
- const server = new _playwrightServer.PlaywrightServer({
61
- mode: 'launchServer',
62
- path,
63
- maxConnections: Infinity,
64
- preLaunchedBrowser: browser,
65
- preLaunchedSocksProxy: socksProxy
66
- });
85
+ }
86
+ const path = options.wsPath ? options.wsPath.startsWith("/") ? options.wsPath : `/${options.wsPath}` : `/${(0, import_crypto.createGuid)()}`;
87
+ const server = new import_playwrightServer.PlaywrightServer({ mode: options._sharedBrowser ? "launchServerShared" : "launchServer", path, maxConnections: Infinity, preLaunchedBrowser: browser });
67
88
  const wsEndpoint = await server.listen(options.port, options.host);
68
-
69
- // 3. Return the BrowserServer interface
70
- const browserServer = new _utilsBundle.ws.EventEmitter();
89
+ const browserServer = new import_utilsBundle.ws.EventEmitter();
71
90
  browserServer.process = () => browser.options.browserProcess.process;
72
91
  browserServer.wsEndpoint = () => wsEndpoint;
73
92
  browserServer.close = () => browser.options.browserProcess.close();
@@ -76,26 +95,27 @@ class BrowserServerLauncherImpl {
76
95
  browserServer._disconnectForTest = () => server.close();
77
96
  browserServer._userDataDirForTest = browser._userDataDirForTest;
78
97
  browser.options.browserProcess.onclose = (exitCode, signal) => {
79
- socksProxy === null || socksProxy === void 0 || socksProxy.close().catch(() => {});
80
98
  server.close();
81
- browserServer.emit('close', exitCode, signal);
99
+ browserServer.emit("close", exitCode, signal);
82
100
  };
83
101
  return browserServer;
84
102
  }
85
103
  }
86
- exports.BrowserServerLauncherImpl = BrowserServerLauncherImpl;
87
104
  function toProtocolLogger(logger) {
88
105
  return logger ? (direction, message) => {
89
- if (logger.isEnabled('protocol', 'verbose')) logger.log('protocol', 'verbose', (direction === 'send' ? 'SEND ► ' : '◀ RECV ') + JSON.stringify(message), [], {});
90
- } : undefined;
106
+ if (logger.isEnabled("protocol", "verbose"))
107
+ logger.log("protocol", "verbose", (direction === "send" ? "SEND \u25BA " : "\u25C0 RECV ") + JSON.stringify(message), [], {});
108
+ } : void 0;
91
109
  }
92
110
  function envObjectToArray(env) {
93
111
  const result = [];
94
112
  for (const name in env) {
95
- if (!Object.is(env[name], undefined)) result.push({
96
- name,
97
- value: String(env[name])
98
- });
113
+ if (!Object.is(env[name], void 0))
114
+ result.push({ name, value: String(env[name]) });
99
115
  }
100
116
  return result;
101
- }
117
+ }
118
+ // Annotate the CommonJS export names for ESM import in node:
119
+ 0 && (module.exports = {
120
+ BrowserServerLauncherImpl
121
+ });
@@ -1,33 +1,29 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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 escapeRegExp_exports = {};
20
+ __export(escapeRegExp_exports, {
21
+ default: () => escapeRegExp_default
5
22
  });
6
- exports.default = void 0;
7
- /**
8
- * Copyright (c) 2009-2020 Lodash.
9
- * Taken from: https://github.com/lodash/lodash/blob/main/src/escapeRegExp.ts
10
- * Used to match `RegExp`
11
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
12
- */
23
+ module.exports = __toCommonJS(escapeRegExp_exports);
13
24
  const reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
14
25
  const reHasRegExpChar = RegExp(reRegExpChar.source);
15
-
16
- /**
17
- * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+",
18
- * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`.
19
- *
20
- * @since 3.0.0
21
- * @category String
22
- * @param {string} [string=''] The string to escape.
23
- * @returns {string} Returns the escaped string.
24
- * @see escape, escapeRegExp, unescape
25
- * @example
26
- *
27
- * escapeRegExp('[lodash](https://lodash.com/)')
28
- * // => '\[lodash\]\(https://lodash\.com/\)'
29
- */
30
26
  function escapeRegExp(string) {
31
- return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, '\\$&') : string || '';
27
+ return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, "\\$&") : string || "";
32
28
  }
33
- var _default = exports.default = escapeRegExp;
29
+ var escapeRegExp_default = escapeRegExp;
@@ -1,17 +1,36 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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 fetch_exports = {};
20
+ __export(fetch_exports, {
21
+ addRequestListeners: () => addRequestListeners,
22
+ getBody: () => getBody,
23
+ getClientCertificates: () => getClientCertificates,
24
+ getRequestBody: () => getRequestBody,
25
+ getRequestHeaders: () => getRequestHeaders,
26
+ getTimings: () => getTimings,
27
+ initializeTimings: () => initializeTimings,
28
+ parseQueryParameters: () => parseQueryParameters,
29
+ setSWatcherCurrentStepData: () => setSWatcherCurrentStepData
5
30
  });
6
- exports.setSWatcherCurrentStepData = exports.parseQueryParameters = exports.initializeTimings = exports.getTimings = exports.getRequestHeaders = exports.getRequestBody = exports.getClientCertificates = exports.getBody = exports.addRequestListeners = void 0;
7
- var _utils = require("../utils");
8
- /**
9
- * Get client custom certificates.
10
- *
11
- * @param {Object} options
12
- * @returns Object
13
- */
14
- const getClientCertificates = options => {
31
+ module.exports = __toCommonJS(fetch_exports);
32
+ var import_utils = require("../utils");
33
+ const getClientCertificates = (options) => {
15
34
  if (!options.certs) return {};
16
35
  return {
17
36
  cert: options.cert,
@@ -20,68 +39,56 @@ const getClientCertificates = options => {
20
39
  ca: options.ca
21
40
  };
22
41
  };
23
- exports.getClientCertificates = getClientCertificates;
24
42
  const setSWatcherCurrentStepData = (sWatcher, result) => {
25
43
  if (!sWatcher) return;
26
44
  sWatcher.appendCurrentStepData({
27
45
  ...result.response,
28
- checklyStepCategory: 'api-call'
46
+ checklyStepCategory: "api-call"
29
47
  });
30
48
  };
31
- exports.setSWatcherCurrentStepData = setSWatcherCurrentStepData;
32
- const getRequestHeaders = headers => {
49
+ const getRequestHeaders = (headers) => {
33
50
  return Object.entries(headers).map(([key, value]) => {
34
51
  return {
35
52
  name: key,
36
- value: value
53
+ value
37
54
  };
38
55
  });
39
56
  };
40
- exports.getRequestHeaders = getRequestHeaders;
41
57
  const getRequestBody = (postData, multipartData, options) => {
42
58
  const requestBody = {};
43
59
  if (postData) {
44
60
  requestBody.data = getBody(postData);
45
61
  } else if (multipartData && multipartData.length > 0) {
46
- requestBody.multipart = multipartData.map(field => {
47
- var _field$file, _field$file2, _field$file3;
48
- const multiPartBuffer = getBody(((_field$file = field.file) === null || _field$file === void 0 ? void 0 : _field$file.buffer) || Buffer.from(''));
62
+ requestBody.multipart = multipartData.map((field) => {
63
+ const multiPartBuffer = getBody(field.file?.buffer || Buffer.from(""));
49
64
  return {
50
65
  name: field.name,
51
66
  value: field.value,
52
67
  file: {
53
- name: (_field$file2 = field.file) === null || _field$file2 === void 0 ? void 0 : _field$file2.name,
54
- mimeType: (_field$file3 = field.file) === null || _field$file3 === void 0 ? void 0 : _field$file3.mimeType,
68
+ name: field.file?.name,
69
+ mimeType: field.file?.mimeType,
55
70
  buffer: multiPartBuffer
56
71
  }
57
72
  };
58
73
  });
59
74
  }
60
75
  for (const [key, value] of Object.entries(options)) {
61
- if (key !== 'headers' && key !== 'method') {
76
+ if (key !== "headers" && key !== "method") {
62
77
  requestBody[key] = value;
63
78
  }
64
79
  }
65
80
  return requestBody;
66
81
  };
67
- exports.getRequestBody = getRequestBody;
68
- const parseQueryParameters = url => {
82
+ const parseQueryParameters = (url) => {
69
83
  const searchParams = new URL(url).searchParams;
70
84
  const parameters = [];
71
85
  for (const [name, value] of searchParams.entries()) {
72
- parameters.push({
73
- name,
74
- value
75
- });
86
+ parameters.push({ name, value });
76
87
  }
77
88
  return parameters;
78
89
  };
79
- exports.parseQueryParameters = parseQueryParameters;
80
- const getTimings = eventTimes => {
81
- const {
82
- agent,
83
- values
84
- } = eventTimes;
90
+ const getTimings = (eventTimes) => {
91
+ const { agent, values } = eventTimes;
85
92
  const end = performance.now() - values.startTimeNow;
86
93
  const socket = values.socket || 0;
87
94
  const lookup = values.lookup || socket;
@@ -96,18 +103,15 @@ const getTimings = eventTimes => {
96
103
  total: end
97
104
  };
98
105
  };
99
- exports.getTimings = getTimings;
100
- const getBody = body => {
101
- const responseBodySizeLimit = 100000;
102
- //@ts-ignore
103
- const bodyAsText = Buffer.byteLength(body, 'utf-8') > responseBodySizeLimit ? body.slice(0, responseBodySizeLimit).toString('utf8') + '...' : body.toString('utf8');
106
+ const getBody = (body) => {
107
+ const responseBodySizeLimit = 1e5;
108
+ const bodyAsText = Buffer.byteLength(body, "utf-8") > responseBodySizeLimit ? body.slice(0, responseBodySizeLimit).toString("utf8") + "..." : body.toString("utf8");
104
109
  try {
105
110
  return JSON.parse(bodyAsText);
106
111
  } catch {
107
112
  return bodyAsText;
108
113
  }
109
114
  };
110
- exports.getBody = getBody;
111
115
  const initializeTimings = () => {
112
116
  return {
113
117
  values: {
@@ -116,11 +120,25 @@ const initializeTimings = () => {
116
120
  agent: false
117
121
  };
118
122
  };
119
- exports.initializeTimings = initializeTimings;
120
123
  const addRequestListeners = (request, timings, listeners) => {
121
- request.on('socket', socket => {
124
+ request.on("socket", (socket) => {
122
125
  timings.values.socket = performance.now() - timings.values.startTimeNow;
123
- listeners.push(_utils.eventsHelper.addEventListener(socket, 'connect', () => timings.values.connect = performance.now() - timings.values.startTimeNow), _utils.eventsHelper.addEventListener(socket, 'lookup', () => timings.values.lookup = performance.now() - timings.values.startTimeNow), _utils.eventsHelper.addEventListener(socket, 'secureConnect', () => timings.values.tlsHandshake = performance.now() - timings.values.startTimeNow));
126
+ listeners.push(
127
+ import_utils.eventsHelper.addEventListener(socket, "connect", () => timings.values.connect = performance.now() - timings.values.startTimeNow),
128
+ import_utils.eventsHelper.addEventListener(socket, "lookup", () => timings.values.lookup = performance.now() - timings.values.startTimeNow),
129
+ import_utils.eventsHelper.addEventListener(socket, "secureConnect", () => timings.values.tlsHandshake = performance.now() - timings.values.startTimeNow)
130
+ );
124
131
  });
125
132
  };
126
- exports.addRequestListeners = addRequestListeners;
133
+ // Annotate the CommonJS export names for ESM import in node:
134
+ 0 && (module.exports = {
135
+ addRequestListeners,
136
+ getBody,
137
+ getClientCertificates,
138
+ getRequestBody,
139
+ getRequestHeaders,
140
+ getTimings,
141
+ initializeTimings,
142
+ parseQueryParameters,
143
+ setSWatcherCurrentStepData
144
+ });
@@ -1,50 +1,64 @@
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 secretsFilter_exports = {};
30
+ __export(secretsFilter_exports, {
31
+ secretsFilter: () => secretsFilter
5
32
  });
6
- exports.secretsFilter = void 0;
7
- var _escapeRegExp = _interopRequireDefault(require("./escapeRegExp"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- /* Copyright Checkly
10
- */
11
-
12
- const IdentityFunction = s => s;
13
- const disabled = process.env['CHECKLY_INTERNAL_ENABLE_PATCHED_TRACING'] !== 'true';
14
- // GitLeaks
15
- const gitLeaksKeys = process.env['CHECKLY_GITLEAKS_RULES'] || '[]';
16
- const gitLeaksKeyList = JSON.parse(gitLeaksKeys).map(rule => new RegExp(rule, 'gi'));
17
- const secretPlaceholder = '*********';
33
+ module.exports = __toCommonJS(secretsFilter_exports);
34
+ var import_escapeRegExp = __toESM(require("./escapeRegExp"));
35
+ const IdentityFunction = (s) => s;
18
36
  const secretsFilter = () => {
19
- if (disabled) return IdentityFunction;
20
-
21
- // Cache for regex to avoid recompiling on every call
37
+ const disabled = process.env["CHECKLY_INTERNAL_ENABLE_PATCHED_TRACING"] !== "true";
38
+ if (disabled)
39
+ return IdentityFunction;
22
40
  let cachedRegex = null;
23
- let cachedKeys = '';
24
-
25
- // Regex to filter out console markers
41
+ let cachedKeys = "";
26
42
  const consoleMarkerRegex = /\[CHECKLY_RUNTIME_SECRET\].*?\[\/CHECKLY_RUNTIME_SECRET\]/g;
27
- return s => {
28
- const keys = process.env['CHECKLY_INTERNAL_REPLACE_TRACE_KEYS'] || '[]';
29
-
30
- // Only recompile regex if keys have changed (handles runtime CHECKLY_SECRET_ variables)
43
+ return (s) => {
44
+ const keys = process.env["CHECKLY_INTERNAL_REPLACE_TRACE_KEYS"] || "[]";
31
45
  if (keys !== cachedKeys) {
32
46
  const keylist = JSON.parse(keys);
33
47
  if (keylist.length === 0) {
34
48
  cachedRegex = null;
35
49
  } else {
36
- const escapedList = keylist.map(_escapeRegExp.default);
37
- cachedRegex = new RegExp(escapedList.join('|'), 'g');
50
+ const escapedList = keylist.map(import_escapeRegExp.default);
51
+ cachedRegex = new RegExp(escapedList.join("|"), "g");
38
52
  }
39
53
  cachedKeys = keys;
40
54
  }
41
-
42
- // First filter out console markers entirely
43
- const filtered = s.replace(consoleMarkerRegex, '');
44
- const gitLeaksFiltered = gitLeaksKeyList.reduce((memo, gitLeaksRule) => {
45
- return memo.replaceAll(gitLeaksRule, secretPlaceholder);
46
- }, filtered);
47
- return cachedRegex ? gitLeaksFiltered.replaceAll(cachedRegex, secretPlaceholder) : gitLeaksFiltered;
55
+ let filtered = s.replace(consoleMarkerRegex, "");
56
+ if (cachedRegex)
57
+ filtered = filtered.replaceAll(cachedRegex, "*********");
58
+ return filtered;
48
59
  };
49
60
  };
50
- exports.secretsFilter = secretsFilter;
61
+ // Annotate the CommonJS export names for ESM import in node:
62
+ 0 && (module.exports = {
63
+ secretsFilter
64
+ });