browserless 10.11.0 → 10.11.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/LICENSE.md CHANGED
File without changes
package/README.md CHANGED
@@ -46,7 +46,6 @@ This package integrates and re-exports functionality from other `@browserless/*`
46
46
  | `@browserless/goto` | Page navigation with smart waiting strategies, ad blocking, and evasion techniques |
47
47
  | `@browserless/screenshot` | Screenshot capture with overlays, device emulation, and code highlighting |
48
48
  | `@browserless/pdf` | PDF generation with customizable margins and scaling |
49
- | `@browserless/capture` | Tab recording via extension + `tabCapture` (uses default browser context) |
50
49
  | `@browserless/errors` | Standardized error handling and timeout errors |
51
50
 
52
51
  ## License
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "browserless",
3
3
  "description": "The headless Chrome/Chromium driver on top of Puppeteer. Take screenshots, generate PDFs, extract text and HTML with a production-ready API.",
4
4
  "homepage": "https://browserless.js.org",
5
- "version": "10.11.0",
5
+ "version": "10.11.2",
6
6
  "main": "src/index.js",
7
7
  "author": {
8
8
  "email": "hello@microlink.io",
@@ -18,28 +18,27 @@
18
18
  "url": "https://github.com/microlinkhq/browserless/issues"
19
19
  },
20
20
  "keywords": [
21
+ "automation",
21
22
  "browser",
22
23
  "browserless",
23
24
  "chrome",
24
25
  "chromium",
25
26
  "headless",
27
+ "html",
28
+ "javascript",
29
+ "nodejs",
30
+ "pdf",
26
31
  "puppeteer",
27
32
  "screenshot",
28
- "pdf",
29
- "html",
30
33
  "text",
31
- "automation",
32
- "web-scraping",
33
- "nodejs",
34
- "javascript"
34
+ "web-scraping"
35
35
  ],
36
36
  "dependencies": {
37
- "@browserless/capture": "^10.11.0",
38
- "@browserless/errors": "^10.10.1",
39
- "@browserless/goto": "^10.11.0",
40
- "@browserless/pdf": "^10.11.0",
41
- "@browserless/screenshot": "^10.11.0",
42
- "debug-logfmt": "~1.4.7",
37
+ "@browserless/errors": "^10.11.1",
38
+ "@browserless/goto": "^10.11.1",
39
+ "@browserless/pdf": "^10.11.1",
40
+ "@browserless/screenshot": "^10.11.1",
41
+ "debug-logfmt": "~1.4.8",
43
42
  "kill-process-group": "~1.0.13",
44
43
  "p-reflect": "~2.1.0",
45
44
  "p-retry": "~4.6.1",
@@ -48,7 +47,7 @@
48
47
  "superlock": "~1.2.6"
49
48
  },
50
49
  "devDependencies": {
51
- "@browserless/test": "^10.9.18",
50
+ "@browserless/test": "^10.11.1",
52
51
  "ava": "5",
53
52
  "ps-list": "7",
54
53
  "tinyspawn": "latest"
@@ -59,13 +58,14 @@
59
58
  "files": [
60
59
  "src"
61
60
  ],
61
+ "scripts": {
62
+ "test": "ava"
63
+ },
62
64
  "license": "MIT",
63
65
  "ava": {
64
66
  "serial": true,
65
67
  "timeout": "2m",
66
68
  "workerThreads": false
67
69
  },
68
- "scripts": {
69
- "test": "ava"
70
- }
71
- }
70
+ "gitHead": "efe1f5047f7fbb4f4fef20ed0c11dcb978070fc9"
71
+ }
package/src/driver.js CHANGED
@@ -1,7 +1,6 @@
1
1
  'use strict'
2
2
 
3
3
  const killProcessGroup = require('kill-process-group')
4
- const createCapture = require('@browserless/capture')
5
4
  const debug = require('debug-logfmt')('browserless')
6
5
  const requireOneOf = require('require-one-of')
7
6
  const pReflect = require('p-reflect')
@@ -43,24 +42,9 @@ const defaultArgs = [
43
42
  'PushMessaging',
44
43
  'site-per-process', // Disables OOPIF. https://www.chromium.org/Home/chromium-security/site-isolation
45
44
  'WebPayments'
46
- ].join(',')}`,
47
- `--allowlisted-extension-id=${createCapture.extensionId}`,
48
- `--disable-extensions-except=${createCapture.extensionPath}`,
49
- `--load-extension=${createCapture.extensionPath}`
45
+ ].join(',')}`
50
46
  ]
51
47
 
52
- const normalizeIgnoreDefaultArgs = ignoreDefaultArgs => {
53
- if (ignoreDefaultArgs === true) return true
54
-
55
- const required = ['--disable-extensions']
56
-
57
- if (Array.isArray(ignoreDefaultArgs)) {
58
- return [...new Set([...ignoreDefaultArgs, ...required])]
59
- }
60
-
61
- return required
62
- }
63
-
64
48
  const spawn = ({
65
49
  args = defaultArgs,
66
50
  headless = true,
@@ -74,7 +58,7 @@ const spawn = ({
74
58
  puppeteer[mode]({
75
59
  args,
76
60
  headless,
77
- ignoreDefaultArgs: normalizeIgnoreDefaultArgs(ignoreDefaultArgs),
61
+ ignoreDefaultArgs,
78
62
  ignoreHTTPSErrors,
79
63
  waitForInitialPage,
80
64
  ...launchOpts
package/src/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  'use strict'
2
2
 
3
3
  const { ensureError, browserTimeout } = require('@browserless/errors')
4
- const createCapture = require('@browserless/capture')
5
4
  const createScreenshot = require('@browserless/screenshot')
6
5
  const debug = require('debug-logfmt')('browserless')
7
6
  const createGoto = require('@browserless/goto')
@@ -79,11 +78,9 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
79
78
 
80
79
  const getBrowserContext = () => _contextPromise
81
80
 
82
- const createPage = async (name, { useDefaultContext = false } = {}) => {
81
+ const createPage = async name => {
83
82
  const duration = debug.duration('createPage')
84
- const browserContext = useDefaultContext
85
- ? (await getBrowser()).defaultBrowserContext()
86
- : await getBrowserContext()
83
+ const browserContext = await getBrowserContext()
87
84
  const page = await browserContext.newPage()
88
85
  const browser = typeof page.browser === 'function' ? page.browser() : undefined
89
86
  const metadata = {
@@ -106,7 +103,7 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
106
103
  }
107
104
  }
108
105
 
109
- const withPage = (fn, { timeout: evaluateTimeout, useDefaultContext = false } = {}) => {
106
+ const withPage = (fn, { timeout: evaluateTimeout } = {}) => {
110
107
  const name = fn.name || 'anonymous'
111
108
 
112
109
  return async (...args) => {
@@ -117,7 +114,7 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
117
114
  let closePageTimeout
118
115
 
119
116
  try {
120
- page = await createPage(name, { useDefaultContext })
117
+ page = await createPage(name)
121
118
  closePageTimeout = setTimeout(() => {
122
119
  closePage(page, name).catch(error => {
123
120
  const { message, code, name } = ensureError(error)
@@ -195,7 +192,6 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
195
192
  goto,
196
193
  html: evaluate(page => page.content()),
197
194
  page: createPage,
198
- capture: withPage(createCapture({ goto }), { useDefaultContext: true }),
199
195
  pdf: withPage(createPdf({ goto })),
200
196
  screenshot: withPage(createScreenshot({ goto })),
201
197
  text: evaluate(page => page.evaluate(() => document.body.innerText)),