browserless 10.7.6 → 10.7.7

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 +3 -3
  2. package/src/index.js +19 -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.6",
5
+ "version": "10.7.7",
6
6
  "main": "src/index.js",
7
7
  "author": {
8
8
  "email": "hello@microlink.io",
@@ -34,7 +34,7 @@
34
34
  "@browserless/errors": "^10.7.1",
35
35
  "@browserless/goto": "^10.7.6",
36
36
  "@browserless/pdf": "^10.7.6",
37
- "@browserless/screenshot": "^10.7.6",
37
+ "@browserless/screenshot": "^10.7.7",
38
38
  "debug-logfmt": "~1.2.3",
39
39
  "kill-process-group": "~1.0.11",
40
40
  "p-reflect": "~2.1.0",
@@ -64,5 +64,5 @@
64
64
  "timeout": "2m",
65
65
  "workerThreads": false
66
66
  },
67
- "gitHead": "c13e129a1a20b78a0391aedc349dad90136adb6e"
67
+ "gitHead": "94347ab5501efdcac49da85f5a670821c37b5173"
68
68
  }
package/src/index.js CHANGED
@@ -78,13 +78,14 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
78
78
 
79
79
  const getBrowserContext = () => _contextPromise
80
80
 
81
- const createPage = async () => {
81
+ const createPage = async name => {
82
82
  const [browserProcess, browserContext] = await Promise.all([
83
83
  getBrowser(),
84
84
  getBrowserContext()
85
85
  ])
86
86
  const page = await browserContext.newPage()
87
87
  debug('createPage', {
88
+ name,
88
89
  id: page._client().id(),
89
90
  contextId: browserContext.id,
90
91
  browserPid: driver.pid(browserProcess)
@@ -92,7 +93,7 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
92
93
  return page
93
94
  }
94
95
 
95
- const closePage = async page => {
96
+ const closePage = async (page, name) => {
96
97
  if (page && !page.isClosed()) {
97
98
  const [browserProcess, browserContext] = await Promise.all([
98
99
  getBrowser(),
@@ -100,6 +101,7 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
100
101
  pReflect(page.close())
101
102
  ])
102
103
  debug('closePage', {
104
+ name,
103
105
  id: page._client().id(),
104
106
  contextId: browserContext.id,
105
107
  browserPid: driver.pid(browserProcess)
@@ -116,13 +118,13 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
116
118
  let page
117
119
 
118
120
  try {
119
- page = await createPage(args)
120
- setTimeout(() => closePage(page), timeout).unref()
121
+ page = await createPage(fn.name)
122
+ setTimeout(() => closePage(page, fn.name), timeout).unref()
121
123
  const value = await fn(page, goto)(...args)
122
- await closePage(page)
124
+ await closePage(page, fn.name)
123
125
  return value
124
126
  } catch (error) {
125
- await closePage(page)
127
+ await closePage(page, fn.name)
126
128
  if (!isRejected) throw ensureError(error)
127
129
  }
128
130
  }
@@ -152,10 +154,17 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
152
154
 
153
155
  const evaluate = (fn, gotoOpts) =>
154
156
  withPage(
155
- (page, goto) => async (url, opts) => {
156
- const { response, error } = await goto(page, { url, ...gotoOpts, ...opts })
157
- return fn(page, response, error)
158
- },
157
+ Object.defineProperty(
158
+ (page, goto) => async (url, opts) => {
159
+ const { response, error } = await goto(page, { url, ...gotoOpts, ...opts })
160
+ return fn(page, response, error)
161
+ },
162
+ 'name',
163
+ {
164
+ value: fn.name || 'evaluate',
165
+ writable: false
166
+ }
167
+ ),
159
168
  gotoOpts
160
169
  )
161
170