@crawlee/core 3.0.0-alpha.3 → 3.0.0-alpha.32

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 (178) hide show
  1. package/{dist/README.md → README.md} +0 -0
  2. package/{dist/autoscaling → autoscaling}/autoscaled_pool.d.ts +10 -0
  3. package/autoscaling/autoscaled_pool.d.ts.map +1 -0
  4. package/{dist/autoscaling → autoscaling}/autoscaled_pool.js +50 -1
  5. package/autoscaling/autoscaled_pool.js.map +1 -0
  6. package/{dist/autoscaling → autoscaling}/index.d.ts +0 -0
  7. package/{dist/autoscaling → autoscaling}/index.d.ts.map +0 -0
  8. package/{dist/autoscaling → autoscaling}/index.js +0 -0
  9. package/{dist/autoscaling → autoscaling}/index.js.map +0 -0
  10. package/{dist/autoscaling → autoscaling}/snapshotter.d.ts +0 -0
  11. package/{dist/autoscaling → autoscaling}/snapshotter.d.ts.map +0 -0
  12. package/{dist/autoscaling → autoscaling}/snapshotter.js +0 -0
  13. package/{dist/autoscaling → autoscaling}/snapshotter.js.map +0 -0
  14. package/{dist/autoscaling → autoscaling}/system_status.d.ts +0 -0
  15. package/{dist/autoscaling → autoscaling}/system_status.d.ts.map +0 -0
  16. package/{dist/autoscaling → autoscaling}/system_status.js +0 -0
  17. package/{dist/autoscaling → autoscaling}/system_status.js.map +0 -0
  18. package/{dist/configuration.d.ts → configuration.d.ts} +0 -0
  19. package/{dist/configuration.d.ts.map → configuration.d.ts.map} +0 -0
  20. package/{dist/configuration.js → configuration.js} +0 -0
  21. package/{dist/configuration.js.map → configuration.js.map} +0 -0
  22. package/{dist/constants.d.ts → constants.d.ts} +0 -0
  23. package/{dist/constants.d.ts.map → constants.d.ts.map} +0 -0
  24. package/{dist/constants.js → constants.js} +0 -0
  25. package/{dist/constants.js.map → constants.js.map} +0 -0
  26. package/{dist/crawlers → crawlers}/crawler_commons.d.ts +2 -0
  27. package/crawlers/crawler_commons.d.ts.map +1 -0
  28. package/{dist/crawlers → crawlers}/crawler_commons.js +0 -0
  29. package/{dist/crawlers → crawlers}/crawler_commons.js.map +0 -0
  30. package/{dist/crawlers → crawlers}/crawler_extension.d.ts +0 -0
  31. package/{dist/crawlers → crawlers}/crawler_extension.d.ts.map +0 -0
  32. package/{dist/crawlers → crawlers}/crawler_extension.js +0 -0
  33. package/{dist/crawlers → crawlers}/crawler_extension.js.map +0 -0
  34. package/{dist/crawlers → crawlers}/crawler_utils.d.ts +0 -5
  35. package/crawlers/crawler_utils.d.ts.map +1 -0
  36. package/{dist/crawlers → crawlers}/crawler_utils.js +1 -12
  37. package/crawlers/crawler_utils.js.map +1 -0
  38. package/{dist/crawlers → crawlers}/index.d.ts +0 -0
  39. package/{dist/crawlers → crawlers}/index.d.ts.map +0 -0
  40. package/{dist/crawlers → crawlers}/index.js +0 -0
  41. package/{dist/crawlers → crawlers}/index.js.map +0 -0
  42. package/{dist/crawlers → crawlers}/statistics.d.ts +0 -0
  43. package/{dist/crawlers → crawlers}/statistics.d.ts.map +0 -0
  44. package/{dist/crawlers → crawlers}/statistics.js +0 -0
  45. package/{dist/crawlers → crawlers}/statistics.js.map +0 -0
  46. package/{dist/enqueue_links → enqueue_links}/enqueue_links.d.ts +13 -0
  47. package/{dist/enqueue_links → enqueue_links}/enqueue_links.d.ts.map +1 -1
  48. package/{dist/enqueue_links → enqueue_links}/enqueue_links.js +31 -2
  49. package/enqueue_links/enqueue_links.js.map +1 -0
  50. package/{dist/enqueue_links → enqueue_links}/index.d.ts +0 -0
  51. package/{dist/enqueue_links → enqueue_links}/index.d.ts.map +0 -0
  52. package/{dist/enqueue_links → enqueue_links}/index.js +0 -0
  53. package/{dist/enqueue_links → enqueue_links}/index.js.map +0 -0
  54. package/{dist/enqueue_links → enqueue_links}/shared.d.ts +1 -1
  55. package/{dist/enqueue_links → enqueue_links}/shared.d.ts.map +1 -1
  56. package/{dist/enqueue_links → enqueue_links}/shared.js +0 -0
  57. package/{dist/enqueue_links → enqueue_links}/shared.js.map +0 -0
  58. package/{dist/events → events}/event_manager.d.ts +0 -0
  59. package/{dist/events → events}/event_manager.d.ts.map +0 -0
  60. package/{dist/events → events}/event_manager.js +0 -0
  61. package/{dist/events → events}/event_manager.js.map +0 -0
  62. package/{dist/events → events}/index.d.ts +0 -0
  63. package/{dist/events → events}/index.d.ts.map +0 -0
  64. package/{dist/events → events}/index.js +0 -0
  65. package/{dist/events → events}/index.js.map +0 -0
  66. package/{dist/events → events}/local_event_manager.d.ts +0 -0
  67. package/{dist/events → events}/local_event_manager.d.ts.map +0 -0
  68. package/{dist/events → events}/local_event_manager.js +0 -0
  69. package/{dist/events → events}/local_event_manager.js.map +0 -0
  70. package/{dist/index.d.ts → index.d.ts} +0 -0
  71. package/{dist/index.d.ts.map → index.d.ts.map} +0 -0
  72. package/{dist/index.js → index.js} +0 -0
  73. package/{dist/index.js.map → index.js.map} +0 -0
  74. package/{dist/index.mjs → index.mjs} +1 -3
  75. package/{dist/log.d.ts → log.d.ts} +0 -0
  76. package/{dist/log.d.ts.map → log.d.ts.map} +0 -0
  77. package/{dist/log.js → log.js} +0 -0
  78. package/{dist/log.js.map → log.js.map} +0 -0
  79. package/package.json +10 -23
  80. package/{dist/proxy_configuration.d.ts → proxy_configuration.d.ts} +8 -8
  81. package/proxy_configuration.d.ts.map +1 -0
  82. package/{dist/proxy_configuration.js → proxy_configuration.js} +6 -6
  83. package/proxy_configuration.js.map +1 -0
  84. package/{dist/request.d.ts → request.d.ts} +13 -2
  85. package/request.d.ts.map +1 -0
  86. package/{dist/request.js → request.js} +63 -3
  87. package/request.js.map +1 -0
  88. package/{dist/serialization.d.ts → serialization.d.ts} +0 -0
  89. package/{dist/serialization.d.ts.map → serialization.d.ts.map} +0 -0
  90. package/{dist/serialization.js → serialization.js} +0 -0
  91. package/{dist/serialization.js.map → serialization.js.map} +0 -0
  92. package/{dist/session_pool → session_pool}/errors.d.ts +0 -0
  93. package/{dist/session_pool → session_pool}/errors.d.ts.map +0 -0
  94. package/{dist/session_pool → session_pool}/errors.js +0 -0
  95. package/{dist/session_pool → session_pool}/errors.js.map +0 -0
  96. package/{dist/session_pool → session_pool}/events.d.ts +0 -0
  97. package/{dist/session_pool → session_pool}/events.d.ts.map +0 -0
  98. package/{dist/session_pool → session_pool}/events.js +0 -0
  99. package/{dist/session_pool → session_pool}/events.js.map +0 -0
  100. package/{dist/session_pool → session_pool}/index.d.ts +0 -0
  101. package/{dist/session_pool → session_pool}/index.d.ts.map +0 -0
  102. package/{dist/session_pool → session_pool}/index.js +0 -0
  103. package/{dist/session_pool → session_pool}/index.js.map +0 -0
  104. package/{dist/session_pool → session_pool}/session.d.ts +0 -0
  105. package/{dist/session_pool → session_pool}/session.d.ts.map +0 -0
  106. package/{dist/session_pool → session_pool}/session.js +0 -0
  107. package/{dist/session_pool → session_pool}/session.js.map +0 -0
  108. package/{dist/session_pool → session_pool}/session_pool.d.ts +0 -0
  109. package/{dist/session_pool → session_pool}/session_pool.d.ts.map +0 -0
  110. package/{dist/session_pool → session_pool}/session_pool.js +0 -0
  111. package/{dist/session_pool → session_pool}/session_pool.js.map +0 -0
  112. package/{dist/session_pool → session_pool}/session_utils.d.ts +0 -0
  113. package/{dist/session_pool → session_pool}/session_utils.d.ts.map +0 -0
  114. package/{dist/session_pool → session_pool}/session_utils.js +0 -0
  115. package/{dist/session_pool → session_pool}/session_utils.js.map +0 -0
  116. package/{dist/storages → storages}/dataset.d.ts +0 -41
  117. package/{dist/storages → storages}/dataset.d.ts.map +1 -1
  118. package/{dist/storages → storages}/dataset.js +1 -49
  119. package/{dist/storages → storages}/dataset.js.map +1 -1
  120. package/{dist/storages → storages}/index.d.ts +0 -0
  121. package/{dist/storages → storages}/index.d.ts.map +0 -0
  122. package/{dist/storages → storages}/index.js +0 -0
  123. package/{dist/storages → storages}/index.js.map +0 -0
  124. package/{dist/storages → storages}/key_value_store.d.ts +0 -0
  125. package/{dist/storages → storages}/key_value_store.d.ts.map +1 -1
  126. package/{dist/storages → storages}/key_value_store.js +3 -2
  127. package/storages/key_value_store.js.map +1 -0
  128. package/{dist/storages → storages}/request_list.d.ts +8 -0
  129. package/storages/request_list.d.ts.map +1 -0
  130. package/{dist/storages → storages}/request_list.js +11 -2
  131. package/storages/request_list.js.map +1 -0
  132. package/{dist/storages → storages}/request_queue.d.ts +3 -0
  133. package/storages/request_queue.d.ts.map +1 -0
  134. package/{dist/storages → storages}/request_queue.js +40 -18
  135. package/storages/request_queue.js.map +1 -0
  136. package/{dist/storages → storages}/storage.d.ts +0 -0
  137. package/{dist/storages → storages}/storage.d.ts.map +0 -0
  138. package/{dist/storages → storages}/storage.js +0 -0
  139. package/{dist/storages → storages}/storage.js.map +0 -0
  140. package/{dist/storages → storages}/storage_manager.d.ts +0 -0
  141. package/{dist/storages → storages}/storage_manager.d.ts.map +0 -0
  142. package/{dist/storages → storages}/storage_manager.js +0 -0
  143. package/{dist/storages → storages}/storage_manager.js.map +0 -0
  144. package/tsconfig.build.tsbuildinfo +1 -0
  145. package/{dist/typedefs.d.ts → typedefs.d.ts} +0 -0
  146. package/{dist/typedefs.d.ts.map → typedefs.d.ts.map} +0 -0
  147. package/{dist/typedefs.js → typedefs.js} +0 -0
  148. package/{dist/typedefs.js.map → typedefs.js.map} +0 -0
  149. package/{dist/validators.d.ts → validators.d.ts} +0 -0
  150. package/{dist/validators.d.ts.map → validators.d.ts.map} +0 -0
  151. package/{dist/validators.js → validators.js} +0 -0
  152. package/{dist/validators.js.map → validators.js.map} +0 -0
  153. package/dist/LICENSE.md +0 -201
  154. package/dist/autoscaling/autoscaled_pool.d.ts.map +0 -1
  155. package/dist/autoscaling/autoscaled_pool.js.map +0 -1
  156. package/dist/cache_container.d.ts +0 -18
  157. package/dist/cache_container.d.ts.map +0 -1
  158. package/dist/cache_container.js +0 -42
  159. package/dist/cache_container.js.map +0 -1
  160. package/dist/crawlers/crawler_commons.d.ts.map +0 -1
  161. package/dist/crawlers/crawler_utils.d.ts.map +0 -1
  162. package/dist/crawlers/crawler_utils.js.map +0 -1
  163. package/dist/enqueue_links/enqueue_links.js.map +0 -1
  164. package/dist/errors.d.ts +0 -8
  165. package/dist/errors.d.ts.map +0 -1
  166. package/dist/errors.js +0 -12
  167. package/dist/errors.js.map +0 -1
  168. package/dist/package.json +0 -82
  169. package/dist/proxy_configuration.d.ts.map +0 -1
  170. package/dist/proxy_configuration.js.map +0 -1
  171. package/dist/request.d.ts.map +0 -1
  172. package/dist/request.js.map +0 -1
  173. package/dist/storages/key_value_store.js.map +0 -1
  174. package/dist/storages/request_list.d.ts.map +0 -1
  175. package/dist/storages/request_list.js.map +0 -1
  176. package/dist/storages/request_queue.d.ts.map +0 -1
  177. package/dist/storages/request_queue.js.map +0 -1
  178. package/dist/tsconfig.build.tsbuildinfo +0 -1
File without changes
@@ -94,6 +94,11 @@ export interface AutoscaledPoolOptions {
94
94
  * by the pool.
95
95
  */
96
96
  systemStatusOptions?: SystemStatusOptions;
97
+ /**
98
+ * The maximum number of tasks per minute the pool can run.
99
+ * By default, this is set to `Infinity`, but you can pass any positive, non-zero integer.
100
+ */
101
+ maxTasksPerMinute?: number;
97
102
  log?: Log;
98
103
  }
99
104
  /**
@@ -157,6 +162,7 @@ export declare class AutoscaledPool {
157
162
  private readonly runTaskFunction;
158
163
  private readonly isFinishedFunction;
159
164
  private readonly isTaskReadyFunction;
165
+ private readonly maxTasksPerMinute;
160
166
  private _minConcurrency;
161
167
  private _maxConcurrency;
162
168
  private _desiredConcurrency;
@@ -172,6 +178,8 @@ export declare class AutoscaledPool {
172
178
  private maybeRunInterval;
173
179
  private queryingIsTaskReady;
174
180
  private queryingIsFinished;
181
+ private tasksDonePerSecondInterval?;
182
+ private _tasksPerMinute;
175
183
  constructor(options: AutoscaledPoolOptions, config?: Configuration);
176
184
  /**
177
185
  * Gets the minimum number of tasks running in parallel.
@@ -282,5 +290,7 @@ export declare class AutoscaledPool {
282
290
  * Cleans up resources.
283
291
  */
284
292
  protected _destroy(): Promise<void>;
293
+ protected _incrementTasksDonePerSecond(intervalCallback: () => void): void;
294
+ protected get _isOverMaxRequestLimit(): boolean;
285
295
  }
286
296
  //# sourceMappingURL=autoscaled_pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoscaled_pool.d.ts","sourceRoot":"","sources":["../../src/autoscaling/autoscaled_pool.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,12 @@ class AutoscaledPool {
132
132
  writable: true,
133
133
  value: void 0
134
134
  });
135
+ Object.defineProperty(this, "maxTasksPerMinute", {
136
+ enumerable: true,
137
+ configurable: true,
138
+ writable: true,
139
+ value: void 0
140
+ });
135
141
  // Internal properties.
136
142
  Object.defineProperty(this, "_minConcurrency", {
137
143
  enumerable: true,
@@ -223,6 +229,18 @@ class AutoscaledPool {
223
229
  writable: true,
224
230
  value: void 0
225
231
  });
232
+ Object.defineProperty(this, "tasksDonePerSecondInterval", {
233
+ enumerable: true,
234
+ configurable: true,
235
+ writable: true,
236
+ value: void 0
237
+ });
238
+ Object.defineProperty(this, "_tasksPerMinute", {
239
+ enumerable: true,
240
+ configurable: true,
241
+ writable: true,
242
+ value: Array.from({ length: 60 }, () => 0)
243
+ });
226
244
  (0, ow_1.default)(options, ow_1.default.object.exactShape({
227
245
  runTaskFunction: ow_1.default.function,
228
246
  isFinishedFunction: ow_1.default.function,
@@ -240,8 +258,9 @@ class AutoscaledPool {
240
258
  systemStatusOptions: ow_1.default.optional.object,
241
259
  snapshotterOptions: ow_1.default.optional.object,
242
260
  log: ow_1.default.optional.object,
261
+ maxTasksPerMinute: ow_1.default.optional.number.integerOrInfinite.positive.greaterThanOrEqual(1),
243
262
  }));
244
- const { runTaskFunction, isFinishedFunction, isTaskReadyFunction, maxConcurrency = 1000, minConcurrency = 1, desiredConcurrency, desiredConcurrencyRatio = 0.90, scaleUpStepRatio = 0.05, scaleDownStepRatio = 0.05, maybeRunIntervalSecs = 0.5, loggingIntervalSecs = 60, taskTimeoutSecs = 0, autoscaleIntervalSecs = 10, systemStatusOptions, snapshotterOptions, log = log_1.log, } = options;
263
+ const { runTaskFunction, isFinishedFunction, isTaskReadyFunction, maxConcurrency = 1000, minConcurrency = 1, desiredConcurrency, desiredConcurrencyRatio = 0.90, scaleUpStepRatio = 0.05, scaleDownStepRatio = 0.05, maybeRunIntervalSecs = 0.5, loggingIntervalSecs = 60, taskTimeoutSecs = 0, autoscaleIntervalSecs = 10, systemStatusOptions, snapshotterOptions, log = log_1.log, maxTasksPerMinute = Infinity, } = options;
245
264
  this.log = log.child({ prefix: 'AutoscaledPool' });
246
265
  // Configurable properties.
247
266
  this.desiredConcurrencyRatio = desiredConcurrencyRatio;
@@ -254,6 +273,7 @@ class AutoscaledPool {
254
273
  this.runTaskFunction = runTaskFunction;
255
274
  this.isFinishedFunction = isFinishedFunction;
256
275
  this.isTaskReadyFunction = isTaskReadyFunction;
276
+ this.maxTasksPerMinute = maxTasksPerMinute;
257
277
  // Internal properties.
258
278
  this._minConcurrency = minConcurrency;
259
279
  this._maxConcurrency = maxConcurrency;
@@ -265,6 +285,7 @@ class AutoscaledPool {
265
285
  this.reject = null;
266
286
  this._autoscale = this._autoscale.bind(this);
267
287
  this._maybeRunTask = this._maybeRunTask.bind(this);
288
+ this._incrementTasksDonePerSecond = this._incrementTasksDonePerSecond.bind(this);
268
289
  // Create instances with correct options.
269
290
  const ssoCopy = { ...systemStatusOptions };
270
291
  ssoCopy.snapshotter ?? (ssoCopy.snapshotter = new snapshotter_1.Snapshotter({
@@ -343,6 +364,10 @@ class AutoscaledPool {
343
364
  // this._maybeRunTask() doesn't trigger another one. So if that 1 instance gets stuck it results
344
365
  // in the actor getting stuck and even after scaling up it never triggers another promise.
345
366
  this.maybeRunInterval = (0, utilities_1.betterSetInterval)(this._maybeRunTask, this.maybeRunIntervalMillis);
367
+ if (this.maxTasksPerMinute !== Infinity) {
368
+ // Start the interval that resets the counter of tasks per minute.
369
+ this.tasksDonePerSecondInterval = (0, utilities_1.betterSetInterval)(this._incrementTasksDonePerSecond, 1000);
370
+ }
346
371
  try {
347
372
  await this.poolPromise;
348
373
  }
@@ -475,9 +500,17 @@ class AutoscaledPool {
475
500
  // No tasks could mean that we're finished with all tasks.
476
501
  return this._maybeFinish();
477
502
  }
503
+ // - we have already reached the maximum tasks per minute
504
+ // we need to check this *after* checking if a task is ready to prevent hanging the pool
505
+ // for an extra minute if there are no more tasks
506
+ if (this._isOverMaxRequestLimit) {
507
+ this.log.perf('Task will not run. Maximum tasks per minute reached.');
508
+ return done();
509
+ }
478
510
  try {
479
511
  // Everything's fine. Run task.
480
512
  this._currentConcurrency++;
513
+ this._tasksPerMinute[0]++;
481
514
  // Try to run next task to build up concurrency,
482
515
  // but defer it so it doesn't create a cycle.
483
516
  setImmediate(this._maybeRunTask);
@@ -516,6 +549,9 @@ class AutoscaledPool {
516
549
  // Don't scale if paused.
517
550
  if (this.isStopped)
518
551
  return intervalCallback();
552
+ // Don't scale if we've hit the maximum requests per minute
553
+ if (this._isOverMaxRequestLimit)
554
+ return intervalCallback();
519
555
  // Only scale up if:
520
556
  // - system has not been overloaded lately.
521
557
  const systemStatus = this.systemStatus.getHistoricalStatus();
@@ -616,9 +652,22 @@ class AutoscaledPool {
616
652
  this.reject = null;
617
653
  (0, utilities_1.betterClearInterval)(this.autoscaleInterval);
618
654
  (0, utilities_1.betterClearInterval)(this.maybeRunInterval);
655
+ if (this.tasksDonePerSecondInterval)
656
+ (0, utilities_1.betterClearInterval)(this.tasksDonePerSecondInterval);
619
657
  if (this.snapshotter)
620
658
  await this.snapshotter.stop();
621
659
  }
660
+ _incrementTasksDonePerSecond(intervalCallback) {
661
+ this._tasksPerMinute.unshift(0);
662
+ this._tasksPerMinute.pop();
663
+ return intervalCallback();
664
+ }
665
+ get _isOverMaxRequestLimit() {
666
+ if (this.maxTasksPerMinute === Infinity) {
667
+ return false;
668
+ }
669
+ return this._tasksPerMinute.reduce((acc, curr) => acc + curr, 0) >= this.maxTasksPerMinute;
670
+ }
622
671
  }
623
672
  exports.AutoscaledPool = AutoscaledPool;
624
673
  //# sourceMappingURL=autoscaled_pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoscaled_pool.js","sourceRoot":"","sources":["../../src/autoscaling/autoscaled_pool.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,3 +1,4 @@
1
+ import { Log } from '../log';
1
2
  import { ProxyInfo } from '../proxy_configuration';
2
3
  import { Request } from '../request';
3
4
  import { Session } from '../session_pool/session';
@@ -13,6 +14,7 @@ export interface CrawlingContext extends Record<PropertyKey, unknown> {
13
14
  * and configured by the {@link ProxyConfiguration} class.
14
15
  */
15
16
  proxyInfo?: ProxyInfo;
17
+ log: Log;
16
18
  }
17
19
  export interface CrawlerHandleFailedRequestInput extends CrawlingContext {
18
20
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawler_commons.d.ts","sourceRoot":"","sources":["../../src/crawlers/crawler_commons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC;IACjE,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,+BAAgC,SAAQ,eAAe;IACpE;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CAChB"}
File without changes
File without changes
@@ -7,11 +7,6 @@ export declare function handleRequestTimeout({ session, errorMessage }: {
7
7
  session?: Session;
8
8
  errorMessage: string;
9
9
  }): void;
10
- /**
11
- * Handles blocked request
12
- * @internal
13
- */
14
- export declare function throwOnBlockedRequest(session: Session, statusCode: number): void;
15
10
  /**
16
11
  * Merges multiple cookie strings. Keys are compared case-sensitively, warning will be logged
17
12
  * if we see two cookies with same keys but different casing.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawler_utils.d.ts","sourceRoot":"","sources":["../../src/crawlers/crawler_utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,QAK1G;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAsBzE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,SAAK,EAAE,aAAa,SAAK,GAAG,MAAM,CAmBvF"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.diffCookies = exports.mergeCookies = exports.throwOnBlockedRequest = exports.handleRequestTimeout = void 0;
3
+ exports.diffCookies = exports.mergeCookies = exports.handleRequestTimeout = void 0;
4
4
  const tough_cookie_1 = require("tough-cookie");
5
5
  const log_1 = require("../log");
6
6
  /**
@@ -14,17 +14,6 @@ function handleRequestTimeout({ session, errorMessage }) {
14
14
  throw new Error(`Navigation timed out after ${timeoutSecs} seconds.`);
15
15
  }
16
16
  exports.handleRequestTimeout = handleRequestTimeout;
17
- /**
18
- * Handles blocked request
19
- * @internal
20
- */
21
- function throwOnBlockedRequest(session, statusCode) {
22
- const isBlocked = session.retireOnBlockedStatusCodes(statusCode);
23
- if (isBlocked) {
24
- throw new Error(`Request blocked - received ${statusCode} status code.`);
25
- }
26
- }
27
- exports.throwOnBlockedRequest = throwOnBlockedRequest;
28
17
  /**
29
18
  * Merges multiple cookie strings. Keys are compared case-sensitively, warning will be logged
30
19
  * if we see two cookies with same keys but different casing.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawler_utils.js","sourceRoot":"","sources":["../../src/crawlers/crawler_utils.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -135,4 +135,17 @@ export declare enum EnqueueStrategy {
135
135
  * @returns Promise that resolves to {@link BatchAddRequestsResult} object.
136
136
  */
137
137
  export declare function enqueueLinks(options: EnqueueLinksOptions): Promise<BatchAddRequestsResult>;
138
+ /**
139
+ * @internal
140
+ */
141
+ export declare function resolveBaseUrl({ enqueueStrategy, finalRequestUrl, originalRequestUrl, userProvidedBaseUrl, }: ResolveBaseUrl): string | undefined;
142
+ /**
143
+ * @internal
144
+ */
145
+ export interface ResolveBaseUrl {
146
+ userProvidedBaseUrl?: string;
147
+ enqueueStrategy?: EnqueueLinksOptions['strategy'];
148
+ originalRequestUrl: string;
149
+ finalRequestUrl?: string;
150
+ }
138
151
  //# sourceMappingURL=enqueue_links.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enqueue_links.d.ts","sourceRoot":"","sources":["../../src/enqueue_links/enqueue_links.ts"],"names":[],"mappings":"AAGA,OAAO,EAMH,SAAS,EACT,cAAc,EACd,WAAW,EACX,gBAAgB,EAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAChC,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,0DAA0D;IAC1D,YAAY,EAAE,YAAY,CAAC;IAE3B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IAEpB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAE5C;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,KAAK,GAAG,gBAAgB,GAAG,eAAe,CAAC;CAC3E;AAED,oBAAY,eAAe;IACvB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,aAAa,mBAAmB;IAChC;;;;OAIG;IACH,YAAY,kBAAkB;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmGhG"}
1
+ {"version":3,"file":"enqueue_links.d.ts","sourceRoot":"","sources":["../../src/enqueue_links/enqueue_links.ts"],"names":[],"mappings":"AAGA,OAAO,EAMH,SAAS,EACT,cAAc,EACd,WAAW,EACX,gBAAgB,EAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,MAAM,WAAW,mBAAmB;IAChC,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,0DAA0D;IAC1D,YAAY,EAAE,YAAY,CAAC;IAE3B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IAEpB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAE5C;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,KAAK,GAAG,gBAAgB,GAAG,eAAe,CAAC;CAC3E;AAED,oBAAY,eAAe;IACvB;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,aAAa,mBAAmB;IAChC;;;;OAIG;IACH,YAAY,kBAAkB;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAqGhG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC3B,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACtB,EAAE,cAAc,sBA4BhB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAClD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.enqueueLinks = exports.EnqueueStrategy = void 0;
3
+ exports.resolveBaseUrl = exports.enqueueLinks = exports.EnqueueStrategy = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const tldts_1 = require("tldts");
6
6
  const ow_1 = tslib_1.__importDefault(require("ow"));
@@ -80,7 +80,9 @@ async function enqueueLinks(options) {
80
80
  if (regexps?.length) {
81
81
  urlPatternObjects.push(...(0, shared_1.constructRegExpObjectsFromRegExps)(regexps));
82
82
  }
83
- options.strategy ?? (options.strategy = urlPatternObjects.length > 0 ? undefined : EnqueueStrategy.SameSubdomain);
83
+ if (!urlPatternObjects.length) {
84
+ options.strategy ?? (options.strategy = EnqueueStrategy.SameSubdomain);
85
+ }
84
86
  if (options.baseUrl) {
85
87
  switch (options.strategy) {
86
88
  case EnqueueStrategy.SameSubdomain:
@@ -120,4 +122,31 @@ async function enqueueLinks(options) {
120
122
  return requestQueue.addRequests(requests);
121
123
  }
122
124
  exports.enqueueLinks = enqueueLinks;
125
+ /**
126
+ * @internal
127
+ */
128
+ function resolveBaseUrl({ enqueueStrategy, finalRequestUrl, originalRequestUrl, userProvidedBaseUrl, }) {
129
+ // User provided base url takes priority
130
+ if (userProvidedBaseUrl) {
131
+ return userProvidedBaseUrl;
132
+ }
133
+ const originalUrlOrigin = new URL(originalRequestUrl).origin;
134
+ const finalUrlOrigin = new URL(finalRequestUrl ?? originalRequestUrl).origin;
135
+ // We can assume users want to go off the domain in this case
136
+ if (enqueueStrategy === EnqueueStrategy.All) {
137
+ return finalUrlOrigin ?? originalUrlOrigin;
138
+ }
139
+ // Ensure links use the same hostname
140
+ if (enqueueStrategy === EnqueueStrategy.SameHostname) {
141
+ const originalHostname = (0, tldts_1.getDomain)(originalUrlOrigin, { mixedInputs: false });
142
+ const finalHostname = (0, tldts_1.getDomain)(finalUrlOrigin, { mixedInputs: false });
143
+ if (originalHostname === finalHostname) {
144
+ return finalUrlOrigin;
145
+ }
146
+ return undefined;
147
+ }
148
+ // Always enqueue urls that are from the same origin
149
+ return originalUrlOrigin;
150
+ }
151
+ exports.resolveBaseUrl = resolveBaseUrl;
123
152
  //# sourceMappingURL=enqueue_links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enqueue_links.js","sourceRoot":"","sources":["../../src/enqueue_links/enqueue_links.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
@@ -55,6 +55,6 @@ export interface RequestTransform {
55
55
  * @param original Request options to be modified.
56
56
  * @returns The modified request options to enqueue.
57
57
  */
58
- (original: RequestOptions): RequestOptions;
58
+ (original: RequestOptions): RequestOptions | false | undefined | null;
59
59
  }
60
60
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/enqueue_links/shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYrD,oBAAY,gBAAgB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAExE,oBAAY,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAErH,oBAAY,cAAc,GAAG,MAAM,GAAG,eAAe,CAAC;AAEtD,oBAAY,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAEhH,oBAAY,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5C,oBAAY,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAEpH,oBAAY,WAAW,GAAG,MAAM,GAAG,YAAY,CAAC;AAEhD;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAMvI;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAiBjG;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAiB9E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,CAgBxF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,CAyB7H;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAcpG;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CAAC;CAC9C"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/enqueue_links/shared.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYrD,oBAAY,gBAAgB,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAExE,oBAAY,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAErH,oBAAY,cAAc,GAAG,MAAM,GAAG,eAAe,CAAC;AAEtD,oBAAY,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAEhH,oBAAY,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5C,oBAAY,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAEpH,oBAAY,WAAW,GAAG,MAAM,GAAG,YAAY,CAAC;AAEhD;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,cAAc,EAAE,OAAO,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI,CAMvI;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAiBjG;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAiB9E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,CAgBxF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,CAyB7H;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAcpG;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;CACzE"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -53,11 +53,9 @@ export const handleRequestTimeout = mod.handleRequestTimeout;
53
53
  export const log = mod.log;
54
54
  export const maybeStringify = mod.maybeStringify;
55
55
  export const mergeCookies = mod.mergeCookies;
56
- export const openDataset = mod.openDataset;
57
- export const pushData = mod.pushData;
56
+ export const resolveBaseUrl = mod.resolveBaseUrl;
58
57
  export const serializeArray = mod.serializeArray;
59
58
  export const storage = mod.storage;
60
- export const throwOnBlockedRequest = mod.throwOnBlockedRequest;
61
59
  export const updateEnqueueLinksPatternCache = mod.updateEnqueueLinksPatternCache;
62
60
  export const validateGlobPattern = mod.validateGlobPattern;
63
61
  export const validators = mod.validators;
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@crawlee/core",
3
- "version": "3.0.0-alpha.3",
3
+ "version": "3.0.0-alpha.32",
4
4
  "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.",
5
5
  "engines": {
6
6
  "node": ">=16.0.0"
7
7
  },
8
- "types": "dist/index.d.ts",
8
+ "types": "index.d.ts",
9
9
  "exports": {
10
10
  ".": {
11
- "import": "./dist/index.mjs",
12
- "require": "./dist/index.js"
11
+ "import": "./index.mjs",
12
+ "require": "./index.js"
13
13
  }
14
14
  },
15
15
  "keywords": [
@@ -39,13 +39,10 @@
39
39
  "url": "https://github.com/apify/apify-js/issues"
40
40
  },
41
41
  "homepage": "https://sdk.apify.com/",
42
- "files": [
43
- "dist"
44
- ],
45
42
  "scripts": {
46
43
  "build": "npm run clean && npm run compile && npm run copy",
47
44
  "clean": "rimraf ./dist",
48
- "compile": "tsc -p tsconfig.build.json && gen-esm-wrapper ./dist/index.js ./dist/index.mjs",
45
+ "compile": "tsc -p tsconfig.build.json && gen-esm-wrapper ./index.js ./index.mjs",
49
46
  "copy": "ts-node -T ../../scripts/copy.ts"
50
47
  },
51
48
  "publishConfig": {
@@ -54,30 +51,20 @@
54
51
  "dependencies": {
55
52
  "@apify/consts": "^1.4.2",
56
53
  "@apify/datastructures": "^1.0.1",
57
- "@apify/log": "^1.1.6",
58
- "@apify/ps-tree": "^1.1.4",
54
+ "@apify/log": "^1.2.0",
59
55
  "@apify/pseudo_url": "^1.1.0",
60
- "@apify/storage-local": "^2.0.3-beta.3",
61
56
  "@apify/timeout": "^0.2.1",
62
57
  "@apify/utilities": "^1.2.5",
63
- "@crawlee/browser-pool": "^3.0.0-alpha.3",
64
- "@crawlee/storage": "^3.0.0-alpha.3",
65
- "@crawlee/utils": "^3.0.0-alpha.3",
66
- "@types/mime-types": "^2.1.1",
67
- "@types/stream-json": "^1.7.1",
68
- "content-type": "^1.0.4",
58
+ "@apify/storage-local": "^2.0.3-beta.3",
59
+ "@crawlee/browser-pool": "^3.0.0-alpha.32",
60
+ "@crawlee/utils": "^3.0.0-alpha.32",
69
61
  "got-scraping": "^3.2.7",
70
- "htmlparser2": "^7.0.0",
71
62
  "iconv-lite": "^0.6.3",
72
- "jquery": "^3.6.0",
73
- "mime-types": "^2.1.34",
74
63
  "minimatch": "^5.0.1",
75
64
  "ow": "^0.28.0",
76
- "proxy-chain": "^2.0.1-beta.0",
77
65
  "stream-json": "^1.7.3",
78
66
  "tldts": "^5.7.69",
79
67
  "tough-cookie": "^4.0.0",
80
68
  "ws": "^7.5.3"
81
- },
82
- "gitHead": "548b65585f29cd3c662acddbb30abfb79d0579e6"
69
+ }
83
70
  }