@crawlee/core 4.0.0-beta.27 → 4.0.0-beta.28

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 (82) hide show
  1. package/autoscaling/autoscaled_pool.d.ts +1 -3
  2. package/autoscaling/autoscaled_pool.d.ts.map +1 -1
  3. package/autoscaling/autoscaled_pool.js +1 -7
  4. package/autoscaling/autoscaled_pool.js.map +1 -1
  5. package/autoscaling/snapshotter.d.ts +0 -10
  6. package/autoscaling/snapshotter.d.ts.map +1 -1
  7. package/autoscaling/snapshotter.js +12 -18
  8. package/autoscaling/snapshotter.js.map +1 -1
  9. package/autoscaling/system_status.d.ts +0 -3
  10. package/autoscaling/system_status.d.ts.map +1 -1
  11. package/autoscaling/system_status.js +2 -3
  12. package/autoscaling/system_status.js.map +1 -1
  13. package/configuration.d.ts +4 -70
  14. package/configuration.d.ts.map +1 -1
  15. package/configuration.js +5 -97
  16. package/configuration.js.map +1 -1
  17. package/crawlers/statistics.d.ts +2 -11
  18. package/crawlers/statistics.d.ts.map +1 -1
  19. package/crawlers/statistics.js +14 -13
  20. package/crawlers/statistics.js.map +1 -1
  21. package/errors.d.ts +6 -0
  22. package/errors.d.ts.map +1 -1
  23. package/errors.js +9 -0
  24. package/errors.js.map +1 -1
  25. package/events/event_manager.d.ts +7 -4
  26. package/events/event_manager.d.ts.map +1 -1
  27. package/events/event_manager.js +5 -7
  28. package/events/event_manager.js.map +1 -1
  29. package/events/local_event_manager.d.ts +14 -2
  30. package/events/local_event_manager.d.ts.map +1 -1
  31. package/events/local_event_manager.js +24 -6
  32. package/events/local_event_manager.js.map +1 -1
  33. package/index.d.ts +1 -0
  34. package/index.d.ts.map +1 -1
  35. package/index.js +1 -0
  36. package/index.js.map +1 -1
  37. package/package.json +5 -5
  38. package/recoverable_state.d.ts +1 -2
  39. package/recoverable_state.d.ts.map +1 -1
  40. package/recoverable_state.js +4 -6
  41. package/recoverable_state.js.map +1 -1
  42. package/service_locator.d.ts +139 -0
  43. package/service_locator.d.ts.map +1 -0
  44. package/service_locator.js +252 -0
  45. package/service_locator.js.map +1 -0
  46. package/session_pool/session_pool.d.ts +2 -4
  47. package/session_pool/session_pool.d.ts.map +1 -1
  48. package/session_pool/session_pool.js +9 -10
  49. package/session_pool/session_pool.js.map +1 -1
  50. package/storages/dataset.d.ts.map +1 -1
  51. package/storages/dataset.js +4 -3
  52. package/storages/dataset.js.map +1 -1
  53. package/storages/key_value_store.d.ts.map +1 -1
  54. package/storages/key_value_store.js +5 -4
  55. package/storages/key_value_store.js.map +1 -1
  56. package/storages/request_list.d.ts +1 -2
  57. package/storages/request_list.d.ts.map +1 -1
  58. package/storages/request_list.js +3 -5
  59. package/storages/request_list.js.map +1 -1
  60. package/storages/request_provider.d.ts +4 -2
  61. package/storages/request_provider.d.ts.map +1 -1
  62. package/storages/request_provider.js +8 -7
  63. package/storages/request_provider.js.map +1 -1
  64. package/storages/request_queue.d.ts +1 -1
  65. package/storages/request_queue.d.ts.map +1 -1
  66. package/storages/request_queue.js +2 -2
  67. package/storages/request_queue.js.map +1 -1
  68. package/storages/request_queue_v2.d.ts +1 -1
  69. package/storages/request_queue_v2.d.ts.map +1 -1
  70. package/storages/request_queue_v2.js +4 -5
  71. package/storages/request_queue_v2.js.map +1 -1
  72. package/storages/sitemap_request_list.d.ts +0 -5
  73. package/storages/sitemap_request_list.d.ts.map +1 -1
  74. package/storages/sitemap_request_list.js +3 -3
  75. package/storages/sitemap_request_list.js.map +1 -1
  76. package/storages/storage_manager.d.ts +5 -7
  77. package/storages/storage_manager.d.ts.map +1 -1
  78. package/storages/storage_manager.js +11 -21
  79. package/storages/storage_manager.js.map +1 -1
  80. package/storages/utils.d.ts.map +1 -1
  81. package/storages/utils.js +4 -3
  82. package/storages/utils.js.map +1 -1
package/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './errors.js';
2
2
  export * from './autoscaling/index.js';
3
3
  export * from './configuration.js';
4
+ export * from './service_locator.js';
4
5
  export * from './crawlers/index.js';
5
6
  export * from './enqueue_links/index.js';
6
7
  export * from './events/index.js';
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crawlee/core",
3
- "version": "4.0.0-beta.27",
3
+ "version": "4.0.0-beta.28",
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": ">=22.0.0"
@@ -53,9 +53,9 @@
53
53
  "@apify/pseudo_url": "^2.0.59",
54
54
  "@apify/timeout": "^0.3.2",
55
55
  "@apify/utilities": "^2.15.5",
56
- "@crawlee/memory-storage": "4.0.0-beta.27",
57
- "@crawlee/types": "4.0.0-beta.27",
58
- "@crawlee/utils": "4.0.0-beta.27",
56
+ "@crawlee/memory-storage": "4.0.0-beta.28",
57
+ "@crawlee/types": "4.0.0-beta.28",
58
+ "@crawlee/utils": "4.0.0-beta.28",
59
59
  "@sapphire/async-queue": "^1.5.5",
60
60
  "@vladfrangu/async_event_emitter": "^2.4.6",
61
61
  "csv-stringify": "^6.5.2",
@@ -76,5 +76,5 @@
76
76
  }
77
77
  }
78
78
  },
79
- "gitHead": "9d140cc3d54fd41b95cac5aec50eb0767a7480f7"
79
+ "gitHead": "34fe46a70d4d6a6ddb49b0814469dbde1e7f0a9c"
80
80
  }
@@ -1,4 +1,4 @@
1
- import { Configuration } from '@crawlee/core';
1
+ import type { Configuration } from '@crawlee/core';
2
2
  import type { Log } from '@apify/log';
3
3
  export interface RecoverableStatePersistenceOptions {
4
4
  /**
@@ -68,7 +68,6 @@ export declare class RecoverableState<TStateModel = Record<string, unknown>> {
68
68
  private readonly persistStateKvsId?;
69
69
  private keyValueStore;
70
70
  private readonly log;
71
- private readonly config;
72
71
  private readonly serialize;
73
72
  private readonly deserialize;
74
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"recoverable_state.d.ts","sourceRoot":"","sources":["../src/recoverable_state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,eAAe,CAAC;AAExE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,kCAAkC;IAC/C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1E,SAAQ,kCAAkC;IAC1C;;;OAGG;IACH,YAAY,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC;IAE3C;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,WAAW,CAAC;CAC1D;AAED;;;;;;;;;GASG;AACH,qBAAa,gBAAgB,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IAEvE;;;;OAIG;gBACS,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC;IAczD;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAuBxC;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B;;OAEG;IACH,IAAI,YAAY,IAAI,WAAW,CAM9B;IAED;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;;;;;;OAOG;IACG,YAAY,CAAC,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvE;;OAEG;YACW,cAAc;CAY/B"}
1
+ {"version":3,"file":"recoverable_state.d.ts","sourceRoot":"","sources":["../src/recoverable_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,WAAW,kCAAkC;IAC/C;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1E,SAAQ,kCAAkC;IAC1C;;;OAGG;IACH,YAAY,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC;IAE3C;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,WAAW,CAAC;CAC1D;AAED;;;;;;;;;GASG;AACH,qBAAa,gBAAgB,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2C;IAEvE;;;;OAIG;gBACS,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC;IAazD;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAuBxC;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/B;;OAEG;IACH,IAAI,YAAY,IAAI,WAAW,CAM9B;IAED;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B;;;;;;;OAOG;IACG,YAAY,CAAC,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvE;;OAEG;YACW,cAAc;CAY/B"}
@@ -1,4 +1,4 @@
1
- import { Configuration, KeyValueStore } from '@crawlee/core';
1
+ import { KeyValueStore, serviceLocator } from '@crawlee/core';
2
2
  import log from '@apify/log';
3
3
  /**
4
4
  * A class for managing persistent recoverable state using a plain JavaScript object.
@@ -19,7 +19,6 @@ export class RecoverableState {
19
19
  persistStateKvsId;
20
20
  keyValueStore = null;
21
21
  log;
22
- config;
23
22
  serialize;
24
23
  deserialize;
25
24
  /**
@@ -34,7 +33,6 @@ export class RecoverableState {
34
33
  this.persistStateKvsName = options.persistStateKvsName;
35
34
  this.persistStateKvsId = options.persistStateKvsId;
36
35
  this.log = options.logger ?? log.child({ prefix: 'RecoverableState' });
37
- this.config = options.config ?? Configuration.getGlobalConfig();
38
36
  this.serialize = options.serialize ?? JSON.stringify;
39
37
  this.deserialize = options.deserialize ?? JSON.parse;
40
38
  this.persistState = this.persistState.bind(this);
@@ -56,11 +54,11 @@ export class RecoverableState {
56
54
  return this.currentValue;
57
55
  }
58
56
  this.keyValueStore = await KeyValueStore.open(this.persistStateKvsName ?? this.persistStateKvsId, {
59
- config: this.config,
57
+ config: serviceLocator.getConfiguration(),
60
58
  });
61
59
  await this.loadSavedState();
62
60
  // Register for persist state events
63
- const eventManager = this.config.getEventManager();
61
+ const eventManager = serviceLocator.getEventManager();
64
62
  eventManager.on("persistState" /* EventType.PERSIST_STATE */, this.persistState);
65
63
  return this.currentValue;
66
64
  }
@@ -74,7 +72,7 @@ export class RecoverableState {
74
72
  if (!this.persistenceEnabled || !this.persistState) {
75
73
  return;
76
74
  }
77
- const eventManager = this.config.getEventManager();
75
+ const eventManager = serviceLocator.getEventManager();
78
76
  eventManager.off("persistState" /* EventType.PERSIST_STATE */, this.persistState);
79
77
  await this.persistState();
80
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recoverable_state.js","sourceRoot":"","sources":["../src/recoverable_state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recoverable_state.js","sourceRoot":"","sources":["../src/recoverable_state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import type { StorageClient } from '@crawlee/types';
2
+ import { Configuration } from './configuration.js';
3
+ import type { EventManager } from './events/event_manager.js';
4
+ import type { IStorage, StorageManager } from './storages/storage_manager.js';
5
+ import type { Constructor } from './typedefs.js';
6
+ interface ServiceLocatorInterface {
7
+ /**
8
+ * Get the configuration.
9
+ * Creates a default Configuration instance if none has been set.
10
+ */
11
+ getConfiguration(): Configuration;
12
+ /**
13
+ * Set the configuration.
14
+ *
15
+ * @param configuration The configuration to set
16
+ * @throws {ServiceConflictError} If a different configuration has already been retrieved
17
+ */
18
+ setConfiguration(configuration: Configuration): void;
19
+ /**
20
+ * Get the event manager.
21
+ * Creates a default LocalEventManager instance if none has been set.
22
+ */
23
+ getEventManager(): EventManager;
24
+ /**
25
+ * Set the event manager.
26
+ *
27
+ * @param eventManager The event manager to set
28
+ * @throws {ServiceConflictError} If a different event manager has already been retrieved
29
+ */
30
+ setEventManager(eventManager: EventManager): void;
31
+ /**
32
+ * Get the storage client.
33
+ * Creates a default MemoryStorage instance if none has been set.
34
+ */
35
+ getStorageClient(): StorageClient;
36
+ /**
37
+ * Set the storage client.
38
+ *
39
+ * @param storageClient The storage client to set
40
+ * @throws {ServiceConflictError} If a different storage client has already been retrieved
41
+ */
42
+ setStorageClient(storageClient: StorageClient): void;
43
+ getStorageManager(constructor: Constructor<IStorage>): StorageManager | undefined;
44
+ setStorageManager(constructor: Constructor<IStorage>, storageManager: StorageManager): void;
45
+ /**
46
+ * Clears all storage manager caches.
47
+ * @internal
48
+ */
49
+ clearStorageManagerCache(): void;
50
+ /**
51
+ * Resets the service locator to its initial state.
52
+ * Used mainly for testing purposes.
53
+ * @internal
54
+ */
55
+ reset(): void;
56
+ }
57
+ /**
58
+ * Service locator for managing the services used by Crawlee.
59
+ *
60
+ * All services are initialized to their default value lazily.
61
+ *
62
+ * There are two primary usage patterns:
63
+ *
64
+ * **1. Global service locator (for default services):**
65
+ * ```typescript
66
+ * import { serviceLocator, BasicCrawler } from 'crawlee';
67
+ *
68
+ * // Optionally configure global services before creating crawlers
69
+ * serviceLocator.setStorageClient(myCustomClient);
70
+ *
71
+ * // Crawler uses global services
72
+ * const crawler = new BasicCrawler({ ... });
73
+ * ```
74
+ *
75
+ * **2. Per-crawler services (recommended for isolation):**
76
+ * ```typescript
77
+ * import { BasicCrawler, Configuration, LocalEventManager } from 'crawlee';
78
+ * import { MemoryStorage } from '@crawlee/memory-storage';
79
+ *
80
+ * const crawler = new BasicCrawler({
81
+ * requestHandler: async ({ request }) => { ... },
82
+ * configuration: new Configuration({ ... }), // custom config
83
+ * storageClient: new MemoryStorage(), // custom storage
84
+ * eventManager: LocalEventManager.fromConfig(), // custom events
85
+ * });
86
+ * // Crawler has its own isolated ServiceLocator instance
87
+ * ```
88
+ */
89
+ export declare class ServiceLocator implements ServiceLocatorInterface {
90
+ private configuration?;
91
+ private eventManager?;
92
+ private storageClient?;
93
+ /**
94
+ * Storage managers for Dataset, KeyValueStore, and RequestQueue.
95
+ * Manages caching and lifecycle of storage instances.
96
+ */
97
+ private storageManagers;
98
+ /**
99
+ * Creates a new ServiceLocator instance.
100
+ *
101
+ * @param configuration Optional configuration instance to use
102
+ * @param eventManager Optional event manager instance to use
103
+ * @param storageClient Optional storage client instance to use
104
+ */
105
+ constructor(configuration?: Configuration, eventManager?: EventManager, storageClient?: StorageClient);
106
+ getConfiguration(): Configuration;
107
+ setConfiguration(configuration: Configuration): void;
108
+ getEventManager(): EventManager;
109
+ setEventManager(eventManager: EventManager): void;
110
+ getStorageClient(): StorageClient;
111
+ setStorageClient(storageClient: StorageClient): void;
112
+ getStorageManager(constructor: Constructor<IStorage>): StorageManager | undefined;
113
+ setStorageManager(constructor: Constructor<IStorage>, storageManager: StorageManager): void;
114
+ clearStorageManagerCache(): void;
115
+ reset(): void;
116
+ }
117
+ /**
118
+ * Wraps all methods on `target` so that any code they invoke will see the given
119
+ * `serviceLocator` via `AsyncLocalStorage`, rather than the global one.
120
+ *
121
+ * Walks the prototype chain and replaces each method on the *instance* (not the prototype)
122
+ * with a wrapper that calls `serviceLocatorStorage.run(serviceLocator, originalMethod)`.
123
+ *
124
+ * The `AsyncLocalStorage` context propagates through the entire sync/async call tree of each
125
+ * wrapped method — including `super` calls, since the prototype methods execute within the
126
+ * context established by the instance-level wrapper.
127
+ *
128
+ * @internal
129
+ * @returns Scope control functions: `run` executes a callback within the scoped context,
130
+ * `enterScope`/`exitScope` allow entering/leaving the scope imperatively (e.g., for constructor bodies).
131
+ */
132
+ export declare function bindMethodsToServiceLocator(serviceLocator: ServiceLocator, target: {}): {
133
+ run: <T>(fn: () => T) => T;
134
+ enterScope: () => void;
135
+ exitScope: () => void;
136
+ };
137
+ export declare const serviceLocator: ServiceLocatorInterface;
138
+ export {};
139
+ //# sourceMappingURL=service_locator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service_locator.d.ts","sourceRoot":"","sources":["../src/service_locator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,UAAU,uBAAuB;IAC7B;;;OAGG;IACH,gBAAgB,IAAI,aAAa,CAAC;IAElC;;;;;OAKG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAErD;;;OAGG;IACH,eAAe,IAAI,YAAY,CAAC;IAEhC;;;;;OAKG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAElD;;;OAGG;IACH,gBAAgB,IAAI,aAAa,CAAC;IAElC;;;;;OAKG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAErD,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC;IAElF,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAE5F;;;OAGG;IACH,wBAAwB,IAAI,IAAI,CAAC;IAEjC;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,cAAe,YAAW,uBAAuB;IAC1D,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAoD;IAE3E;;;;;;OAMG;gBACS,aAAa,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,aAAa;IAMrG,gBAAgB,IAAI,aAAa;IAQjC,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAcpD,eAAe,IAAI,YAAY;IAc/B,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAcjD,gBAAgB,IAAI,aAAa;IAiBjC,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAcpD,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,cAAc,GAAG,SAAS;IAIjF,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI;IAY3F,wBAAwB,IAAI,IAAI;IAchC,KAAK,IAAI,IAAI;CAMhB;AASD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACvC,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,EAAE,GACX;IAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,IAAI,CAAA;CAAE,CA4C/E;AAED,eAAO,MAAM,cAAc,EAAE,uBAyC5B,CAAC"}
@@ -0,0 +1,252 @@
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { MemoryStorage } from '@crawlee/memory-storage';
3
+ import log from '@apify/log';
4
+ import { Configuration } from './configuration.js';
5
+ import { ServiceConflictError } from './errors.js';
6
+ import { LocalEventManager } from './events/local_event_manager.js';
7
+ /**
8
+ * Service locator for managing the services used by Crawlee.
9
+ *
10
+ * All services are initialized to their default value lazily.
11
+ *
12
+ * There are two primary usage patterns:
13
+ *
14
+ * **1. Global service locator (for default services):**
15
+ * ```typescript
16
+ * import { serviceLocator, BasicCrawler } from 'crawlee';
17
+ *
18
+ * // Optionally configure global services before creating crawlers
19
+ * serviceLocator.setStorageClient(myCustomClient);
20
+ *
21
+ * // Crawler uses global services
22
+ * const crawler = new BasicCrawler({ ... });
23
+ * ```
24
+ *
25
+ * **2. Per-crawler services (recommended for isolation):**
26
+ * ```typescript
27
+ * import { BasicCrawler, Configuration, LocalEventManager } from 'crawlee';
28
+ * import { MemoryStorage } from '@crawlee/memory-storage';
29
+ *
30
+ * const crawler = new BasicCrawler({
31
+ * requestHandler: async ({ request }) => { ... },
32
+ * configuration: new Configuration({ ... }), // custom config
33
+ * storageClient: new MemoryStorage(), // custom storage
34
+ * eventManager: LocalEventManager.fromConfig(), // custom events
35
+ * });
36
+ * // Crawler has its own isolated ServiceLocator instance
37
+ * ```
38
+ */
39
+ export class ServiceLocator {
40
+ configuration;
41
+ eventManager;
42
+ storageClient;
43
+ /**
44
+ * Storage managers for Dataset, KeyValueStore, and RequestQueue.
45
+ * Manages caching and lifecycle of storage instances.
46
+ */
47
+ storageManagers = new Map();
48
+ /**
49
+ * Creates a new ServiceLocator instance.
50
+ *
51
+ * @param configuration Optional configuration instance to use
52
+ * @param eventManager Optional event manager instance to use
53
+ * @param storageClient Optional storage client instance to use
54
+ */
55
+ constructor(configuration, eventManager, storageClient) {
56
+ this.configuration = configuration;
57
+ this.eventManager = eventManager;
58
+ this.storageClient = storageClient;
59
+ }
60
+ getConfiguration() {
61
+ if (!this.configuration) {
62
+ log.debug('No configuration set, implicitly creating and using default Configuration.');
63
+ this.configuration = new Configuration();
64
+ }
65
+ return this.configuration;
66
+ }
67
+ setConfiguration(configuration) {
68
+ // Same instance, no need to do anything
69
+ if (this.configuration === configuration) {
70
+ return;
71
+ }
72
+ // Already have a different configuration that was retrieved
73
+ if (this.configuration) {
74
+ throw new ServiceConflictError('Configuration', configuration, this.configuration);
75
+ }
76
+ this.configuration = configuration;
77
+ }
78
+ getEventManager() {
79
+ if (!this.eventManager) {
80
+ log.debug('No event manager set, implicitly creating and using default LocalEventManager.');
81
+ if (!this.configuration) {
82
+ log.warning('Implicit creation of event manager will implicitly set configuration as side effect. ' +
83
+ 'It is advised to explicitly first set the configuration instead.');
84
+ }
85
+ this.eventManager = LocalEventManager.fromConfig(this.getConfiguration());
86
+ }
87
+ return this.eventManager;
88
+ }
89
+ setEventManager(eventManager) {
90
+ // Same instance, no need to do anything
91
+ if (this.eventManager === eventManager) {
92
+ return;
93
+ }
94
+ // Already have a different event manager that was retrieved
95
+ if (this.eventManager) {
96
+ throw new ServiceConflictError('EventManager', eventManager, this.eventManager);
97
+ }
98
+ this.eventManager = eventManager;
99
+ }
100
+ getStorageClient() {
101
+ if (!this.storageClient) {
102
+ log.debug('No storage client set, implicitly creating and using default MemoryStorage.');
103
+ if (!this.configuration) {
104
+ log.warning('Implicit creation of storage client will implicitly set configuration as side effect. ' +
105
+ 'It is advised to explicitly first set the configuration instead.');
106
+ }
107
+ const config = this.getConfiguration();
108
+ this.storageClient = new MemoryStorage({
109
+ persistStorage: config.get('persistStorage'),
110
+ });
111
+ }
112
+ return this.storageClient;
113
+ }
114
+ setStorageClient(storageClient) {
115
+ // Same instance, no need to do anything
116
+ if (this.storageClient === storageClient) {
117
+ return;
118
+ }
119
+ // Already have a different storage client that was retrieved
120
+ if (this.storageClient) {
121
+ throw new ServiceConflictError('StorageClient', storageClient, this.storageClient);
122
+ }
123
+ this.storageClient = storageClient;
124
+ }
125
+ getStorageManager(constructor) {
126
+ return this.storageManagers.get(constructor);
127
+ }
128
+ setStorageManager(constructor, storageManager) {
129
+ if (this.storageManagers.has(constructor)) {
130
+ throw new ServiceConflictError(`StorageManager(${constructor.name})`, storageManager, this.storageManagers.get(constructor));
131
+ }
132
+ this.storageManagers.set(constructor, storageManager);
133
+ }
134
+ clearStorageManagerCache() {
135
+ this.storageManagers.forEach((manager) => {
136
+ // KeyValueStore has a clearCache method on its instances
137
+ // TODO this uses fragile string matching and `any` casts into private fields - remove as part of
138
+ // https://github.com/apify/crawlee/issues/3075 (Storage instance management will be reworked significantly)
139
+ if (manager.name === 'KeyValueStore') {
140
+ manager.cache?.forEach((item) => {
141
+ item.clearCache?.();
142
+ });
143
+ }
144
+ });
145
+ this.storageManagers.clear();
146
+ }
147
+ reset() {
148
+ this.configuration = undefined;
149
+ this.eventManager = undefined;
150
+ this.storageClient = undefined;
151
+ this.clearStorageManagerCache();
152
+ }
153
+ }
154
+ /**
155
+ * Used as the default service provider when crawlers don't specify custom services.
156
+ */
157
+ const globalServiceLocator = new ServiceLocator();
158
+ const serviceLocatorStorage = new AsyncLocalStorage();
159
+ /**
160
+ * Wraps all methods on `target` so that any code they invoke will see the given
161
+ * `serviceLocator` via `AsyncLocalStorage`, rather than the global one.
162
+ *
163
+ * Walks the prototype chain and replaces each method on the *instance* (not the prototype)
164
+ * with a wrapper that calls `serviceLocatorStorage.run(serviceLocator, originalMethod)`.
165
+ *
166
+ * The `AsyncLocalStorage` context propagates through the entire sync/async call tree of each
167
+ * wrapped method — including `super` calls, since the prototype methods execute within the
168
+ * context established by the instance-level wrapper.
169
+ *
170
+ * @internal
171
+ * @returns Scope control functions: `run` executes a callback within the scoped context,
172
+ * `enterScope`/`exitScope` allow entering/leaving the scope imperatively (e.g., for constructor bodies).
173
+ */
174
+ export function bindMethodsToServiceLocator(serviceLocator, target) {
175
+ let proto = Object.getPrototypeOf(target);
176
+ while (proto !== null && proto !== Object.prototype) {
177
+ const propertyKeys = [...Object.getOwnPropertyNames(proto), ...Object.getOwnPropertySymbols(proto)];
178
+ for (const propertyKey of propertyKeys) {
179
+ const descriptor = Object.getOwnPropertyDescriptor(proto, propertyKey);
180
+ // We use property descriptors rather than accessing target[propertyKey] directly,
181
+ // because that would trigger getters and cause unwanted side effects.
182
+ // Skip getters, setters, and constructors — only wrap regular methods.
183
+ if (propertyKey === 'constructor' ||
184
+ !descriptor ||
185
+ descriptor.get ||
186
+ descriptor.set ||
187
+ typeof descriptor.value !== 'function')
188
+ continue;
189
+ const original = descriptor.value;
190
+ target[propertyKey] = (...args) => {
191
+ return serviceLocatorStorage.run(serviceLocator, () => {
192
+ return original.apply(target, args);
193
+ });
194
+ };
195
+ }
196
+ proto = Object.getPrototypeOf(proto);
197
+ }
198
+ let previousStore;
199
+ return {
200
+ run: (fn) => serviceLocatorStorage.run(serviceLocator, fn),
201
+ enterScope: () => {
202
+ previousStore = serviceLocatorStorage.getStore();
203
+ serviceLocatorStorage.enterWith(serviceLocator);
204
+ },
205
+ exitScope: () => {
206
+ serviceLocatorStorage.enterWith(previousStore); // casting to any so that `undefined` is accepted - this "unsets" the AsyncLocalStorage
207
+ },
208
+ };
209
+ }
210
+ export const serviceLocator = {
211
+ getConfiguration() {
212
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
213
+ return currentServiceLocator.getConfiguration();
214
+ },
215
+ setConfiguration(configuration) {
216
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
217
+ currentServiceLocator.setConfiguration(configuration);
218
+ },
219
+ getEventManager() {
220
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
221
+ return currentServiceLocator.getEventManager();
222
+ },
223
+ setEventManager(eventManager) {
224
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
225
+ currentServiceLocator.setEventManager(eventManager);
226
+ },
227
+ getStorageClient() {
228
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
229
+ return currentServiceLocator.getStorageClient();
230
+ },
231
+ setStorageClient(storageClient) {
232
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
233
+ currentServiceLocator.setStorageClient(storageClient);
234
+ },
235
+ getStorageManager(constructor) {
236
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
237
+ return currentServiceLocator.getStorageManager(constructor);
238
+ },
239
+ setStorageManager(constructor, storageManager) {
240
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
241
+ currentServiceLocator.setStorageManager(constructor, storageManager);
242
+ },
243
+ clearStorageManagerCache() {
244
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
245
+ currentServiceLocator.clearStorageManagerCache();
246
+ },
247
+ reset() {
248
+ const currentServiceLocator = serviceLocatorStorage.getStore() ?? globalServiceLocator;
249
+ currentServiceLocator.reset();
250
+ },
251
+ };
252
+ //# sourceMappingURL=service_locator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service_locator.js","sourceRoot":"","sources":["../src/service_locator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import type { Log } from '@apify/log';
3
- import { Configuration } from '../configuration.js';
4
3
  import type { PersistenceOptions } from '../crawlers/statistics.js';
5
4
  import type { EventManager } from '../events/event_manager.js';
6
5
  import { KeyValueStore } from '../storages/key_value_store.js';
@@ -118,7 +117,6 @@ export interface SessionPoolOptions {
118
117
  * @category Scaling
119
118
  */
120
119
  export declare class SessionPool extends EventEmitter {
121
- readonly config: Configuration;
122
120
  protected log: Log;
123
121
  protected maxPoolSize: number;
124
122
  protected createSessionFunction: CreateSession;
@@ -137,7 +135,7 @@ export declare class SessionPool extends EventEmitter {
137
135
  /**
138
136
  * @internal
139
137
  */
140
- constructor(options?: SessionPoolOptions, config?: Configuration);
138
+ constructor(options?: SessionPoolOptions);
141
139
  /**
142
140
  * Gets count of usable sessions in the pool.
143
141
  */
@@ -253,6 +251,6 @@ export declare class SessionPool extends EventEmitter {
253
251
  *
254
252
  * For more details and code examples, see the {@link SessionPool} class.
255
253
  */
256
- static open(options?: SessionPoolOptions, config?: Configuration): Promise<SessionPool>;
254
+ static open(options?: SessionPoolOptions): Promise<SessionPool>;
257
255
  }
258
256
  //# sourceMappingURL=session_pool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session_pool.d.ts","sourceRoot":"","sources":["../../src/session_pool/session_pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session_pool.d.ts","sourceRoot":"","sources":["../../src/session_pool/session_pool.ts"],"names":[],"mappings":"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"}