@crawlee/browser-pool 3.13.6-beta.1 → 4.0.0-beta.1
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/abstract-classes/browser-controller.d.ts +4 -4
- package/abstract-classes/browser-controller.d.ts.map +1 -1
- package/abstract-classes/browser-controller.js +43 -117
- package/abstract-classes/browser-controller.js.map +1 -1
- package/abstract-classes/browser-plugin.d.ts +5 -16
- package/abstract-classes/browser-plugin.d.ts.map +1 -1
- package/abstract-classes/browser-plugin.js +19 -71
- package/abstract-classes/browser-plugin.js.map +1 -1
- package/anonymize-proxy.js +4 -8
- package/anonymize-proxy.js.map +1 -1
- package/browser-pool.d.ts +6 -6
- package/browser-pool.d.ts.map +1 -1
- package/browser-pool.js +77 -209
- package/browser-pool.js.map +1 -1
- package/container-proxy-server.js +3 -6
- package/container-proxy-server.js.map +1 -1
- package/events.js +4 -7
- package/events.js.map +1 -1
- package/fingerprinting/hooks.d.ts +3 -3
- package/fingerprinting/hooks.d.ts.map +1 -1
- package/fingerprinting/hooks.js +13 -18
- package/fingerprinting/hooks.js.map +1 -1
- package/fingerprinting/types.js +6 -9
- package/fingerprinting/types.js.map +1 -1
- package/fingerprinting/utils.d.ts +2 -2
- package/fingerprinting/utils.d.ts.map +1 -1
- package/fingerprinting/utils.js +9 -13
- package/fingerprinting/utils.js.map +1 -1
- package/index.d.ts +13 -13
- package/index.d.ts.map +1 -1
- package/index.js +11 -26
- package/index.js.map +1 -1
- package/launch-context.d.ts +2 -9
- package/launch-context.d.ts.map +1 -1
- package/launch-context.js +12 -73
- package/launch-context.js.map +1 -1
- package/logger.js +2 -6
- package/logger.js.map +1 -1
- package/package.json +19 -25
- package/playwright/playwright-browser.js +6 -30
- package/playwright/playwright-browser.js.map +1 -1
- package/playwright/playwright-controller.d.ts +2 -2
- package/playwright/playwright-controller.d.ts.map +1 -1
- package/playwright/playwright-controller.js +9 -75
- package/playwright/playwright-controller.js.map +1 -1
- package/playwright/playwright-plugin.d.ts +6 -6
- package/playwright/playwright-plugin.d.ts.map +1 -1
- package/playwright/playwright-plugin.js +19 -106
- package/playwright/playwright-plugin.js.map +1 -1
- package/proxy-server.js +3 -6
- package/proxy-server.js.map +1 -1
- package/puppeteer/puppeteer-controller.d.ts +1 -1
- package/puppeteer/puppeteer-controller.d.ts.map +1 -1
- package/puppeteer/puppeteer-controller.js +13 -17
- package/puppeteer/puppeteer-controller.js.map +1 -1
- package/puppeteer/puppeteer-plugin.d.ts +5 -5
- package/puppeteer/puppeteer-plugin.d.ts.map +1 -1
- package/puppeteer/puppeteer-plugin.js +16 -23
- package/puppeteer/puppeteer-plugin.js.map +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/utils.d.ts +3 -3
- package/utils.d.ts.map +1 -1
- package/utils.js +1 -4
- package/utils.js.map +1 -1
- package/index.mjs +0 -19
- package/playwright/load-firefox-addon.d.ts +0 -2
- package/playwright/load-firefox-addon.d.ts.map +0 -1
- package/playwright/load-firefox-addon.js +0 -86
- package/playwright/load-firefox-addon.js.map +0 -1
- package/tab-as-a-container/background.js +0 -433
- package/tab-as-a-container/content.js +0 -611
- package/tab-as-a-container/manifest.json +0 -21
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Cookie, Dictionary } from '@crawlee/types';
|
|
2
2
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
3
|
-
import { BROWSER_CONTROLLER_EVENTS } from '../events';
|
|
4
|
-
import type { LaunchContext } from '../launch-context';
|
|
5
|
-
import type { UnwrapPromise } from '../utils';
|
|
6
|
-
import type { BrowserPlugin, CommonBrowser, CommonLibrary } from './browser-plugin';
|
|
3
|
+
import { BROWSER_CONTROLLER_EVENTS } from '../events.js';
|
|
4
|
+
import type { LaunchContext } from '../launch-context.js';
|
|
5
|
+
import type { UnwrapPromise } from '../utils.js';
|
|
6
|
+
import type { BrowserPlugin, CommonBrowser, CommonLibrary } from './browser-plugin.js';
|
|
7
7
|
export interface BrowserControllerEvents<Library extends CommonLibrary, LibraryOptions extends Dictionary | undefined = Parameters<Library['launch']>[0], LaunchResult extends CommonBrowser = UnwrapPromise<ReturnType<Library['launch']>>, NewPageOptions = Parameters<LaunchResult['newPage']>[0], NewPageResult = UnwrapPromise<ReturnType<LaunchResult['newPage']>>> {
|
|
8
8
|
[BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED]: (controller: BrowserController<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>) => void;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-controller.d.ts","sourceRoot":"","sources":["../../src/abstract-classes/browser-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"browser-controller.d.ts","sourceRoot":"","sources":["../../src/abstract-classes/browser-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIvF,MAAM,WAAW,uBAAuB,CACpC,OAAO,SAAS,aAAa,EAC7B,cAAc,SAAS,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAChF,YAAY,SAAS,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EACjF,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAElE,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,CACxC,UAAU,EAAE,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,KAClG,IAAI,CAAC;CACb;AAED;;;;;;;GAOG;AACH,8BAAsB,iBAAiB,CACnC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,cAAc,SAAS,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAChF,YAAY,SAAS,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EACjF,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CACpE,SAAQ,YAAY,CAAC,uBAAuB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACjH,EAAE,SAAY;IAEd;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAEnG;;OAEG;IACH,OAAO,EAAE,YAAY,CAAc;IAEnC;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAc;IAEhH;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,UAAS;IAEjB,WAAW,SAAK;IAEhB,UAAU,SAAK;IAEf,gBAAgB,SAAc;IAE9B,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,eAAe,CAEpB;IAEH,OAAO,CAAC,aAAa,CAAc;IAEnC,OAAO,CAAC,iBAAiB,CAEtB;gBAES,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC;IAK9G;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAQhB;;OAEG;IACH,aAAa,CACT,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,GACnG,IAAI;IASP;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB5B;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;OAGG;IACG,OAAO,CAAC,WAAW,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAW7D,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIxD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAC1C;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IACzC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAEjF;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAErF;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1G"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const tiny_typed_emitter_1 = require("tiny-typed-emitter");
|
|
6
|
-
const timeout_1 = require("@apify/timeout");
|
|
7
|
-
const logger_1 = require("../logger");
|
|
1
|
+
import { nanoid } from 'nanoid';
|
|
2
|
+
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
3
|
+
import { tryCancel } from '@apify/timeout';
|
|
4
|
+
import { log } from '../logger.js';
|
|
8
5
|
const PROCESS_KILL_TIMEOUT_MILLIS = 5000;
|
|
9
6
|
/**
|
|
10
7
|
* The `BrowserController` serves two purposes. First, it is the base class that
|
|
@@ -14,114 +11,44 @@ const PROCESS_KILL_TIMEOUT_MILLIS = 5000;
|
|
|
14
11
|
* for the specialized classes, because it's the same for all of them.
|
|
15
12
|
* @hideconstructor
|
|
16
13
|
*/
|
|
17
|
-
class BrowserController extends
|
|
14
|
+
export class BrowserController extends TypedEmitter {
|
|
15
|
+
id = nanoid();
|
|
16
|
+
/**
|
|
17
|
+
* The `BrowserPlugin` instance used to launch the browser.
|
|
18
|
+
*/
|
|
19
|
+
browserPlugin;
|
|
20
|
+
/**
|
|
21
|
+
* Browser representation of the underlying automation library.
|
|
22
|
+
*/
|
|
23
|
+
browser = undefined;
|
|
24
|
+
/**
|
|
25
|
+
* The configuration the browser was launched with.
|
|
26
|
+
*/
|
|
27
|
+
launchContext = undefined;
|
|
28
|
+
/**
|
|
29
|
+
* The proxy tier tied to this browser controller.
|
|
30
|
+
* `undefined` if no tiered proxy is used.
|
|
31
|
+
*/
|
|
32
|
+
proxyTier;
|
|
33
|
+
/**
|
|
34
|
+
* The proxy URL used by the browser controller. This is set every time the browser controller uses proxy (even the tiered one).
|
|
35
|
+
* `undefined` if no proxy is used
|
|
36
|
+
*/
|
|
37
|
+
proxyUrl;
|
|
38
|
+
isActive = false;
|
|
39
|
+
activePages = 0;
|
|
40
|
+
totalPages = 0;
|
|
41
|
+
lastPageOpenedAt = Date.now();
|
|
42
|
+
_activate;
|
|
43
|
+
isActivePromise = new Promise((resolve) => {
|
|
44
|
+
this._activate = resolve;
|
|
45
|
+
});
|
|
46
|
+
commitBrowser;
|
|
47
|
+
hasBrowserPromise = new Promise((resolve) => {
|
|
48
|
+
this.commitBrowser = resolve;
|
|
49
|
+
});
|
|
18
50
|
constructor(browserPlugin) {
|
|
19
51
|
super();
|
|
20
|
-
Object.defineProperty(this, "id", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true,
|
|
24
|
-
value: (0, nanoid_1.nanoid)()
|
|
25
|
-
});
|
|
26
|
-
/**
|
|
27
|
-
* The `BrowserPlugin` instance used to launch the browser.
|
|
28
|
-
*/
|
|
29
|
-
Object.defineProperty(this, "browserPlugin", {
|
|
30
|
-
enumerable: true,
|
|
31
|
-
configurable: true,
|
|
32
|
-
writable: true,
|
|
33
|
-
value: void 0
|
|
34
|
-
});
|
|
35
|
-
/**
|
|
36
|
-
* Browser representation of the underlying automation library.
|
|
37
|
-
*/
|
|
38
|
-
Object.defineProperty(this, "browser", {
|
|
39
|
-
enumerable: true,
|
|
40
|
-
configurable: true,
|
|
41
|
-
writable: true,
|
|
42
|
-
value: undefined
|
|
43
|
-
});
|
|
44
|
-
/**
|
|
45
|
-
* The configuration the browser was launched with.
|
|
46
|
-
*/
|
|
47
|
-
Object.defineProperty(this, "launchContext", {
|
|
48
|
-
enumerable: true,
|
|
49
|
-
configurable: true,
|
|
50
|
-
writable: true,
|
|
51
|
-
value: undefined
|
|
52
|
-
});
|
|
53
|
-
/**
|
|
54
|
-
* The proxy tier tied to this browser controller.
|
|
55
|
-
* `undefined` if no tiered proxy is used.
|
|
56
|
-
*/
|
|
57
|
-
Object.defineProperty(this, "proxyTier", {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
configurable: true,
|
|
60
|
-
writable: true,
|
|
61
|
-
value: void 0
|
|
62
|
-
});
|
|
63
|
-
/**
|
|
64
|
-
* The proxy URL used by the browser controller. This is set every time the browser controller uses proxy (even the tiered one).
|
|
65
|
-
* `undefined` if no proxy is used
|
|
66
|
-
*/
|
|
67
|
-
Object.defineProperty(this, "proxyUrl", {
|
|
68
|
-
enumerable: true,
|
|
69
|
-
configurable: true,
|
|
70
|
-
writable: true,
|
|
71
|
-
value: void 0
|
|
72
|
-
});
|
|
73
|
-
Object.defineProperty(this, "isActive", {
|
|
74
|
-
enumerable: true,
|
|
75
|
-
configurable: true,
|
|
76
|
-
writable: true,
|
|
77
|
-
value: false
|
|
78
|
-
});
|
|
79
|
-
Object.defineProperty(this, "activePages", {
|
|
80
|
-
enumerable: true,
|
|
81
|
-
configurable: true,
|
|
82
|
-
writable: true,
|
|
83
|
-
value: 0
|
|
84
|
-
});
|
|
85
|
-
Object.defineProperty(this, "totalPages", {
|
|
86
|
-
enumerable: true,
|
|
87
|
-
configurable: true,
|
|
88
|
-
writable: true,
|
|
89
|
-
value: 0
|
|
90
|
-
});
|
|
91
|
-
Object.defineProperty(this, "lastPageOpenedAt", {
|
|
92
|
-
enumerable: true,
|
|
93
|
-
configurable: true,
|
|
94
|
-
writable: true,
|
|
95
|
-
value: Date.now()
|
|
96
|
-
});
|
|
97
|
-
Object.defineProperty(this, "_activate", {
|
|
98
|
-
enumerable: true,
|
|
99
|
-
configurable: true,
|
|
100
|
-
writable: true,
|
|
101
|
-
value: void 0
|
|
102
|
-
});
|
|
103
|
-
Object.defineProperty(this, "isActivePromise", {
|
|
104
|
-
enumerable: true,
|
|
105
|
-
configurable: true,
|
|
106
|
-
writable: true,
|
|
107
|
-
value: new Promise((resolve) => {
|
|
108
|
-
this._activate = resolve;
|
|
109
|
-
})
|
|
110
|
-
});
|
|
111
|
-
Object.defineProperty(this, "commitBrowser", {
|
|
112
|
-
enumerable: true,
|
|
113
|
-
configurable: true,
|
|
114
|
-
writable: true,
|
|
115
|
-
value: void 0
|
|
116
|
-
});
|
|
117
|
-
Object.defineProperty(this, "hasBrowserPromise", {
|
|
118
|
-
enumerable: true,
|
|
119
|
-
configurable: true,
|
|
120
|
-
writable: true,
|
|
121
|
-
value: new Promise((resolve) => {
|
|
122
|
-
this.commitBrowser = resolve;
|
|
123
|
-
})
|
|
124
|
-
});
|
|
125
52
|
this.browserPlugin = browserPlugin;
|
|
126
53
|
}
|
|
127
54
|
/**
|
|
@@ -162,12 +89,12 @@ class BrowserController extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
162
89
|
this.isActive = false;
|
|
163
90
|
}
|
|
164
91
|
catch (error) {
|
|
165
|
-
|
|
92
|
+
log.debug(`Could not close browser.\nCause: ${error.message}`, { id: this.id });
|
|
166
93
|
}
|
|
167
94
|
this.emit("browserClosed" /* BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED */, this);
|
|
168
95
|
setTimeout(() => {
|
|
169
96
|
this._kill().catch((err) => {
|
|
170
|
-
|
|
97
|
+
log.debug(`Could not kill browser.\nCause: ${err.message}`, { id: this.id });
|
|
171
98
|
});
|
|
172
99
|
}, PROCESS_KILL_TIMEOUT_MILLIS);
|
|
173
100
|
}
|
|
@@ -190,7 +117,7 @@ class BrowserController extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
190
117
|
this.totalPages++;
|
|
191
118
|
await this.isActivePromise;
|
|
192
119
|
const page = await this._newPage(pageOptions);
|
|
193
|
-
|
|
120
|
+
tryCancel();
|
|
194
121
|
this.lastPageOpenedAt = Date.now();
|
|
195
122
|
return page;
|
|
196
123
|
}
|
|
@@ -201,5 +128,4 @@ class BrowserController extends tiny_typed_emitter_1.TypedEmitter {
|
|
|
201
128
|
return this._getCookies(page);
|
|
202
129
|
}
|
|
203
130
|
}
|
|
204
|
-
exports.BrowserController = BrowserController;
|
|
205
131
|
//# sourceMappingURL=browser-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-controller.js","sourceRoot":"","sources":["../../src/abstract-classes/browser-controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser-controller.js","sourceRoot":"","sources":["../../src/abstract-classes/browser-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAInC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAczC;;;;;;;GAOG;AACH,MAAM,OAAgB,iBAMpB,SAAQ,YAA2G;IACjH,EAAE,GAAG,MAAM,EAAE,CAAC;IAEd;;OAEG;IACH,aAAa,CAAsF;IAEnG;;OAEG;IACH,OAAO,GAAiB,SAAU,CAAC;IAEnC;;OAEG;IACH,aAAa,GAAwF,SAAU,CAAC;IAEhH;;;OAGG;IACH,SAAS,CAAU;IAEnB;;;OAGG;IACH,QAAQ,CAAU;IAElB,QAAQ,GAAG,KAAK,CAAC;IAEjB,WAAW,GAAG,CAAC,CAAC;IAEhB,UAAU,GAAG,CAAC,CAAC;IAEf,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEtB,SAAS,CAAc;IAEvB,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACpD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEK,aAAa,CAAc;IAE3B,iBAAiB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACtD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,YAAY,aAAkG;QAC1G,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,aAAa,CACT,OAAqB,EACrB,aAAkG;QAElG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAE7B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,gDAAgD;YAChD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,oCAAqC,KAAe,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,IAAI,iEAA2C,IAAI,CAAC,CAAC;QAE1D,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,GAAG,CAAC,KAAK,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAC7B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,iEAA2C,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,WAA4B;QACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,eAAe,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9C,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAmB,EAAE,OAAiB;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAmB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CA6BJ"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CriticalError } from '@crawlee/core';
|
|
2
2
|
import type { Dictionary } from '@crawlee/types';
|
|
3
|
-
import type { LaunchContextOptions } from '../launch-context';
|
|
4
|
-
import { LaunchContext } from '../launch-context';
|
|
5
|
-
import type { UnwrapPromise } from '../utils';
|
|
6
|
-
import type { BrowserController } from './browser-controller';
|
|
3
|
+
import type { LaunchContextOptions } from '../launch-context.js';
|
|
4
|
+
import { LaunchContext } from '../launch-context.js';
|
|
5
|
+
import type { UnwrapPromise } from '../utils.js';
|
|
6
|
+
import type { BrowserController } from './browser-controller.js';
|
|
7
7
|
/**
|
|
8
8
|
* The default User Agent used by `PlaywrightCrawler`, `launchPlaywright`, 'PuppeteerCrawler' and 'launchPuppeteer'
|
|
9
9
|
* when Chromium/Chrome browser is launched:
|
|
@@ -57,12 +57,6 @@ export interface BrowserPluginOptions<LibraryOptions> {
|
|
|
57
57
|
* @default false
|
|
58
58
|
*/
|
|
59
59
|
useIncognitoPages?: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* @experimental
|
|
62
|
-
* Like `useIncognitoPages`, but for persistent contexts, so cache is used for faster loading.
|
|
63
|
-
* Works best with Firefox. Unstable on Chromium.
|
|
64
|
-
*/
|
|
65
|
-
experimentalContainers?: boolean;
|
|
66
60
|
/**
|
|
67
61
|
* Path to a User Data Directory, which stores browser session data like cookies and local storage.
|
|
68
62
|
*/
|
|
@@ -90,7 +84,6 @@ export declare abstract class BrowserPlugin<Library extends CommonLibrary = Comm
|
|
|
90
84
|
proxyUrl?: string;
|
|
91
85
|
userDataDir?: string;
|
|
92
86
|
useIncognitoPages: boolean;
|
|
93
|
-
experimentalContainers: boolean;
|
|
94
87
|
browserPerProxy?: boolean;
|
|
95
88
|
constructor(library: Library, options?: BrowserPluginOptions<LibraryOptions>);
|
|
96
89
|
/**
|
|
@@ -100,7 +93,7 @@ export declare abstract class BrowserPlugin<Library extends CommonLibrary = Comm
|
|
|
100
93
|
* management of the pool and extra features.
|
|
101
94
|
*/
|
|
102
95
|
createLaunchContext(options?: CreateLaunchContextOptions<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>): LaunchContext<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>;
|
|
103
|
-
createController(): BrowserController<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>;
|
|
96
|
+
abstract createController(): BrowserController<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>;
|
|
104
97
|
/**
|
|
105
98
|
* Launches the browser using provided launch context.
|
|
106
99
|
*/
|
|
@@ -116,10 +109,6 @@ export declare abstract class BrowserPlugin<Library extends CommonLibrary = Comm
|
|
|
116
109
|
* @private
|
|
117
110
|
*/
|
|
118
111
|
protected abstract _launch(launchContext: LaunchContext<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>): Promise<LaunchResult>;
|
|
119
|
-
/**
|
|
120
|
-
* @private
|
|
121
|
-
*/
|
|
122
|
-
protected abstract _createController(): BrowserController<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>;
|
|
123
112
|
}
|
|
124
113
|
export declare class BrowserLaunchError extends CriticalError {
|
|
125
114
|
constructor(...args: ConstructorParameters<typeof CriticalError>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-plugin.d.ts","sourceRoot":"","sources":["../../src/abstract-classes/browser-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"browser-plugin.d.ts","sourceRoot":"","sources":["../../src/abstract-classes/browser-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@crawlee/core");
|
|
6
|
-
const lodash_merge_1 = tslib_1.__importDefault(require("lodash.merge"));
|
|
7
|
-
const launch_context_1 = require("../launch-context");
|
|
1
|
+
import { CriticalError } from '@crawlee/core';
|
|
2
|
+
import merge from 'lodash.merge';
|
|
3
|
+
import { LaunchContext } from '../launch-context.js';
|
|
8
4
|
/**
|
|
9
5
|
* The default User Agent used by `PlaywrightCrawler`, `launchPlaywright`, 'PuppeteerCrawler' and 'launchPuppeteer'
|
|
10
6
|
* when Chromium/Chrome browser is launched:
|
|
@@ -15,70 +11,28 @@ const launch_context_1 = require("../launch-context");
|
|
|
15
11
|
*
|
|
16
12
|
* After you update it here, please update it also in jsdom-crawler.ts
|
|
17
13
|
*/
|
|
18
|
-
|
|
14
|
+
export const DEFAULT_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36';
|
|
19
15
|
/**
|
|
20
16
|
* The `BrowserPlugin` serves two purposes. First, it is the base class that
|
|
21
17
|
* specialized controllers like `PuppeteerPlugin` or `PlaywrightPlugin` extend.
|
|
22
18
|
* Second, it allows the user to configure the automation libraries and
|
|
23
19
|
* feed them to {@link BrowserPool} for use.
|
|
24
20
|
*/
|
|
25
|
-
class BrowserPlugin {
|
|
21
|
+
export class BrowserPlugin {
|
|
22
|
+
name = this.constructor.name;
|
|
23
|
+
library;
|
|
24
|
+
launchOptions;
|
|
25
|
+
proxyUrl;
|
|
26
|
+
userDataDir;
|
|
27
|
+
useIncognitoPages;
|
|
28
|
+
browserPerProxy;
|
|
26
29
|
constructor(library, options = {}) {
|
|
27
|
-
|
|
28
|
-
enumerable: true,
|
|
29
|
-
configurable: true,
|
|
30
|
-
writable: true,
|
|
31
|
-
value: this.constructor.name
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(this, "library", {
|
|
34
|
-
enumerable: true,
|
|
35
|
-
configurable: true,
|
|
36
|
-
writable: true,
|
|
37
|
-
value: void 0
|
|
38
|
-
});
|
|
39
|
-
Object.defineProperty(this, "launchOptions", {
|
|
40
|
-
enumerable: true,
|
|
41
|
-
configurable: true,
|
|
42
|
-
writable: true,
|
|
43
|
-
value: void 0
|
|
44
|
-
});
|
|
45
|
-
Object.defineProperty(this, "proxyUrl", {
|
|
46
|
-
enumerable: true,
|
|
47
|
-
configurable: true,
|
|
48
|
-
writable: true,
|
|
49
|
-
value: void 0
|
|
50
|
-
});
|
|
51
|
-
Object.defineProperty(this, "userDataDir", {
|
|
52
|
-
enumerable: true,
|
|
53
|
-
configurable: true,
|
|
54
|
-
writable: true,
|
|
55
|
-
value: void 0
|
|
56
|
-
});
|
|
57
|
-
Object.defineProperty(this, "useIncognitoPages", {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
configurable: true,
|
|
60
|
-
writable: true,
|
|
61
|
-
value: void 0
|
|
62
|
-
});
|
|
63
|
-
Object.defineProperty(this, "experimentalContainers", {
|
|
64
|
-
enumerable: true,
|
|
65
|
-
configurable: true,
|
|
66
|
-
writable: true,
|
|
67
|
-
value: void 0
|
|
68
|
-
});
|
|
69
|
-
Object.defineProperty(this, "browserPerProxy", {
|
|
70
|
-
enumerable: true,
|
|
71
|
-
configurable: true,
|
|
72
|
-
writable: true,
|
|
73
|
-
value: void 0
|
|
74
|
-
});
|
|
75
|
-
const { launchOptions = {}, proxyUrl, userDataDir, useIncognitoPages = false, experimentalContainers = false, browserPerProxy = false, } = options;
|
|
30
|
+
const { launchOptions = {}, proxyUrl, userDataDir, useIncognitoPages = false, browserPerProxy = false, } = options;
|
|
76
31
|
this.library = library;
|
|
77
32
|
this.launchOptions = launchOptions;
|
|
78
33
|
this.proxyUrl = proxyUrl && new URL(proxyUrl).href.slice(0, -1);
|
|
79
34
|
this.userDataDir = userDataDir;
|
|
80
35
|
this.useIncognitoPages = useIncognitoPages;
|
|
81
|
-
this.experimentalContainers = experimentalContainers;
|
|
82
36
|
this.browserPerProxy = browserPerProxy;
|
|
83
37
|
}
|
|
84
38
|
/**
|
|
@@ -88,27 +42,23 @@ class BrowserPlugin {
|
|
|
88
42
|
* management of the pool and extra features.
|
|
89
43
|
*/
|
|
90
44
|
createLaunchContext(options = {}) {
|
|
91
|
-
const { id, launchOptions = {}, proxyUrl = this.proxyUrl, useIncognitoPages = this.useIncognitoPages, userDataDir = this.userDataDir,
|
|
92
|
-
return new
|
|
45
|
+
const { id, launchOptions = {}, proxyUrl = this.proxyUrl, useIncognitoPages = this.useIncognitoPages, userDataDir = this.userDataDir, browserPerProxy = this.browserPerProxy, proxyTier, } = options;
|
|
46
|
+
return new LaunchContext({
|
|
93
47
|
id,
|
|
94
|
-
launchOptions: (
|
|
48
|
+
launchOptions: merge({}, this.launchOptions, launchOptions),
|
|
95
49
|
browserPlugin: this,
|
|
96
50
|
proxyUrl,
|
|
97
51
|
useIncognitoPages,
|
|
98
|
-
experimentalContainers,
|
|
99
52
|
userDataDir,
|
|
100
53
|
browserPerProxy,
|
|
101
54
|
proxyTier,
|
|
102
55
|
});
|
|
103
56
|
}
|
|
104
|
-
createController() {
|
|
105
|
-
return this._createController();
|
|
106
|
-
}
|
|
107
57
|
/**
|
|
108
58
|
* Launches the browser using provided launch context.
|
|
109
59
|
*/
|
|
110
60
|
async launch(launchContext = this.createLaunchContext()) {
|
|
111
|
-
launchContext.launchOptions
|
|
61
|
+
launchContext.launchOptions ??= {};
|
|
112
62
|
const { proxyUrl, launchOptions } = launchContext;
|
|
113
63
|
if (proxyUrl) {
|
|
114
64
|
await this._addProxyToLaunchOptions(launchContext);
|
|
@@ -121,7 +71,7 @@ class BrowserPlugin {
|
|
|
121
71
|
// as otherwise 'HeadlessChrome' is present in User-Agent string.
|
|
122
72
|
const userAgent = launchOptions.args.find((arg) => arg.startsWith('--user-agent'));
|
|
123
73
|
if (launchOptions.headless && !launchContext.fingerprint && !userAgent) {
|
|
124
|
-
launchOptions.args.push(`--user-agent=${
|
|
74
|
+
launchOptions.args.push(`--user-agent=${DEFAULT_USER_AGENT}`);
|
|
125
75
|
}
|
|
126
76
|
}
|
|
127
77
|
return this._launch(launchContext);
|
|
@@ -153,8 +103,7 @@ class BrowserPlugin {
|
|
|
153
103
|
throw new BrowserLaunchError(`${errorMessage.join('\n')}\u200b`, { cause });
|
|
154
104
|
}
|
|
155
105
|
}
|
|
156
|
-
|
|
157
|
-
class BrowserLaunchError extends core_1.CriticalError {
|
|
106
|
+
export class BrowserLaunchError extends CriticalError {
|
|
158
107
|
constructor(...args) {
|
|
159
108
|
super(...args);
|
|
160
109
|
this.name = 'BrowserLaunchError';
|
|
@@ -169,5 +118,4 @@ class BrowserLaunchError extends core_1.CriticalError {
|
|
|
169
118
|
});
|
|
170
119
|
}
|
|
171
120
|
}
|
|
172
|
-
exports.BrowserLaunchError = BrowserLaunchError;
|
|
173
121
|
//# sourceMappingURL=browser-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-plugin.js","sourceRoot":"","sources":["../../src/abstract-classes/browser-plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browser-plugin.js","sourceRoot":"","sources":["../../src/abstract-classes/browser-plugin.ts"],"names":[],"mappings":"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"}
|
package/anonymize-proxy.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.anonymizeProxySugar = void 0;
|
|
4
|
-
const proxy_chain_1 = require("proxy-chain");
|
|
5
|
-
const anonymizeProxySugar = async (proxyUrl, username, password) => {
|
|
1
|
+
import { anonymizeProxy, closeAnonymizedProxy } from 'proxy-chain';
|
|
2
|
+
export const anonymizeProxySugar = async (proxyUrl, username, password) => {
|
|
6
3
|
if (proxyUrl) {
|
|
7
4
|
const url = new URL(proxyUrl);
|
|
8
5
|
if (username || password) {
|
|
@@ -12,11 +9,11 @@ const anonymizeProxySugar = async (proxyUrl, username, password) => {
|
|
|
12
9
|
if (url.username || url.password) {
|
|
13
10
|
// trim off trailing slash if it's present
|
|
14
11
|
const proxyUrlString = url.href.endsWith('/') ? url.href.slice(0, -1) : url.href;
|
|
15
|
-
const anonymized = await
|
|
12
|
+
const anonymized = await anonymizeProxy(proxyUrlString);
|
|
16
13
|
return [
|
|
17
14
|
anonymized,
|
|
18
15
|
async () => {
|
|
19
|
-
await
|
|
16
|
+
await closeAnonymizedProxy(anonymized, true);
|
|
20
17
|
},
|
|
21
18
|
];
|
|
22
19
|
}
|
|
@@ -24,5 +21,4 @@ const anonymizeProxySugar = async (proxyUrl, username, password) => {
|
|
|
24
21
|
}
|
|
25
22
|
return [undefined, async () => { }];
|
|
26
23
|
};
|
|
27
|
-
exports.anonymizeProxySugar = anonymizeProxySugar;
|
|
28
24
|
//# sourceMappingURL=anonymize-proxy.js.map
|
package/anonymize-proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymize-proxy.js","sourceRoot":"","sources":["../src/anonymize-proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anonymize-proxy.js","sourceRoot":"","sources":["../src/anonymize-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAInE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACpC,QAAiB,EACjB,QAAiB,EACjB,QAAiB,EACyB,EAAE;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,0CAA0C;YAC1C,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;YACjF,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;YAExD,OAAO;gBACH,UAAU;gBACV,KAAK,IAAI,EAAE;oBACP,MAAM,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBACjD,CAAC;aACJ,CAAC;QACN,CAAC;QAED,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC"}
|
package/browser-pool.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ import { FingerprintGenerator } from 'fingerprint-generator';
|
|
|
3
3
|
import { FingerprintInjector } from 'fingerprint-injector';
|
|
4
4
|
import QuickLRU from 'quick-lru';
|
|
5
5
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
6
|
-
import type { BrowserController } from './abstract-classes/browser-controller';
|
|
7
|
-
import type { BrowserPlugin } from './abstract-classes/browser-plugin';
|
|
8
|
-
import { BROWSER_POOL_EVENTS } from './events';
|
|
9
|
-
import type { FingerprintGeneratorOptions } from './fingerprinting/types';
|
|
10
|
-
import type { LaunchContext } from './launch-context';
|
|
11
|
-
import type { InferBrowserPluginArray, UnwrapPromise } from './utils';
|
|
6
|
+
import type { BrowserController } from './abstract-classes/browser-controller.js';
|
|
7
|
+
import type { BrowserPlugin } from './abstract-classes/browser-plugin.js';
|
|
8
|
+
import { BROWSER_POOL_EVENTS } from './events.js';
|
|
9
|
+
import type { FingerprintGeneratorOptions } from './fingerprinting/types.js';
|
|
10
|
+
import type { LaunchContext } from './launch-context.js';
|
|
11
|
+
import type { InferBrowserPluginArray, UnwrapPromise } from './utils.js';
|
|
12
12
|
export interface BrowserPoolEvents<BC extends BrowserController, Page> {
|
|
13
13
|
[BROWSER_POOL_EVENTS.PAGE_CREATED]: (page: Page) => void | Promise<void>;
|
|
14
14
|
[BROWSER_POOL_EVENTS.PAGE_CLOSED]: (page: Page) => void | Promise<void>;
|
package/browser-pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-pool.d.ts","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"browser-pool.d.ts","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"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"}
|