browserless 10.7.5 → 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.
- package/package.json +6 -6
- package/src/index.js +29 -12
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.
|
|
5
|
+
"version": "10.7.7",
|
|
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.
|
|
36
|
-
"@browserless/pdf": "^10.7.
|
|
37
|
-
"@browserless/screenshot": "^10.7.
|
|
35
|
+
"@browserless/goto": "^10.7.6",
|
|
36
|
+
"@browserless/pdf": "^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",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"superlock": "~1.2.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@browserless/test": "^10.7.
|
|
47
|
+
"@browserless/test": "^10.7.6",
|
|
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": "
|
|
67
|
+
"gitHead": "94347ab5501efdcac49da85f5a670821c37b5173"
|
|
68
68
|
}
|
package/src/index.js
CHANGED
|
@@ -78,24 +78,34 @@ 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
|
-
debug('createPage', {
|
|
87
|
+
debug('createPage', {
|
|
88
|
+
name,
|
|
89
|
+
id: page._client().id(),
|
|
90
|
+
contextId: browserContext.id,
|
|
91
|
+
browserPid: driver.pid(browserProcess)
|
|
92
|
+
})
|
|
88
93
|
return page
|
|
89
94
|
}
|
|
90
95
|
|
|
91
|
-
const closePage = async page => {
|
|
96
|
+
const closePage = async (page, name) => {
|
|
92
97
|
if (page && !page.isClosed()) {
|
|
93
98
|
const [browserProcess, browserContext] = await Promise.all([
|
|
94
99
|
getBrowser(),
|
|
95
100
|
getBrowserContext(),
|
|
96
101
|
pReflect(page.close())
|
|
97
102
|
])
|
|
98
|
-
debug('closePage', {
|
|
103
|
+
debug('closePage', {
|
|
104
|
+
name,
|
|
105
|
+
id: page._client().id(),
|
|
106
|
+
contextId: browserContext.id,
|
|
107
|
+
browserPid: driver.pid(browserProcess)
|
|
108
|
+
})
|
|
99
109
|
}
|
|
100
110
|
}
|
|
101
111
|
|
|
@@ -108,13 +118,13 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
|
|
|
108
118
|
let page
|
|
109
119
|
|
|
110
120
|
try {
|
|
111
|
-
page = await createPage(
|
|
112
|
-
setTimeout(() => closePage(page), timeout).unref()
|
|
121
|
+
page = await createPage(fn.name)
|
|
122
|
+
setTimeout(() => closePage(page, fn.name), timeout).unref()
|
|
113
123
|
const value = await fn(page, goto)(...args)
|
|
114
|
-
await closePage(page)
|
|
124
|
+
await closePage(page, fn.name)
|
|
115
125
|
return value
|
|
116
126
|
} catch (error) {
|
|
117
|
-
await closePage(page)
|
|
127
|
+
await closePage(page, fn.name)
|
|
118
128
|
if (!isRejected) throw ensureError(error)
|
|
119
129
|
}
|
|
120
130
|
}
|
|
@@ -144,10 +154,17 @@ module.exports = ({ timeout: globalTimeout = 30000, ...launchOpts } = {}) => {
|
|
|
144
154
|
|
|
145
155
|
const evaluate = (fn, gotoOpts) =>
|
|
146
156
|
withPage(
|
|
147
|
-
(
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
+
),
|
|
151
168
|
gotoOpts
|
|
152
169
|
)
|
|
153
170
|
|