@medusajs/caching 2.10.4-preview-20251003031104 → 2.10.4-preview-20251003090153
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/loaders/providers.d.ts.map +1 -1
- package/dist/loaders/providers.js +18 -9
- package/dist/loaders/providers.js.map +1 -1
- package/dist/providers/memory-cache.d.ts +12 -20
- package/dist/providers/memory-cache.d.ts.map +1 -1
- package/dist/providers/memory-cache.js +66 -19
- package/dist/providers/memory-cache.js.map +1 -1
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAM1E,OAAO,EAGL,oBAAoB,EAErB,MAAM,QAAQ,CAAA;kDA2BZ,aAAa,CACd,CACI,eAAe,CAAC,8BAA8B,GAC9C,eAAe,CAAC,6CAA6C,CAChE,GACC,oBAAoB,CACvB,KAAG,OAAO,CAAC,IAAI,CAAC;AATjB,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAM1E,OAAO,EAGL,oBAAoB,EAErB,MAAM,QAAQ,CAAA;kDA2BZ,aAAa,CACd,CACI,eAAe,CAAC,8BAA8B,GAC9C,eAAe,CAAC,6CAA6C,CAChE,GACC,oBAAoB,CACvB,KAAG,OAAO,CAAC,IAAI,CAAC;AATjB,wBAuEC"}
|
|
@@ -25,14 +25,18 @@ exports.default = async ({ container, options, }) => {
|
|
|
25
25
|
container.registerAdd(_types_1.CachingIdentifiersRegistrationName, (0, awilix_1.asValue)(undefined));
|
|
26
26
|
const strategy = strategy_1.DefaultCacheStrategy; // Re enable custom strategy another time
|
|
27
27
|
container.register("strategy", (0, awilix_1.asValue)(strategy));
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
const inMemoryOptions = options?.in_memory ?? {};
|
|
29
|
+
const { enable: isInMemoryEnabled, ...restInmemoryOptions } = inMemoryOptions;
|
|
30
|
+
if (isInMemoryEnabled) {
|
|
31
|
+
// MemoryCachingProvider - default provider
|
|
32
|
+
container.register({
|
|
33
|
+
[_types_1.CachingProviderRegistrationPrefix + memory_cache_1.MemoryCachingProvider.identifier]: (0, awilix_1.asFunction)((cradle) => new memory_cache_1.MemoryCachingProvider(cradle, restInmemoryOptions), {
|
|
34
|
+
lifetime: awilix_1.Lifetime.SINGLETON,
|
|
35
|
+
}),
|
|
36
|
+
});
|
|
37
|
+
container.registerAdd(_types_1.CachingIdentifiersRegistrationName, (0, awilix_1.asValue)(memory_cache_1.MemoryCachingProvider.identifier));
|
|
38
|
+
container.register(_types_1.CachingDefaultProvider, (0, awilix_1.asValue)(memory_cache_1.MemoryCachingProvider.identifier));
|
|
39
|
+
}
|
|
36
40
|
// Load other providers
|
|
37
41
|
await (0, modules_sdk_1.moduleProviderLoader)({
|
|
38
42
|
container,
|
|
@@ -51,7 +55,12 @@ exports.default = async ({ container, options, }) => {
|
|
|
51
55
|
}
|
|
52
56
|
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
53
57
|
if (!hasDefaultProvider) {
|
|
54
|
-
|
|
58
|
+
if (isInMemoryEnabled) {
|
|
59
|
+
logger.warn(`[caching-module]: No default caching provider defined. Using "${container.resolve(_types_1.CachingDefaultProvider)}" as default.`);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
throw new Error("[caching-module]: No providers have been configured and the built in memory cache has not been enabled.");
|
|
63
|
+
}
|
|
55
64
|
}
|
|
56
65
|
};
|
|
57
66
|
//# sourceMappingURL=providers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":";;AAAA,iEAAsE;AAEtE,qDAGkC;AAClC,yCAAkD;AAClD,mCAKe;AACf,mCAA+D;AAC/D,4DAAiE;AACjE,gDAAwD;AAExD,MAAM,cAAc,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACxD,MAAM,GAAG,GAAG,kCAAsB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;IAEnE,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,kCAA0B,EAAC;QACxC,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,GAAG;KACxB,CAAC,CAAA;IAEF,SAAS,CAAC,QAAQ,CAAC;QACjB,CAAC,0CAAiC,GAAG,EAAE,CAAC,EAAE,IAAA,gBAAO,EAAC,MAAM,CAAC;KAC1D,CAAC,CAAA;IAEF,SAAS,CAAC,WAAW,CAAC,2CAAkC,EAAE,IAAA,gBAAO,EAAC,GAAG,CAAC,CAAC,CAAA;AACzE,CAAC,CAAA;AAED,kBAAe,KAAK,EAAE,EACpB,SAAS,EACT,OAAO,GAOR,EAAiB,EAAE;IAClB,SAAS,CAAC,WAAW,CAAC,2CAAkC,EAAE,IAAA,gBAAO,EAAC,SAAS,CAAC,CAAC,CAAA;IAE7E,MAAM,QAAQ,GAAG,+BAAoB,CAAA,CAAC,yCAAyC;IAC/E,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAA,gBAAO,EAAC,QAAQ,CAAC,CAAC,CAAA;IAEjD,2CAA2C;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/loaders/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,25 @@
|
|
|
1
1
|
import NodeCache from "node-cache";
|
|
2
|
-
import type { ICachingProviderService } from "@medusajs/framework/types";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* TTL in seconds
|
|
6
|
-
*/
|
|
7
|
-
ttl?: number;
|
|
8
|
-
/**
|
|
9
|
-
* Maximum number of keys to store (see node-cache documentation)
|
|
10
|
-
*/
|
|
11
|
-
maxKeys?: number;
|
|
12
|
-
/**
|
|
13
|
-
* Check period for expired keys in seconds (see node-cache documentation)
|
|
14
|
-
*/
|
|
15
|
-
checkPeriod?: number;
|
|
16
|
-
/**
|
|
17
|
-
* Use clones for cached data (see node-cache documentation)
|
|
18
|
-
*/
|
|
19
|
-
useClones?: boolean;
|
|
20
|
-
}
|
|
2
|
+
import type { ICachingProviderService, Logger } from "@medusajs/framework/types";
|
|
3
|
+
import { MemoryCacheModuleOptions } from "../types";
|
|
21
4
|
export declare class MemoryCachingProvider implements ICachingProviderService {
|
|
22
5
|
static identifier: string;
|
|
6
|
+
protected logger: Logger;
|
|
23
7
|
protected cacheClient: NodeCache;
|
|
24
8
|
protected tagIndex: Map<string, Set<string>>;
|
|
25
9
|
protected keyTags: Map<string, Set<string>>;
|
|
26
10
|
protected entryOptions: Map<string, {
|
|
27
11
|
autoInvalidate?: boolean;
|
|
28
12
|
}>;
|
|
13
|
+
protected keySizes: Map<string, number>;
|
|
14
|
+
protected approximateMemoryUsage: number;
|
|
29
15
|
protected options: MemoryCacheModuleOptions;
|
|
30
|
-
|
|
16
|
+
protected maxSize: number;
|
|
17
|
+
protected hasher: (key: string) => string;
|
|
18
|
+
constructor({ logger, hasher }: {
|
|
19
|
+
logger?: Logger;
|
|
20
|
+
hasher: (key: string) => string;
|
|
21
|
+
}, options?: MemoryCacheModuleOptions);
|
|
22
|
+
private calculateEntrySize;
|
|
31
23
|
private cleanupTagReferences;
|
|
32
24
|
get({ key, tags }: {
|
|
33
25
|
key?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-cache.d.ts","sourceRoot":"","sources":["../../src/providers/memory-cache.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"memory-cache.d.ts","sourceRoot":"","sources":["../../src/providers/memory-cache.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAA;AAUjD,qBAAa,qBAAsB,YAAW,uBAAuB;IACnE,MAAM,CAAC,UAAU,SAAiB;IAElC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,WAAW,EAAE,SAAS,CAAA;IAChC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAY;IACxD,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAY;IACvD,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAY;IAC7E,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAY;IACnD,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAI;IAC5C,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAA;IAC3C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;gBAGvC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,EACxE,OAAO,GAAE,wBAA6B;IAmCxC,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,oBAAoB;IA0BtB,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmCnE,GAAG,CAAC,EACR,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,OAAO,GACR,EAAE;QACD,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,OAAO,CAAC,EAAE;YACR,cAAc,CAAC,EAAE,OAAO,CAAA;SACzB,CAAA;KACF,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDX,KAAK,CAAC,EACV,GAAG,EACH,IAAI,EACJ,OAAO,GACR,EAAE;QACD,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,OAAO,CAAC,EAAE;YACR,cAAc,CAAC,EAAE,OAAO,CAAA;SACzB,CAAA;KACF,GAAG,OAAO,CAAC,IAAI,CAAC;CAiElB"}
|
|
@@ -5,16 +5,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.MemoryCachingProvider = void 0;
|
|
7
7
|
const node_cache_1 = __importDefault(require("node-cache"));
|
|
8
|
+
const THREE_HUNDRED_MB = 300 * 1024 * 1024;
|
|
9
|
+
const formatBytes = (bytes) => {
|
|
10
|
+
if (bytes < 1024)
|
|
11
|
+
return `${bytes} B`;
|
|
12
|
+
if (bytes < 1024 * 1024)
|
|
13
|
+
return `${Math.round(bytes / 1024)} KB`;
|
|
14
|
+
return `${Math.round(bytes / 1024 / 1024)} MB`;
|
|
15
|
+
};
|
|
8
16
|
class MemoryCachingProvider {
|
|
9
|
-
constructor() {
|
|
17
|
+
constructor({ logger, hasher }, options = {}) {
|
|
10
18
|
this.tagIndex = new Map(); // tag -> keys
|
|
11
19
|
this.keyTags = new Map(); // key -> tags
|
|
12
20
|
this.entryOptions = new Map(); // key -> options
|
|
21
|
+
this.keySizes = new Map(); // key -> approximate size in bytes
|
|
22
|
+
this.approximateMemoryUsage = 0;
|
|
23
|
+
this.logger = logger ?? console;
|
|
24
|
+
const { maxSize, ...rest } = options;
|
|
25
|
+
this.maxSize = maxSize ?? THREE_HUNDRED_MB;
|
|
26
|
+
this.hasher = hasher;
|
|
13
27
|
this.options = {
|
|
14
28
|
ttl: 3600,
|
|
15
29
|
maxKeys: 25000,
|
|
16
30
|
checkPeriod: 60, // 10 minutes
|
|
17
|
-
useClones: false, // Default to false for speed, true would be slower but safer. we can discuss
|
|
31
|
+
useClones: false, // Default to false for speed, true would be slower but safer. we can ...discuss
|
|
32
|
+
...rest,
|
|
18
33
|
};
|
|
19
34
|
const cacheClient = new node_cache_1.default({
|
|
20
35
|
stdTTL: this.options.ttl,
|
|
@@ -24,13 +39,22 @@ class MemoryCachingProvider {
|
|
|
24
39
|
});
|
|
25
40
|
this.cacheClient = cacheClient;
|
|
26
41
|
// Clean up tag indices when keys expire
|
|
27
|
-
this.cacheClient.on("expired", (key
|
|
42
|
+
this.cacheClient.on("expired", (key) => {
|
|
28
43
|
this.cleanupTagReferences(key);
|
|
29
44
|
});
|
|
30
|
-
this.cacheClient.on("del", (key
|
|
45
|
+
this.cacheClient.on("del", (key) => {
|
|
31
46
|
this.cleanupTagReferences(key);
|
|
32
47
|
});
|
|
33
48
|
}
|
|
49
|
+
calculateEntrySize(key, data, tags) {
|
|
50
|
+
const dataSize = Buffer.byteLength(JSON.stringify(data), "utf8");
|
|
51
|
+
const keySize = Buffer.byteLength(key, "utf8");
|
|
52
|
+
let tagsSize = 0;
|
|
53
|
+
if (tags?.length) {
|
|
54
|
+
tagsSize = Buffer.byteLength(JSON.stringify(tags), "utf8");
|
|
55
|
+
}
|
|
56
|
+
return dataSize + keySize + tagsSize;
|
|
57
|
+
}
|
|
34
58
|
cleanupTagReferences(key) {
|
|
35
59
|
const tags = this.keyTags.get(key);
|
|
36
60
|
if (tags) {
|
|
@@ -45,17 +69,25 @@ class MemoryCachingProvider {
|
|
|
45
69
|
});
|
|
46
70
|
this.keyTags.delete(key);
|
|
47
71
|
}
|
|
72
|
+
// Clean up memory tracking
|
|
73
|
+
const keySize = this.keySizes.get(key);
|
|
74
|
+
if (keySize) {
|
|
75
|
+
this.approximateMemoryUsage -= keySize;
|
|
76
|
+
this.keySizes.delete(key);
|
|
77
|
+
}
|
|
48
78
|
// Also clean up entry options
|
|
49
79
|
this.entryOptions.delete(key);
|
|
50
80
|
}
|
|
51
81
|
async get({ key, tags }) {
|
|
52
82
|
if (key) {
|
|
53
|
-
|
|
83
|
+
const hashedKey = this.hasher(key);
|
|
84
|
+
return this.cacheClient.get(hashedKey) ?? null;
|
|
54
85
|
}
|
|
55
|
-
if (tags
|
|
86
|
+
if (tags?.length) {
|
|
56
87
|
const allKeys = new Set();
|
|
57
88
|
tags.forEach((tag) => {
|
|
58
|
-
const
|
|
89
|
+
const hashedTag = this.hasher(tag);
|
|
90
|
+
const keysForTag = this.tagIndex.get(hashedTag);
|
|
59
91
|
if (keysForTag) {
|
|
60
92
|
keysForTag.forEach((key) => allKeys.add(key));
|
|
61
93
|
}
|
|
@@ -75,45 +107,60 @@ class MemoryCachingProvider {
|
|
|
75
107
|
return null;
|
|
76
108
|
}
|
|
77
109
|
async set({ key, data, ttl, tags, options, }) {
|
|
110
|
+
// Only reject if we're already over the limit
|
|
111
|
+
if (this.approximateMemoryUsage > this.maxSize) {
|
|
112
|
+
this.logger.warn(`Cache is full. Current usage: ${formatBytes(this.approximateMemoryUsage)}, Max: ${formatBytes(this.maxSize)}. Skipping cache entry.`);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const hashedKey = this.hasher(key);
|
|
116
|
+
const hashedTags = tags?.map((tag) => this.hasher(tag));
|
|
117
|
+
const totalSize = this.calculateEntrySize(hashedKey, data, hashedTags);
|
|
78
118
|
// Set the cache entry
|
|
79
119
|
const effectiveTTL = ttl ?? this.options.ttl ?? 3600;
|
|
80
|
-
this.cacheClient.set(
|
|
120
|
+
this.cacheClient.set(hashedKey, data, effectiveTTL);
|
|
81
121
|
// Handle tags if provided
|
|
82
|
-
if (
|
|
122
|
+
if (hashedTags?.length) {
|
|
83
123
|
// Clean up any existing tag references for this key
|
|
84
|
-
this.cleanupTagReferences(
|
|
85
|
-
const tagSet = new Set(
|
|
86
|
-
this.keyTags.set(
|
|
124
|
+
this.cleanupTagReferences(hashedKey);
|
|
125
|
+
const tagSet = new Set(hashedTags);
|
|
126
|
+
this.keyTags.set(hashedKey, tagSet);
|
|
87
127
|
// Add this key to each tag's index
|
|
88
|
-
|
|
128
|
+
hashedTags.forEach((tag) => {
|
|
89
129
|
if (!this.tagIndex.has(tag)) {
|
|
90
130
|
this.tagIndex.set(tag, new Set());
|
|
91
131
|
}
|
|
92
|
-
this.tagIndex.get(tag).add(
|
|
132
|
+
this.tagIndex.get(tag).add(hashedKey);
|
|
93
133
|
});
|
|
94
134
|
}
|
|
95
135
|
// Store entry options if provided
|
|
96
136
|
if (Object.keys(options ?? {}).length &&
|
|
97
137
|
!Object.values(options ?? {}).every((value) => value === undefined)) {
|
|
98
|
-
this.entryOptions.set(
|
|
138
|
+
this.entryOptions.set(hashedKey, options);
|
|
99
139
|
}
|
|
140
|
+
// Track memory usage
|
|
141
|
+
const existingSize = this.keySizes.get(hashedKey) || 0;
|
|
142
|
+
this.approximateMemoryUsage =
|
|
143
|
+
this.approximateMemoryUsage - existingSize + totalSize;
|
|
144
|
+
this.keySizes.set(hashedKey, totalSize);
|
|
100
145
|
}
|
|
101
146
|
async clear({ key, tags, options, }) {
|
|
102
147
|
if (key) {
|
|
103
|
-
this.
|
|
148
|
+
const hashedKey = this.hasher(key);
|
|
149
|
+
this.cacheClient.del(hashedKey);
|
|
104
150
|
return;
|
|
105
151
|
}
|
|
106
|
-
if (tags
|
|
152
|
+
if (tags?.length) {
|
|
107
153
|
// Handle wildcard tag to clear all cache data
|
|
108
|
-
if (tags
|
|
154
|
+
if (tags?.includes("*")) {
|
|
109
155
|
this.cacheClient.flushAll();
|
|
110
156
|
this.tagIndex.clear();
|
|
111
157
|
this.keyTags.clear();
|
|
112
158
|
this.entryOptions.clear();
|
|
113
159
|
return;
|
|
114
160
|
}
|
|
161
|
+
const hashedTags = tags.map((tag) => this.hasher(tag));
|
|
115
162
|
const allKeys = new Set();
|
|
116
|
-
|
|
163
|
+
hashedTags.forEach((tag) => {
|
|
117
164
|
const keysForTag = this.tagIndex.get(tag);
|
|
118
165
|
if (keysForTag) {
|
|
119
166
|
keysForTag.forEach((key) => allKeys.add(key));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-cache.js","sourceRoot":"","sources":["../../src/providers/memory-cache.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAkC;
|
|
1
|
+
{"version":3,"file":"memory-cache.js","sourceRoot":"","sources":["../../src/providers/memory-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -12,6 +12,30 @@ export type InjectedDependencies = {
|
|
|
12
12
|
[CachingDefaultProvider]: string;
|
|
13
13
|
[Modules.EVENT_BUS]: IEventBusModuleService;
|
|
14
14
|
};
|
|
15
|
+
export interface MemoryCacheModuleOptions {
|
|
16
|
+
/**
|
|
17
|
+
* TTL in seconds
|
|
18
|
+
*/
|
|
19
|
+
ttl?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum number of keys to store (see node-cache documentation)
|
|
22
|
+
*/
|
|
23
|
+
maxKeys?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Check period for expired keys in seconds (see node-cache documentation)
|
|
26
|
+
*/
|
|
27
|
+
checkPeriod?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Use clones for cached data (see node-cache documentation)
|
|
30
|
+
*/
|
|
31
|
+
useClones?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Maximum size of the cache in bytes (default 300MB).
|
|
34
|
+
* It is an approximation, if a new entry will make the limit exceeded, the entry will be cached
|
|
35
|
+
* but not the following ones
|
|
36
|
+
*/
|
|
37
|
+
maxSize?: number;
|
|
38
|
+
}
|
|
15
39
|
export type CachingModuleOptions = Partial<ModuleServiceInitializeOptions> & {
|
|
16
40
|
/**
|
|
17
41
|
* The strategy to be used. Default to the inbuilt default strategy.
|
|
@@ -20,6 +44,13 @@ export type CachingModuleOptions = Partial<ModuleServiceInitializeOptions> & {
|
|
|
20
44
|
* Time to keep data in cache (in seconds)
|
|
21
45
|
*/
|
|
22
46
|
ttl?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Enable and configure the built in memory cache
|
|
49
|
+
* @private
|
|
50
|
+
*/
|
|
51
|
+
in_memory?: MemoryCacheModuleOptions & {
|
|
52
|
+
enable?: boolean;
|
|
53
|
+
};
|
|
23
54
|
/**
|
|
24
55
|
* Providers to be registered
|
|
25
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,EACN,qBAAqB,EACrB,8BAA8B,EAC/B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAE5E,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AACxD,eAAO,MAAM,kCAAkC,iCAAiC,CAAA;AAEhF,eAAO,MAAM,iCAAiC,QAAQ,CAAA;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAChC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,8BAA8B,CAAC,GAAG;IAC3E;;OAEG;IAEH;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,MAAM,EACN,qBAAqB,EACrB,8BAA8B,EAC/B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAE5E,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AACxD,eAAO,MAAM,kCAAkC,iCAAiC,CAAA;AAEhF,eAAO,MAAM,iCAAiC,QAAQ,CAAA;AAEtD,MAAM,MAAM,oBAAoB,GAAG;IACjC,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACvC,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAChC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,8BAA8B,CAAC,GAAG;IAC3E;;OAEG;IAEH;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,wBAAwB,GAAG;QACrC,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,CAAA;IAED;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;WAEG;QACH,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAAA;QACvC;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAA;QACpB;;WAEG;QACH,EAAE,EAAE,MAAM,CAAA;QACV;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAClC,EAAE,CAAA;CACJ,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/caching",
|
|
3
|
-
"version": "2.10.4-preview-
|
|
3
|
+
"version": "2.10.4-preview-20251003090153",
|
|
4
4
|
"description": "Caching Module for Medusa",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"test:integration": "jest --runInBand --forceExit -- integration-tests/__tests__/**/*.ts"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@medusajs/framework": "2.10.4-preview-
|
|
32
|
-
"@medusajs/test-utils": "2.10.4-preview-
|
|
31
|
+
"@medusajs/framework": "2.10.4-preview-20251003090153",
|
|
32
|
+
"@medusajs/test-utils": "2.10.4-preview-20251003090153",
|
|
33
33
|
"@swc/core": "^1.7.28",
|
|
34
34
|
"@swc/jest": "^0.2.36",
|
|
35
35
|
"jest": "^29.7.0",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"typescript": "^5.6.2"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@medusajs/framework": "2.10.4-preview-
|
|
41
|
+
"@medusajs/framework": "2.10.4-preview-20251003090153",
|
|
42
42
|
"awilix": "^8.0.1"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|