@mrjasonroy/cache-components-cache-handler 16.0.0-alpha.6 → 16.0.1
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/README.md +11 -6
- package/dist/data-cache/factory.d.ts +75 -0
- package/dist/data-cache/factory.d.ts.map +1 -0
- package/dist/data-cache/factory.js +113 -0
- package/dist/data-cache/factory.js.map +1 -0
- package/dist/helpers/buffer.js +3 -3
- package/dist/helpers/buffer.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -64,10 +64,13 @@ export default createMemoryCacheHandler({
|
|
|
64
64
|
|
|
65
65
|
```javascript
|
|
66
66
|
// data-cache-handler.mjs (Data Cache for "use cache")
|
|
67
|
-
import {
|
|
67
|
+
import { createCacheHandler } from "@mrjasonroy/cache-components-cache-handler";
|
|
68
68
|
|
|
69
|
-
export default
|
|
70
|
-
|
|
69
|
+
export default createCacheHandler({
|
|
70
|
+
type: process.env.NODE_ENV === "production" ? "redis" : "memory",
|
|
71
|
+
url: process.env.REDIS_URL,
|
|
72
|
+
password: process.env.REDIS_PASSWORD,
|
|
73
|
+
debug: process.env.NODE_ENV === "development",
|
|
71
74
|
});
|
|
72
75
|
```
|
|
73
76
|
|
|
@@ -76,16 +79,18 @@ export default createMemoryDataCacheHandler({
|
|
|
76
79
|
```typescript
|
|
77
80
|
// next.config.js
|
|
78
81
|
import {
|
|
79
|
-
createMemoryCacheHandler,
|
|
80
82
|
createCompositeHandler,
|
|
83
|
+
createMemoryCacheHandler,
|
|
84
|
+
RedisCacheHandler,
|
|
81
85
|
} from "@mrjasonroy/cache-components-cache-handler";
|
|
82
86
|
|
|
83
87
|
const memoryHandler = createMemoryCacheHandler({
|
|
84
88
|
maxItemsNumber: 100, // Small L1 cache
|
|
85
89
|
});
|
|
86
90
|
|
|
87
|
-
const redisHandler =
|
|
88
|
-
|
|
91
|
+
const redisHandler = new RedisCacheHandler({
|
|
92
|
+
redis: process.env.REDIS_URL ?? "redis://localhost:6379",
|
|
93
|
+
defaultTTL: 3600,
|
|
89
94
|
});
|
|
90
95
|
|
|
91
96
|
export default {
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zero-config cache handler factory
|
|
3
|
+
* Automatically configures handlers based on type and environment variables
|
|
4
|
+
*/
|
|
5
|
+
import type { DataCacheHandler } from "./types.js";
|
|
6
|
+
export type CacheHandlerType = "memory" | "redis" | "valkey" | "elasticache";
|
|
7
|
+
export interface CacheHandlerOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Cache backend type
|
|
10
|
+
*/
|
|
11
|
+
type: CacheHandlerType;
|
|
12
|
+
/**
|
|
13
|
+
* Redis/Valkey URL (e.g., "redis://localhost:6379")
|
|
14
|
+
* @default process.env.REDIS_URL || process.env.VALKEY_URL
|
|
15
|
+
*/
|
|
16
|
+
url?: string;
|
|
17
|
+
/**
|
|
18
|
+
* ElastiCache/Redis endpoint hostname
|
|
19
|
+
* @default process.env.ELASTICACHE_ENDPOINT
|
|
20
|
+
*/
|
|
21
|
+
endpoint?: string;
|
|
22
|
+
/**
|
|
23
|
+
* ElastiCache/Redis port
|
|
24
|
+
* @default process.env.ELASTICACHE_PORT || 6379
|
|
25
|
+
*/
|
|
26
|
+
port?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Enable TLS/SSL
|
|
29
|
+
* @default true for elasticache, false for redis/valkey
|
|
30
|
+
*/
|
|
31
|
+
tls?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Auth token/password
|
|
34
|
+
* @default process.env.ELASTICACHE_AUTH_TOKEN or process.env.REDIS_PASSWORD
|
|
35
|
+
*/
|
|
36
|
+
password?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Key prefix for cache entries
|
|
39
|
+
* @default "nextjs:cache:"
|
|
40
|
+
*/
|
|
41
|
+
keyPrefix?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Key prefix for tags
|
|
44
|
+
* @default "nextjs:tags:"
|
|
45
|
+
*/
|
|
46
|
+
tagPrefix?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Enable debug logging
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
debug?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Max memory size (for memory handler only)
|
|
54
|
+
* @default 100MB
|
|
55
|
+
*/
|
|
56
|
+
maxSize?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a cache handler with zero configuration
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```javascript
|
|
63
|
+
* // Zero config - uses environment variables
|
|
64
|
+
* export default createCacheHandler({ type: "redis" });
|
|
65
|
+
*
|
|
66
|
+
* // With overrides
|
|
67
|
+
* export default createCacheHandler({
|
|
68
|
+
* type: "elasticache",
|
|
69
|
+
* endpoint: "my-cluster.cache.amazonaws.com",
|
|
70
|
+
* password: process.env.AUTH_TOKEN
|
|
71
|
+
* });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function createCacheHandler(options: CacheHandlerOptions): DataCacheHandler;
|
|
75
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/data-cache/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiCnD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,CAiFjF"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zero-config cache handler factory
|
|
3
|
+
* Automatically configures handlers based on type and environment variables
|
|
4
|
+
*/
|
|
5
|
+
import { createRequire } from "node:module";
|
|
6
|
+
import { createMemoryDataCacheHandler } from "./memory.js";
|
|
7
|
+
import { createRedisDataCacheHandler } from "./redis.js";
|
|
8
|
+
const nodeRequire = createRequire(import.meta.url);
|
|
9
|
+
/**
|
|
10
|
+
* Lazy load ioredis and return the constructor
|
|
11
|
+
*/
|
|
12
|
+
function loadIoredis(type) {
|
|
13
|
+
try {
|
|
14
|
+
return nodeRequire("ioredis");
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
throw new Error(`ioredis is required for ${type} cache handler. Install it with: npm install ioredis`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create adapter for ioredis (lowercase methods) to match RedisClient interface (camelCase)
|
|
22
|
+
*/
|
|
23
|
+
function createRedisAdapter(redis) {
|
|
24
|
+
return {
|
|
25
|
+
get: (key) => redis.get(key),
|
|
26
|
+
set: (key, value) => redis.set(key, value),
|
|
27
|
+
del: (...keys) => redis.del(...keys),
|
|
28
|
+
exists: (...keys) => redis.exists(...keys),
|
|
29
|
+
ttl: (key) => redis.ttl(key),
|
|
30
|
+
hGet: (key, field) => redis.hget(key, field),
|
|
31
|
+
hSet: (key, field, value) => redis.hset(key, field, value),
|
|
32
|
+
hGetAll: (key) => redis.hgetall(key),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Create a cache handler with zero configuration
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```javascript
|
|
40
|
+
* // Zero config - uses environment variables
|
|
41
|
+
* export default createCacheHandler({ type: "redis" });
|
|
42
|
+
*
|
|
43
|
+
* // With overrides
|
|
44
|
+
* export default createCacheHandler({
|
|
45
|
+
* type: "elasticache",
|
|
46
|
+
* endpoint: "my-cluster.cache.amazonaws.com",
|
|
47
|
+
* password: process.env.AUTH_TOKEN
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export function createCacheHandler(options) {
|
|
52
|
+
const { type, debug = false } = options;
|
|
53
|
+
switch (type) {
|
|
54
|
+
case "memory":
|
|
55
|
+
return createMemoryDataCacheHandler({
|
|
56
|
+
maxSize: options.maxSize ?? 100 * 1024 * 1024,
|
|
57
|
+
debug,
|
|
58
|
+
});
|
|
59
|
+
case "redis":
|
|
60
|
+
case "valkey": {
|
|
61
|
+
const Redis = loadIoredis(type);
|
|
62
|
+
const url = options.url || process.env.REDIS_URL || process.env.VALKEY_URL || "redis://localhost:6379";
|
|
63
|
+
const password = options.password ?? process.env.REDIS_PASSWORD;
|
|
64
|
+
const tlsEnabled = options.tls ?? false;
|
|
65
|
+
const redis = password || tlsEnabled
|
|
66
|
+
? new Redis(url, {
|
|
67
|
+
...(password ? { password } : {}),
|
|
68
|
+
...(tlsEnabled ? { tls: {} } : {}),
|
|
69
|
+
})
|
|
70
|
+
: new Redis(url);
|
|
71
|
+
const redisAdapter = createRedisAdapter(redis);
|
|
72
|
+
return createRedisDataCacheHandler({
|
|
73
|
+
redis: redisAdapter,
|
|
74
|
+
keyPrefix: options.keyPrefix,
|
|
75
|
+
tagPrefix: options.tagPrefix,
|
|
76
|
+
debug,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
case "elasticache": {
|
|
80
|
+
const Redis = loadIoredis(type);
|
|
81
|
+
const endpoint = options.endpoint || process.env.ELASTICACHE_ENDPOINT;
|
|
82
|
+
if (!endpoint) {
|
|
83
|
+
throw new Error("ElastiCache endpoint is required. Set ELASTICACHE_ENDPOINT environment variable or pass 'endpoint' option.");
|
|
84
|
+
}
|
|
85
|
+
const port = options.port ||
|
|
86
|
+
(process.env.ELASTICACHE_PORT ? Number.parseInt(process.env.ELASTICACHE_PORT, 10) : 6379);
|
|
87
|
+
const tls = options.tls ?? process.env.ELASTICACHE_TLS !== "false";
|
|
88
|
+
const password = options.password || process.env.ELASTICACHE_AUTH_TOKEN || process.env.REDIS_PASSWORD;
|
|
89
|
+
const redis = new Redis({
|
|
90
|
+
host: endpoint,
|
|
91
|
+
port,
|
|
92
|
+
tls: tls ? {} : undefined,
|
|
93
|
+
password,
|
|
94
|
+
connectTimeout: 10000,
|
|
95
|
+
retryStrategy: (times) => {
|
|
96
|
+
if (times > 3)
|
|
97
|
+
return null;
|
|
98
|
+
return Math.min(times * 200, 2000);
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
const redisAdapter = createRedisAdapter(redis);
|
|
102
|
+
return createRedisDataCacheHandler({
|
|
103
|
+
redis: redisAdapter,
|
|
104
|
+
keyPrefix: options.keyPrefix,
|
|
105
|
+
tagPrefix: options.tagPrefix,
|
|
106
|
+
debug,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
default:
|
|
110
|
+
throw new Error(`Unknown cache handler type: ${type}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/data-cache/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/buffer.js
CHANGED
|
@@ -13,6 +13,9 @@ export function bufferToString(value) {
|
|
|
13
13
|
if (Buffer.isBuffer(value)) {
|
|
14
14
|
return value.toString("base64");
|
|
15
15
|
}
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
return value.map(bufferToString);
|
|
18
|
+
}
|
|
16
19
|
if (typeof value === "object" && value !== null) {
|
|
17
20
|
const result = {};
|
|
18
21
|
for (const [key, val] of Object.entries(value)) {
|
|
@@ -20,9 +23,6 @@ export function bufferToString(value) {
|
|
|
20
23
|
}
|
|
21
24
|
return result;
|
|
22
25
|
}
|
|
23
|
-
if (Array.isArray(value)) {
|
|
24
|
-
return value.map(bufferToString);
|
|
25
|
-
}
|
|
26
26
|
return value;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/helpers/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/helpers/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,QAAiB;IAC7D,IAAI,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { calculateLifespan, isExpired } from "./helpers/lifespan.js";
|
|
|
11
11
|
export { createCacheConfig, createCacheConfigWithProfiles, type CacheHandlerConfig, } from "./helpers/next-config.js";
|
|
12
12
|
export type { CacheHandler, CacheHandlerContext, CacheHandlerGetMeta, CacheHandlerOptions, CacheHandlerValue, CacheValue, LifespanParameters, } from "./types.js";
|
|
13
13
|
export { IMPLICIT_TAG_PREFIX } from "./types.js";
|
|
14
|
+
export { createCacheHandler, type CacheHandlerOptions as DataCacheHandlerOptions, type CacheHandlerType, } from "./data-cache/factory.js";
|
|
14
15
|
export { createMemoryDataCacheHandler, type MemoryDataCacheHandlerOptions, } from "./data-cache/memory.js";
|
|
15
16
|
export { createRedisDataCacheHandler, type RedisClient, type RedisDataCacheHandlerOptions, } from "./data-cache/redis.js";
|
|
16
17
|
export type { DataCacheEntry, DataCacheHandler, Timestamp, } from "./data-cache/types.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,KAAK,wBAAwB,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOjD,OAAO,EACL,kBAAkB,EAClB,KAAK,mBAAmB,IAAI,uBAAuB,EACnD,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,KAAK,WAAW,EAChB,KAAK,4BAA4B,GAClC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,GACV,MAAM,uBAAuB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,9 @@ export { IMPLICIT_TAG_PREFIX } from "./types.js";
|
|
|
18
18
|
// =============================================================================
|
|
19
19
|
// Data Cache Handlers (for "use cache" directive)
|
|
20
20
|
// =============================================================================
|
|
21
|
+
// Zero-config factory (recommended)
|
|
22
|
+
export { createCacheHandler, } from "./data-cache/factory.js";
|
|
23
|
+
// Advanced: Direct handler creation
|
|
21
24
|
export { createMemoryDataCacheHandler, } from "./data-cache/memory.js";
|
|
22
25
|
export { createRedisDataCacheHandler, } from "./data-cache/redis.js";
|
|
23
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,OAAO,EACL,gBAAgB,EAEhB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,iBAAiB,EACjB,6BAA6B,GAE9B,MAAM,0BAA0B,CAAC;AAWlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,gFAAgF;AAChF,kDAAkD;AAClD,gFAAgF;AAEhF,OAAO,EACL,4BAA4B,GAE7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,GAG5B,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,OAAO,EACL,gBAAgB,EAEhB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,WAAW;AACX,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrE,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,iBAAiB,EACjB,6BAA6B,GAE9B,MAAM,0BAA0B,CAAC;AAWlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,gFAAgF;AAChF,kDAAkD;AAClD,gFAAgF;AAEhF,oCAAoC;AACpC,OAAO,EACL,kBAAkB,GAGnB,MAAM,yBAAyB,CAAC;AAEjC,oCAAoC;AACpC,OAAO,EACL,4BAA4B,GAE7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,GAG5B,MAAM,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mrjasonroy/cache-components-cache-handler",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.1",
|
|
4
4
|
"description": "Cache handler for Next.js 16+ with support for 'use cache' directive and Cache Components",
|
|
5
5
|
"author": "Jason Roy",
|
|
6
6
|
"license": "MIT",
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./dist/index.d.ts",
|
|
13
13
|
"import": "./dist/index.js",
|
|
14
|
-
"require": "./dist/index.js",
|
|
15
14
|
"default": "./dist/index.js"
|
|
16
15
|
}
|
|
17
16
|
},
|