layercache 1.0.2 → 1.2.0

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.
@@ -11,15 +11,19 @@ const cache = new CacheStack([
11
11
  const app = express()
12
12
 
13
13
  app.get('/users/:id', async (req, res) => {
14
- const user = await cache.get(`user:${req.params.id}`, async () => {
15
- return {
16
- id: Number(req.params.id),
17
- name: `User ${req.params.id}`,
18
- source: 'db'
14
+ const user = await cache.get(
15
+ `user:${req.params.id}`,
16
+ async () => {
17
+ return {
18
+ id: Number(req.params.id),
19
+ name: `User ${req.params.id}`,
20
+ source: 'db'
21
+ }
22
+ },
23
+ {
24
+ tags: ['user', `user:${req.params.id}`]
19
25
  }
20
- }, {
21
- tags: ['user', `user:${req.params.id}`]
22
- })
26
+ )
23
27
 
24
28
  res.json(user)
25
29
  })
@@ -1,17 +1,14 @@
1
1
  import { Module } from '@nestjs/common'
2
2
  import Redis from 'ioredis'
3
- import { MemoryLayer, RedisLayer } from '../../src'
4
3
  import { CacheStackModule } from '../../packages/nestjs/src'
4
+ import { MemoryLayer, RedisLayer } from '../../src'
5
5
 
6
6
  const redis = new Redis(process.env.REDIS_URL)
7
7
 
8
8
  @Module({
9
9
  imports: [
10
10
  CacheStackModule.forRoot({
11
- layers: [
12
- new MemoryLayer({ ttl: 20 }),
13
- new RedisLayer({ client: redis, ttl: 300 })
14
- ]
11
+ layers: [new MemoryLayer({ ttl: 20 }), new RedisLayer({ client: redis, ttl: 300 })]
15
12
  })
16
13
  ]
17
14
  })
@@ -2,10 +2,7 @@ import Redis from 'ioredis'
2
2
  import { CacheStack, MemoryLayer, RedisLayer } from '../../src'
3
3
 
4
4
  const redis = new Redis(process.env.REDIS_URL)
5
- const cache = new CacheStack([
6
- new MemoryLayer({ ttl: 15 }),
7
- new RedisLayer({ client: redis, ttl: 120 })
8
- ])
5
+ const cache = new CacheStack([new MemoryLayer({ ttl: 15 }), new RedisLayer({ client: redis, ttl: 120 })])
9
6
 
10
7
  export async function GET(_request: Request, context: { params: { id: string } }): Promise<Response> {
11
8
  const data = await cache.get(`user:${context.params.id}`, async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "layercache",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "description": "Unified multi-layer caching for Node.js with memory, Redis, stampede prevention, and invalidation helpers.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,7 +38,10 @@
38
38
  "build:nestjs": "npm --workspace @cachestack/nestjs run build",
39
39
  "build:all": "npm run build && npm run build:nestjs",
40
40
  "test": "vitest run",
41
+ "test:coverage": "vitest run --coverage",
41
42
  "test:watch": "vitest",
43
+ "lint": "biome check .",
44
+ "lint:fix": "biome check --write .",
42
45
  "bench:latency": "tsx benchmarks/latency.ts",
43
46
  "bench:stampede": "tsx benchmarks/stampede.ts"
44
47
  },
@@ -53,6 +56,8 @@
53
56
  "ioredis": ">=5.0.0"
54
57
  },
55
58
  "devDependencies": {
59
+ "@biomejs/biome": "^1.9.4",
60
+ "@vitest/coverage-v8": "^1.6.1",
56
61
  "@nestjs/common": "^11.1.0",
57
62
  "@nestjs/core": "^11.1.0",
58
63
  "@types/node": "^22.15.2",