@purepageio/fetch-engines 0.2.5 → 0.2.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 (60) hide show
  1. package/dist/index.cjs +3274 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +323 -0
  4. package/dist/index.d.ts +323 -8
  5. package/dist/index.js +3270 -4
  6. package/dist/index.js.map +1 -1
  7. package/package.json +14 -6
  8. package/dist/FetchEngine.d.ts +0 -47
  9. package/dist/FetchEngine.d.ts.map +0 -1
  10. package/dist/FetchEngine.js +0 -114
  11. package/dist/FetchEngine.js.map +0 -1
  12. package/dist/FetchEngine.test.d.ts +0 -2
  13. package/dist/FetchEngine.test.d.ts.map +0 -1
  14. package/dist/FetchEngine.test.js +0 -44
  15. package/dist/FetchEngine.test.js.map +0 -1
  16. package/dist/HybridEngine.d.ts +0 -21
  17. package/dist/HybridEngine.d.ts.map +0 -1
  18. package/dist/HybridEngine.js +0 -62
  19. package/dist/HybridEngine.js.map +0 -1
  20. package/dist/IEngine.d.ts +0 -22
  21. package/dist/IEngine.d.ts.map +0 -1
  22. package/dist/IEngine.js +0 -2
  23. package/dist/IEngine.js.map +0 -1
  24. package/dist/PlaywrightEngine.d.ts +0 -90
  25. package/dist/PlaywrightEngine.d.ts.map +0 -1
  26. package/dist/PlaywrightEngine.js +0 -505
  27. package/dist/PlaywrightEngine.js.map +0 -1
  28. package/dist/PlaywrightEngine.test.d.ts +0 -2
  29. package/dist/PlaywrightEngine.test.d.ts.map +0 -1
  30. package/dist/PlaywrightEngine.test.js +0 -207
  31. package/dist/PlaywrightEngine.test.js.map +0 -1
  32. package/dist/PuppeteerEngine.d.ts +0 -21
  33. package/dist/PuppeteerEngine.d.ts.map +0 -1
  34. package/dist/PuppeteerEngine.js +0 -412
  35. package/dist/PuppeteerEngine.js.map +0 -1
  36. package/dist/browser/BrowserPool.d.ts +0 -29
  37. package/dist/browser/BrowserPool.d.ts.map +0 -1
  38. package/dist/browser/BrowserPool.js +0 -378
  39. package/dist/browser/BrowserPool.js.map +0 -1
  40. package/dist/browser/PlaywrightBrowserPool.d.ts +0 -48
  41. package/dist/browser/PlaywrightBrowserPool.d.ts.map +0 -1
  42. package/dist/browser/PlaywrightBrowserPool.js +0 -378
  43. package/dist/browser/PlaywrightBrowserPool.js.map +0 -1
  44. package/dist/browser/PlaywrightBrowserPool.test.d.ts +0 -2
  45. package/dist/browser/PlaywrightBrowserPool.test.d.ts.map +0 -1
  46. package/dist/browser/PlaywrightBrowserPool.test.js +0 -422
  47. package/dist/browser/PlaywrightBrowserPool.test.js.map +0 -1
  48. package/dist/errors.d.ts +0 -20
  49. package/dist/errors.d.ts.map +0 -1
  50. package/dist/errors.js +0 -30
  51. package/dist/errors.js.map +0 -1
  52. package/dist/index.d.ts.map +0 -1
  53. package/dist/types.d.ts +0 -167
  54. package/dist/types.d.ts.map +0 -1
  55. package/dist/types.js +0 -2
  56. package/dist/types.js.map +0 -1
  57. package/dist/utils/markdown-converter.d.ts +0 -31
  58. package/dist/utils/markdown-converter.d.ts.map +0 -1
  59. package/dist/utils/markdown-converter.js +0 -796
  60. package/dist/utils/markdown-converter.js.map +0 -1
@@ -1,378 +0,0 @@
1
- // Import chromium directly from playwright
2
- import { chromium as playwrightChromium } from "playwright";
3
- import UserAgent from "user-agents";
4
- import { v4 as uuidv4 } from "uuid";
5
- import PQueue from "p-queue";
6
- // Import addExtra from playwright-extra
7
- import { addExtra } from "playwright-extra";
8
- // Use 'any' for the wrapped chromium type to handle the added .use() method
9
- let chromiumWithExtras;
10
- let StealthPluginInstance; // Still need the stealth plugin instance
11
- // Asynchronous function to load dependencies (now mainly for stealth plugin)
12
- async function loadDependencies() {
13
- if (!chromiumWithExtras) {
14
- // Wrap the imported playwrightChromium using addExtra
15
- chromiumWithExtras = addExtra(playwrightChromium);
16
- // Dynamically import the stealth plugin module
17
- const StealthPluginModule = await import("puppeteer-extra-plugin-stealth");
18
- // Check if the default export exists and is a function, otherwise use the module itself
19
- const stealthPluginFactory = typeof StealthPluginModule.default === "function" ? StealthPluginModule.default : StealthPluginModule;
20
- // Ensure we have a callable factory
21
- if (typeof stealthPluginFactory !== "function") {
22
- throw new Error("puppeteer-extra-plugin-stealth export is not a function or module structure is unexpected.");
23
- }
24
- // Get the plugin instance
25
- StealthPluginInstance = stealthPluginFactory();
26
- // Apply the plugin instance to the wrapped chromium object
27
- chromiumWithExtras.use(StealthPluginInstance);
28
- }
29
- }
30
- /**
31
- * Manages a pool of Playwright Browser instances for efficient reuse.
32
- */
33
- export class PlaywrightBrowserPool {
34
- pool = new Set();
35
- maxBrowsers;
36
- maxPagesPerContext;
37
- maxBrowserAge;
38
- healthCheckInterval;
39
- healthCheckTimer = null;
40
- maxIdleTime;
41
- isCleaningUp = false;
42
- useHeadedMode;
43
- blockedDomains;
44
- blockedResourceTypes;
45
- proxyConfig;
46
- static DEFAULT_BLOCKED_DOMAINS = [
47
- "doubleclick.net",
48
- "google-analytics.com",
49
- "googletagmanager.com",
50
- "googlesyndication.com",
51
- "googleadservices.com",
52
- "adservice.google.com",
53
- "facebook.net",
54
- "fbcdn.net",
55
- "connect.facebook.net",
56
- "ads-twitter.com",
57
- "platform.twitter.com",
58
- "analytics.tiktok.com",
59
- "ads.tiktok.com",
60
- "amazon-adsystem.com",
61
- "adnxs.com",
62
- "criteo.com",
63
- "scorecardresearch.com",
64
- "quantserve.com",
65
- "rubiconproject.com",
66
- "pubmatic.com",
67
- "taboola.com",
68
- "outbrain.com",
69
- ];
70
- static DEFAULT_BLOCKED_RESOURCE_TYPES = ["image", "font", "media", "websocket"];
71
- acquireQueue = new PQueue({ concurrency: 1 });
72
- constructor(config = {}) {
73
- this.maxBrowsers = config.maxBrowsers ?? 2;
74
- this.maxPagesPerContext = config.maxPagesPerContext ?? 6;
75
- this.maxBrowserAge = config.maxBrowserAge ?? 20 * 60 * 1000;
76
- this.healthCheckInterval = config.healthCheckInterval ?? 60 * 1000;
77
- this.useHeadedMode = config.useHeadedMode ?? false;
78
- this.maxIdleTime = config.maxIdleTime ?? 5 * 60 * 1000;
79
- this.blockedDomains =
80
- config.blockedDomains && config.blockedDomains.length > 0
81
- ? config.blockedDomains
82
- : PlaywrightBrowserPool.DEFAULT_BLOCKED_DOMAINS;
83
- this.blockedResourceTypes =
84
- config.blockedResourceTypes && config.blockedResourceTypes.length > 0
85
- ? config.blockedResourceTypes
86
- : PlaywrightBrowserPool.DEFAULT_BLOCKED_RESOURCE_TYPES;
87
- this.proxyConfig = config.proxy;
88
- }
89
- async initialize() {
90
- await loadDependencies(); // Load dependencies first
91
- if (this.isCleaningUp)
92
- return;
93
- await this.ensureMinimumInstances();
94
- this.scheduleHealthCheck();
95
- }
96
- scheduleHealthCheck() {
97
- if (this.isCleaningUp)
98
- return;
99
- if (this.healthCheckTimer) {
100
- clearTimeout(this.healthCheckTimer);
101
- }
102
- if (this.healthCheckInterval > 0) {
103
- this.healthCheckTimer = setTimeout(() => {
104
- this.healthCheck().catch((_err) => {
105
- /* Ignore health check errors */
106
- });
107
- }, this.healthCheckInterval);
108
- }
109
- }
110
- async ensureMinimumInstances() {
111
- if (this.isCleaningUp)
112
- return;
113
- while (this.pool.size < this.maxBrowsers) {
114
- try {
115
- await this.createBrowserInstance();
116
- }
117
- catch (error) {
118
- break;
119
- }
120
- }
121
- }
122
- async createBrowserInstance() {
123
- await loadDependencies(); // Ensure dependencies are loaded
124
- const id = uuidv4();
125
- const launchOptions = {
126
- headless: !this.useHeadedMode,
127
- args: [
128
- "--no-sandbox",
129
- "--disable-setuid-sandbox",
130
- "--disable-dev-shm-usage",
131
- "--disable-accelerated-2d-canvas",
132
- "--no-first-run",
133
- "--no-zygote",
134
- "--disable-gpu",
135
- "--mute-audio",
136
- "--disable-background-networking",
137
- ],
138
- proxy: this.proxyConfig,
139
- };
140
- // Use the wrapped chromiumWithExtras object to launch
141
- const browser = await chromiumWithExtras.launch(launchOptions);
142
- const context = await browser.newContext({
143
- userAgent: new UserAgent().toString(),
144
- viewport: {
145
- width: 1280 + Math.floor(Math.random() * 120),
146
- height: 720 + Math.floor(Math.random() * 80),
147
- },
148
- javaScriptEnabled: true,
149
- ignoreHTTPSErrors: true,
150
- });
151
- await context.route("**/*", async (route) => {
152
- const request = route.request();
153
- const url = request.url();
154
- const resourceType = request.resourceType();
155
- try {
156
- const hostname = new URL(url).hostname.toLowerCase();
157
- if (this.blockedDomains.some((domain) => hostname.includes(domain)) ||
158
- this.blockedResourceTypes.includes(resourceType)) {
159
- await route.abort("aborted");
160
- }
161
- else {
162
- await route.continue();
163
- }
164
- }
165
- catch (_e) {
166
- await route.continue();
167
- }
168
- });
169
- const now = new Date();
170
- const metrics = {
171
- id,
172
- pagesCreated: 0,
173
- activePages: 0,
174
- lastUsed: now,
175
- errors: 0,
176
- createdAt: now,
177
- isHealthy: true,
178
- };
179
- const instance = {
180
- id,
181
- browser,
182
- context,
183
- pages: new Set(),
184
- metrics,
185
- isHealthy: true,
186
- disconnectedHandler: () => { },
187
- };
188
- instance.disconnectedHandler = () => {
189
- if (instance.isHealthy) {
190
- instance.isHealthy = false;
191
- instance.metrics.isHealthy = false;
192
- this.healthCheck().catch((_err) => { });
193
- }
194
- };
195
- browser.on("disconnected", instance.disconnectedHandler);
196
- this.pool.add(instance);
197
- return instance;
198
- }
199
- acquirePage() {
200
- return this.acquireQueue.add(async () => {
201
- if (this.isCleaningUp) {
202
- throw new Error("Pool is shutting down.");
203
- }
204
- let bestInstance = null;
205
- for (const instance of this.pool) {
206
- if (instance.isHealthy && instance.pages.size < this.maxPagesPerContext) {
207
- if (!bestInstance || instance.pages.size < bestInstance.pages.size) {
208
- bestInstance = instance;
209
- }
210
- }
211
- }
212
- if (!bestInstance && this.pool.size < this.maxBrowsers) {
213
- try {
214
- bestInstance = await this.createBrowserInstance();
215
- }
216
- catch (error) {
217
- throw new Error(`Failed to create new browser instance for acquisition: ${error.message}`);
218
- }
219
- }
220
- if (!bestInstance) {
221
- await this.ensureMinimumInstances(); // Try adding an instance if none suitable
222
- for (const instance of this.pool) {
223
- // Check again
224
- if (instance.isHealthy && instance.pages.size < this.maxPagesPerContext) {
225
- if (!bestInstance || instance.pages.size < bestInstance.pages.size) {
226
- bestInstance = instance;
227
- }
228
- }
229
- }
230
- if (!bestInstance) {
231
- // Still no instance?
232
- throw new Error("Failed to acquire Playwright page: No available or creatable browser instance.");
233
- }
234
- }
235
- try {
236
- const page = await bestInstance.context.newPage();
237
- bestInstance.pages.add(page);
238
- bestInstance.metrics.pagesCreated++;
239
- bestInstance.metrics.activePages = bestInstance.pages.size;
240
- bestInstance.metrics.lastUsed = new Date();
241
- page.on("close", () => {
242
- bestInstance.pages.delete(page);
243
- bestInstance.metrics.activePages = bestInstance.pages.size;
244
- bestInstance.metrics.lastUsed = new Date();
245
- });
246
- page.on("crash", () => {
247
- bestInstance.metrics.errors++;
248
- bestInstance.pages.delete(page);
249
- bestInstance.isHealthy = false;
250
- bestInstance.metrics.isHealthy = false;
251
- this.healthCheck().catch((_err) => { });
252
- });
253
- return page;
254
- }
255
- catch (error) {
256
- bestInstance.metrics.errors++;
257
- bestInstance.isHealthy = false;
258
- bestInstance.metrics.isHealthy = false;
259
- this.healthCheck().catch((_err) => { });
260
- throw new Error(`Failed to create new page: ${error.message}`);
261
- }
262
- });
263
- }
264
- async healthCheck() {
265
- if (this.isCleaningUp)
266
- return;
267
- const now = new Date();
268
- const checks = [];
269
- for (const instance of this.pool) {
270
- checks.push((async () => {
271
- if (!instance.isHealthy) {
272
- return;
273
- }
274
- let shouldRemove = false;
275
- let reason = "unknown";
276
- if (!instance.browser.isConnected()) {
277
- shouldRemove = true;
278
- reason = "browser disconnected";
279
- }
280
- if (!shouldRemove &&
281
- this.maxBrowserAge > 0 &&
282
- now.getTime() - instance.metrics.createdAt.getTime() > this.maxBrowserAge) {
283
- shouldRemove = true;
284
- reason = "max age reached";
285
- }
286
- if (!shouldRemove &&
287
- this.pool.size > 1 && // Only remove idle if pool has more than 1
288
- instance.pages.size === 0 &&
289
- this.maxIdleTime > 0 &&
290
- now.getTime() - instance.metrics.lastUsed.getTime() > this.maxIdleTime) {
291
- shouldRemove = true;
292
- reason = "idle timeout";
293
- }
294
- if (shouldRemove) {
295
- instance.isHealthy = false;
296
- instance.metrics.isHealthy = false;
297
- await this.closeAndRemoveInstance(instance, reason);
298
- }
299
- else {
300
- instance.isHealthy = true;
301
- instance.metrics.isHealthy = true;
302
- }
303
- })().catch((_err) => { }));
304
- }
305
- try {
306
- await Promise.allSettled(checks);
307
- }
308
- finally {
309
- await this.ensureMinimumInstances(); // Ensure minimum instances after check
310
- this.scheduleHealthCheck();
311
- }
312
- }
313
- async closeAndRemoveInstance(instance, _reason) {
314
- const removed = this.pool.delete(instance);
315
- if (!removed)
316
- return;
317
- instance.browser.off("disconnected", instance.disconnectedHandler);
318
- try {
319
- await instance.context.close();
320
- }
321
- catch (_error) { }
322
- try {
323
- await instance.browser.close();
324
- }
325
- catch (_error) { }
326
- }
327
- async releasePage(page) {
328
- if (!page || page.isClosed())
329
- return;
330
- let ownerInstance;
331
- for (const instance of this.pool) {
332
- if (instance.pages.has(page)) {
333
- ownerInstance = instance;
334
- break;
335
- }
336
- }
337
- try {
338
- await page.close();
339
- if (ownerInstance) {
340
- ownerInstance.pages.delete(page);
341
- ownerInstance.metrics.activePages = ownerInstance.pages.size;
342
- ownerInstance.metrics.lastUsed = new Date();
343
- }
344
- }
345
- catch (error) {
346
- if (ownerInstance) {
347
- ownerInstance.isHealthy = false;
348
- ownerInstance.metrics.isHealthy = false;
349
- ownerInstance.metrics.errors++;
350
- ownerInstance.pages.delete(page);
351
- ownerInstance.metrics.activePages = ownerInstance.pages.size;
352
- }
353
- }
354
- }
355
- async cleanup() {
356
- if (this.isCleaningUp)
357
- return;
358
- this.isCleaningUp = true;
359
- if (this.healthCheckTimer) {
360
- clearTimeout(this.healthCheckTimer);
361
- this.healthCheckTimer = null;
362
- }
363
- this.acquireQueue.clear();
364
- await this.acquireQueue.onIdle();
365
- const closePromises = [...this.pool].map((instance) => this.closeAndRemoveInstance(instance, "cleanup"));
366
- this.pool.clear();
367
- await Promise.allSettled(closePromises);
368
- this.isCleaningUp = false;
369
- }
370
- getMetrics() {
371
- return [...this.pool].map((instance) => ({
372
- ...instance.metrics,
373
- activePages: instance.pages.size,
374
- isHealthy: instance.isHealthy,
375
- }));
376
- }
377
- }
378
- //# sourceMappingURL=PlaywrightBrowserPool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlaywrightBrowserPool.js","sourceRoot":"","sources":["../../src/browser/PlaywrightBrowserPool.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PlaywrightBrowserPool.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlaywrightBrowserPool.test.d.ts","sourceRoot":"","sources":["../../src/browser/PlaywrightBrowserPool.test.ts"],"names":[],"mappings":""}