@browserless.io/browserless 2.24.3 → 2.25.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 (160) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/README.md +1 -1
  3. package/build/browserless.js +3 -1
  4. package/build/browsers/browsers.cdp.d.ts +3 -0
  5. package/build/browsers/browsers.cdp.js +4 -1
  6. package/build/browsers/browsers.playwright.d.ts +4 -0
  7. package/build/browsers/browsers.playwright.js +5 -1
  8. package/build/browsers/index.js +3 -2
  9. package/build/http.d.ts +9 -0
  10. package/build/http.js +9 -0
  11. package/build/routes/chrome/http/content.post.body.json +8 -8
  12. package/build/routes/chrome/http/pdf.post.body.json +8 -8
  13. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  14. package/build/routes/chrome/http/screenshot.post.body.json +8 -8
  15. package/build/routes/chrome/tests/kill-sessions.spec.js +1 -1
  16. package/build/routes/chromium/http/content.post.body.json +8 -8
  17. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  18. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  19. package/build/routes/chromium/http/screenshot.post.body.json +8 -8
  20. package/build/routes/chromium/tests/kill-sessions.spec.js +1 -1
  21. package/build/routes/edge/http/content.post.body.json +579 -0
  22. package/build/routes/edge/http/content.post.d.ts +8 -0
  23. package/build/routes/edge/http/content.post.js +7 -0
  24. package/build/routes/edge/http/content.post.query.json +183 -0
  25. package/build/routes/edge/http/content.post.response.json +5 -0
  26. package/build/routes/edge/http/download.post.body.json +32 -0
  27. package/build/routes/edge/http/download.post.d.ts +8 -0
  28. package/build/routes/edge/http/download.post.js +7 -0
  29. package/build/routes/edge/http/download.post.query.json +120 -0
  30. package/build/routes/edge/http/download.post.response.json +4 -0
  31. package/build/routes/edge/http/function.post.body.json +32 -0
  32. package/build/routes/edge/http/function.post.d.ts +8 -0
  33. package/build/routes/edge/http/function.post.js +7 -0
  34. package/build/routes/edge/http/function.post.query.json +120 -0
  35. package/build/routes/edge/http/function.post.response.json +4 -0
  36. package/build/routes/edge/http/json-list.get.d.ts +5 -0
  37. package/build/routes/edge/http/json-list.get.js +5 -0
  38. package/build/routes/edge/http/json-list.get.response.json +52 -0
  39. package/build/routes/edge/http/json-new.put.d.ts +5 -0
  40. package/build/routes/edge/http/json-new.put.js +5 -0
  41. package/build/routes/edge/http/json-new.put.response.json +44 -0
  42. package/build/routes/edge/http/json-protocol.get.d.ts +5 -0
  43. package/build/routes/edge/http/json-protocol.get.js +5 -0
  44. package/build/routes/edge/http/json-protocol.get.response.json +6 -0
  45. package/build/routes/edge/http/json-version.get.d.ts +5 -0
  46. package/build/routes/edge/http/json-version.get.js +5 -0
  47. package/build/routes/edge/http/json-version.get.response.json +44 -0
  48. package/build/routes/edge/http/pdf.post.body.json +724 -0
  49. package/build/routes/edge/http/pdf.post.d.ts +8 -0
  50. package/build/routes/edge/http/pdf.post.js +7 -0
  51. package/build/routes/edge/http/pdf.post.query.json +120 -0
  52. package/build/routes/edge/http/pdf.post.response.json +5 -0
  53. package/build/routes/edge/http/performance.post.body.json +26 -0
  54. package/build/routes/edge/http/performance.post.d.ts +8 -0
  55. package/build/routes/edge/http/performance.post.js +7 -0
  56. package/build/routes/edge/http/performance.post.query.json +120 -0
  57. package/build/routes/edge/http/performance.post.response.json +7 -0
  58. package/build/routes/edge/http/scrape.post.body.json +626 -0
  59. package/build/routes/edge/http/scrape.post.d.ts +8 -0
  60. package/build/routes/edge/http/scrape.post.js +7 -0
  61. package/build/routes/edge/http/scrape.post.query.json +183 -0
  62. package/build/routes/edge/http/scrape.post.response.json +334 -0
  63. package/build/routes/edge/http/screenshot.post.body.json +669 -0
  64. package/build/routes/edge/http/screenshot.post.d.ts +8 -0
  65. package/build/routes/edge/http/screenshot.post.js +7 -0
  66. package/build/routes/edge/http/screenshot.post.query.json +120 -0
  67. package/build/routes/edge/http/screenshot.post.response.json +5 -0
  68. package/build/routes/edge/tests/content.spec.d.ts +1 -0
  69. package/build/routes/edge/tests/content.spec.js +312 -0
  70. package/build/routes/edge/tests/download.spec.d.ts +1 -0
  71. package/build/routes/edge/tests/download.spec.js +67 -0
  72. package/build/routes/edge/tests/function.spec.d.ts +1 -0
  73. package/build/routes/edge/tests/function.spec.js +277 -0
  74. package/build/routes/edge/tests/json-version.spec.d.ts +1 -0
  75. package/build/routes/edge/tests/json-version.spec.js +37 -0
  76. package/build/routes/edge/tests/kill-sessions.spec.d.ts +1 -0
  77. package/build/routes/edge/tests/kill-sessions.spec.js +80 -0
  78. package/build/routes/edge/tests/page-websocket.spec.d.ts +1 -0
  79. package/build/routes/edge/tests/page-websocket.spec.js +97 -0
  80. package/build/routes/edge/tests/pdf.spec.d.ts +1 -0
  81. package/build/routes/edge/tests/pdf.spec.js +345 -0
  82. package/build/routes/edge/tests/performance.spec.d.ts +1 -0
  83. package/build/routes/edge/tests/performance.spec.js +124 -0
  84. package/build/routes/edge/tests/scrape.spec.d.ts +1 -0
  85. package/build/routes/edge/tests/scrape.spec.js +354 -0
  86. package/build/routes/edge/tests/screenshot.spec.d.ts +1 -0
  87. package/build/routes/edge/tests/screenshot.spec.js +339 -0
  88. package/build/routes/edge/tests/websocket.spec.d.ts +1 -0
  89. package/build/routes/edge/tests/websocket.spec.js +384 -0
  90. package/build/routes/edge/ws/browser.d.ts +7 -0
  91. package/build/routes/edge/ws/browser.js +6 -0
  92. package/build/routes/edge/ws/browser.query.json +120 -0
  93. package/build/routes/edge/ws/cdp.d.ts +8 -0
  94. package/build/routes/edge/ws/cdp.js +7 -0
  95. package/build/routes/edge/ws/cdp.query.json +120 -0
  96. package/build/routes/edge/ws/page.d.ts +8 -0
  97. package/build/routes/edge/ws/page.js +7 -0
  98. package/build/routes/edge/ws/page.query.json +120 -0
  99. package/build/routes/edge/ws/playwright.d.ts +8 -0
  100. package/build/routes/edge/ws/playwright.js +7 -0
  101. package/build/routes/edge/ws/playwright.query.json +100 -0
  102. package/build/routes/firefox/tests/kill-sessions.spec.js +1 -1
  103. package/build/routes/webkit/tests/kill-sessions.spec.js +1 -1
  104. package/build/sdk-utils.js +1 -1
  105. package/build/shared/scrape.http.js +2 -2
  106. package/build/types.d.ts +32 -0
  107. package/build/types.js +18 -0
  108. package/build/utils.d.ts +1 -0
  109. package/build/utils.js +16 -2
  110. package/docker/chrome/Dockerfile +14 -14
  111. package/docker/chromium/Dockerfile +14 -14
  112. package/docker/edge/.dockerignore +16 -0
  113. package/docker/edge/Dockerfile +43 -0
  114. package/docker/firefox/Dockerfile +14 -14
  115. package/docker/multi/Dockerfile +18 -18
  116. package/docker/sdk/Dockerfile +10 -0
  117. package/package.json +18 -18
  118. package/src/browserless.ts +4 -0
  119. package/src/browsers/browsers.cdp.ts +5 -0
  120. package/src/browsers/browsers.playwright.ts +6 -0
  121. package/src/browsers/index.ts +4 -1
  122. package/src/http.ts +9 -0
  123. package/src/routes/chrome/tests/kill-sessions.spec.ts +1 -1
  124. package/src/routes/chromium/tests/kill-sessions.spec.ts +1 -1
  125. package/src/routes/edge/http/content.post.ts +20 -0
  126. package/src/routes/edge/http/download.post.ts +20 -0
  127. package/src/routes/edge/http/function.post.ts +20 -0
  128. package/src/routes/edge/http/json-list.get.ts +7 -0
  129. package/src/routes/edge/http/json-new.put.ts +7 -0
  130. package/src/routes/edge/http/json-protocol.get.ts +7 -0
  131. package/src/routes/edge/http/json-version.get.ts +7 -0
  132. package/src/routes/edge/http/pdf.post.ts +20 -0
  133. package/src/routes/edge/http/performance.post.ts +20 -0
  134. package/src/routes/edge/http/scrape.post.ts +20 -0
  135. package/src/routes/edge/http/screenshot.post.ts +20 -0
  136. package/src/routes/edge/tests/content.spec.ts +376 -0
  137. package/src/routes/edge/tests/download.spec.ts +77 -0
  138. package/src/routes/edge/tests/function.spec.ts +317 -0
  139. package/src/routes/edge/tests/json-version.spec.ts +52 -0
  140. package/src/routes/edge/tests/kill-sessions.spec.ts +99 -0
  141. package/src/routes/edge/tests/page-websocket.spec.ts +129 -0
  142. package/src/routes/edge/tests/pdf.spec.ts +389 -0
  143. package/src/routes/edge/tests/performance.spec.ts +155 -0
  144. package/src/routes/edge/tests/scrape.spec.ts +417 -0
  145. package/src/routes/edge/tests/screenshot.spec.ts +387 -0
  146. package/src/routes/edge/tests/websocket.spec.ts +510 -0
  147. package/src/routes/edge/ws/browser.ts +10 -0
  148. package/src/routes/edge/ws/cdp.ts +17 -0
  149. package/src/routes/edge/ws/page.ts +10 -0
  150. package/src/routes/edge/ws/playwright.ts +17 -0
  151. package/src/routes/firefox/tests/kill-sessions.spec.ts +1 -1
  152. package/src/routes/webkit/tests/kill-sessions.spec.ts +1 -1
  153. package/src/sdk-utils.ts +1 -1
  154. package/src/shared/scrape.http.ts +2 -2
  155. package/src/types.ts +19 -0
  156. package/src/utils.ts +38 -16
  157. package/static/docs/swagger.json +2097 -10
  158. package/static/docs/swagger.min.json +2096 -9
  159. package/static/function/client.js +76 -68
  160. package/static/function/index.html +76 -68
@@ -0,0 +1,8 @@
1
+ import { EdgeCDP, HTTPRoutes } from '@browserless.io/browserless';
2
+ import { BodySchema, default as PDF, QuerySchema, ResponseSchema } from '../../../shared/pdf.http.js';
3
+ export default class EdgePDFPostRoute extends PDF {
4
+ name: string;
5
+ browser: typeof EdgeCDP;
6
+ path: HTTPRoutes[];
7
+ }
8
+ export { BodySchema, QuerySchema, ResponseSchema };
@@ -0,0 +1,7 @@
1
+ import { BrowserlessRoutes, EdgeCDP, HTTPRoutes, } from '@browserless.io/browserless';
2
+ import { default as PDF, } from '../../../shared/pdf.http.js';
3
+ export default class EdgePDFPostRoute extends PDF {
4
+ name = BrowserlessRoutes.EdgePDFPostRoute;
5
+ browser = EdgeCDP;
6
+ path = [HTTPRoutes.edgePdf];
7
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "launch": {
5
+ "description": "Launch options, which can be either an object\nof puppeteer.launch options or playwright.launchServer\noptions, depending on the API. Must be either JSON\nobject, or a base64-encoded JSON object.",
6
+ "anyOf": [
7
+ {
8
+ "$ref": "#/definitions/CDPLaunchOptions"
9
+ },
10
+ {
11
+ "type": "string"
12
+ }
13
+ ]
14
+ },
15
+ "blockAds": {
16
+ "description": "Whether or nor to load ad-blocking extensions for the session.\nThis currently uses uBlock Origin and may cause certain sites\nto not load properly.",
17
+ "type": "boolean"
18
+ },
19
+ "timeout": {
20
+ "description": "Override the system-level timeout for this request.\nAccepts a value in milliseconds.",
21
+ "type": "number"
22
+ },
23
+ "token": {
24
+ "description": "The authorization token",
25
+ "type": "string"
26
+ },
27
+ "trackingId": {
28
+ "description": "Custom session identifier",
29
+ "type": "string"
30
+ }
31
+ },
32
+ "additionalProperties": false,
33
+ "definitions": {
34
+ "CDPLaunchOptions": {
35
+ "type": "object",
36
+ "properties": {
37
+ "args": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "string"
41
+ }
42
+ },
43
+ "defaultViewport": {
44
+ "type": "object",
45
+ "properties": {
46
+ "deviceScaleFactor": {
47
+ "type": "number"
48
+ },
49
+ "hasTouch": {
50
+ "type": "boolean"
51
+ },
52
+ "height": {
53
+ "type": "number"
54
+ },
55
+ "isLandscape": {
56
+ "type": "boolean"
57
+ },
58
+ "isMobile": {
59
+ "type": "boolean"
60
+ },
61
+ "width": {
62
+ "type": "number"
63
+ }
64
+ },
65
+ "additionalProperties": false,
66
+ "required": [
67
+ "height",
68
+ "width"
69
+ ]
70
+ },
71
+ "devtools": {
72
+ "type": "boolean"
73
+ },
74
+ "dumpio": {
75
+ "type": "boolean"
76
+ },
77
+ "headless": {
78
+ "enum": [
79
+ false,
80
+ "shell",
81
+ true
82
+ ]
83
+ },
84
+ "ignoreDefaultArgs": {
85
+ "anyOf": [
86
+ {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ {
93
+ "type": "boolean"
94
+ }
95
+ ]
96
+ },
97
+ "ignoreHTTPSErrors": {
98
+ "type": "boolean"
99
+ },
100
+ "slowMo": {
101
+ "type": "number"
102
+ },
103
+ "stealth": {
104
+ "type": "boolean"
105
+ },
106
+ "timeout": {
107
+ "type": "number"
108
+ },
109
+ "userDataDir": {
110
+ "type": "string"
111
+ },
112
+ "waitForInitialPage": {
113
+ "type": "boolean"
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ }
118
+ },
119
+ "$schema": "http://json-schema.org/draft-07/schema#"
120
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Responds with an application/pdf content-type and a binary PDF",
3
+ "type": "string",
4
+ "$schema": "http://json-schema.org/draft-07/schema#"
5
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "budgets": {
5
+ "type": "array",
6
+ "items": {
7
+ "type": "object",
8
+ "properties": {},
9
+ "additionalProperties": true
10
+ }
11
+ },
12
+ "config": {
13
+ "type": "object",
14
+ "properties": {},
15
+ "additionalProperties": true
16
+ },
17
+ "url": {
18
+ "type": "string"
19
+ }
20
+ },
21
+ "additionalProperties": false,
22
+ "required": [
23
+ "url"
24
+ ],
25
+ "$schema": "http://json-schema.org/draft-07/schema#"
26
+ }
@@ -0,0 +1,8 @@
1
+ import { EdgeCDP, HTTPRoutes } from '@browserless.io/browserless';
2
+ import { BodySchema, default as Performance, QuerySchema, ResponseSchema } from '../../../shared/performance.http.js';
3
+ export default class EdgePerformancePostRoute extends Performance {
4
+ name: string;
5
+ browser: typeof EdgeCDP;
6
+ path: HTTPRoutes[];
7
+ }
8
+ export { BodySchema, QuerySchema, ResponseSchema };
@@ -0,0 +1,7 @@
1
+ import { BrowserlessRoutes, EdgeCDP, HTTPRoutes, } from '@browserless.io/browserless';
2
+ import { default as Performance, } from '../../../shared/performance.http.js';
3
+ export default class EdgePerformancePostRoute extends Performance {
4
+ name = BrowserlessRoutes.EdgePerformancePostRoute;
5
+ browser = EdgeCDP;
6
+ path = [HTTPRoutes.edgePerformance];
7
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "launch": {
5
+ "description": "Launch options, which can be either an object\nof puppeteer.launch options or playwright.launchServer\noptions, depending on the API. Must be either JSON\nobject, or a base64-encoded JSON object.",
6
+ "anyOf": [
7
+ {
8
+ "$ref": "#/definitions/CDPLaunchOptions"
9
+ },
10
+ {
11
+ "type": "string"
12
+ }
13
+ ]
14
+ },
15
+ "blockAds": {
16
+ "description": "Whether or nor to load ad-blocking extensions for the session.\nThis currently uses uBlock Origin and may cause certain sites\nto not load properly.",
17
+ "type": "boolean"
18
+ },
19
+ "timeout": {
20
+ "description": "Override the system-level timeout for this request.\nAccepts a value in milliseconds.",
21
+ "type": "number"
22
+ },
23
+ "token": {
24
+ "description": "The authorization token",
25
+ "type": "string"
26
+ },
27
+ "trackingId": {
28
+ "description": "Custom session identifier",
29
+ "type": "string"
30
+ }
31
+ },
32
+ "additionalProperties": false,
33
+ "definitions": {
34
+ "CDPLaunchOptions": {
35
+ "type": "object",
36
+ "properties": {
37
+ "args": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "string"
41
+ }
42
+ },
43
+ "defaultViewport": {
44
+ "type": "object",
45
+ "properties": {
46
+ "deviceScaleFactor": {
47
+ "type": "number"
48
+ },
49
+ "hasTouch": {
50
+ "type": "boolean"
51
+ },
52
+ "height": {
53
+ "type": "number"
54
+ },
55
+ "isLandscape": {
56
+ "type": "boolean"
57
+ },
58
+ "isMobile": {
59
+ "type": "boolean"
60
+ },
61
+ "width": {
62
+ "type": "number"
63
+ }
64
+ },
65
+ "additionalProperties": false,
66
+ "required": [
67
+ "height",
68
+ "width"
69
+ ]
70
+ },
71
+ "devtools": {
72
+ "type": "boolean"
73
+ },
74
+ "dumpio": {
75
+ "type": "boolean"
76
+ },
77
+ "headless": {
78
+ "enum": [
79
+ false,
80
+ "shell",
81
+ true
82
+ ]
83
+ },
84
+ "ignoreDefaultArgs": {
85
+ "anyOf": [
86
+ {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ {
93
+ "type": "boolean"
94
+ }
95
+ ]
96
+ },
97
+ "ignoreHTTPSErrors": {
98
+ "type": "boolean"
99
+ },
100
+ "slowMo": {
101
+ "type": "number"
102
+ },
103
+ "stealth": {
104
+ "type": "boolean"
105
+ },
106
+ "timeout": {
107
+ "type": "number"
108
+ },
109
+ "userDataDir": {
110
+ "type": "string"
111
+ },
112
+ "waitForInitialPage": {
113
+ "type": "boolean"
114
+ }
115
+ },
116
+ "additionalProperties": false
117
+ }
118
+ },
119
+ "$schema": "http://json-schema.org/draft-07/schema#"
120
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "description": "The response of the lighthouse stats. Response objects are\ndetermined by the type of budgets and config in the POST\nJSON body",
3
+ "type": "object",
4
+ "properties": {},
5
+ "additionalProperties": true,
6
+ "$schema": "http://json-schema.org/draft-07/schema#"
7
+ }