@browserless.io/browserless 2.37.0 → 2.38.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 (492) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/build/browsers/index.js +15 -0
  3. package/build/routes/chrome/http/content.post.query.json +3 -0
  4. package/build/routes/chrome/http/download.post.query.json +3 -0
  5. package/build/routes/chrome/http/function.post.query.json +3 -0
  6. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  7. package/build/routes/chrome/http/performance.post.query.json +3 -0
  8. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  9. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  10. package/build/routes/chrome/tests/content.spec.js +21 -0
  11. package/build/routes/chrome/tests/json.spec.js +100 -0
  12. package/build/routes/chrome/ws/browser.query.json +3 -0
  13. package/build/routes/chrome/ws/cdp.query.json +3 -0
  14. package/build/routes/chrome/ws/function-connect.query.json +3 -0
  15. package/build/routes/chrome/ws/page.query.json +3 -0
  16. package/build/routes/chromium/http/content.post.query.json +3 -0
  17. package/build/routes/chromium/http/download.post.query.json +3 -0
  18. package/build/routes/chromium/http/function.post.query.json +3 -0
  19. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  20. package/build/routes/chromium/http/performance.post.query.json +3 -0
  21. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  22. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  23. package/build/routes/chromium/tests/content.spec.js +21 -0
  24. package/build/routes/chromium/tests/function.spec.js +27 -0
  25. package/build/routes/chromium/tests/json.spec.js +100 -0
  26. package/build/routes/chromium/ws/browser.query.json +3 -0
  27. package/build/routes/chromium/ws/cdp.query.json +3 -0
  28. package/build/routes/chromium/ws/function-connect.query.json +3 -0
  29. package/build/routes/chromium/ws/page.query.json +3 -0
  30. package/build/routes/edge/http/content.post.query.json +3 -0
  31. package/build/routes/edge/http/download.post.query.json +3 -0
  32. package/build/routes/edge/http/function.post.query.json +3 -0
  33. package/build/routes/edge/http/pdf.post.query.json +3 -0
  34. package/build/routes/edge/http/performance.post.query.json +3 -0
  35. package/build/routes/edge/http/scrape.post.query.json +3 -0
  36. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  37. package/build/routes/edge/tests/content.spec.js +21 -0
  38. package/build/routes/edge/tests/json.spec.js +100 -0
  39. package/build/routes/edge/ws/browser.query.json +3 -0
  40. package/build/routes/edge/ws/cdp.query.json +3 -0
  41. package/build/routes/edge/ws/function-connect.query.json +3 -0
  42. package/build/routes/edge/ws/page.query.json +3 -0
  43. package/build/routes/management/http/kill.get.query.json +3 -0
  44. package/build/routes/management/http/sessions.get.query.json +3 -0
  45. package/build/routes/management/tests/management.spec.js +44 -0
  46. package/build/server.js +1 -1
  47. package/build/shim.js +11 -1
  48. package/build/shim.spec.js +14 -0
  49. package/build/types.d.ts +2 -0
  50. package/extensions/ublocklite/_locales/ar/messages.json +5 -5
  51. package/extensions/ublocklite/_locales/br_FR/messages.json +2 -2
  52. package/extensions/ublocklite/_locales/cs/messages.json +8 -8
  53. package/extensions/ublocklite/_locales/da/messages.json +5 -5
  54. package/extensions/ublocklite/_locales/de/messages.json +1 -1
  55. package/extensions/ublocklite/_locales/es/messages.json +4 -4
  56. package/extensions/ublocklite/_locales/fa/messages.json +8 -8
  57. package/extensions/ublocklite/_locales/gl/messages.json +5 -5
  58. package/extensions/ublocklite/_locales/hu/messages.json +5 -5
  59. package/extensions/ublocklite/_locales/ka/messages.json +5 -5
  60. package/extensions/ublocklite/_locales/nb/messages.json +7 -7
  61. package/extensions/ublocklite/_locales/pt_PT/messages.json +9 -9
  62. package/extensions/ublocklite/_locales/ro/messages.json +32 -32
  63. package/extensions/ublocklite/_locales/ru/messages.json +3 -3
  64. package/extensions/ublocklite/_locales/sq/messages.json +5 -5
  65. package/extensions/ublocklite/_locales/sv/messages.json +5 -5
  66. package/extensions/ublocklite/_locales/zh_CN/messages.json +5 -5
  67. package/extensions/ublocklite/css/settings.css +6 -0
  68. package/extensions/ublocklite/dashboard.html +1 -1
  69. package/extensions/ublocklite/js/background.js +29 -8
  70. package/extensions/ublocklite/js/dashboard.js +4 -5
  71. package/extensions/ublocklite/js/jsonpath.js +25 -10
  72. package/extensions/ublocklite/js/mode-manager.js +7 -9
  73. package/extensions/ublocklite/js/report.js +2 -4
  74. package/extensions/ublocklite/js/scripting/css-api.js +33 -0
  75. package/extensions/ublocklite/js/scripting/css-generic.js +3 -13
  76. package/extensions/ublocklite/js/scripting/css-procedural-api.js +1 -9
  77. package/extensions/ublocklite/js/scripting/css-procedural.js +1 -5
  78. package/extensions/ublocklite/js/scripting/css-specific.js +1 -5
  79. package/extensions/ublocklite/js/scripting-manager.js +11 -8
  80. package/extensions/ublocklite/js/troubleshooting.js +33 -18
  81. package/extensions/ublocklite/js/utils.js +15 -13
  82. package/extensions/ublocklite/manifest.json +3 -2
  83. package/extensions/ublocklite/rulesets/generic-details.json +4 -2
  84. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +4 -5
  85. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +13 -8
  86. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +24 -18
  87. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +2 -1
  88. package/extensions/ublocklite/rulesets/main/annoyances-others.json +3 -2
  89. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -3
  90. package/extensions/ublocklite/rulesets/main/chn-0.json +26 -16
  91. package/extensions/ublocklite/rulesets/main/deu-0.json +4 -4
  92. package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -1
  93. package/extensions/ublocklite/rulesets/main/easylist.json +44 -101
  94. package/extensions/ublocklite/rulesets/main/easyprivacy.json +28 -15
  95. package/extensions/ublocklite/rulesets/main/est-0.json +2 -1
  96. package/extensions/ublocklite/rulesets/main/fin-0.json +3 -1
  97. package/extensions/ublocklite/rulesets/main/fra-0.json +6 -4
  98. package/extensions/ublocklite/rulesets/main/hrv-0.json +6 -3
  99. package/extensions/ublocklite/rulesets/main/hun-0.json +5 -2
  100. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  101. package/extensions/ublocklite/rulesets/main/ind-0.json +36 -34
  102. package/extensions/ublocklite/rulesets/main/isr-0.json +1 -1
  103. package/extensions/ublocklite/rulesets/main/ita-0.json +6 -3
  104. package/extensions/ublocklite/rulesets/main/jpn-1.json +31 -24
  105. package/extensions/ublocklite/rulesets/main/kor-1.json +5 -3
  106. package/extensions/ublocklite/rulesets/main/mkd-0.json +2 -1
  107. package/extensions/ublocklite/rulesets/main/nld-0.json +3 -1
  108. package/extensions/ublocklite/rulesets/main/nor-0.json +17 -3
  109. package/extensions/ublocklite/rulesets/main/pgl.json +16 -20
  110. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  111. package/extensions/ublocklite/rulesets/main/rus-0.json +14 -13
  112. package/extensions/ublocklite/rulesets/main/rus-1.json +5 -2
  113. package/extensions/ublocklite/rulesets/main/spa-1.json +13 -3
  114. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +11287 -12041
  115. package/extensions/ublocklite/rulesets/main/swe-1.json +24 -22
  116. package/extensions/ublocklite/rulesets/main/tur-0.json +15 -6
  117. package/extensions/ublocklite/rulesets/main/ublock-badware.json +30 -3
  118. package/extensions/ublocklite/rulesets/main/ublock-filters.json +91 -88
  119. package/extensions/ublocklite/rulesets/main/ukr-0.json +3 -3
  120. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +4063 -328
  121. package/extensions/ublocklite/rulesets/main/vie-1.json +62 -51
  122. package/extensions/ublocklite/rulesets/regex/block-lan.json +16 -0
  123. package/extensions/ublocklite/rulesets/regex/chn-0.json +3 -2
  124. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  125. package/extensions/ublocklite/rulesets/regex/jpn-1.json +2 -3
  126. package/extensions/ublocklite/rulesets/regex/rus-0.json +2 -1
  127. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +5 -5
  128. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +23 -14
  129. package/extensions/ublocklite/rulesets/ruleset-details.json +239 -239
  130. package/extensions/ublocklite/rulesets/scripting/generic/adguard-mobile.js +2 -2
  131. package/extensions/ublocklite/rulesets/scripting/generic/alb-0.js +1 -1
  132. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +2 -2
  134. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +2 -2
  135. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +2 -2
  136. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  137. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-widgets.js +1 -1
  138. package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +2 -2
  139. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  140. package/extensions/ublocklite/rulesets/scripting/generic/cze-0.js +2 -2
  141. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
  142. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/generic/easyprivacy.js +1 -1
  144. package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +2 -2
  145. package/extensions/ublocklite/rulesets/scripting/generic/fin-0.js +2 -2
  146. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
  147. package/extensions/ublocklite/rulesets/scripting/generic/grc-0.js +2 -2
  148. package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +2 -2
  149. package/extensions/ublocklite/rulesets/scripting/generic/hun-0.js +2 -2
  150. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
  151. package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +1 -1
  152. package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +2 -2
  153. package/extensions/ublocklite/rulesets/scripting/generic/isr-0.js +2 -2
  154. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +2 -2
  155. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +2 -2
  156. package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
  157. package/extensions/ublocklite/rulesets/scripting/generic/ltu-0.js +1 -1
  158. package/extensions/ublocklite/rulesets/scripting/generic/lva-0.js +1 -1
  159. package/extensions/ublocklite/rulesets/scripting/generic/mkd-0.js +2 -2
  160. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +2 -2
  161. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +2 -2
  162. package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +2 -2
  163. package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
  164. package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +2 -2
  165. package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/generic/spa-0.js +2 -2
  167. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +2 -2
  168. package/extensions/ublocklite/rulesets/scripting/generic/svn-0.js +1 -1
  169. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +2 -2
  170. package/extensions/ublocklite/rulesets/scripting/generic/tha-0.js +1 -1
  171. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +2 -2
  172. package/extensions/ublocklite/rulesets/scripting/generic/ublock-badware.js +1 -1
  173. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  174. package/extensions/ublocklite/rulesets/scripting/generic/ubol-tests.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
  176. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +3 -3
  177. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +3 -5
  178. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +4 -0
  179. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
  180. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -1
  181. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  182. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  183. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  184. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  185. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  186. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  187. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +1 -1
  188. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +1 -1
  189. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  190. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  191. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  192. package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
  193. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  194. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  195. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  196. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  197. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  198. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  199. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  200. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-experimental.js +42 -0
  201. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +5 -1
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +5 -2
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-cookie.js +2 -2
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +6 -2
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +6 -2
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-attr.js +2 -2
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +3 -0
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +19 -8
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +5 -1
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +7 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +6 -2
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +1 -1
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/{nld-0.json-prune-fetch-response.js → chn-0.set-cookie.js} +120 -266
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.addEventListener-defuser.js → fin-0.remove-node-text.js} +105 -154
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-constant.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +5 -1
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +4 -22
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +6 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +5 -1
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setInterval.js +2 -2
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +6 -24
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +5 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +7 -3
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +7 -3
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +5 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-node-text.js +2 -2
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-local-storage-item.js +399 -0
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +6 -24
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +5 -1
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +2 -2
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-local-storage-item.js +399 -0
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.href-sanitizer.js +4 -22
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +6 -2
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +5 -1
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +7 -3
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +5 -1
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-node-text.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +4 -22
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +5 -1
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +5 -1
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +5 -1
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +19 -8
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +1 -1
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +1 -1
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +5 -23
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +29 -11
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +24 -10
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +7 -3
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +6 -2
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +3 -0
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +29 -11
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +29 -11
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +21 -10
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +5 -1
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  408. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  409. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  410. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  411. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  412. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  413. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  414. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  415. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  416. package/extensions/ublocklite/rulesets/scripting/specific/est-0.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  418. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  419. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  420. package/extensions/ublocklite/rulesets/scripting/specific/hrv-0.js +3 -3
  421. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  422. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  423. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  424. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  425. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  426. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  427. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  428. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  429. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  430. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  431. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  432. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  433. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  434. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
  435. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  436. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  438. package/extensions/ublocklite/rulesets/scriptlet-details.json +205 -117
  439. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +18 -28
  440. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  441. package/extensions/ublocklite/rulesets/strictblock/annoyances-widgets.json +1 -0
  442. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +267 -247
  443. package/extensions/ublocklite/rulesets/strictblock/deu-0.json +1 -0
  444. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -1
  445. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  446. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +47 -3
  447. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +102 -41
  448. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +208 -198
  449. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  450. package/extensions/ublocklite/rulesets/strictblock/pgl.json +16 -20
  451. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +5 -1
  452. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
  453. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +11287 -12041
  454. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -1
  455. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +1 -0
  456. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +671 -653
  457. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  458. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
  459. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +4063 -328
  460. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +5 -1
  461. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +59 -1
  462. package/extensions/ublocklite/ublock.zip +0 -0
  463. package/package.json +23 -22
  464. package/scripts/install-debugger.js +2 -2
  465. package/src/browsers/index.ts +20 -0
  466. package/src/routes/chrome/tests/content.spec.ts +24 -0
  467. package/src/routes/chrome/tests/json.spec.ts +134 -0
  468. package/src/routes/chromium/tests/content.spec.ts +24 -0
  469. package/src/routes/chromium/tests/function.spec.ts +33 -0
  470. package/src/routes/chromium/tests/json.spec.ts +134 -0
  471. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  472. package/src/routes/edge/tests/content.spec.ts +24 -0
  473. package/src/routes/edge/tests/json.spec.ts +134 -0
  474. package/src/routes/management/tests/management.spec.ts +66 -0
  475. package/src/server.ts +1 -1
  476. package/src/shared/screenshot.http.ts +1 -1
  477. package/src/shim.spec.ts +18 -0
  478. package/src/shim.ts +15 -1
  479. package/src/types.ts +2 -0
  480. package/static/docs/swagger.json +5 -2
  481. package/static/docs/swagger.min.json +4 -1
  482. package/static/function/client.js +143 -105
  483. package/static/function/index.html +143 -105
  484. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  485. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  486. package/build/routes/edge/tests/json-version.spec.js +0 -37
  487. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  488. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  489. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  490. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  491. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  492. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -4427,11 +4427,6 @@
4427
4427
  }
4428
4428
  };
4429
4429
 
4430
- // node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
4431
- init_dirname();
4432
- init_buffer2();
4433
- var packageVersion = "24.22.3";
4434
-
4435
4430
  // node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
4436
4431
  init_dirname();
4437
4432
  init_buffer2();
@@ -4482,6 +4477,11 @@
4482
4477
  return result;
4483
4478
  }
4484
4479
 
4480
+ // node_modules/puppeteer-core/lib/esm/puppeteer/util/version.js
4481
+ init_dirname();
4482
+ init_buffer2();
4483
+ var packageVersion = "24.26.1";
4484
+
4485
4485
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js
4486
4486
  init_dirname();
4487
4487
  init_buffer2();
@@ -7407,14 +7407,12 @@
7407
7407
  * import {KnownDevices} from 'puppeteer';
7408
7408
  * const iPhone = KnownDevices['iPhone 15 Pro'];
7409
7409
  *
7410
- * (async () => {
7411
- * const browser = await puppeteer.launch();
7412
- * const page = await browser.newPage();
7413
- * await page.emulate(iPhone);
7414
- * await page.goto('https://www.google.com');
7415
- * // other actions...
7416
- * await browser.close();
7417
- * })();
7410
+ * const browser = await puppeteer.launch();
7411
+ * const page = await browser.newPage();
7412
+ * await page.emulate(iPhone);
7413
+ * await page.goto('https://www.google.com');
7414
+ * // other actions...
7415
+ * await browser.close();
7418
7416
  * ```
7419
7417
  */
7420
7418
  async emulate(device) {
@@ -7955,22 +7953,21 @@
7955
7953
  *
7956
7954
  * ```ts
7957
7955
  * import puppeteer from 'puppeteer';
7958
- * (async () => {
7959
- * const browser = await puppeteer.launch();
7960
- * const page = await browser.newPage();
7961
- * let currentURL;
7962
- * page
7963
- * .waitForSelector('img')
7964
- * .then(() => console.log('First URL with image: ' + currentURL));
7965
- * for (currentURL of [
7966
- * 'https://example.com',
7967
- * 'https://google.com',
7968
- * 'https://bbc.com',
7969
- * ]) {
7970
- * await page.goto(currentURL);
7971
- * }
7972
- * await browser.close();
7973
- * })();
7956
+ *
7957
+ * const browser = await puppeteer.launch();
7958
+ * const page = await browser.newPage();
7959
+ * let currentURL;
7960
+ * page
7961
+ * .waitForSelector('img')
7962
+ * .then(() => console.log('First URL with image: ' + currentURL));
7963
+ * for (currentURL of [
7964
+ * 'https://example.com',
7965
+ * 'https://google.com',
7966
+ * 'https://bbc.com',
7967
+ * ]) {
7968
+ * await page.goto(currentURL);
7969
+ * }
7970
+ * await browser.close();
7974
7971
  * ```
7975
7972
  *
7976
7973
  * @param selector -
@@ -8020,14 +8017,13 @@
8020
8017
  *
8021
8018
  * ```ts
8022
8019
  * import puppeteer from 'puppeteer';
8023
- * (async () => {
8024
- * const browser = await puppeteer.launch();
8025
- * const page = await browser.newPage();
8026
- * const watchDog = page.waitForFunction('window.innerWidth < 100');
8027
- * await page.setViewport({width: 50, height: 50});
8028
- * await watchDog;
8029
- * await browser.close();
8030
- * })();
8020
+ *
8021
+ * const browser = await puppeteer.launch();
8022
+ * const page = await browser.newPage();
8023
+ * const watchDog = page.waitForFunction('window.innerWidth < 100');
8024
+ * await page.setViewport({width: 50, height: 50});
8025
+ * await watchDog;
8026
+ * await browser.close();
8031
8027
  * ```
8032
8028
  *
8033
8029
  * @example
@@ -11296,24 +11292,22 @@
11296
11292
  * ```ts
11297
11293
  * import puppeteer from 'puppeteer';
11298
11294
  *
11299
- * (async () => {
11300
- * const browser = await puppeteer.launch();
11301
- * const page = await browser.newPage();
11302
- * let currentURL;
11303
- * page
11304
- * .mainFrame()
11305
- * .waitForSelector('img')
11306
- * .then(() => console.log('First URL with image: ' + currentURL));
11295
+ * const browser = await puppeteer.launch();
11296
+ * const page = await browser.newPage();
11297
+ * let currentURL;
11298
+ * page
11299
+ * .mainFrame()
11300
+ * .waitForSelector('img')
11301
+ * .then(() => console.log('First URL with image: ' + currentURL));
11307
11302
  *
11308
- * for (currentURL of [
11309
- * 'https://example.com',
11310
- * 'https://google.com',
11311
- * 'https://bbc.com',
11312
- * ]) {
11313
- * await page.goto(currentURL);
11314
- * }
11315
- * await browser.close();
11316
- * })();
11303
+ * for (currentURL of [
11304
+ * 'https://example.com',
11305
+ * 'https://google.com',
11306
+ * 'https://bbc.com',
11307
+ * ]) {
11308
+ * await page.goto(currentURL);
11309
+ * }
11310
+ * await browser.close();
11317
11311
  * ```
11318
11312
  *
11319
11313
  * @param selector - The selector to query and wait for.
@@ -11335,14 +11329,14 @@
11335
11329
  * ```ts
11336
11330
  * import puppeteer from 'puppeteer';
11337
11331
  *
11338
- * (async () => {
11339
- * . const browser = await puppeteer.launch();
11340
- * . const page = await browser.newPage();
11341
- * . const watchDog = page.mainFrame().waitForFunction('window.innerWidth < 100');
11342
- * . page.setViewport({width: 50, height: 50});
11343
- * . await watchDog;
11344
- * . await browser.close();
11345
- * })();
11332
+ * const browser = await puppeteer.launch();
11333
+ * const page = await browser.newPage();
11334
+ * const watchDog = page
11335
+ * .mainFrame()
11336
+ * .waitForFunction('window.innerWidth < 100');
11337
+ * page.setViewport({width: 50, height: 50});
11338
+ * await watchDog;
11339
+ * await browser.close();
11346
11340
  * ```
11347
11341
  *
11348
11342
  * To pass arguments from Node.js to the predicate of `page.waitForFunction` function:
@@ -12372,9 +12366,10 @@
12372
12366
  *
12373
12367
  * ```ts
12374
12368
  * const feedHandle = await page.$('.feed');
12375
- * expect(
12376
- * await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)),
12377
- * ).toEqual(['Hello!', 'Hi!']);
12369
+ *
12370
+ * const listOfTweets = await feedHandle.$$eval('.tweet', nodes =>
12371
+ * nodes.map(n => n.innerText),
12372
+ * );
12378
12373
  * ```
12379
12374
  *
12380
12375
  * @param selector -
@@ -12432,24 +12427,22 @@
12432
12427
  * ```ts
12433
12428
  * import puppeteer from 'puppeteer';
12434
12429
  *
12435
- * (async () => {
12436
- * const browser = await puppeteer.launch();
12437
- * const page = await browser.newPage();
12438
- * let currentURL;
12439
- * page
12440
- * .mainFrame()
12441
- * .waitForSelector('img')
12442
- * .then(() => console.log('First URL with image: ' + currentURL));
12430
+ * const browser = await puppeteer.launch();
12431
+ * const page = await browser.newPage();
12432
+ * let currentURL;
12433
+ * page
12434
+ * .mainFrame()
12435
+ * .waitForSelector('img')
12436
+ * .then(() => console.log('First URL with image: ' + currentURL));
12443
12437
  *
12444
- * for (currentURL of [
12445
- * 'https://example.com',
12446
- * 'https://google.com',
12447
- * 'https://bbc.com',
12448
- * ]) {
12449
- * await page.goto(currentURL);
12450
- * }
12451
- * await browser.close();
12452
- * })();
12438
+ * for (currentURL of [
12439
+ * 'https://example.com',
12440
+ * 'https://google.com',
12441
+ * 'https://bbc.com',
12442
+ * ]) {
12443
+ * await page.goto(currentURL);
12444
+ * }
12445
+ * await browser.close();
12453
12446
  * ```
12454
12447
  *
12455
12448
  * @param selector - The selector to query and wait for.
@@ -14255,6 +14248,7 @@ ${sourceUrlComment}
14255
14248
  #name;
14256
14249
  #role;
14257
14250
  #ignored;
14251
+ #cachedHasFocusableChild;
14258
14252
  #realm;
14259
14253
  constructor(realm, payload) {
14260
14254
  this.payload = payload;
@@ -14288,6 +14282,18 @@ ${sourceUrlComment}
14288
14282
  const role = this.#role;
14289
14283
  return role === "LineBreak" || role === "text" || role === "InlineTextBox" || role === "StaticText";
14290
14284
  }
14285
+ #hasFocusableChild() {
14286
+ if (this.#cachedHasFocusableChild === void 0) {
14287
+ this.#cachedHasFocusableChild = false;
14288
+ for (const child of this.children) {
14289
+ if (child.#focusable || child.#hasFocusableChild()) {
14290
+ this.#cachedHasFocusableChild = true;
14291
+ break;
14292
+ }
14293
+ }
14294
+ }
14295
+ return this.#cachedHasFocusableChild;
14296
+ }
14291
14297
  find(predicate) {
14292
14298
  if (predicate(this)) {
14293
14299
  return this;
@@ -14321,6 +14327,9 @@ ${sourceUrlComment}
14321
14327
  default:
14322
14328
  break;
14323
14329
  }
14330
+ if (this.#hasFocusableChild()) {
14331
+ return false;
14332
+ }
14324
14333
  if (this.#role === "heading" && this.#name) {
14325
14334
  return true;
14326
14335
  }
@@ -14354,11 +14363,29 @@ ${sourceUrlComment}
14354
14363
  return false;
14355
14364
  }
14356
14365
  }
14366
+ isLandmark() {
14367
+ switch (this.#role) {
14368
+ case "banner":
14369
+ case "complementary":
14370
+ case "contentinfo":
14371
+ case "form":
14372
+ case "main":
14373
+ case "navigation":
14374
+ case "region":
14375
+ case "search":
14376
+ return true;
14377
+ default:
14378
+ return false;
14379
+ }
14380
+ }
14357
14381
  isInteresting(insideControl) {
14358
14382
  const role = this.#role;
14359
14383
  if (role === "Ignored" || this.#hidden || this.#ignored) {
14360
14384
  return false;
14361
14385
  }
14386
+ if (this.isLandmark()) {
14387
+ return true;
14388
+ }
14362
14389
  if (this.#focusable || this.#richlyEditable) {
14363
14390
  return true;
14364
14391
  }
@@ -14410,7 +14437,8 @@ ${sourceUrlComment}
14410
14437
  "description",
14411
14438
  "keyshortcuts",
14412
14439
  "roledescription",
14413
- "valuetext"
14440
+ "valuetext",
14441
+ "url"
14414
14442
  ];
14415
14443
  const getUserStringPropertyValue = (key) => {
14416
14444
  return properties.get(key);
@@ -15474,7 +15502,6 @@ ${sourceUrlComment}
15474
15502
  * `respond()` aren't called).
15475
15503
  */
15476
15504
  continueRequestOverrides() {
15477
- assert(this.interception.enabled, "Request Interception is not enabled!");
15478
15505
  return this.interception.requestOverrides;
15479
15506
  }
15480
15507
  /**
@@ -15482,14 +15509,12 @@ ${sourceUrlComment}
15482
15509
  * interception is allowed to respond (ie, `abort()` is not called).
15483
15510
  */
15484
15511
  responseForRequest() {
15485
- assert(this.interception.enabled, "Request Interception is not enabled!");
15486
15512
  return this.interception.response;
15487
15513
  }
15488
15514
  /**
15489
15515
  * The most recent reason for aborting the request
15490
15516
  */
15491
15517
  abortErrorReason() {
15492
- assert(this.interception.enabled, "Request Interception is not enabled!");
15493
15518
  return this.interception.abortReason;
15494
15519
  }
15495
15520
  /**
@@ -15550,8 +15575,12 @@ ${sourceUrlComment}
15550
15575
  return await this._continue(this.interception.requestOverrides);
15551
15576
  }
15552
15577
  }
15553
- #canBeIntercepted() {
15554
- return !this.url().startsWith("data:") && !this._fromMemoryCache;
15578
+ /**
15579
+ * @internal
15580
+ */
15581
+ verifyInterception() {
15582
+ assert(this.interception.enabled, "Request Interception is not enabled!");
15583
+ assert(!this.interception.handled, "Request is already handled!");
15555
15584
  }
15556
15585
  /**
15557
15586
  * Continues request with optional request overrides.
@@ -15582,11 +15611,10 @@ ${sourceUrlComment}
15582
15611
  * Exception is immediately thrown if the request interception is not enabled.
15583
15612
  */
15584
15613
  async continue(overrides = {}, priority) {
15585
- if (!this.#canBeIntercepted()) {
15614
+ this.verifyInterception();
15615
+ if (!this.canBeIntercepted()) {
15586
15616
  return;
15587
15617
  }
15588
- assert(this.interception.enabled, "Request Interception is not enabled!");
15589
- assert(!this.interception.handled, "Request is already handled!");
15590
15618
  if (priority === void 0) {
15591
15619
  return await this._continue(overrides);
15592
15620
  }
@@ -15639,11 +15667,10 @@ ${sourceUrlComment}
15639
15667
  * Exception is immediately thrown if the request interception is not enabled.
15640
15668
  */
15641
15669
  async respond(response, priority) {
15642
- if (!this.#canBeIntercepted()) {
15670
+ this.verifyInterception();
15671
+ if (!this.canBeIntercepted()) {
15643
15672
  return;
15644
15673
  }
15645
- assert(this.interception.enabled, "Request Interception is not enabled!");
15646
- assert(!this.interception.handled, "Request is already handled!");
15647
15674
  if (priority === void 0) {
15648
15675
  return await this._respond(response);
15649
15676
  }
@@ -15677,13 +15704,12 @@ ${sourceUrlComment}
15677
15704
  * throw an exception immediately.
15678
15705
  */
15679
15706
  async abort(errorCode = "failed", priority) {
15680
- if (!this.#canBeIntercepted()) {
15707
+ this.verifyInterception();
15708
+ if (!this.canBeIntercepted()) {
15681
15709
  return;
15682
15710
  }
15683
15711
  const errorReason = errorReasons[errorCode];
15684
15712
  assert(errorReason, "Unknown error code: " + errorCode);
15685
- assert(this.interception.enabled, "Request Interception is not enabled!");
15686
- assert(!this.interception.handled, "Request is already handled!");
15687
15713
  if (priority === void 0) {
15688
15714
  return await this._abort(errorReason);
15689
15715
  }
@@ -15883,7 +15909,7 @@ ${sourceUrlComment}
15883
15909
  }
15884
15910
  }
15885
15911
  headers() {
15886
- return this.#headers;
15912
+ return structuredClone(this.#headers);
15887
15913
  }
15888
15914
  response() {
15889
15915
  return this._response;
@@ -15908,6 +15934,9 @@ ${sourceUrlComment}
15908
15934
  errorText: this._failureText
15909
15935
  };
15910
15936
  }
15937
+ canBeIntercepted() {
15938
+ return !this.url().startsWith("data:") && !this._fromMemoryCache;
15939
+ }
15911
15940
  /**
15912
15941
  * @internal
15913
15942
  */
@@ -16172,7 +16201,7 @@ ${sourceUrlComment}
16172
16201
  return stringToTypedArray(response.body, response.base64Encoded);
16173
16202
  } catch (error) {
16174
16203
  if (error instanceof ProtocolError && error.originalMessage === "No resource with given identifier found") {
16175
- throw new ProtocolError("Could not load body for this request. This might happen if the request is a preflight request.");
16204
+ throw new ProtocolError("Could not load response body for this request. This might happen if the request is a preflight request.");
16176
16205
  }
16177
16206
  throw error;
16178
16207
  }
@@ -19939,8 +19968,8 @@ ${sourceUrlComment}
19939
19968
  // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js
19940
19969
  var CdpBrowser = class _CdpBrowser extends Browser {
19941
19970
  protocol = "cdp";
19942
- static async _create(connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true) {
19943
- const browser = new _CdpBrowser(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets, networkEnabled);
19971
+ static async _create(connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, handleDevToolsAsPage = false) {
19972
+ const browser = new _CdpBrowser(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets, networkEnabled, handleDevToolsAsPage);
19944
19973
  if (acceptInsecureCerts) {
19945
19974
  await connection.send("Security.setIgnoreCertificateErrors", {
19946
19975
  ignore: true
@@ -19959,7 +19988,8 @@ ${sourceUrlComment}
19959
19988
  #contexts = /* @__PURE__ */ new Map();
19960
19989
  #networkEnabled = true;
19961
19990
  #targetManager;
19962
- constructor(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true) {
19991
+ #handleDevToolsAsPage = false;
19992
+ constructor(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, handleDevToolsAsPage = false) {
19963
19993
  super();
19964
19994
  this.#networkEnabled = networkEnabled;
19965
19995
  this.#defaultViewport = defaultViewport;
@@ -19970,6 +20000,7 @@ ${sourceUrlComment}
19970
20000
  this.#targetFilterCallback = targetFilterCallback || (() => {
19971
20001
  return true;
19972
20002
  });
20003
+ this.#handleDevToolsAsPage = handleDevToolsAsPage;
19973
20004
  this.#setIsPageTargetCallback(isPageTargetCallback);
19974
20005
  this.#targetManager = new TargetManager(connection, this.#createTarget, this.#targetFilterCallback, waitForInitiallyDiscoveredTargets);
19975
20006
  this.#defaultContext = new CdpBrowserContext(this.#connection, this);
@@ -20006,7 +20037,7 @@ ${sourceUrlComment}
20006
20037
  }
20007
20038
  #setIsPageTargetCallback(isPageTargetCallback) {
20008
20039
  this.#isPageTargetCallback = isPageTargetCallback || ((target) => {
20009
- return target.type() === "page" || target.type() === "background_page" || target.type() === "webview";
20040
+ return target.type() === "page" || target.type() === "background_page" || target.type() === "webview" || this.#handleDevToolsAsPage && target.type() === "other" && target.url().startsWith("devtools://");
20010
20041
  });
20011
20042
  }
20012
20043
  _getIsPageTargetCallback() {
@@ -20166,12 +20197,12 @@ ${sourceUrlComment}
20166
20197
 
20167
20198
  // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/BrowserConnector.js
20168
20199
  async function _connectToCdpBrowser(connectionTransport, url, options) {
20169
- const { acceptInsecureCerts = false, networkEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, targetFilter, _isPageTarget: isPageTarget, slowMo = 0, protocolTimeout } = options;
20200
+ const { acceptInsecureCerts = false, networkEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, targetFilter, _isPageTarget: isPageTarget, slowMo = 0, protocolTimeout, handleDevToolsAsPage } = options;
20170
20201
  const connection = new Connection(url, connectionTransport, slowMo, protocolTimeout);
20171
20202
  const { browserContextIds } = await connection.send("Target.getBrowserContexts");
20172
20203
  const browser = await CdpBrowser._create(connection, browserContextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, void 0, () => {
20173
20204
  return connection.send("Browser.close").catch(debugError);
20174
- }, targetFilter, isPageTarget, void 0, networkEnabled);
20205
+ }, targetFilter, isPageTarget, void 0, networkEnabled, handleDevToolsAsPage);
20175
20206
  return browser;
20176
20207
  }
20177
20208
 
@@ -20285,6 +20316,13 @@ puppeteer-core/lib/esm/puppeteer/cdp/BrowserContext.js:
20285
20316
  * SPDX-License-Identifier: Apache-2.0
20286
20317
  *)
20287
20318
 
20319
+ puppeteer-core/lib/esm/puppeteer/util/version.js:
20320
+ (**
20321
+ * @license
20322
+ * Copyright 2025 Google Inc.
20323
+ * SPDX-License-Identifier: Apache-2.0
20324
+ *)
20325
+
20288
20326
  puppeteer-core/lib/esm/puppeteer/common/Errors.js:
20289
20327
  puppeteer-core/lib/esm/puppeteer/cdp/Accessibility.js:
20290
20328
  puppeteer-core/lib/esm/puppeteer/api/WebWorker.js:
@@ -1,37 +0,0 @@
1
- import { Browserless, Config, Metrics } from '@browserless.io/browserless';
2
- import { expect } from 'chai';
3
- describe('/json/version API', function () {
4
- let browserless;
5
- const start = ({ config = new Config(), metrics = new Metrics(), } = {}) => {
6
- browserless = new Browserless({ config, metrics });
7
- return browserless.start();
8
- };
9
- afterEach(async () => {
10
- await browserless.stop();
11
- });
12
- it('allows requests to /json/version', async () => {
13
- const config = new Config();
14
- config.setToken('browserless');
15
- const metrics = new Metrics();
16
- await start({ config, metrics });
17
- const res = await fetch('http://localhost:3000/json/version?token=browserless');
18
- const resJSON = await res.json();
19
- [
20
- 'Browser',
21
- 'Protocol-Version',
22
- 'User-Agent',
23
- 'V8-Version',
24
- 'WebKit-Version',
25
- 'webSocketDebuggerUrl',
26
- 'Debugger-Version',
27
- ].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
28
- });
29
- it('rejects unauthorized requests to /json/version', async () => {
30
- const config = new Config();
31
- config.setToken('browserless');
32
- const metrics = new Metrics();
33
- await start({ config, metrics });
34
- const res = await fetch('http://localhost:3000/json/version?token=imabadboi');
35
- expect(res.status).to.equal(401);
36
- });
37
- });
@@ -1,37 +0,0 @@
1
- import { Browserless, Config, Metrics } from '@browserless.io/browserless';
2
- import { expect } from 'chai';
3
- describe('/json/version API', function () {
4
- let browserless;
5
- const start = ({ config = new Config(), metrics = new Metrics(), } = {}) => {
6
- browserless = new Browserless({ config, metrics });
7
- return browserless.start();
8
- };
9
- afterEach(async () => {
10
- await browserless.stop();
11
- });
12
- it('allows requests to /json/version', async () => {
13
- const config = new Config();
14
- config.setToken('browserless');
15
- const metrics = new Metrics();
16
- await start({ config, metrics });
17
- const res = await fetch('http://localhost:3000/json/version?token=browserless');
18
- const resJSON = await res.json();
19
- [
20
- 'Browser',
21
- 'Protocol-Version',
22
- 'User-Agent',
23
- 'V8-Version',
24
- 'WebKit-Version',
25
- 'webSocketDebuggerUrl',
26
- 'Debugger-Version',
27
- ].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
28
- });
29
- it('rejects unauthorized requests to /json/version', async () => {
30
- const config = new Config();
31
- config.setToken('browserless');
32
- const metrics = new Metrics();
33
- await start({ config, metrics });
34
- const res = await fetch('http://localhost:3000/json/version?token=imabadboi');
35
- expect(res.status).to.equal(401);
36
- });
37
- });
@@ -1,37 +0,0 @@
1
- import { Browserless, Config, Metrics } from '@browserless.io/browserless';
2
- import { expect } from 'chai';
3
- describe('/json/version API', function () {
4
- let browserless;
5
- const start = ({ config = new Config(), metrics = new Metrics(), } = {}) => {
6
- browserless = new Browserless({ config, metrics });
7
- return browserless.start();
8
- };
9
- afterEach(async () => {
10
- await browserless.stop();
11
- });
12
- it('allows requests to /json/version', async () => {
13
- const config = new Config();
14
- config.setToken('browserless');
15
- const metrics = new Metrics();
16
- await start({ config, metrics });
17
- const res = await fetch('http://localhost:3000/json/version?token=browserless');
18
- const resJSON = await res.json();
19
- [
20
- 'Browser',
21
- 'Protocol-Version',
22
- 'User-Agent',
23
- 'V8-Version',
24
- 'WebKit-Version',
25
- 'webSocketDebuggerUrl',
26
- 'Debugger-Version',
27
- ].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
28
- });
29
- it('rejects unauthorized requests to /json/version', async () => {
30
- const config = new Config();
31
- config.setToken('browserless');
32
- const metrics = new Metrics();
33
- await start({ config, metrics });
34
- const res = await fetch('http://localhost:3000/json/version?token=imabadboi');
35
- expect(res.status).to.equal(401);
36
- });
37
- });
@@ -1,52 +0,0 @@
1
- import { Browserless, Config, Metrics } from '@browserless.io/browserless';
2
- import { expect } from 'chai';
3
-
4
- describe('/json/version API', function () {
5
- let browserless: Browserless;
6
-
7
- const start = ({
8
- config = new Config(),
9
- metrics = new Metrics(),
10
- }: { config?: Config; metrics?: Metrics } = {}) => {
11
- browserless = new Browserless({ config, metrics });
12
- return browserless.start();
13
- };
14
-
15
- afterEach(async () => {
16
- await browserless.stop();
17
- });
18
-
19
- it('allows requests to /json/version', async () => {
20
- const config = new Config();
21
- config.setToken('browserless');
22
- const metrics = new Metrics();
23
- await start({ config, metrics });
24
-
25
- const res = await fetch(
26
- 'http://localhost:3000/json/version?token=browserless',
27
- );
28
- const resJSON = await res.json();
29
-
30
- [
31
- 'Browser',
32
- 'Protocol-Version',
33
- 'User-Agent',
34
- 'V8-Version',
35
- 'WebKit-Version',
36
- 'webSocketDebuggerUrl',
37
- 'Debugger-Version',
38
- ].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
39
- });
40
-
41
- it('rejects unauthorized requests to /json/version', async () => {
42
- const config = new Config();
43
- config.setToken('browserless');
44
- const metrics = new Metrics();
45
- await start({ config, metrics });
46
-
47
- const res = await fetch(
48
- 'http://localhost:3000/json/version?token=imabadboi',
49
- );
50
- expect(res.status).to.equal(401);
51
- });
52
- });