rebrowser-playwright-core 1.49.1 → 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 (372) 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 -597
  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 +351 -434
  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 -647
  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-C5j27SYZ.js → codeMirrorModule-DVQi6prl.js} +13 -13
  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 +181 -69
  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/index-m0XdVJHe.js +0 -184
  355. package/lib/vite/traceViewer/assets/codeMirrorModule-BBCX0spr.js +0 -24
  356. package/lib/vite/traceViewer/assets/inspectorTab-B4Iw34Ow.js +0 -68
  357. package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
  358. package/lib/vite/traceViewer/assets/workbench-DFlGYqou.js +0 -9
  359. package/lib/vite/traceViewer/embedded.CmarehFk.js +0 -2
  360. package/lib/vite/traceViewer/embedded.html +0 -18
  361. package/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
  362. package/lib/vite/traceViewer/index.FBucu_gE.js +0 -2
  363. package/lib/vite/traceViewer/inspectorTab.DEOUW62d.css +0 -1
  364. package/lib/vite/traceViewer/recorder.B_SY1GJM.css +0 -0
  365. package/lib/vite/traceViewer/recorder.CW_rzcEp.js +0 -2
  366. package/lib/vite/traceViewer/recorder.html +0 -17
  367. package/lib/vite/traceViewer/uiMode.CDUVjusr.js +0 -5
  368. package/lib/vite/traceViewer/workbench.C-zR9ysA.css +0 -1
  369. /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
  370. /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
  371. /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
  372. /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
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 colors_exports = {};
20
+ __export(colors_exports, {
21
+ noColors: () => noColors,
22
+ webColors: () => webColors
23
+ });
24
+ module.exports = __toCommonJS(colors_exports);
25
+ const webColors = {
26
+ enabled: true,
27
+ reset: (text) => applyStyle(0, 0, text),
28
+ bold: (text) => applyStyle(1, 22, text),
29
+ dim: (text) => applyStyle(2, 22, text),
30
+ italic: (text) => applyStyle(3, 23, text),
31
+ underline: (text) => applyStyle(4, 24, text),
32
+ inverse: (text) => applyStyle(7, 27, text),
33
+ hidden: (text) => applyStyle(8, 28, text),
34
+ strikethrough: (text) => applyStyle(9, 29, text),
35
+ black: (text) => applyStyle(30, 39, text),
36
+ red: (text) => applyStyle(31, 39, text),
37
+ green: (text) => applyStyle(32, 39, text),
38
+ yellow: (text) => applyStyle(33, 39, text),
39
+ blue: (text) => applyStyle(34, 39, text),
40
+ magenta: (text) => applyStyle(35, 39, text),
41
+ cyan: (text) => applyStyle(36, 39, text),
42
+ white: (text) => applyStyle(37, 39, text),
43
+ gray: (text) => applyStyle(90, 39, text),
44
+ grey: (text) => applyStyle(90, 39, text)
45
+ };
46
+ const noColors = {
47
+ enabled: false,
48
+ reset: (t) => t,
49
+ bold: (t) => t,
50
+ dim: (t) => t,
51
+ italic: (t) => t,
52
+ underline: (t) => t,
53
+ inverse: (t) => t,
54
+ hidden: (t) => t,
55
+ strikethrough: (t) => t,
56
+ black: (t) => t,
57
+ red: (t) => t,
58
+ green: (t) => t,
59
+ yellow: (t) => t,
60
+ blue: (t) => t,
61
+ magenta: (t) => t,
62
+ cyan: (t) => t,
63
+ white: (t) => t,
64
+ gray: (t) => t,
65
+ grey: (t) => t
66
+ };
67
+ const applyStyle = (open, close, text) => `\x1B[${open}m${text}\x1B[${close}m`;
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ noColors,
71
+ webColors
72
+ });
@@ -1,74 +1,77 @@
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 cssParser_exports = {};
30
+ __export(cssParser_exports, {
31
+ InvalidSelectorError: () => InvalidSelectorError,
32
+ isInvalidSelectorError: () => isInvalidSelectorError,
33
+ parseCSS: () => parseCSS,
34
+ serializeSelector: () => serializeSelector
5
35
  });
6
- exports.InvalidSelectorError = void 0;
7
- exports.isInvalidSelectorError = isInvalidSelectorError;
8
- exports.parseCSS = parseCSS;
9
- exports.serializeSelector = serializeSelector;
10
- var css = _interopRequireWildcard(require("./cssTokenizer"));
11
- 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); }
12
- 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; }
13
- /**
14
- * Copyright (c) Microsoft Corporation.
15
- *
16
- * Licensed under the Apache License, Version 2.0 (the "License");
17
- * you may not use this file except in compliance with the License.
18
- * You may obtain a copy of the License at
19
- *
20
- * http://www.apache.org/licenses/LICENSE-2.0
21
- *
22
- * Unless required by applicable law or agreed to in writing, software
23
- * distributed under the License is distributed on an "AS IS" BASIS,
24
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25
- * See the License for the specific language governing permissions and
26
- * limitations under the License.
27
- */
28
-
29
- class InvalidSelectorError extends Error {}
30
- exports.InvalidSelectorError = InvalidSelectorError;
36
+ module.exports = __toCommonJS(cssParser_exports);
37
+ var import_builtins = require("./builtins");
38
+ var css = __toESM(require("./cssTokenizer"));
39
+ class InvalidSelectorError extends Error {
40
+ }
31
41
  function isInvalidSelectorError(error) {
32
42
  return error instanceof InvalidSelectorError;
33
43
  }
34
-
35
- // Note: '>=' is used internally for text engine to preserve backwards compatibility.
36
-
37
- // TODO: consider
38
- // - key=value
39
- // - operators like `=`, `|=`, `~=`, `*=`, `/`
40
- // - <empty>~=value
41
- // - argument modes: "parse all", "parse commas", "just a string"
42
-
43
44
  function parseCSS(selector, customNames) {
44
45
  let tokens;
45
46
  try {
46
47
  tokens = css.tokenize(selector);
47
- if (!(tokens[tokens.length - 1] instanceof css.EOFToken)) tokens.push(new css.EOFToken());
48
+ if (!(tokens[tokens.length - 1] instanceof css.EOFToken))
49
+ tokens.push(new css.EOFToken());
48
50
  } catch (e) {
49
- const newMessage = e.message + ` while parsing selector "${selector}"`;
50
- const index = (e.stack || '').indexOf(e.message);
51
- if (index !== -1) e.stack = e.stack.substring(0, index) + newMessage + e.stack.substring(index + e.message.length);
51
+ const newMessage = e.message + ` while parsing css selector "${selector}". Did you mean to CSS.escape it?`;
52
+ const index = (e.stack || "").indexOf(e.message);
53
+ if (index !== -1)
54
+ e.stack = e.stack.substring(0, index) + newMessage + e.stack.substring(index + e.message.length);
52
55
  e.message = newMessage;
53
56
  throw e;
54
57
  }
55
- const unsupportedToken = tokens.find(token => {
56
- return token instanceof css.AtKeywordToken || token instanceof css.BadStringToken || token instanceof css.BadURLToken || token instanceof css.ColumnToken || token instanceof css.CDOToken || token instanceof css.CDCToken || token instanceof css.SemicolonToken ||
57
- // TODO: Consider using these for something, e.g. to escape complex strings.
58
+ const unsupportedToken = tokens.find((token) => {
59
+ return token instanceof css.AtKeywordToken || token instanceof css.BadStringToken || token instanceof css.BadURLToken || token instanceof css.ColumnToken || token instanceof css.CDOToken || token instanceof css.CDCToken || token instanceof css.SemicolonToken || // TODO: Consider using these for something, e.g. to escape complex strings.
58
60
  // For example :xpath{ (//div/bar[@attr="foo"])[2]/baz }
59
61
  // Or this way :xpath( {complex-xpath-goes-here("hello")} )
60
- token instanceof css.OpenCurlyToken || token instanceof css.CloseCurlyToken ||
61
- // TODO: Consider treating these as strings?
62
+ token instanceof css.OpenCurlyToken || token instanceof css.CloseCurlyToken || // TODO: Consider treating these as strings?
62
63
  token instanceof css.URLToken || token instanceof css.PercentageToken;
63
64
  });
64
- if (unsupportedToken) throw new InvalidSelectorError(`Unsupported token "${unsupportedToken.toSource()}" while parsing selector "${selector}"`);
65
+ if (unsupportedToken)
66
+ throw new InvalidSelectorError(`Unsupported token "${unsupportedToken.toSource()}" while parsing css selector "${selector}". Did you mean to CSS.escape it?`);
65
67
  let pos = 0;
66
- const names = new Set();
68
+ const names = new import_builtins.Set();
67
69
  function unexpected() {
68
- return new InvalidSelectorError(`Unexpected token "${tokens[pos].toSource()}" while parsing selector "${selector}"`);
70
+ return new InvalidSelectorError(`Unexpected token "${tokens[pos].toSource()}" while parsing css selector "${selector}". Did you mean to CSS.escape it?`);
69
71
  }
70
72
  function skipWhitespace() {
71
- while (tokens[pos] instanceof css.WhitespaceToken) pos++;
73
+ while (tokens[pos] instanceof css.WhitespaceToken)
74
+ pos++;
72
75
  }
73
76
  function isIdent(p = pos) {
74
77
  return tokens[p] instanceof css.IdentToken;
@@ -92,92 +95,78 @@ function parseCSS(selector, customNames) {
92
95
  return tokens[p] instanceof css.FunctionToken;
93
96
  }
94
97
  function isStar(p = pos) {
95
- return tokens[p] instanceof css.DelimToken && tokens[p].value === '*';
98
+ return tokens[p] instanceof css.DelimToken && tokens[p].value === "*";
96
99
  }
97
100
  function isEOF(p = pos) {
98
101
  return tokens[p] instanceof css.EOFToken;
99
102
  }
100
103
  function isClauseCombinator(p = pos) {
101
- return tokens[p] instanceof css.DelimToken && ['>', '+', '~'].includes(tokens[p].value);
104
+ return tokens[p] instanceof css.DelimToken && [">", "+", "~"].includes(tokens[p].value);
102
105
  }
103
106
  function isSelectorClauseEnd(p = pos) {
104
107
  return isComma(p) || isCloseParen(p) || isEOF(p) || isClauseCombinator(p) || tokens[p] instanceof css.WhitespaceToken;
105
108
  }
106
109
  function consumeFunctionArguments() {
107
- const result = [consumeArgument()];
110
+ const result2 = [consumeArgument()];
108
111
  while (true) {
109
112
  skipWhitespace();
110
- if (!isComma()) break;
113
+ if (!isComma())
114
+ break;
111
115
  pos++;
112
- result.push(consumeArgument());
116
+ result2.push(consumeArgument());
113
117
  }
114
- return result;
118
+ return result2;
115
119
  }
116
120
  function consumeArgument() {
117
121
  skipWhitespace();
118
- if (isNumber()) return tokens[pos++].value;
119
- if (isString()) return tokens[pos++].value;
122
+ if (isNumber())
123
+ return tokens[pos++].value;
124
+ if (isString())
125
+ return tokens[pos++].value;
120
126
  return consumeComplexSelector();
121
127
  }
122
128
  function consumeComplexSelector() {
123
- const result = {
124
- simples: []
125
- };
129
+ const result2 = { simples: [] };
126
130
  skipWhitespace();
127
131
  if (isClauseCombinator()) {
128
- // Put implicit ":scope" at the start. https://drafts.csswg.org/selectors-4/#relative
129
- result.simples.push({
130
- selector: {
131
- functions: [{
132
- name: 'scope',
133
- args: []
134
- }]
135
- },
136
- combinator: ''
137
- });
132
+ result2.simples.push({ selector: { functions: [{ name: "scope", args: [] }] }, combinator: "" });
138
133
  } else {
139
- result.simples.push({
140
- selector: consumeSimpleSelector(),
141
- combinator: ''
142
- });
134
+ result2.simples.push({ selector: consumeSimpleSelector(), combinator: "" });
143
135
  }
144
136
  while (true) {
145
137
  skipWhitespace();
146
138
  if (isClauseCombinator()) {
147
- result.simples[result.simples.length - 1].combinator = tokens[pos++].value;
139
+ result2.simples[result2.simples.length - 1].combinator = tokens[pos++].value;
148
140
  skipWhitespace();
149
141
  } else if (isSelectorClauseEnd()) {
150
142
  break;
151
143
  }
152
- result.simples.push({
153
- combinator: '',
154
- selector: consumeSimpleSelector()
155
- });
144
+ result2.simples.push({ combinator: "", selector: consumeSimpleSelector() });
156
145
  }
157
- return result;
146
+ return result2;
158
147
  }
159
148
  function consumeSimpleSelector() {
160
- let rawCSSString = '';
149
+ let rawCSSString = "";
161
150
  const functions = [];
162
151
  while (!isSelectorClauseEnd()) {
163
152
  if (isIdent() || isStar()) {
164
153
  rawCSSString += tokens[pos++].toSource();
165
154
  } else if (tokens[pos] instanceof css.HashToken) {
166
155
  rawCSSString += tokens[pos++].toSource();
167
- } else if (tokens[pos] instanceof css.DelimToken && tokens[pos].value === '.') {
156
+ } else if (tokens[pos] instanceof css.DelimToken && tokens[pos].value === ".") {
168
157
  pos++;
169
- if (isIdent()) rawCSSString += '.' + tokens[pos++].toSource();else throw unexpected();
158
+ if (isIdent())
159
+ rawCSSString += "." + tokens[pos++].toSource();
160
+ else
161
+ throw unexpected();
170
162
  } else if (tokens[pos] instanceof css.ColonToken) {
171
163
  pos++;
172
164
  if (isIdent()) {
173
165
  if (!customNames.has(tokens[pos].value.toLowerCase())) {
174
- rawCSSString += ':' + tokens[pos++].toSource();
166
+ rawCSSString += ":" + tokens[pos++].toSource();
175
167
  } else {
176
168
  const name = tokens[pos++].value.toLowerCase();
177
- functions.push({
178
- name,
179
- args: []
180
- });
169
+ functions.push({ name, args: [] });
181
170
  names.add(name);
182
171
  }
183
172
  } else if (isFunction()) {
@@ -185,66 +174,73 @@ function parseCSS(selector, customNames) {
185
174
  if (!customNames.has(name)) {
186
175
  rawCSSString += `:${name}(${consumeBuiltinFunctionArguments()})`;
187
176
  } else {
188
- functions.push({
189
- name,
190
- args: consumeFunctionArguments()
191
- });
177
+ functions.push({ name, args: consumeFunctionArguments() });
192
178
  names.add(name);
193
179
  }
194
180
  skipWhitespace();
195
- if (!isCloseParen()) throw unexpected();
181
+ if (!isCloseParen())
182
+ throw unexpected();
196
183
  pos++;
197
184
  } else {
198
185
  throw unexpected();
199
186
  }
200
187
  } else if (tokens[pos] instanceof css.OpenSquareToken) {
201
- rawCSSString += '[';
188
+ rawCSSString += "[";
202
189
  pos++;
203
- while (!(tokens[pos] instanceof css.CloseSquareToken) && !isEOF()) rawCSSString += tokens[pos++].toSource();
204
- if (!(tokens[pos] instanceof css.CloseSquareToken)) throw unexpected();
205
- rawCSSString += ']';
190
+ while (!(tokens[pos] instanceof css.CloseSquareToken) && !isEOF())
191
+ rawCSSString += tokens[pos++].toSource();
192
+ if (!(tokens[pos] instanceof css.CloseSquareToken))
193
+ throw unexpected();
194
+ rawCSSString += "]";
206
195
  pos++;
207
196
  } else {
208
197
  throw unexpected();
209
198
  }
210
199
  }
211
- if (!rawCSSString && !functions.length) throw unexpected();
212
- return {
213
- css: rawCSSString || undefined,
214
- functions
215
- };
200
+ if (!rawCSSString && !functions.length)
201
+ throw unexpected();
202
+ return { css: rawCSSString || void 0, functions };
216
203
  }
217
204
  function consumeBuiltinFunctionArguments() {
218
- let s = '';
219
- let balance = 1; // First open paren is a part of a function token.
205
+ let s = "";
206
+ let balance = 1;
220
207
  while (!isEOF()) {
221
- if (isOpenParen() || isFunction()) balance++;
222
- if (isCloseParen()) balance--;
223
- if (!balance) break;
208
+ if (isOpenParen() || isFunction())
209
+ balance++;
210
+ if (isCloseParen())
211
+ balance--;
212
+ if (!balance)
213
+ break;
224
214
  s += tokens[pos++].toSource();
225
215
  }
226
216
  return s;
227
217
  }
228
218
  const result = consumeFunctionArguments();
229
- if (!isEOF()) throw unexpected();
230
- if (result.some(arg => typeof arg !== 'object' || !('simples' in arg))) throw new InvalidSelectorError(`Error while parsing selector "${selector}"`);
231
- return {
232
- selector: result,
233
- names: Array.from(names)
234
- };
219
+ if (!isEOF())
220
+ throw unexpected();
221
+ if (result.some((arg) => typeof arg !== "object" || !("simples" in arg)))
222
+ throw new InvalidSelectorError(`Error while parsing css selector "${selector}". Did you mean to CSS.escape it?`);
223
+ return { selector: result, names: Array.from(names) };
235
224
  }
236
225
  function serializeSelector(args) {
237
- return args.map(arg => {
238
- if (typeof arg === 'string') return `"${arg}"`;
239
- if (typeof arg === 'number') return String(arg);
240
- return arg.simples.map(({
241
- selector,
242
- combinator
243
- }) => {
244
- let s = selector.css || '';
245
- s = s + selector.functions.map(func => `:${func.name}(${serializeSelector(func.args)})`).join('');
246
- if (combinator) s += ' ' + combinator;
226
+ return args.map((arg) => {
227
+ if (typeof arg === "string")
228
+ return `"${arg}"`;
229
+ if (typeof arg === "number")
230
+ return String(arg);
231
+ return arg.simples.map(({ selector, combinator }) => {
232
+ let s = selector.css || "";
233
+ s = s + selector.functions.map((func) => `:${func.name}(${serializeSelector(func.args)})`).join("");
234
+ if (combinator)
235
+ s += " " + combinator;
247
236
  return s;
248
- }).join(' ');
249
- }).join(', ');
250
- }
237
+ }).join(" ");
238
+ }).join(", ");
239
+ }
240
+ // Annotate the CommonJS export names for ESM import in node:
241
+ 0 && (module.exports = {
242
+ InvalidSelectorError,
243
+ isInvalidSelectorError,
244
+ parseCSS,
245
+ serializeSelector
246
+ });