browserless 10.7.9-beta.0 → 10.7.10

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 (2) hide show
  1. package/package.json +6 -6
  2. package/src/index.js +5 -10
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "browserless",
3
3
  "description": "The headless Chrome/Chromium performance driver for Node.js",
4
4
  "homepage": "https://browserless.js.org",
5
- "version": "10.7.9-beta.0",
5
+ "version": "10.7.10",
6
6
  "main": "src/index.js",
7
7
  "author": {
8
8
  "email": "hello@microlink.io",
@@ -32,9 +32,9 @@
32
32
  ],
33
33
  "dependencies": {
34
34
  "@browserless/errors": "^10.7.1",
35
- "@browserless/goto": "^10.7.6",
36
- "@browserless/pdf": "^10.7.6",
37
- "@browserless/screenshot": "^10.7.7",
35
+ "@browserless/goto": "^10.7.10",
36
+ "@browserless/pdf": "^10.7.10",
37
+ "@browserless/screenshot": "^10.7.10",
38
38
  "debug-logfmt": "~1.2.3",
39
39
  "kill-process-group": "~1.0.11",
40
40
  "p-reflect": "~2.1.0",
@@ -44,7 +44,7 @@
44
44
  "superlock": "~1.2.2"
45
45
  },
46
46
  "devDependencies": {
47
- "@browserless/test": "^10.7.6",
47
+ "@browserless/test": "^10.7.10",
48
48
  "ava": "5",
49
49
  "ps-list": "7",
50
50
  "tinyspawn": "latest"
@@ -64,5 +64,5 @@
64
64
  "timeout": "2m",
65
65
  "workerThreads": false
66
66
  },
67
- "gitHead": "112999584d7b7137fb0eab858d31396eaf3c52e8"
67
+ "gitHead": "ed927a9e39f1ae3531776665208fa4a6e87b0c49"
68
68
  }
package/src/index.js CHANGED
@@ -111,12 +111,7 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
111
111
  }
112
112
  }
113
113
 
114
- /**
115
- * FIXME: Apparently there is a kind of race condition if you have more than one context and you close the page,
116
- * the browser context is closed but the browser process is broken
117
- * Related: https://github.com/search?q=repo%3Apuppeteer%2Fpuppeteer%20waitForScreenshotOperations&type=code
118
- */
119
- const withPage = (fn, { closePage: withClosePage = true, timeout: evaluateTimeout } = {}) => {
114
+ const withPage = (fn, { timeout: evaluateTimeout } = {}) => {
120
115
  const name = fn.name || 'anonymous'
121
116
 
122
117
  return async (...args) => {
@@ -127,12 +122,12 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
127
122
 
128
123
  try {
129
124
  page = await createPage(name)
130
- setTimeout(() => closePage(page, `${name}:timeout`), timeout).unref()
125
+ setTimeout(() => closePage(page, name), timeout).unref()
131
126
  const value = await fn(page, goto)(...args)
132
- if (withClosePage) await closePage(page, `${name}:success`)
127
+ await closePage(page, `${name}:success`)
133
128
  return value
134
129
  } catch (error) {
135
- if (withClosePage) await closePage(page, `${name}:error`)
130
+ await closePage(page, `${name}:error`)
136
131
  if (!isRejected) throw ensureError(error)
137
132
  }
138
133
  }
@@ -197,7 +192,7 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
197
192
  html: evaluate(page => page.content()),
198
193
  page: createPage,
199
194
  pdf: withPage(createPdf({ goto })),
200
- screenshot: withPage(createScreenshot({ goto }), { closePage: false }),
195
+ screenshot: withPage(createScreenshot({ goto })),
201
196
  text: evaluate(page => page.evaluate(() => document.body.innerText)),
202
197
  getDevice: goto.getDevice,
203
198
  destroyContext,