@browserless.io/browserless 2.3.0-beta-1 → 2.3.0-beta-2

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 (207) hide show
  1. package/README.md +2 -2
  2. package/bin/browserless.js +47 -18
  3. package/bin/scaffold/README.md +50 -0
  4. package/bin/scaffold/src/hello-world.http.ts +2 -1
  5. package/build/browserless.d.ts +3 -5
  6. package/build/browserless.js +17 -11
  7. package/build/browsers/chrome.cdp.js +1 -1
  8. package/build/browsers/chrome.playwright.js +1 -1
  9. package/build/browsers/index.d.ts +1 -0
  10. package/build/browsers/index.js +4 -1
  11. package/build/data/classes.json +1 -1
  12. package/build/data/selectors.json +1 -1
  13. package/build/exports.d.ts +24 -38
  14. package/build/exports.js +25 -44
  15. package/build/limiter.d.ts +2 -1
  16. package/build/limiter.js +6 -3
  17. package/build/routes/chrome/http/content.post.body.json +8 -8
  18. package/build/routes/chrome/http/content.post.d.ts +2 -1
  19. package/build/routes/chrome/http/content.post.js +3 -2
  20. package/build/routes/chrome/http/download.post.body.json +11 -489
  21. package/build/routes/chrome/http/download.post.d.ts +2 -1
  22. package/build/routes/chrome/http/download.post.js +3 -2
  23. package/build/routes/chrome/http/download.post.query.json +6 -69
  24. package/build/routes/chrome/http/download.post.response.json +0 -1
  25. package/build/routes/chrome/http/function.post.body.json +11 -489
  26. package/build/routes/chrome/http/function.post.d.ts +2 -1
  27. package/build/routes/chrome/http/function.post.js +3 -2
  28. package/build/routes/chrome/http/function.post.query.json +6 -69
  29. package/build/routes/chrome/http/function.post.response.json +0 -1
  30. package/build/routes/chrome/http/json-list.get.d.ts +5 -1
  31. package/build/routes/chrome/http/json-list.get.js +5 -1
  32. package/build/routes/chrome/http/json-list.get.response.json +49 -1
  33. package/build/routes/chrome/http/json-new.put.d.ts +5 -1
  34. package/build/routes/chrome/http/json-new.put.js +5 -1
  35. package/build/routes/chrome/http/json-new.put.response.json +41 -1
  36. package/build/routes/chrome/http/json-protocol.get.d.ts +5 -1
  37. package/build/routes/chrome/http/json-protocol.get.js +5 -1
  38. package/build/routes/chrome/http/json-protocol.get.response.json +3 -1
  39. package/build/routes/chrome/http/json-version.get.d.ts +5 -1
  40. package/build/routes/chrome/http/json-version.get.js +5 -1
  41. package/build/routes/chrome/http/json-version.get.response.json +41 -1
  42. package/build/routes/chrome/http/pdf.post.body.json +153 -9
  43. package/build/routes/chrome/http/pdf.post.d.ts +2 -1
  44. package/build/routes/chrome/http/pdf.post.js +3 -2
  45. package/build/routes/chrome/http/pdf.post.query.json +6 -69
  46. package/build/routes/chrome/http/performance.post.body.json +10 -494
  47. package/build/routes/chrome/http/performance.post.d.ts +2 -1
  48. package/build/routes/chrome/http/performance.post.js +3 -2
  49. package/build/routes/chrome/http/performance.post.query.json +6 -69
  50. package/build/routes/chrome/http/performance.post.response.json +3 -1
  51. package/build/routes/chrome/http/scrape.post.body.json +56 -9
  52. package/build/routes/chrome/http/scrape.post.d.ts +2 -1
  53. package/build/routes/chrome/http/scrape.post.js +3 -2
  54. package/build/routes/chrome/http/scrape.post.response.json +305 -1
  55. package/build/routes/chrome/http/screenshot.post.body.json +99 -9
  56. package/build/routes/chrome/http/screenshot.post.d.ts +2 -1
  57. package/build/routes/chrome/http/screenshot.post.js +3 -2
  58. package/build/routes/chrome/http/screenshot.post.query.json +6 -69
  59. package/build/routes/chrome/ws/browser.d.ts +2 -1
  60. package/build/routes/chrome/ws/browser.js +3 -2
  61. package/build/routes/chrome/ws/browser.query.json +6 -69
  62. package/build/routes/chrome/ws/cdp.d.ts +2 -1
  63. package/build/routes/chrome/ws/cdp.js +3 -2
  64. package/build/routes/chrome/ws/cdp.query.json +6 -69
  65. package/build/routes/chrome/ws/page.d.ts +3 -2
  66. package/build/routes/chrome/ws/page.js +3 -2
  67. package/build/routes/chrome/ws/page.query.json +6 -69
  68. package/build/routes/chrome/ws/playwright.d.ts +1 -0
  69. package/build/routes/chrome/ws/playwright.js +2 -1
  70. package/build/routes/chrome/ws/playwright.query.json +7 -90
  71. package/build/routes/chromium/http/content.post.body.json +8 -8
  72. package/build/routes/chromium/http/download.post.body.json +11 -489
  73. package/build/routes/chromium/http/download.post.query.json +6 -69
  74. package/build/routes/chromium/http/download.post.response.json +0 -1
  75. package/build/routes/chromium/http/function.post.body.json +11 -489
  76. package/build/routes/chromium/http/function.post.query.json +6 -69
  77. package/build/routes/chromium/http/function.post.response.json +0 -1
  78. package/build/routes/chromium/http/json-list.get.response.json +49 -1
  79. package/build/routes/chromium/http/json-new.put.response.json +41 -1
  80. package/build/routes/chromium/http/json-protocol.get.response.json +3 -1
  81. package/build/routes/chromium/http/json-version.get.response.json +41 -1
  82. package/build/routes/chromium/http/pdf.post.body.json +153 -9
  83. package/build/routes/chromium/http/pdf.post.query.json +6 -69
  84. package/build/routes/chromium/http/performance.post.body.json +10 -494
  85. package/build/routes/chromium/http/performance.post.query.json +6 -69
  86. package/build/routes/chromium/http/performance.post.response.json +3 -1
  87. package/build/routes/chromium/http/scrape.post.body.json +56 -9
  88. package/build/routes/chromium/http/scrape.post.response.json +305 -1
  89. package/build/routes/chromium/http/screenshot.post.body.json +99 -9
  90. package/build/routes/chromium/http/screenshot.post.query.json +6 -69
  91. package/build/routes/chromium/ws/browser.query.json +6 -69
  92. package/build/routes/chromium/ws/cdp.query.json +6 -69
  93. package/build/routes/chromium/ws/page.query.json +6 -69
  94. package/build/routes/chromium/ws/playwright.query.json +7 -90
  95. package/build/routes/firefox/ws/playwright.d.ts +2 -1
  96. package/build/routes/firefox/ws/playwright.js +3 -2
  97. package/build/routes/firefox/ws/playwright.query.json +30 -115
  98. package/build/routes/management/http/config.get.d.ts +1 -0
  99. package/build/routes/management/http/config.get.js +2 -1
  100. package/build/routes/management/http/config.get.response.json +104 -1
  101. package/build/routes/management/http/metrics-total.get.d.ts +1 -0
  102. package/build/routes/management/http/metrics-total.get.js +2 -1
  103. package/build/routes/management/http/metrics-total.get.response.json +69 -1
  104. package/build/routes/management/http/metrics.get.d.ts +1 -0
  105. package/build/routes/management/http/metrics.get.js +2 -1
  106. package/build/routes/management/http/metrics.get.response.json +91 -1
  107. package/build/routes/management/http/sessions.get.d.ts +1 -0
  108. package/build/routes/management/http/sessions.get.js +2 -1
  109. package/build/routes/management/http/sessions.get.response.json +232 -1
  110. package/build/routes/management/http/static.get.d.ts +1 -0
  111. package/build/routes/management/http/static.get.js +2 -1
  112. package/build/routes/webkit/ws/playwright.d.ts +2 -1
  113. package/build/routes/webkit/ws/playwright.js +3 -2
  114. package/build/routes/webkit/ws/playwright.query.json +7 -90
  115. package/build/shared/browser.ws.d.ts +2 -1
  116. package/build/shared/browser.ws.js +3 -2
  117. package/build/shared/chromium.playwright.ws.d.ts +2 -1
  118. package/build/shared/chromium.playwright.ws.js +3 -2
  119. package/build/shared/chromium.ws.d.ts +2 -1
  120. package/build/shared/chromium.ws.js +3 -2
  121. package/build/shared/content.http.d.ts +2 -1
  122. package/build/shared/content.http.js +3 -2
  123. package/build/shared/download.http.d.ts +2 -1
  124. package/build/shared/download.http.js +3 -2
  125. package/build/shared/function.http.d.ts +2 -1
  126. package/build/shared/function.http.js +3 -2
  127. package/build/shared/json-list.http.d.ts +2 -1
  128. package/build/shared/json-list.http.js +3 -2
  129. package/build/shared/json-new.http.d.ts +2 -1
  130. package/build/shared/json-new.http.js +3 -2
  131. package/build/shared/json-protocol.http.d.ts +2 -1
  132. package/build/shared/json-protocol.http.js +3 -2
  133. package/build/shared/json-version.http.d.ts +2 -1
  134. package/build/shared/json-version.http.js +3 -2
  135. package/build/shared/page.ws.d.ts +2 -1
  136. package/build/shared/page.ws.js +3 -2
  137. package/build/shared/pdf.http.d.ts +2 -1
  138. package/build/shared/pdf.http.js +3 -2
  139. package/build/shared/performance.http.d.ts +1 -0
  140. package/build/shared/performance.http.js +2 -1
  141. package/build/shared/scrape.http.d.ts +2 -1
  142. package/build/shared/scrape.http.js +3 -2
  143. package/build/shared/screenshot.http.d.ts +1 -0
  144. package/build/shared/screenshot.http.js +2 -1
  145. package/build/types.d.ts +91 -0
  146. package/build/types.js +54 -0
  147. package/build/utils.d.ts +1 -1
  148. package/build/utils.js +11 -6
  149. package/docker/chrome/Dockerfile +0 -2
  150. package/docker/chromium/Dockerfile +1 -4
  151. package/docker/firefox/Dockerfile +1 -4
  152. package/docker/multi/Dockerfile +2 -6
  153. package/docker/webkit/Dockerfile +1 -4
  154. package/package.json +11 -10
  155. package/scripts/build-open-api.js +150 -141
  156. package/scripts/build-schemas.js +3 -2
  157. package/src/browserless.ts +43 -30
  158. package/src/browsers/chrome.cdp.ts +1 -1
  159. package/src/browsers/chrome.playwright.ts +1 -1
  160. package/src/browsers/index.ts +5 -1
  161. package/src/exports.ts +25 -49
  162. package/src/limiter.ts +7 -3
  163. package/src/routes/chrome/http/content.post.ts +7 -2
  164. package/src/routes/chrome/http/download.post.ts +7 -2
  165. package/src/routes/chrome/http/function.post.ts +7 -2
  166. package/src/routes/chrome/http/json-list.get.ts +7 -1
  167. package/src/routes/chrome/http/json-new.put.ts +7 -1
  168. package/src/routes/chrome/http/json-protocol.get.ts +7 -1
  169. package/src/routes/chrome/http/json-version.get.ts +7 -1
  170. package/src/routes/chrome/http/pdf.post.ts +7 -2
  171. package/src/routes/chrome/http/performance.post.ts +7 -2
  172. package/src/routes/chrome/http/scrape.post.ts +7 -2
  173. package/src/routes/chrome/http/screenshot.post.ts +7 -2
  174. package/src/routes/chrome/ws/browser.ts +3 -2
  175. package/src/routes/chrome/ws/cdp.ts +7 -2
  176. package/src/routes/chrome/ws/page.ts +3 -2
  177. package/src/routes/chrome/ws/playwright.ts +6 -1
  178. package/src/routes/firefox/ws/playwright.ts +3 -1
  179. package/src/routes/management/http/config.get.ts +2 -0
  180. package/src/routes/management/http/metrics-total.get.ts +2 -0
  181. package/src/routes/management/http/metrics.get.ts +2 -0
  182. package/src/routes/management/http/sessions.get.ts +2 -0
  183. package/src/routes/management/http/static.get.ts +2 -0
  184. package/src/routes/webkit/ws/playwright.ts +3 -1
  185. package/src/shared/browser.ws.ts +3 -1
  186. package/src/shared/chromium.playwright.ws.ts +3 -1
  187. package/src/shared/chromium.ws.ts +3 -1
  188. package/src/shared/content.http.ts +3 -1
  189. package/src/shared/download.http.ts +3 -1
  190. package/src/shared/function.http.ts +3 -1
  191. package/src/shared/json-list.http.ts +3 -1
  192. package/src/shared/json-new.http.ts +3 -1
  193. package/src/shared/json-protocol.http.ts +3 -1
  194. package/src/shared/json-version.http.ts +3 -1
  195. package/src/shared/page.ws.ts +3 -1
  196. package/src/shared/pdf.http.ts +3 -1
  197. package/src/shared/performance.http.ts +2 -0
  198. package/src/shared/scrape.http.ts +3 -1
  199. package/src/shared/screenshot.http.ts +2 -0
  200. package/src/types.ts +66 -0
  201. package/src/utils.ts +13 -7
  202. package/static/docs/swagger.json +2511 -1520
  203. package/static/docs/swagger.min.json +6697 -0
  204. package/static/function/client.js +323 -323
  205. package/build/exports.core.d.ts +0 -24
  206. package/build/exports.core.js +0 -26
  207. package/src/exports.core.ts +0 -26
package/src/types.ts CHANGED
@@ -104,6 +104,12 @@ abstract class Route {
104
104
  protected _monitoring: Browserless['monitoring'],
105
105
  ) {}
106
106
 
107
+ /**
108
+ * A unique name to identify this route. Used in downstream
109
+ * SDKs to potentially remove or disable.
110
+ */
111
+ abstract name: string;
112
+
107
113
  /**
108
114
  * A boolean, or a function that returns a boolean, on
109
115
  * whether the route requires an API token to access.
@@ -602,3 +608,63 @@ export interface CDPJSONPayload {
602
608
  */
603
609
  webSocketDebuggerUrl: string;
604
610
  }
611
+
612
+ export const BrowserlessChromeRoutes = {
613
+ ChromeBrowserWebSocketRoute: 'ChromeBrowserWebSocketRoute',
614
+ ChromeCDPWebSocketRoute: 'ChromeCDPWebSocketRoute',
615
+ ChromeContentPostRoute: 'ChromeContentPostRoute',
616
+ ChromeDownloadPostRoute: 'ChromeDownloadPostRoute',
617
+ ChromeFunctionPostRoute: 'ChromeFunctionPostRoute',
618
+ ChromeJSONListGetRoute: 'ChromeJSONListGetRoute',
619
+ ChromeJSONNewPutRoute: 'ChromeJSONNewPutRoute',
620
+ ChromeJSONProtocolGetRoute: 'ChromeJSONProtocolGetRoute',
621
+ ChromeJSONVersionGetRoute: 'ChromeJSONVersionGetRoute',
622
+ ChromePDFPostRoute: 'ChromePDFPostRoute',
623
+ ChromePageWebSocketRoute: 'ChromePageWebSocketRoute',
624
+ ChromePerformancePostRoute: 'ChromePerformancePostRoute',
625
+ ChromePlaywrightWebSocketRoute: 'ChromePlaywrightWebSocketRoute',
626
+ ChromeScrapePostRoute: 'ChromeScrapePostRoute',
627
+ ChromeScreenshotPostRoute: 'ChromeScreenshotPostRoute',
628
+ };
629
+
630
+ export const BrowserlessChromiumRoutes = {
631
+ ChromiumBrowserWebSocketRoute: 'ChromiumBrowserWebSocketRoute',
632
+ ChromiumCDPWebSocketRoute: 'ChromiumCDPWebSocketRoute',
633
+ ChromiumContentPostRoute: 'ChromiumContentPostRoute',
634
+ ChromiumDownloadPostRoute: 'ChromiumDownloadPostRoute',
635
+ ChromiumFunctionPostRoute: 'ChromiumFunctionPostRoute',
636
+ ChromiumJSONListGetRoute: 'ChromiumJSONListGetRoute',
637
+ ChromiumJSONNewPutRoute: 'ChromiumJSONNewPutRoute',
638
+ ChromiumJSONProtocolGetRoute: 'ChromiumJSONProtocolGetRoute',
639
+ ChromiumJSONVersionGetRoute: 'ChromiumJSONVersionGetRoute',
640
+ ChromiumPDFPostRoute: 'ChromiumPDFPostRoute',
641
+ ChromiumPageWebSocketRoute: 'ChromiumPageWebSocketRoute',
642
+ ChromiumPerformancePostRoute: 'ChromiumPerformancePostRoute',
643
+ ChromiumPlaywrightWebSocketRoute: 'ChromiumPlaywrightWebSocketRoute',
644
+ ChromiumScrapePostRoute: 'ChromiumScrapePostRoute',
645
+ ChromiumScreenshotPostRoute: 'ChromiumScreenshotPostRoute',
646
+ };
647
+
648
+ export const BrowserlessFirefoxRoutes = {
649
+ FirefoxPlaywrightWebSocketRoute: 'FirefoxPlaywrightWebSocketRoute',
650
+ };
651
+
652
+ export const BrowserlessWebKitRoutes = {
653
+ WebKitPlaywrightWebSocketRoute: 'WebKitPlaywrightWebSocketRoute',
654
+ };
655
+
656
+ export const BrowserlessManagementRoutes = {
657
+ ConfigGetRoute: 'ConfigGetRoute',
658
+ MetricsGetRoute: 'MetricsGetRoute',
659
+ MetricsTotalGetRoute: 'MetricsTotalGetRoute',
660
+ SessionsGetRoute: 'SessionsGetRoute',
661
+ StaticGetRoute: 'StaticGetRoute',
662
+ };
663
+
664
+ export const BrowserlessRoutes = {
665
+ ...BrowserlessChromeRoutes,
666
+ ...BrowserlessChromiumRoutes,
667
+ ...BrowserlessFirefoxRoutes,
668
+ ...BrowserlessWebKitRoutes,
669
+ ...BrowserlessManagementRoutes,
670
+ };
package/src/utils.ts CHANGED
@@ -303,12 +303,18 @@ export const readBody = async (
303
303
  * Lists the path of Chromes (stable) install since
304
304
  * no library or utility out there does it including playwright.
305
305
  */
306
- export const chromeExecutablePath =
307
- process.platform === 'win32'
308
- ? `%ProgramFiles%\\Google\\Chrome\\Application\\chrome.exe`
309
- : process.platform === 'darwin'
310
- ? '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
311
- : '/usr/bin/google-chrome-stable';
306
+ export const chromeExecutablePath = () => {
307
+ if (process.platform === 'win32') {
308
+ // Windows always includes the ProgramFiles variable in the environment
309
+ return `${process.env['ProgramFiles']}\\Google\\Chrome\\Application\\chrome.exe`;
310
+ }
311
+
312
+ if (process.platform === 'darwin') {
313
+ return '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
314
+ }
315
+
316
+ return '/usr/bin/google-chrome-stable';
317
+ };
312
318
 
313
319
  export const getRouteFiles = async (config: Config): Promise<string[][]> => {
314
320
  const routes = config.getRoutes();
@@ -432,7 +438,7 @@ export const availableBrowsers = Promise.all([
432
438
  exists(playwright.chromium.executablePath()),
433
439
  exists(playwright.firefox.executablePath()),
434
440
  exists(playwright.webkit.executablePath()),
435
- exists(chromeExecutablePath),
441
+ exists(chromeExecutablePath()),
436
442
  ]).then(([chromiumExists, firefoxExists, webkitExists, chromeExists]) => {
437
443
  const availableBrowsers = [];
438
444