@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.
- package/README.md +2 -2
- package/bin/browserless.js +47 -18
- package/bin/scaffold/README.md +50 -0
- package/bin/scaffold/src/hello-world.http.ts +2 -1
- package/build/browserless.d.ts +3 -5
- package/build/browserless.js +17 -11
- package/build/browsers/chrome.cdp.js +1 -1
- package/build/browsers/chrome.playwright.js +1 -1
- package/build/browsers/index.d.ts +1 -0
- package/build/browsers/index.js +4 -1
- package/build/data/classes.json +1 -1
- package/build/data/selectors.json +1 -1
- package/build/exports.d.ts +24 -38
- package/build/exports.js +25 -44
- package/build/limiter.d.ts +2 -1
- package/build/limiter.js +6 -3
- package/build/routes/chrome/http/content.post.body.json +8 -8
- package/build/routes/chrome/http/content.post.d.ts +2 -1
- package/build/routes/chrome/http/content.post.js +3 -2
- package/build/routes/chrome/http/download.post.body.json +11 -489
- package/build/routes/chrome/http/download.post.d.ts +2 -1
- package/build/routes/chrome/http/download.post.js +3 -2
- package/build/routes/chrome/http/download.post.query.json +6 -69
- package/build/routes/chrome/http/download.post.response.json +0 -1
- package/build/routes/chrome/http/function.post.body.json +11 -489
- package/build/routes/chrome/http/function.post.d.ts +2 -1
- package/build/routes/chrome/http/function.post.js +3 -2
- package/build/routes/chrome/http/function.post.query.json +6 -69
- package/build/routes/chrome/http/function.post.response.json +0 -1
- package/build/routes/chrome/http/json-list.get.d.ts +5 -1
- package/build/routes/chrome/http/json-list.get.js +5 -1
- package/build/routes/chrome/http/json-list.get.response.json +49 -1
- package/build/routes/chrome/http/json-new.put.d.ts +5 -1
- package/build/routes/chrome/http/json-new.put.js +5 -1
- package/build/routes/chrome/http/json-new.put.response.json +41 -1
- package/build/routes/chrome/http/json-protocol.get.d.ts +5 -1
- package/build/routes/chrome/http/json-protocol.get.js +5 -1
- package/build/routes/chrome/http/json-protocol.get.response.json +3 -1
- package/build/routes/chrome/http/json-version.get.d.ts +5 -1
- package/build/routes/chrome/http/json-version.get.js +5 -1
- package/build/routes/chrome/http/json-version.get.response.json +41 -1
- package/build/routes/chrome/http/pdf.post.body.json +153 -9
- package/build/routes/chrome/http/pdf.post.d.ts +2 -1
- package/build/routes/chrome/http/pdf.post.js +3 -2
- package/build/routes/chrome/http/pdf.post.query.json +6 -69
- package/build/routes/chrome/http/performance.post.body.json +10 -494
- package/build/routes/chrome/http/performance.post.d.ts +2 -1
- package/build/routes/chrome/http/performance.post.js +3 -2
- package/build/routes/chrome/http/performance.post.query.json +6 -69
- package/build/routes/chrome/http/performance.post.response.json +3 -1
- package/build/routes/chrome/http/scrape.post.body.json +56 -9
- package/build/routes/chrome/http/scrape.post.d.ts +2 -1
- package/build/routes/chrome/http/scrape.post.js +3 -2
- package/build/routes/chrome/http/scrape.post.response.json +305 -1
- package/build/routes/chrome/http/screenshot.post.body.json +99 -9
- package/build/routes/chrome/http/screenshot.post.d.ts +2 -1
- package/build/routes/chrome/http/screenshot.post.js +3 -2
- package/build/routes/chrome/http/screenshot.post.query.json +6 -69
- package/build/routes/chrome/ws/browser.d.ts +2 -1
- package/build/routes/chrome/ws/browser.js +3 -2
- package/build/routes/chrome/ws/browser.query.json +6 -69
- package/build/routes/chrome/ws/cdp.d.ts +2 -1
- package/build/routes/chrome/ws/cdp.js +3 -2
- package/build/routes/chrome/ws/cdp.query.json +6 -69
- package/build/routes/chrome/ws/page.d.ts +3 -2
- package/build/routes/chrome/ws/page.js +3 -2
- package/build/routes/chrome/ws/page.query.json +6 -69
- package/build/routes/chrome/ws/playwright.d.ts +1 -0
- package/build/routes/chrome/ws/playwright.js +2 -1
- package/build/routes/chrome/ws/playwright.query.json +7 -90
- package/build/routes/chromium/http/content.post.body.json +8 -8
- package/build/routes/chromium/http/download.post.body.json +11 -489
- package/build/routes/chromium/http/download.post.query.json +6 -69
- package/build/routes/chromium/http/download.post.response.json +0 -1
- package/build/routes/chromium/http/function.post.body.json +11 -489
- package/build/routes/chromium/http/function.post.query.json +6 -69
- package/build/routes/chromium/http/function.post.response.json +0 -1
- package/build/routes/chromium/http/json-list.get.response.json +49 -1
- package/build/routes/chromium/http/json-new.put.response.json +41 -1
- package/build/routes/chromium/http/json-protocol.get.response.json +3 -1
- package/build/routes/chromium/http/json-version.get.response.json +41 -1
- package/build/routes/chromium/http/pdf.post.body.json +153 -9
- package/build/routes/chromium/http/pdf.post.query.json +6 -69
- package/build/routes/chromium/http/performance.post.body.json +10 -494
- package/build/routes/chromium/http/performance.post.query.json +6 -69
- package/build/routes/chromium/http/performance.post.response.json +3 -1
- package/build/routes/chromium/http/scrape.post.body.json +56 -9
- package/build/routes/chromium/http/scrape.post.response.json +305 -1
- package/build/routes/chromium/http/screenshot.post.body.json +99 -9
- package/build/routes/chromium/http/screenshot.post.query.json +6 -69
- package/build/routes/chromium/ws/browser.query.json +6 -69
- package/build/routes/chromium/ws/cdp.query.json +6 -69
- package/build/routes/chromium/ws/page.query.json +6 -69
- package/build/routes/chromium/ws/playwright.query.json +7 -90
- package/build/routes/firefox/ws/playwright.d.ts +2 -1
- package/build/routes/firefox/ws/playwright.js +3 -2
- package/build/routes/firefox/ws/playwright.query.json +30 -115
- package/build/routes/management/http/config.get.d.ts +1 -0
- package/build/routes/management/http/config.get.js +2 -1
- package/build/routes/management/http/config.get.response.json +104 -1
- package/build/routes/management/http/metrics-total.get.d.ts +1 -0
- package/build/routes/management/http/metrics-total.get.js +2 -1
- package/build/routes/management/http/metrics-total.get.response.json +69 -1
- package/build/routes/management/http/metrics.get.d.ts +1 -0
- package/build/routes/management/http/metrics.get.js +2 -1
- package/build/routes/management/http/metrics.get.response.json +91 -1
- package/build/routes/management/http/sessions.get.d.ts +1 -0
- package/build/routes/management/http/sessions.get.js +2 -1
- package/build/routes/management/http/sessions.get.response.json +232 -1
- package/build/routes/management/http/static.get.d.ts +1 -0
- package/build/routes/management/http/static.get.js +2 -1
- package/build/routes/webkit/ws/playwright.d.ts +2 -1
- package/build/routes/webkit/ws/playwright.js +3 -2
- package/build/routes/webkit/ws/playwright.query.json +7 -90
- package/build/shared/browser.ws.d.ts +2 -1
- package/build/shared/browser.ws.js +3 -2
- package/build/shared/chromium.playwright.ws.d.ts +2 -1
- package/build/shared/chromium.playwright.ws.js +3 -2
- package/build/shared/chromium.ws.d.ts +2 -1
- package/build/shared/chromium.ws.js +3 -2
- package/build/shared/content.http.d.ts +2 -1
- package/build/shared/content.http.js +3 -2
- package/build/shared/download.http.d.ts +2 -1
- package/build/shared/download.http.js +3 -2
- package/build/shared/function.http.d.ts +2 -1
- package/build/shared/function.http.js +3 -2
- package/build/shared/json-list.http.d.ts +2 -1
- package/build/shared/json-list.http.js +3 -2
- package/build/shared/json-new.http.d.ts +2 -1
- package/build/shared/json-new.http.js +3 -2
- package/build/shared/json-protocol.http.d.ts +2 -1
- package/build/shared/json-protocol.http.js +3 -2
- package/build/shared/json-version.http.d.ts +2 -1
- package/build/shared/json-version.http.js +3 -2
- package/build/shared/page.ws.d.ts +2 -1
- package/build/shared/page.ws.js +3 -2
- package/build/shared/pdf.http.d.ts +2 -1
- package/build/shared/pdf.http.js +3 -2
- package/build/shared/performance.http.d.ts +1 -0
- package/build/shared/performance.http.js +2 -1
- package/build/shared/scrape.http.d.ts +2 -1
- package/build/shared/scrape.http.js +3 -2
- package/build/shared/screenshot.http.d.ts +1 -0
- package/build/shared/screenshot.http.js +2 -1
- package/build/types.d.ts +91 -0
- package/build/types.js +54 -0
- package/build/utils.d.ts +1 -1
- package/build/utils.js +11 -6
- package/docker/chrome/Dockerfile +0 -2
- package/docker/chromium/Dockerfile +1 -4
- package/docker/firefox/Dockerfile +1 -4
- package/docker/multi/Dockerfile +2 -6
- package/docker/webkit/Dockerfile +1 -4
- package/package.json +11 -10
- package/scripts/build-open-api.js +150 -141
- package/scripts/build-schemas.js +3 -2
- package/src/browserless.ts +43 -30
- package/src/browsers/chrome.cdp.ts +1 -1
- package/src/browsers/chrome.playwright.ts +1 -1
- package/src/browsers/index.ts +5 -1
- package/src/exports.ts +25 -49
- package/src/limiter.ts +7 -3
- package/src/routes/chrome/http/content.post.ts +7 -2
- package/src/routes/chrome/http/download.post.ts +7 -2
- package/src/routes/chrome/http/function.post.ts +7 -2
- package/src/routes/chrome/http/json-list.get.ts +7 -1
- package/src/routes/chrome/http/json-new.put.ts +7 -1
- package/src/routes/chrome/http/json-protocol.get.ts +7 -1
- package/src/routes/chrome/http/json-version.get.ts +7 -1
- package/src/routes/chrome/http/pdf.post.ts +7 -2
- package/src/routes/chrome/http/performance.post.ts +7 -2
- package/src/routes/chrome/http/scrape.post.ts +7 -2
- package/src/routes/chrome/http/screenshot.post.ts +7 -2
- package/src/routes/chrome/ws/browser.ts +3 -2
- package/src/routes/chrome/ws/cdp.ts +7 -2
- package/src/routes/chrome/ws/page.ts +3 -2
- package/src/routes/chrome/ws/playwright.ts +6 -1
- package/src/routes/firefox/ws/playwright.ts +3 -1
- package/src/routes/management/http/config.get.ts +2 -0
- package/src/routes/management/http/metrics-total.get.ts +2 -0
- package/src/routes/management/http/metrics.get.ts +2 -0
- package/src/routes/management/http/sessions.get.ts +2 -0
- package/src/routes/management/http/static.get.ts +2 -0
- package/src/routes/webkit/ws/playwright.ts +3 -1
- package/src/shared/browser.ws.ts +3 -1
- package/src/shared/chromium.playwright.ws.ts +3 -1
- package/src/shared/chromium.ws.ts +3 -1
- package/src/shared/content.http.ts +3 -1
- package/src/shared/download.http.ts +3 -1
- package/src/shared/function.http.ts +3 -1
- package/src/shared/json-list.http.ts +3 -1
- package/src/shared/json-new.http.ts +3 -1
- package/src/shared/json-protocol.http.ts +3 -1
- package/src/shared/json-version.http.ts +3 -1
- package/src/shared/page.ws.ts +3 -1
- package/src/shared/pdf.http.ts +3 -1
- package/src/shared/performance.http.ts +2 -0
- package/src/shared/scrape.http.ts +3 -1
- package/src/shared/screenshot.http.ts +2 -0
- package/src/types.ts +66 -0
- package/src/utils.ts +13 -7
- package/static/docs/swagger.json +2511 -1520
- package/static/docs/swagger.min.json +6697 -0
- package/static/function/client.js +323 -323
- package/build/exports.core.d.ts +0 -24
- package/build/exports.core.js +0 -26
- package/src/exports.core.ts +0 -26
package/build/shared/pdf.http.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { APITags, BadRequest, BrowserHTTPRoute, ChromiumCDP, HTTPRoutes, Methods, bestAttemptCatch, contentTypes, dedent, noop, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, writeResponse, } from '@browserless.io/browserless';
|
|
1
|
+
import { APITags, BadRequest, BrowserHTTPRoute, BrowserlessRoutes, ChromiumCDP, HTTPRoutes, Methods, bestAttemptCatch, contentTypes, dedent, noop, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, writeResponse, } from '@browserless.io/browserless';
|
|
2
2
|
import { Stream } from 'stream';
|
|
3
|
-
export default class
|
|
3
|
+
export default class ChromiumPDFPostRoute extends BrowserHTTPRoute {
|
|
4
|
+
name = BrowserlessRoutes.ChromiumPDFPostRoute;
|
|
4
5
|
accepts = [contentTypes.json];
|
|
5
6
|
auth = true;
|
|
6
7
|
browser = ChromiumCDP;
|
|
@@ -16,6 +16,7 @@ export interface QuerySchema extends SystemQueryParameters {
|
|
|
16
16
|
*/
|
|
17
17
|
export type ResponseSchema = object;
|
|
18
18
|
export default class PerformancePost extends BrowserHTTPRoute {
|
|
19
|
+
name: string;
|
|
19
20
|
accepts: contentTypes[];
|
|
20
21
|
auth: boolean;
|
|
21
22
|
browser: typeof ChromiumCDP;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { APITags, BrowserHTTPRoute, ChromiumCDP, HTTPRoutes, Methods, contentTypes, jsonResponse, } from '@browserless.io/browserless';
|
|
1
|
+
import { APITags, BrowserHTTPRoute, BrowserlessRoutes, ChromiumCDP, HTTPRoutes, Methods, contentTypes, jsonResponse, } from '@browserless.io/browserless';
|
|
2
2
|
import main from './utils/performance/main.js';
|
|
3
3
|
export default class PerformancePost extends BrowserHTTPRoute {
|
|
4
|
+
name = BrowserlessRoutes.ChromiumPerformancePostRoute;
|
|
4
5
|
accepts = [contentTypes.json];
|
|
5
6
|
auth = true;
|
|
6
7
|
browser = ChromiumCDP;
|
|
@@ -104,7 +104,8 @@ export interface ResponseSchema {
|
|
|
104
104
|
screenshot: string | null;
|
|
105
105
|
} | null;
|
|
106
106
|
}
|
|
107
|
-
export default class
|
|
107
|
+
export default class ChromiumScrapePostRoute extends BrowserHTTPRoute {
|
|
108
|
+
name: string;
|
|
108
109
|
accepts: contentTypes[];
|
|
109
110
|
auth: boolean;
|
|
110
111
|
browser: typeof ChromiumCDP;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APITags, BadRequest, BrowserHTTPRoute, ChromiumCDP, HTTPRoutes, Methods, Timeout, bestAttemptCatch, contentTypes, debugScreenshotOpts, dedent, jsonResponse, noop, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, } from '@browserless.io/browserless';
|
|
1
|
+
import { APITags, BadRequest, BrowserHTTPRoute, BrowserlessRoutes, ChromiumCDP, HTTPRoutes, Methods, Timeout, bestAttemptCatch, contentTypes, debugScreenshotOpts, dedent, jsonResponse, noop, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, } from '@browserless.io/browserless';
|
|
2
2
|
const scrape = async (elements) => {
|
|
3
3
|
const wait = (selector, timeout = 30000) => {
|
|
4
4
|
return new Promise((resolve, reject) => {
|
|
@@ -39,7 +39,8 @@ const scrape = async (elements) => {
|
|
|
39
39
|
};
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
|
-
export default class
|
|
42
|
+
export default class ChromiumScrapePostRoute extends BrowserHTTPRoute {
|
|
43
|
+
name = BrowserlessRoutes.ChromiumScrapePostRoute;
|
|
43
44
|
accepts = [contentTypes.json];
|
|
44
45
|
auth = true;
|
|
45
46
|
browser = ChromiumCDP;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { APITags, BadRequest, BrowserHTTPRoute, ChromiumCDP, HTTPRoutes, Methods, bestAttemptCatch, contentTypes, dedent, noop, scrollThroughPage, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, } from '@browserless.io/browserless';
|
|
1
|
+
import { APITags, BadRequest, BrowserHTTPRoute, BrowserlessRoutes, ChromiumCDP, HTTPRoutes, Methods, bestAttemptCatch, contentTypes, dedent, noop, scrollThroughPage, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, } from '@browserless.io/browserless';
|
|
2
2
|
import Stream from 'stream';
|
|
3
3
|
export default class ScreenshotPost extends BrowserHTTPRoute {
|
|
4
|
+
name = BrowserlessRoutes.ChromiumScreenshotPostRoute;
|
|
4
5
|
accepts = [contentTypes.json];
|
|
5
6
|
auth = true;
|
|
6
7
|
browser = ChromiumCDP;
|
package/build/types.d.ts
CHANGED
|
@@ -56,6 +56,11 @@ declare abstract class Route {
|
|
|
56
56
|
protected _metrics: Browserless['metrics'];
|
|
57
57
|
protected _monitoring: Browserless['monitoring'];
|
|
58
58
|
constructor(_browserManager: Browserless['browserManager'], _config: Browserless['config'], _fileSystem: Browserless['fileSystem'], _debug: Browserless['debug'], _metrics: Browserless['metrics'], _monitoring: Browserless['monitoring']);
|
|
59
|
+
/**
|
|
60
|
+
* A unique name to identify this route. Used in downstream
|
|
61
|
+
* SDKs to potentially remove or disable.
|
|
62
|
+
*/
|
|
63
|
+
abstract name: string;
|
|
59
64
|
/**
|
|
60
65
|
* A boolean, or a function that returns a boolean, on
|
|
61
66
|
* whether the route requires an API token to access.
|
|
@@ -472,4 +477,90 @@ export interface CDPJSONPayload {
|
|
|
472
477
|
*/
|
|
473
478
|
webSocketDebuggerUrl: string;
|
|
474
479
|
}
|
|
480
|
+
export declare const BrowserlessChromeRoutes: {
|
|
481
|
+
ChromeBrowserWebSocketRoute: string;
|
|
482
|
+
ChromeCDPWebSocketRoute: string;
|
|
483
|
+
ChromeContentPostRoute: string;
|
|
484
|
+
ChromeDownloadPostRoute: string;
|
|
485
|
+
ChromeFunctionPostRoute: string;
|
|
486
|
+
ChromeJSONListGetRoute: string;
|
|
487
|
+
ChromeJSONNewPutRoute: string;
|
|
488
|
+
ChromeJSONProtocolGetRoute: string;
|
|
489
|
+
ChromeJSONVersionGetRoute: string;
|
|
490
|
+
ChromePDFPostRoute: string;
|
|
491
|
+
ChromePageWebSocketRoute: string;
|
|
492
|
+
ChromePerformancePostRoute: string;
|
|
493
|
+
ChromePlaywrightWebSocketRoute: string;
|
|
494
|
+
ChromeScrapePostRoute: string;
|
|
495
|
+
ChromeScreenshotPostRoute: string;
|
|
496
|
+
};
|
|
497
|
+
export declare const BrowserlessChromiumRoutes: {
|
|
498
|
+
ChromiumBrowserWebSocketRoute: string;
|
|
499
|
+
ChromiumCDPWebSocketRoute: string;
|
|
500
|
+
ChromiumContentPostRoute: string;
|
|
501
|
+
ChromiumDownloadPostRoute: string;
|
|
502
|
+
ChromiumFunctionPostRoute: string;
|
|
503
|
+
ChromiumJSONListGetRoute: string;
|
|
504
|
+
ChromiumJSONNewPutRoute: string;
|
|
505
|
+
ChromiumJSONProtocolGetRoute: string;
|
|
506
|
+
ChromiumJSONVersionGetRoute: string;
|
|
507
|
+
ChromiumPDFPostRoute: string;
|
|
508
|
+
ChromiumPageWebSocketRoute: string;
|
|
509
|
+
ChromiumPerformancePostRoute: string;
|
|
510
|
+
ChromiumPlaywrightWebSocketRoute: string;
|
|
511
|
+
ChromiumScrapePostRoute: string;
|
|
512
|
+
ChromiumScreenshotPostRoute: string;
|
|
513
|
+
};
|
|
514
|
+
export declare const BrowserlessFirefoxRoutes: {
|
|
515
|
+
FirefoxPlaywrightWebSocketRoute: string;
|
|
516
|
+
};
|
|
517
|
+
export declare const BrowserlessWebKitRoutes: {
|
|
518
|
+
WebKitPlaywrightWebSocketRoute: string;
|
|
519
|
+
};
|
|
520
|
+
export declare const BrowserlessManagementRoutes: {
|
|
521
|
+
ConfigGetRoute: string;
|
|
522
|
+
MetricsGetRoute: string;
|
|
523
|
+
MetricsTotalGetRoute: string;
|
|
524
|
+
SessionsGetRoute: string;
|
|
525
|
+
StaticGetRoute: string;
|
|
526
|
+
};
|
|
527
|
+
export declare const BrowserlessRoutes: {
|
|
528
|
+
ConfigGetRoute: string;
|
|
529
|
+
MetricsGetRoute: string;
|
|
530
|
+
MetricsTotalGetRoute: string;
|
|
531
|
+
SessionsGetRoute: string;
|
|
532
|
+
StaticGetRoute: string;
|
|
533
|
+
WebKitPlaywrightWebSocketRoute: string;
|
|
534
|
+
FirefoxPlaywrightWebSocketRoute: string;
|
|
535
|
+
ChromiumBrowserWebSocketRoute: string;
|
|
536
|
+
ChromiumCDPWebSocketRoute: string;
|
|
537
|
+
ChromiumContentPostRoute: string;
|
|
538
|
+
ChromiumDownloadPostRoute: string;
|
|
539
|
+
ChromiumFunctionPostRoute: string;
|
|
540
|
+
ChromiumJSONListGetRoute: string;
|
|
541
|
+
ChromiumJSONNewPutRoute: string;
|
|
542
|
+
ChromiumJSONProtocolGetRoute: string;
|
|
543
|
+
ChromiumJSONVersionGetRoute: string;
|
|
544
|
+
ChromiumPDFPostRoute: string;
|
|
545
|
+
ChromiumPageWebSocketRoute: string;
|
|
546
|
+
ChromiumPerformancePostRoute: string;
|
|
547
|
+
ChromiumPlaywrightWebSocketRoute: string;
|
|
548
|
+
ChromiumScrapePostRoute: string;
|
|
549
|
+
ChromiumScreenshotPostRoute: string;
|
|
550
|
+
ChromeBrowserWebSocketRoute: string;
|
|
551
|
+
ChromeCDPWebSocketRoute: string;
|
|
552
|
+
ChromeContentPostRoute: string;
|
|
553
|
+
ChromeDownloadPostRoute: string;
|
|
554
|
+
ChromeFunctionPostRoute: string;
|
|
555
|
+
ChromeJSONListGetRoute: string;
|
|
556
|
+
ChromeJSONNewPutRoute: string;
|
|
557
|
+
ChromeJSONProtocolGetRoute: string;
|
|
558
|
+
ChromeJSONVersionGetRoute: string;
|
|
559
|
+
ChromePDFPostRoute: string;
|
|
560
|
+
ChromePageWebSocketRoute: string;
|
|
561
|
+
ChromePerformancePostRoute: string;
|
|
562
|
+
ChromePlaywrightWebSocketRoute: string;
|
|
563
|
+
ChromeScrapePostRoute: string;
|
|
564
|
+
ChromeScreenshotPostRoute: string;
|
|
565
|
+
};
|
|
475
566
|
export {};
|
package/build/types.js
CHANGED
|
@@ -139,3 +139,57 @@ export const debugScreenshotOpts = {
|
|
|
139
139
|
quality: 20,
|
|
140
140
|
type: 'jpeg',
|
|
141
141
|
};
|
|
142
|
+
export const BrowserlessChromeRoutes = {
|
|
143
|
+
ChromeBrowserWebSocketRoute: 'ChromeBrowserWebSocketRoute',
|
|
144
|
+
ChromeCDPWebSocketRoute: 'ChromeCDPWebSocketRoute',
|
|
145
|
+
ChromeContentPostRoute: 'ChromeContentPostRoute',
|
|
146
|
+
ChromeDownloadPostRoute: 'ChromeDownloadPostRoute',
|
|
147
|
+
ChromeFunctionPostRoute: 'ChromeFunctionPostRoute',
|
|
148
|
+
ChromeJSONListGetRoute: 'ChromeJSONListGetRoute',
|
|
149
|
+
ChromeJSONNewPutRoute: 'ChromeJSONNewPutRoute',
|
|
150
|
+
ChromeJSONProtocolGetRoute: 'ChromeJSONProtocolGetRoute',
|
|
151
|
+
ChromeJSONVersionGetRoute: 'ChromeJSONVersionGetRoute',
|
|
152
|
+
ChromePDFPostRoute: 'ChromePDFPostRoute',
|
|
153
|
+
ChromePageWebSocketRoute: 'ChromePageWebSocketRoute',
|
|
154
|
+
ChromePerformancePostRoute: 'ChromePerformancePostRoute',
|
|
155
|
+
ChromePlaywrightWebSocketRoute: 'ChromePlaywrightWebSocketRoute',
|
|
156
|
+
ChromeScrapePostRoute: 'ChromeScrapePostRoute',
|
|
157
|
+
ChromeScreenshotPostRoute: 'ChromeScreenshotPostRoute',
|
|
158
|
+
};
|
|
159
|
+
export const BrowserlessChromiumRoutes = {
|
|
160
|
+
ChromiumBrowserWebSocketRoute: 'ChromiumBrowserWebSocketRoute',
|
|
161
|
+
ChromiumCDPWebSocketRoute: 'ChromiumCDPWebSocketRoute',
|
|
162
|
+
ChromiumContentPostRoute: 'ChromiumContentPostRoute',
|
|
163
|
+
ChromiumDownloadPostRoute: 'ChromiumDownloadPostRoute',
|
|
164
|
+
ChromiumFunctionPostRoute: 'ChromiumFunctionPostRoute',
|
|
165
|
+
ChromiumJSONListGetRoute: 'ChromiumJSONListGetRoute',
|
|
166
|
+
ChromiumJSONNewPutRoute: 'ChromiumJSONNewPutRoute',
|
|
167
|
+
ChromiumJSONProtocolGetRoute: 'ChromiumJSONProtocolGetRoute',
|
|
168
|
+
ChromiumJSONVersionGetRoute: 'ChromiumJSONVersionGetRoute',
|
|
169
|
+
ChromiumPDFPostRoute: 'ChromiumPDFPostRoute',
|
|
170
|
+
ChromiumPageWebSocketRoute: 'ChromiumPageWebSocketRoute',
|
|
171
|
+
ChromiumPerformancePostRoute: 'ChromiumPerformancePostRoute',
|
|
172
|
+
ChromiumPlaywrightWebSocketRoute: 'ChromiumPlaywrightWebSocketRoute',
|
|
173
|
+
ChromiumScrapePostRoute: 'ChromiumScrapePostRoute',
|
|
174
|
+
ChromiumScreenshotPostRoute: 'ChromiumScreenshotPostRoute',
|
|
175
|
+
};
|
|
176
|
+
export const BrowserlessFirefoxRoutes = {
|
|
177
|
+
FirefoxPlaywrightWebSocketRoute: 'FirefoxPlaywrightWebSocketRoute',
|
|
178
|
+
};
|
|
179
|
+
export const BrowserlessWebKitRoutes = {
|
|
180
|
+
WebKitPlaywrightWebSocketRoute: 'WebKitPlaywrightWebSocketRoute',
|
|
181
|
+
};
|
|
182
|
+
export const BrowserlessManagementRoutes = {
|
|
183
|
+
ConfigGetRoute: 'ConfigGetRoute',
|
|
184
|
+
MetricsGetRoute: 'MetricsGetRoute',
|
|
185
|
+
MetricsTotalGetRoute: 'MetricsTotalGetRoute',
|
|
186
|
+
SessionsGetRoute: 'SessionsGetRoute',
|
|
187
|
+
StaticGetRoute: 'StaticGetRoute',
|
|
188
|
+
};
|
|
189
|
+
export const BrowserlessRoutes = {
|
|
190
|
+
...BrowserlessChromeRoutes,
|
|
191
|
+
...BrowserlessChromiumRoutes,
|
|
192
|
+
...BrowserlessFirefoxRoutes,
|
|
193
|
+
...BrowserlessWebKitRoutes,
|
|
194
|
+
...BrowserlessManagementRoutes,
|
|
195
|
+
};
|
package/build/utils.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare const readBody: (req: Request) => Promise<ReturnType<typeof safeP
|
|
|
38
38
|
* Lists the path of Chromes (stable) install since
|
|
39
39
|
* no library or utility out there does it including playwright.
|
|
40
40
|
*/
|
|
41
|
-
export declare const chromeExecutablePath: string;
|
|
41
|
+
export declare const chromeExecutablePath: () => string;
|
|
42
42
|
export declare const getRouteFiles: (config: Config) => Promise<string[][]>;
|
|
43
43
|
export declare const make404: (...messages: string[]) => string;
|
|
44
44
|
/**
|
package/build/utils.js
CHANGED
|
@@ -203,11 +203,16 @@ export const readBody = async (req) => {
|
|
|
203
203
|
* Lists the path of Chromes (stable) install since
|
|
204
204
|
* no library or utility out there does it including playwright.
|
|
205
205
|
*/
|
|
206
|
-
export const chromeExecutablePath =
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
206
|
+
export const chromeExecutablePath = () => {
|
|
207
|
+
if (process.platform === 'win32') {
|
|
208
|
+
// Windows always includes the ProgramFiles variable in the environment
|
|
209
|
+
return `${process.env['ProgramFiles']}\\Google\\Chrome\\Application\\chrome.exe`;
|
|
210
|
+
}
|
|
211
|
+
if (process.platform === 'darwin') {
|
|
212
|
+
return '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
|
|
213
|
+
}
|
|
214
|
+
return '/usr/bin/google-chrome-stable';
|
|
215
|
+
};
|
|
211
216
|
export const getRouteFiles = async (config) => {
|
|
212
217
|
const routes = config.getRoutes();
|
|
213
218
|
const foundRoutes = await fs
|
|
@@ -300,7 +305,7 @@ export const availableBrowsers = Promise.all([
|
|
|
300
305
|
exists(playwright.chromium.executablePath()),
|
|
301
306
|
exists(playwright.firefox.executablePath()),
|
|
302
307
|
exists(playwright.webkit.executablePath()),
|
|
303
|
-
exists(chromeExecutablePath),
|
|
308
|
+
exists(chromeExecutablePath()),
|
|
304
309
|
]).then(([chromiumExists, firefoxExists, webkitExists, chromeExists]) => {
|
|
305
310
|
const availableBrowsers = [];
|
|
306
311
|
if (chromiumExists) {
|
package/docker/chrome/Dockerfile
CHANGED
|
@@ -4,8 +4,6 @@ LABEL org.opencontainers.image.source https://github.com/browserless/browserless
|
|
|
4
4
|
|
|
5
5
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
6
6
|
COPY src src/
|
|
7
|
-
# Only use core as exports since routes are lazy loaded and not always present
|
|
8
|
-
COPY src/exports.core.ts src/exports.ts
|
|
9
7
|
RUN rm -r src/routes/
|
|
10
8
|
COPY src/routes/management src/routes/management/
|
|
11
9
|
COPY src/routes/chrome src/routes/chrome/
|
|
@@ -4,8 +4,6 @@ LABEL org.opencontainers.image.source https://github.com/browserless/browserless
|
|
|
4
4
|
|
|
5
5
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
6
6
|
COPY src src/
|
|
7
|
-
# Only use core as exports since routes are lazy loaded and not always present
|
|
8
|
-
COPY src/exports.core.ts src/exports.ts
|
|
9
7
|
RUN rm -r src/routes/
|
|
10
8
|
COPY src/routes/management src/routes/management/
|
|
11
9
|
COPY src/routes/chromium src/routes/chromium/
|
|
@@ -28,8 +26,7 @@ RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula sele
|
|
|
28
26
|
fonts-ubuntu \
|
|
29
27
|
fonts-wqy-zenhei
|
|
30
28
|
|
|
31
|
-
RUN
|
|
32
|
-
npx --yes playwright install-deps chromium &&\
|
|
29
|
+
RUN ./node_modules/.bin/playwright-core install --with-deps chromium &&\
|
|
33
30
|
npm run build &&\
|
|
34
31
|
npm run build:function &&\
|
|
35
32
|
npm prune production &&\
|
|
@@ -4,8 +4,6 @@ LABEL org.opencontainers.image.source https://github.com/browserless/browserless
|
|
|
4
4
|
|
|
5
5
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
6
6
|
COPY src src/
|
|
7
|
-
# Only use core as exports since routes are lazy loaded and not always present
|
|
8
|
-
COPY src/exports.core.ts src/exports.ts
|
|
9
7
|
RUN rm -r src/routes/
|
|
10
8
|
COPY src/routes/management src/routes/management/
|
|
11
9
|
COPY src/routes/firefox src/routes/firefox/
|
|
@@ -28,8 +26,7 @@ RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula sele
|
|
|
28
26
|
fonts-ubuntu \
|
|
29
27
|
fonts-wqy-zenhei
|
|
30
28
|
|
|
31
|
-
RUN
|
|
32
|
-
npx --yes playwright install-deps firefox &&\
|
|
29
|
+
RUN ./node_modules/.bin/playwright-core install --with-deps firefox &&\
|
|
33
30
|
npm run build &&\
|
|
34
31
|
npm prune production &&\
|
|
35
32
|
chown -R blessuser:blessuser $APP_DIR &&\
|
package/docker/multi/Dockerfile
CHANGED
|
@@ -7,8 +7,6 @@ ENV TARGETPLATFORM=${TARGETPLATFORM}
|
|
|
7
7
|
|
|
8
8
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
9
9
|
COPY src src/
|
|
10
|
-
# Only use core as exports since routes are lazy loaded and not always present
|
|
11
|
-
COPY src/exports.core.ts src/exports.ts
|
|
12
10
|
|
|
13
11
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections &&\
|
|
14
12
|
apt-get -y -qq install software-properties-common &&\
|
|
@@ -31,14 +29,12 @@ RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula sele
|
|
|
31
29
|
# Chrome stable is only supported on non-ARM builds
|
|
32
30
|
# so it's installation is conditional on whether or not amd64
|
|
33
31
|
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
|
|
34
|
-
|
|
35
|
-
npx --yes playwright install chrome; \
|
|
32
|
+
./node_modules/.bin/playwright-core install --with-deps chrome; \
|
|
36
33
|
else \
|
|
37
34
|
rm -rf ./src/routes/chrome; \
|
|
38
35
|
fi
|
|
39
36
|
|
|
40
|
-
RUN
|
|
41
|
-
npx --yes playwright install-deps chromium firefox webkit &&\
|
|
37
|
+
RUN ./node_modules/.bin/playwright-core install --with-deps chromium firefox webkit &&\
|
|
42
38
|
npm run build &&\
|
|
43
39
|
npm run build:function &&\
|
|
44
40
|
npm prune production &&\
|
package/docker/webkit/Dockerfile
CHANGED
|
@@ -5,8 +5,6 @@ LABEL org.opencontainers.image.source https://github.com/browserless/browserless
|
|
|
5
5
|
# Install Fonts
|
|
6
6
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
7
7
|
COPY src src/
|
|
8
|
-
# Only use core as exports since routes are lazy loaded and not always present
|
|
9
|
-
COPY src/exports.core.ts src/exports.ts
|
|
10
8
|
RUN rm -r src/routes/
|
|
11
9
|
COPY src/routes/management src/routes/management/
|
|
12
10
|
COPY src/routes/webkit src/routes/webkit/
|
|
@@ -29,8 +27,7 @@ RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula sele
|
|
|
29
27
|
fonts-ubuntu \
|
|
30
28
|
fonts-wqy-zenhei
|
|
31
29
|
|
|
32
|
-
RUN
|
|
33
|
-
npx --yes playwright install-deps webkit &&\
|
|
30
|
+
RUN ./node_modules/.bin/playwright-core install --with-deps webkit &&\
|
|
34
31
|
npm run build &&\
|
|
35
32
|
npm prune production &&\
|
|
36
33
|
chown -R blessuser:blessuser $APP_DIR &&\
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@browserless.io/browserless",
|
|
3
|
-
"version": "2.3.0-beta-
|
|
3
|
+
"version": "2.3.0-beta-2",
|
|
4
4
|
"license": "SSPL",
|
|
5
5
|
"description": "The browserless platform",
|
|
6
6
|
"author": "browserless.io",
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
"lint": "eslint . --ext .ts --fix",
|
|
31
31
|
"prepack": "npm run build:dev",
|
|
32
32
|
"prettier": "prettier '{src,functions,scripts,bin,external,bin}/**/*.{js,ts,json}' --log-level error --write",
|
|
33
|
-
"test": "cross-env DEBUG=quiet mocha"
|
|
33
|
+
"test": "cross-env DEBUG=quiet mocha",
|
|
34
|
+
"start": "env-cmd -f .env node build"
|
|
34
35
|
},
|
|
35
36
|
"files": [
|
|
36
37
|
"assets/*",
|
|
@@ -56,32 +57,32 @@
|
|
|
56
57
|
"http-proxy": "^1.18.1",
|
|
57
58
|
"lighthouse": "^11.1.0",
|
|
58
59
|
"micromatch": "^4.0.4",
|
|
59
|
-
"playwright-core": "^1.
|
|
60
|
-
"puppeteer-core": "^22.
|
|
60
|
+
"playwright-core": "^1.42.0",
|
|
61
|
+
"puppeteer-core": "^22.3.0",
|
|
61
62
|
"puppeteer-extra": "^3.3.6",
|
|
62
63
|
"puppeteer-extra-plugin-stealth": "^2.11.2",
|
|
63
64
|
"queue": "^7.0.0",
|
|
64
65
|
"systeminformation": "^5.22.0"
|
|
65
66
|
},
|
|
66
67
|
"optionalDependencies": {
|
|
67
|
-
"@types/chai": "^4.3.
|
|
68
|
+
"@types/chai": "^4.3.12",
|
|
68
69
|
"@types/debug": "^4.1.12",
|
|
69
70
|
"@types/gradient-string": "^1.1.5",
|
|
70
71
|
"@types/http-proxy": "^1.17.14",
|
|
71
72
|
"@types/micromatch": "^4.0.6",
|
|
72
73
|
"@types/mocha": "^10.0.6",
|
|
73
|
-
"@types/node": "^20.11.
|
|
74
|
+
"@types/node": "^20.11.21",
|
|
74
75
|
"@types/sinon": "^17.0.3",
|
|
75
|
-
"@typescript-eslint/eslint-plugin": "^7.
|
|
76
|
-
"@typescript-eslint/parser": "^
|
|
76
|
+
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
|
77
|
+
"@typescript-eslint/parser": "^7.1.0",
|
|
77
78
|
"assert": "^2.0.0",
|
|
78
79
|
"chai": "^5.1.0",
|
|
79
80
|
"cross-env": "^7.0.3",
|
|
80
81
|
"env-cmd": "^10.1.0",
|
|
81
82
|
"esbuild": "^0.20.1",
|
|
82
83
|
"esbuild-plugin-polyfill-node": "^0.3.0",
|
|
83
|
-
"eslint": "^8.
|
|
84
|
-
"eslint-plugin-typescript-sort-keys": "^3.
|
|
84
|
+
"eslint": "^8.57.0",
|
|
85
|
+
"eslint-plugin-typescript-sort-keys": "^3.2.0",
|
|
85
86
|
"extract-zip": "^2.0.1",
|
|
86
87
|
"marked": "^12.0.0",
|
|
87
88
|
"mocha": "^10.3.0",
|