@crawlee/memory-storage 4.0.0-beta.5 → 4.0.0-beta.50

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 (53) hide show
  1. package/README.md +9 -5
  2. package/background-handler/fs-utils.d.ts +2 -1
  3. package/background-handler/fs-utils.d.ts.map +1 -1
  4. package/background-handler/fs-utils.js +2 -4
  5. package/background-handler/fs-utils.js.map +1 -1
  6. package/background-handler/index.d.ts +2 -1
  7. package/background-handler/index.d.ts.map +1 -1
  8. package/background-handler/index.js +4 -4
  9. package/background-handler/index.js.map +1 -1
  10. package/cache-helpers.d.ts.map +1 -1
  11. package/cache-helpers.js +9 -9
  12. package/cache-helpers.js.map +1 -1
  13. package/fs/key-value-store/fs.d.ts +1 -0
  14. package/fs/key-value-store/fs.d.ts.map +1 -1
  15. package/fs/key-value-store/fs.js +7 -3
  16. package/fs/key-value-store/fs.js.map +1 -1
  17. package/fs/key-value-store/index.d.ts +2 -0
  18. package/fs/key-value-store/index.d.ts.map +1 -1
  19. package/fs/key-value-store/index.js.map +1 -1
  20. package/memory-storage.d.ts +13 -10
  21. package/memory-storage.d.ts.map +1 -1
  22. package/memory-storage.js +110 -37
  23. package/memory-storage.js.map +1 -1
  24. package/package.json +5 -5
  25. package/resource-clients/dataset.d.ts +5 -3
  26. package/resource-clients/dataset.d.ts.map +1 -1
  27. package/resource-clients/dataset.js +32 -9
  28. package/resource-clients/dataset.js.map +1 -1
  29. package/resource-clients/key-value-store.d.ts +14 -2
  30. package/resource-clients/key-value-store.d.ts.map +1 -1
  31. package/resource-clients/key-value-store.js +147 -20
  32. package/resource-clients/key-value-store.js.map +1 -1
  33. package/resource-clients/request-queue.d.ts +1 -1
  34. package/resource-clients/request-queue.d.ts.map +1 -1
  35. package/resource-clients/request-queue.js +6 -6
  36. package/resource-clients/request-queue.js.map +1 -1
  37. package/utils.d.ts +50 -2
  38. package/utils.d.ts.map +1 -1
  39. package/utils.js +141 -2
  40. package/utils.js.map +1 -1
  41. package/resource-clients/dataset-collection.d.ts +0 -14
  42. package/resource-clients/dataset-collection.d.ts.map +0 -1
  43. package/resource-clients/dataset-collection.js +0 -49
  44. package/resource-clients/dataset-collection.js.map +0 -1
  45. package/resource-clients/key-value-store-collection.d.ts +0 -14
  46. package/resource-clients/key-value-store-collection.d.ts.map +0 -1
  47. package/resource-clients/key-value-store-collection.js +0 -53
  48. package/resource-clients/key-value-store-collection.js.map +0 -1
  49. package/resource-clients/request-queue-collection.d.ts +0 -14
  50. package/resource-clients/request-queue-collection.d.ts.map +0 -1
  51. package/resource-clients/request-queue-collection.js +0 -53
  52. package/resource-clients/request-queue-collection.js.map +0 -1
  53. package/tsconfig.build.tsbuildinfo +0 -1
package/README.md CHANGED
@@ -9,6 +9,10 @@
9
9
  <small>A web scraping and browser automation library</small>
10
10
  </h1>
11
11
 
12
+ <p align=center>
13
+ <a href="https://trendshift.io/repositories/5179" target="_blank"><img src="https://trendshift.io/api/badge/repositories/5179" alt="apify%2Fcrawlee | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
14
+ </p>
15
+
12
16
  <p align=center>
13
17
  <a href="https://www.npmjs.com/package/@crawlee/core" rel="nofollow"><img src="https://img.shields.io/npm/v/@crawlee/core.svg" alt="NPM latest version" data-canonical-src="https://img.shields.io/npm/v/@crawlee/core/next.svg" style="max-width: 100%;"></a>
14
18
  <a href="https://www.npmjs.com/package/@crawlee/core" rel="nofollow"><img src="https://img.shields.io/npm/dm/@crawlee/core.svg" alt="Downloads" data-canonical-src="https://img.shields.io/npm/dm/@crawlee/core.svg" style="max-width: 100%;"></a>
@@ -24,7 +28,7 @@ Crawlee is available as the [`crawlee`](https://www.npmjs.com/package/crawlee) N
24
28
 
25
29
  > 👉 **View full documentation, guides and examples on the [Crawlee project website](https://crawlee.dev)** 👈
26
30
 
27
- > Crawlee for Python is open for early adopters. 🐍 [👉 Checkout the source code 👈](https://github.com/apify/crawlee-python).
31
+ > Do you prefer 🐍 Python instead of JavaScript? [👉 Checkout Crawlee for Python 👈](https://github.com/apify/crawlee-python).
28
32
 
29
33
  ## Installation
30
34
 
@@ -85,7 +89,7 @@ By default, Crawlee stores data to `./storage` in the current working directory.
85
89
  We provide automated beta builds for every merged code change in Crawlee. You can find them in the npm [list of releases](https://www.npmjs.com/package/crawlee?activeTab=versions). If you want to test new features or bug fixes before we release them, feel free to install a beta build like this:
86
90
 
87
91
  ```bash
88
- npm install crawlee@3.12.3-beta.13
92
+ npm install crawlee@next
89
93
  ```
90
94
 
91
95
  If you also use the [Apify SDK](https://github.com/apify/apify-sdk-js), you need to specify dependency overrides in your `package.json` file so that you don't end up with multiple versions of Crawlee installed:
@@ -94,9 +98,9 @@ If you also use the [Apify SDK](https://github.com/apify/apify-sdk-js), you need
94
98
  {
95
99
  "overrides": {
96
100
  "apify": {
97
- "@crawlee/core": "3.12.3-beta.13",
98
- "@crawlee/types": "3.12.3-beta.13",
99
- "@crawlee/utils": "3.12.3-beta.13"
101
+ "@crawlee/core": "$crawlee",
102
+ "@crawlee/types": "$crawlee",
103
+ "@crawlee/utils": "$crawlee"
100
104
  }
101
105
  }
102
106
  }
@@ -1,5 +1,6 @@
1
+ import type { CrawleeLogger } from '@crawlee/types';
1
2
  import type { BackgroundHandlerReceivedMessage } from '../utils.js';
2
- export declare function handleMessage(message: BackgroundHandlerReceivedMessage): Promise<void>;
3
+ export declare function handleMessage(message: BackgroundHandlerReceivedMessage, logger?: CrawleeLogger): Promise<void>;
3
4
  export declare function lockAndWrite(filePath: string, data: unknown, stringify?: boolean, retry?: number, timeout?: number): Promise<void>;
4
5
  export declare function lockAndCallback<Callback extends () => Promise<any>>(filePath: string, callback: Callback, retry?: number, timeout?: number): Promise<Awaited<ReturnType<Callback>>>;
5
6
  //# sourceMappingURL=fs-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gCAAgC,EAA0C,MAAM,aAAa,CAAC;AAI5G,wBAAsB,aAAa,CAAC,OAAO,EAAE,gCAAgC,iBAY5E;AAiBD,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,UAAO,EAChB,KAAK,SAAK,EACV,OAAO,SAAK,GACb,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,eAAe,CAAC,QAAQ,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,EACrE,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,SAAK,EACV,OAAO,SAAK,GACb,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAkBxC"}
1
+ {"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,KAAK,EAAE,gCAAgC,EAA0C,MAAM,aAAa,CAAC;AAE5G,wBAAsB,aAAa,CAAC,OAAO,EAAE,gCAAgC,EAAE,MAAM,CAAC,EAAE,aAAa,iBAYpG;AAiBD,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,UAAO,EAChB,KAAK,SAAK,EACV,OAAO,SAAK,GACb,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,eAAe,CAAC,QAAQ,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,EACrE,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,SAAK,EACV,OAAO,SAAK,GACb,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAkBxC"}
@@ -4,9 +4,7 @@ import { resolve } from 'node:path';
4
4
  import { setTimeout } from 'node:timers/promises';
5
5
  import { ensureDir } from 'fs-extra/esm';
6
6
  import { lock } from 'proper-lockfile';
7
- import log from '@apify/log';
8
- const backgroundHandlerLog = log.child({ prefix: 'MemoryStorageBackgroundHandler' });
9
- export async function handleMessage(message) {
7
+ export async function handleMessage(message, logger) {
10
8
  switch (message.action) {
11
9
  case 'update-metadata':
12
10
  await updateMetadata(message);
@@ -14,7 +12,7 @@ export async function handleMessage(message) {
14
12
  default:
15
13
  // We're keeping this to make eslint happy + in the event we add a new action without adding checks for it
16
14
  // we should be aware of them
17
- backgroundHandlerLog.warning(`Unknown background handler message action ${message.action}`);
15
+ logger?.warning(`Unknown background handler message action ${message.action}`);
18
16
  }
19
17
  }
20
18
  async function updateMetadata(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CrawleeLogger } from '@crawlee/types';
1
2
  import type { BackgroundHandlerReceivedMessage } from '../utils.js';
2
3
  /**
3
4
  * A map of promises that are created when a background task is scheduled.
@@ -8,5 +9,5 @@ export declare const promiseMap: Map<string, {
8
9
  promise: Promise<void>;
9
10
  resolve: () => void;
10
11
  }>;
11
- export declare function scheduleBackgroundTask(message: BackgroundHandlerReceivedMessage): void;
12
+ export declare function scheduleBackgroundTask(message: BackgroundHandlerReceivedMessage, logger?: CrawleeLogger): void;
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,GAAG,CACxB,MAAM,EACN;IACI,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CACQ,CAAC;AAEd,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gCAAgC,QAiB/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,GAAG,CACxB,MAAM,EACN;IACI,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CACQ,CAAC;AAEd,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gCAAgC,EAAE,MAAM,CAAC,EAAE,aAAa,QAoBvG"}
@@ -6,7 +6,7 @@ import { handleMessage } from './fs-utils.js';
6
6
  * @internal
7
7
  */
8
8
  export const promiseMap = new Map();
9
- export function scheduleBackgroundTask(message) {
9
+ export function scheduleBackgroundTask(message, logger) {
10
10
  const id = randomUUID();
11
11
  let promiseResolve;
12
12
  const promise = new Promise((res) => {
@@ -19,10 +19,10 @@ export function scheduleBackgroundTask(message) {
19
19
  void handleBackgroundMessage({
20
20
  ...message,
21
21
  messageId: id,
22
- });
22
+ }, logger);
23
23
  }
24
- async function handleBackgroundMessage(message) {
25
- await handleMessage(message);
24
+ async function handleBackgroundMessage(message, logger) {
25
+ await handleMessage(message, logger);
26
26
  promiseMap.get(message.messageId)?.resolve();
27
27
  promiseMap.delete(message.messageId);
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAMnB,IAAI,GAAG,EAAE,CAAC;AAEd,MAAM,UAAU,sBAAsB,CAAC,OAAyC;IAC5E,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IAExB,IAAI,cAA0B,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;QACtC,cAAc,GAAG,GAAG,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;QACf,OAAO;QACP,OAAO,EAAE,cAAe;KAC3B,CAAC,CAAC;IAEH,KAAK,uBAAuB,CAAC;QACzB,GAAG,OAAO;QACV,SAAS,EAAE,EAAE;KAChB,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,OAAiE;IACpG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAE7B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAMnB,IAAI,GAAG,EAAE,CAAC;AAEd,MAAM,UAAU,sBAAsB,CAAC,OAAyC,EAAE,MAAsB;IACpG,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IAExB,IAAI,cAA0B,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;QACtC,cAAc,GAAG,GAAG,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;QACf,OAAO;QACP,OAAO,EAAE,cAAe;KAC3B,CAAC,CAAC;IAEH,KAAK,uBAAuB,CACxB;QACI,GAAG,OAAO;QACV,SAAS,EAAE,EAAE;KAChB,EACD,MAAM,CACT,CAAC;AACN,CAAC;AAED,KAAK,UAAU,uBAAuB,CAClC,OAAiE,EACjE,MAAsB;IAEtB,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache-helpers.d.ts","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAO/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0DAqGhG;AAED,wBAAsB,oCAAoC,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4CAuJtG;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAqH9F;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"cache-helpers.d.ts","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAO/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0DAqGhG;AAED,wBAAsB,oCAAoC,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4CAwJtG;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAqH9F;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC"}
package/cache-helpers.js CHANGED
@@ -8,7 +8,7 @@ import { RequestQueueFileSystemEntry } from './fs/request-queue/fs.js';
8
8
  const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
9
9
  export async function findOrCacheDatasetByPossibleId(client, entryNameOrId) {
10
10
  // First check memory cache
11
- const found = client.datasetClientsHandled.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
11
+ const found = client.datasetClientCache.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
12
12
  if (found) {
13
13
  return found;
14
14
  }
@@ -84,12 +84,12 @@ export async function findOrCacheDatasetByPossibleId(client, entryNameOrId) {
84
84
  // eslint-disable-next-line dot-notation
85
85
  newClient['datasetEntries'].set(entryId, entry);
86
86
  }
87
- client.datasetClientsHandled.push(newClient);
87
+ client.datasetClientCache.push(newClient);
88
88
  return newClient;
89
89
  }
90
90
  export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId) {
91
91
  // First check memory cache
92
- const found = client.keyValueStoresHandled.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
92
+ const found = client.keyValueStoreCache.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
93
93
  if (found) {
94
94
  return found;
95
95
  }
@@ -151,7 +151,7 @@ export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId
151
151
  json5.parse(stringifiedJson);
152
152
  }
153
153
  catch {
154
- memoryStorageLog.warning(`Key-value entry "${entry.name}" for store ${entryNameOrId} has invalid JSON content and will be ignored from the store.`);
154
+ client.logger?.warning(`Key-value entry "${entry.name}" for store ${entryNameOrId} has invalid JSON content and will be ignored from the store.`);
155
155
  continue;
156
156
  }
157
157
  }
@@ -194,6 +194,7 @@ export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId
194
194
  persistStorage: true,
195
195
  storeDirectory: keyValueStoreDir,
196
196
  writeMetadata: hasSeenMetadataForEntry,
197
+ logger: client.logger,
197
198
  });
198
199
  // eslint-disable-next-line dot-notation
199
200
  entry['rawRecord'] = { ...record };
@@ -204,12 +205,12 @@ export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId
204
205
  // eslint-disable-next-line dot-notation
205
206
  newClient['keyValueEntries'].set(key, entry);
206
207
  }
207
- client.keyValueStoresHandled.push(newClient);
208
+ client.keyValueStoreCache.push(newClient);
208
209
  return newClient;
209
210
  }
210
211
  export async function findRequestQueueByPossibleId(client, entryNameOrId) {
211
212
  // First check memory cache
212
- const found = client.requestQueuesHandled.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
213
+ const found = client.requestQueueCache.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
213
214
  if (found) {
214
215
  return found;
215
216
  }
@@ -264,7 +265,7 @@ export async function findRequestQueueByPossibleId(client, entryNameOrId) {
264
265
  entries.add(entryName);
265
266
  }
266
267
  catch {
267
- memoryStorageLog.warning(`Request queue entry "${entry.name}" for store ${entryNameOrId} has invalid JSON content and will be ignored from the store.`);
268
+ client.logger?.warning(`Request queue entry "${entry.name}" for store ${entryNameOrId} has invalid JSON content and will be ignored from the store.`);
268
269
  }
269
270
  }
270
271
  }
@@ -302,12 +303,11 @@ export async function findRequestQueueByPossibleId(client, entryNameOrId) {
302
303
  // eslint-disable-next-line dot-notation
303
304
  newClient['requests'].set(requestId, entry);
304
305
  }
305
- client.requestQueuesHandled.push(newClient);
306
+ client.requestQueueCache.push(newClient);
306
307
  return newClient;
307
308
  }
308
309
  /* eslint-disable import/first -- Fixing circulars */
309
310
  import { DatasetClient } from './resource-clients/dataset.js';
310
311
  import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
311
312
  import { RequestQueueClient } from './resource-clients/request-queue.js';
312
- import { memoryStorageLog } from './utils.js';
313
313
  //# sourceMappingURL=cache-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-helpers.js","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-helpers.js","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { CreateStorageImplementationOptions } from './index.js';
4
4
  export declare class KeyValueFileSystemEntry implements StorageImplementation<InternalKeyRecord> {
5
5
  private storeDirectory;
6
6
  private writeMetadata;
7
+ private logger?;
7
8
  private filePath;
8
9
  private fileMetadataPath;
9
10
  private rawRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAErE,qBAAa,uBAAwB,YAAW,qBAAqB,CAAC,iBAAiB,CAAC;IACpF,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,EAAE,kCAAkC;IAKjD,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAiCjC,MAAM,CAAC,IAAI,EAAE,iBAAiB;IA2B9B,MAAM;CAMf"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAErE,qBAAa,uBAAwB,YAAW,qBAAqB,CAAC,iBAAiB,CAAC;IACpF,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAgB;IAE/B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,EAAE,kCAAkC;IAMjD,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAoCjC,MAAM,CAAC,IAAI,EAAE,iBAAiB;IA2B9B,MAAM;CAMf"}
@@ -5,10 +5,10 @@ import { AsyncQueue } from '@sapphire/async-queue';
5
5
  import { ensureDir } from 'fs-extra/esm';
6
6
  import mime from 'mime-types';
7
7
  import { lockAndWrite } from '../../background-handler/fs-utils.js';
8
- import { memoryStorageLog } from '../../utils.js';
9
8
  export class KeyValueFileSystemEntry {
10
9
  storeDirectory;
11
10
  writeMetadata;
11
+ logger;
12
12
  filePath;
13
13
  fileMetadataPath;
14
14
  rawRecord;
@@ -16,6 +16,7 @@ export class KeyValueFileSystemEntry {
16
16
  constructor(options) {
17
17
  this.storeDirectory = options.storeDirectory;
18
18
  this.writeMetadata = options.writeMetadata;
19
+ this.logger = options.logger;
19
20
  }
20
21
  async get() {
21
22
  await this.fsQueue.wait();
@@ -25,13 +26,15 @@ export class KeyValueFileSystemEntry {
25
26
  }
26
27
  catch {
27
28
  try {
29
+ const noExtFilePath = resolve(this.storeDirectory, this.rawRecord.key);
28
30
  // Try without extension
29
- file = await readFile(resolve(this.storeDirectory, this.rawRecord.key));
30
- memoryStorageLog.warning([
31
+ file = await readFile(noExtFilePath);
32
+ this.logger?.warning([
31
33
  `Key-value entry "${this.rawRecord.key}" for store ${basename(this.storeDirectory)} does not have a file extension, assuming it as text.`,
32
34
  'If you want to have correct interpretation of the file, you should add a file extension to the entry.',
33
35
  ].join('\n'));
34
36
  file = file.toString('utf-8');
37
+ this.filePath = noExtFilePath;
35
38
  }
36
39
  catch {
37
40
  // This is impossible to happen, but just in case
@@ -44,6 +47,7 @@ export class KeyValueFileSystemEntry {
44
47
  return {
45
48
  ...this.rawRecord,
46
49
  value: file,
50
+ filePath: this.filePath,
47
51
  };
48
52
  }
49
53
  async update(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,OAAO,uBAAuB;IACxB,cAAc,CAAS;IACvB,aAAa,CAAU;IAEvB,QAAQ,CAAU;IAClB,gBAAgB,CAAU;IAC1B,SAAS,CAAoC;IAC7C,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAEnC,YAAY,OAA2C;QACnD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,GAAG;QACL,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAqB,CAAC;QAE1B,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,CAAC;gBACD,wBAAwB;gBACxB,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,gBAAgB,CAAC,OAAO,CACpB;oBACI,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,QAAQ,CACzD,IAAI,CAAC,cAAc,CACtB,uDAAuD;oBACxD,uGAAuG;iBAC1G,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;gBACF,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACL,iDAAiD;gBACjD,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAED,OAAO;YACH,GAAG,IAAI,CAAC,SAAS;YACjB,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAuB;QAChC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ;QACV,yHAAyH;QACzH,WAAW,IAAI,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YACvE,CAAC,CAAC,IAAI,CAAC,GAAG;YACV,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAE1C,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;QAExF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC;YACD,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAC1E,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CrawleeLogger } from '@crawlee/types';
1
2
  import type { InternalKeyRecord } from '../../resource-clients/key-value-store.js';
2
3
  import type { StorageImplementation } from '../common.js';
3
4
  export declare function createKeyValueStorageImplementation(options: CreateStorageImplementationOptions): StorageImplementation<InternalKeyRecord>;
@@ -5,5 +6,6 @@ export interface CreateStorageImplementationOptions {
5
6
  persistStorage: boolean;
6
7
  storeDirectory: string;
7
8
  writeMetadata: boolean;
9
+ logger?: CrawleeLogger;
8
10
  }
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAI1D,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,kCAAkC,GAC5C,qBAAqB,CAAC,iBAAiB,CAAC,CAM1C;AAED,MAAM,WAAW,kCAAkC;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CAC1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAI1D,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,kCAAkC,GAC5C,qBAAqB,CAAC,iBAAiB,CAAC,CAM1C;AAED,MAAM,WAAW,kCAAkC;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,mCAAmC,CAC/C,OAA2C;IAE3C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,mBAAmB,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,mCAAmC,CAC/C,OAA2C;IAE3C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,mBAAmB,EAAE,CAAC;AACrC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type * as storage from '@crawlee/types';
2
- import type { Dictionary } from '@crawlee/types';
2
+ import type { CrawleeLogger } from '@crawlee/types';
3
3
  import { DatasetClient } from './resource-clients/dataset.js';
4
4
  import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
5
5
  import { RequestQueueClient } from './resource-clients/request-queue.js';
@@ -21,6 +21,10 @@ export interface MemoryStorageOptions {
21
21
  * @default true
22
22
  */
23
23
  persistStorage?: boolean;
24
+ /**
25
+ * Optional logger for MemoryStorage warnings.
26
+ */
27
+ logger?: CrawleeLogger;
24
28
  }
25
29
  export declare class MemoryStorage implements storage.StorageClient {
26
30
  readonly localDataDirectory: string;
@@ -29,16 +33,15 @@ export declare class MemoryStorage implements storage.StorageClient {
29
33
  readonly requestQueuesDirectory: string;
30
34
  readonly writeMetadata: boolean;
31
35
  readonly persistStorage: boolean;
32
- readonly keyValueStoresHandled: KeyValueStoreClient[];
33
- readonly datasetClientsHandled: DatasetClient[];
34
- readonly requestQueuesHandled: RequestQueueClient[];
36
+ readonly logger?: CrawleeLogger;
37
+ readonly keyValueStoreCache: KeyValueStoreClient[];
38
+ readonly datasetClientCache: DatasetClient[];
39
+ readonly requestQueueCache: RequestQueueClient[];
35
40
  constructor(options?: MemoryStorageOptions);
36
- datasets(): storage.DatasetCollectionClient;
37
- dataset<Data extends Dictionary = Dictionary>(id: string): storage.DatasetClient<Data>;
38
- keyValueStores(): storage.KeyValueStoreCollectionClient;
39
- keyValueStore(id: string): storage.KeyValueStoreClient;
40
- requestQueues(): storage.RequestQueueCollectionClient;
41
- requestQueue(id: string, options?: storage.RequestQueueOptions): storage.RequestQueueClient;
41
+ createDatasetClient(options?: storage.CreateDatasetClientOptions): Promise<storage.DatasetClient>;
42
+ createKeyValueStoreClient(options?: storage.CreateKeyValueStoreClientOptions): Promise<storage.KeyValueStoreClient>;
43
+ createRequestQueueClient(options?: storage.CreateRequestQueueClientOptions): Promise<storage.RequestQueueClient>;
44
+ storageExists(id: string, type: 'Dataset' | 'KeyValueStore' | 'RequestQueue'): Promise<boolean>;
42
45
  setStatusMessage(message: string, options?: storage.SetStatusMessageOptions): Promise<void>;
43
46
  /**
44
47
  * Cleans up the default storage directories before the run starts:
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,aAAc,YAAW,OAAO,CAAC,aAAa;IACvD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC,QAAQ,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,CAAM;IAC3D,QAAQ,CAAC,qBAAqB,EAAE,aAAa,EAAE,CAAM;IACrD,QAAQ,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,CAAM;gBAE7C,OAAO,GAAE,oBAAyB;IAkC9C,QAAQ,IAAI,OAAO,CAAC,uBAAuB;IAO3C,OAAO,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC;IAMtF,cAAc,IAAI,OAAO,CAAC,6BAA6B;IAOvD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB;IAMtD,aAAa,IAAI,OAAO,CAAC,4BAA4B;IAOrD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,mBAAwB,GAAG,OAAO,CAAC,kBAAkB;IAezF,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IASrG;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,0BAA0B;YA+CpB,gBAAgB;CA0CjC"}
1
+ {"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAUpD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,qBAAa,aAAc,YAAW,OAAO,CAAC,aAAa;IACvD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAEhC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,CAAM;IACxD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,EAAE,CAAM;IAClD,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,CAAM;gBAE1C,OAAO,GAAE,oBAAyB;IAoCxC,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,0BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IAiCrG,yBAAyB,CAC3B,OAAO,GAAE,OAAO,CAAC,gCAAqC,GACvD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAqCjC,wBAAwB,CAC1B,OAAO,GAAE,OAAO,CAAC,+BAAoC,GACtD,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAqChC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmC/F,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IASrG;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,0BAA0B;YA+CpB,gBAAgB;CA0CjC"}
package/memory-storage.js CHANGED
@@ -1,15 +1,13 @@
1
1
  /* eslint-disable import/no-duplicates */
2
- import { readdir, rm } from 'node:fs/promises';
2
+ import { access, readdir, rm } from 'node:fs/promises';
3
3
  import { resolve } from 'node:path';
4
4
  import { s } from '@sapphire/shapeshift';
5
5
  import { ensureDirSync, move, moveSync, pathExistsSync } from 'fs-extra/esm';
6
- import { promiseMap } from './background-handler/index.js';
6
+ import { promiseMap, scheduleBackgroundTask } from './background-handler/index.js';
7
+ import { findOrCacheDatasetByPossibleId, findOrCacheKeyValueStoreByPossibleId, findRequestQueueByPossibleId, } from './cache-helpers.js';
7
8
  import { DatasetClient } from './resource-clients/dataset.js';
8
- import { DatasetCollectionClient } from './resource-clients/dataset-collection.js';
9
9
  import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
10
- import { KeyValueStoreCollectionClient } from './resource-clients/key-value-store-collection.js';
11
10
  import { RequestQueueClient } from './resource-clients/request-queue.js';
12
- import { RequestQueueCollectionClient } from './resource-clients/request-queue-collection.js';
13
11
  export class MemoryStorage {
14
12
  localDataDirectory;
15
13
  datasetsDirectory;
@@ -17,15 +15,17 @@ export class MemoryStorage {
17
15
  requestQueuesDirectory;
18
16
  writeMetadata;
19
17
  persistStorage;
20
- keyValueStoresHandled = [];
21
- datasetClientsHandled = [];
22
- requestQueuesHandled = [];
18
+ logger;
19
+ keyValueStoreCache = [];
20
+ datasetClientCache = [];
21
+ requestQueueCache = [];
23
22
  constructor(options = {}) {
24
23
  s.object({
25
24
  localDataDirectory: s.string().optional(),
26
25
  writeMetadata: s.boolean().optional(),
27
26
  persistStorage: s.boolean().optional(),
28
27
  }).parse(options);
28
+ this.logger = options.logger;
29
29
  // v3.0.0 used `crawlee_storage` as the default, we changed this in v3.0.1 to just `storage`,
30
30
  // this function handles it without making BC breaks - it respects existing `crawlee_storage`
31
31
  // directories, and uses the `storage` only if it's not there.
@@ -50,44 +50,117 @@ export class MemoryStorage {
50
50
  ? !['false', '0', ''].includes(process.env.CRAWLEE_PERSIST_STORAGE)
51
51
  : true);
52
52
  }
53
- datasets() {
54
- return new DatasetCollectionClient({
55
- baseStorageDirectory: this.datasetsDirectory,
56
- client: this,
57
- });
58
- }
59
- dataset(id) {
60
- s.string().parse(id);
61
- return new DatasetClient({ id, baseStorageDirectory: this.datasetsDirectory, client: this });
53
+ async createDatasetClient(options = {}) {
54
+ // In MemoryStorage, both id and name resolve to the same directory name.
55
+ const name = options.name ?? options.id;
56
+ if (name) {
57
+ const found = await findOrCacheDatasetByPossibleId(this, name);
58
+ if (found) {
59
+ return found;
60
+ }
61
+ }
62
+ const newStore = new DatasetClient({ name, baseStorageDirectory: this.datasetsDirectory, client: this });
63
+ this.datasetClientCache.push(newStore);
64
+ // Schedule the worker to write to the disk
65
+ const datasetInfo = newStore.toDatasetInfo();
66
+ scheduleBackgroundTask({
67
+ action: 'update-metadata',
68
+ entityType: 'datasets',
69
+ entityDirectory: newStore.datasetDirectory,
70
+ id: datasetInfo.name ?? datasetInfo.id,
71
+ data: datasetInfo,
72
+ writeMetadata: this.writeMetadata,
73
+ persistStorage: this.persistStorage,
74
+ }, this.logger);
75
+ return newStore;
62
76
  }
63
- keyValueStores() {
64
- return new KeyValueStoreCollectionClient({
77
+ async createKeyValueStoreClient(options = {}) {
78
+ // In MemoryStorage, both id and name resolve to the same directory name.
79
+ const name = options.name ?? options.id;
80
+ if (name) {
81
+ const found = await findOrCacheKeyValueStoreByPossibleId(this, name);
82
+ if (found) {
83
+ return found;
84
+ }
85
+ }
86
+ const newStore = new KeyValueStoreClient({
87
+ name,
65
88
  baseStorageDirectory: this.keyValueStoresDirectory,
66
89
  client: this,
67
90
  });
91
+ this.keyValueStoreCache.push(newStore);
92
+ // Schedule the worker to write to the disk
93
+ const kvStoreInfo = newStore.toKeyValueStoreInfo();
94
+ scheduleBackgroundTask({
95
+ action: 'update-metadata',
96
+ entityType: 'keyValueStores',
97
+ entityDirectory: newStore.keyValueStoreDirectory,
98
+ id: kvStoreInfo.name ?? kvStoreInfo.id,
99
+ data: kvStoreInfo,
100
+ writeMetadata: this.writeMetadata,
101
+ persistStorage: this.persistStorage,
102
+ }, this.logger);
103
+ return newStore;
68
104
  }
69
- keyValueStore(id) {
70
- s.string().parse(id);
71
- return new KeyValueStoreClient({ id, baseStorageDirectory: this.keyValueStoresDirectory, client: this });
72
- }
73
- requestQueues() {
74
- return new RequestQueueCollectionClient({
105
+ async createRequestQueueClient(options = {}) {
106
+ // In MemoryStorage, both id and name resolve to the same directory name.
107
+ const name = options.name ?? options.id;
108
+ if (name) {
109
+ const found = await findRequestQueueByPossibleId(this, name);
110
+ if (found) {
111
+ return found;
112
+ }
113
+ }
114
+ const newStore = new RequestQueueClient({
115
+ name,
75
116
  baseStorageDirectory: this.requestQueuesDirectory,
76
117
  client: this,
77
118
  });
119
+ this.requestQueueCache.push(newStore);
120
+ // Schedule the worker to write to the disk
121
+ const queueInfo = newStore.toRequestQueueInfo();
122
+ scheduleBackgroundTask({
123
+ action: 'update-metadata',
124
+ entityType: 'requestQueues',
125
+ entityDirectory: newStore.requestQueueDirectory,
126
+ id: queueInfo.name ?? queueInfo.id,
127
+ data: queueInfo,
128
+ writeMetadata: this.writeMetadata,
129
+ persistStorage: this.persistStorage,
130
+ }, this.logger);
131
+ return newStore;
78
132
  }
79
- requestQueue(id, options = {}) {
80
- s.string().parse(id);
81
- s.object({
82
- clientKey: s.string().optional(),
83
- timeoutSecs: s.number().optional(),
84
- }).parse(options);
85
- return new RequestQueueClient({
86
- id,
87
- baseStorageDirectory: this.requestQueuesDirectory,
88
- client: this,
89
- ...options,
90
- });
133
+ async storageExists(id, type) {
134
+ let clients;
135
+ let baseDir;
136
+ switch (type) {
137
+ case 'Dataset':
138
+ clients = this.datasetClientCache;
139
+ baseDir = this.datasetsDirectory;
140
+ break;
141
+ case 'KeyValueStore':
142
+ clients = this.keyValueStoreCache;
143
+ baseDir = this.keyValueStoresDirectory;
144
+ break;
145
+ case 'RequestQueue':
146
+ clients = this.requestQueueCache;
147
+ baseDir = this.requestQueuesDirectory;
148
+ break;
149
+ default:
150
+ return false;
151
+ }
152
+ // Check in-memory cache first
153
+ if (clients.some((store) => store.id === id)) {
154
+ return true;
155
+ }
156
+ // Check if a directory with that ID exists on disk
157
+ try {
158
+ await access(resolve(baseDir, id));
159
+ return true;
160
+ }
161
+ catch {
162
+ return false;
163
+ }
91
164
  }
92
165
  async setStatusMessage(message, options = {}) {
93
166
  s.string().parse(message);