@bymax-one/nest-cache 1.0.1 → 1.0.3
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/CHANGELOG.md +51 -0
- package/package.json +22 -14
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,52 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.0.3] - 2026-08-01
|
|
10
|
+
|
|
11
|
+
### Security
|
|
12
|
+
|
|
13
|
+
- **Peer floors raised to exclude known-vulnerable NestJS versions.** The declared
|
|
14
|
+
ranges were `@nestjs/common ^11.0.0` and `@nestjs/core ^11.0.0`, and both
|
|
15
|
+
admitted versions carrying published advisories:
|
|
16
|
+
|
|
17
|
+
| Peer | Advisory | Vulnerable | New floor |
|
|
18
|
+
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | ---------- |
|
|
19
|
+
| `@nestjs/common` | [GHSA-cj7v-w2c7-cp7c](https://github.com/advisories/GHSA-cj7v-w2c7-cp7c) — remote code execution via the `Content-Type` header | `>= 11.0.0-next.1, < 11.0.16` | `^11.0.16` |
|
|
20
|
+
| `@nestjs/core` | [GHSA-36xv-jgw5-4q75](https://github.com/advisories/GHSA-36xv-jgw5-4q75) — improper neutralization of special elements in downstream output | `<= 11.1.17` | `^11.1.18` |
|
|
21
|
+
|
|
22
|
+
A peer range is a statement about which versions this library supports. Leaving
|
|
23
|
+
the floor below a published advisory told a consumer that a vulnerable install
|
|
24
|
+
was a supported one, and nothing in their tooling contradicted it — the install
|
|
25
|
+
resolved cleanly and silently.
|
|
26
|
+
|
|
27
|
+
Shipped as a patch, which is where a security fix belongs. A minor would have
|
|
28
|
+
bought nothing: `^1.0.2` accepts `1.1.0` just as readily as `1.0.3`, so the same
|
|
29
|
+
installs are affected either way. No runtime behaviour changed.
|
|
30
|
+
|
|
31
|
+
## [1.0.2] - 2026-07-29
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
|
|
35
|
+
- **The `./shared` subpath now resolves under `moduleResolution: node`.** A
|
|
36
|
+
`typesVersions` map points the subpath at its `.d.cts` declarations, which is
|
|
37
|
+
the only mechanism that resolution algorithm understands — it predates
|
|
38
|
+
`exports` and ignores it entirely. Without this, a consumer whose tsconfig
|
|
39
|
+
sets `module: commonjs` without an explicit `moduleResolution` (the default
|
|
40
|
+
the Nest CLI scaffolds, which falls back to `node`) got
|
|
41
|
+
`error TS2307: Cannot find module '@bymax-one/nest-cache/shared'` while the
|
|
42
|
+
root entrypoint resolved fine. Runtime was never affected: Node reads
|
|
43
|
+
`exports`, so `require('@bymax-one/nest-cache/shared')` always worked.
|
|
44
|
+
|
|
45
|
+
This supersedes the note under 1.0.1 claiming the subpath was "not fixable
|
|
46
|
+
without a directory shim" — that was wrong, `typesVersions` fixes it with no
|
|
47
|
+
extra files in the tarball.
|
|
48
|
+
|
|
49
|
+
### Changed
|
|
50
|
+
|
|
51
|
+
- `check:exports` now runs the **strict** `attw` profile. The `--profile node16`
|
|
52
|
+
escape hatch existed only to ignore the failing `node10` row, which no longer
|
|
53
|
+
fails, so every entrypoint is now verified in every resolution mode.
|
|
54
|
+
|
|
9
55
|
## [1.0.1] - 2026-07-29
|
|
10
56
|
|
|
11
57
|
### Fixed
|
|
@@ -63,3 +109,8 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
63
109
|
- E2E suite: `@nestjs/testing` with `ioredis-mock` + Testcontainers (standalone, sentinel, cluster, connection resilience)
|
|
64
110
|
- Published with npm OIDC provenance — no long-lived tokens
|
|
65
111
|
- Zero direct runtime dependencies (`dependencies: {}`) — `ioredis` and NestJS via peer deps
|
|
112
|
+
|
|
113
|
+
[1.0.3]: https://github.com/bymaxone/nest-cache/releases/tag/v1.0.3
|
|
114
|
+
[1.0.2]: https://github.com/bymaxone/nest-cache/releases/tag/v1.0.2
|
|
115
|
+
[1.0.1]: https://github.com/bymaxone/nest-cache/releases/tag/v1.0.1
|
|
116
|
+
[1.0.0]: https://github.com/bymaxone/nest-cache/releases/tag/v1.0.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bymax-one/nest-cache",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Typed Redis cache for NestJS based on ioredis 5, with namespace strategy, Pub/Sub and Lua script management.",
|
|
5
5
|
"author": "Bymax One <support@bymax.one>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,6 +46,13 @@
|
|
|
46
46
|
"main": "./dist/server/index.cjs",
|
|
47
47
|
"module": "./dist/server/index.mjs",
|
|
48
48
|
"types": "./dist/server/index.d.cts",
|
|
49
|
+
"typesVersions": {
|
|
50
|
+
"*": {
|
|
51
|
+
"shared": [
|
|
52
|
+
"./dist/shared/index.d.cts"
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
},
|
|
49
56
|
"lint-staged": {
|
|
50
57
|
"*.{ts,tsx,js,mjs,cjs}": [
|
|
51
58
|
"eslint --fix",
|
|
@@ -57,8 +64,8 @@
|
|
|
57
64
|
},
|
|
58
65
|
"dependencies": {},
|
|
59
66
|
"peerDependencies": {
|
|
60
|
-
"@nestjs/common": "^11.0.
|
|
61
|
-
"@nestjs/core": "^11.
|
|
67
|
+
"@nestjs/common": "^11.0.16",
|
|
68
|
+
"@nestjs/core": "^11.1.18",
|
|
62
69
|
"ioredis": "^5.0.0",
|
|
63
70
|
"reflect-metadata": "^0.2.0"
|
|
64
71
|
},
|
|
@@ -118,22 +125,23 @@
|
|
|
118
125
|
},
|
|
119
126
|
"scripts": {
|
|
120
127
|
"build": "pnpm clean && tsup",
|
|
128
|
+
"check:exports": "attw --pack .",
|
|
129
|
+
"check:published": "node scripts/check-published-surface.mjs",
|
|
130
|
+
"clean": "rm -rf dist coverage",
|
|
121
131
|
"lint": "eslint src scripts",
|
|
122
132
|
"lint:fix": "eslint src scripts --fix",
|
|
133
|
+
"mutation": "stryker run",
|
|
134
|
+
"mutation:dry-run": "stryker run --dryRunOnly",
|
|
135
|
+
"mutation:incremental": "stryker run --incremental",
|
|
136
|
+
"release": "pnpm publish --provenance",
|
|
137
|
+
"size": "node scripts/check-size.mjs",
|
|
123
138
|
"test": "jest",
|
|
124
|
-
"test:cov": "jest --coverage",
|
|
125
|
-
"test:watch": "jest --watch",
|
|
126
|
-
"test:e2e": "jest --config jest.e2e.config.ts --runInBand",
|
|
127
139
|
"test:all": "pnpm test && pnpm test:e2e",
|
|
140
|
+
"test:cov": "jest --coverage",
|
|
128
141
|
"test:cov:all": "jest --config jest.coverage.config.ts --coverage",
|
|
129
|
-
"
|
|
130
|
-
"mutation:incremental": "stryker run --incremental",
|
|
131
|
-
"mutation:dry-run": "stryker run --dryRunOnly",
|
|
132
|
-
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.server.json",
|
|
142
|
+
"test:e2e": "jest --config jest.e2e.config.ts --runInBand",
|
|
133
143
|
"test:types": "tsc --noEmit -p tsconfig.typetest.json",
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"clean": "rm -rf dist coverage",
|
|
137
|
-
"release": "pnpm publish --provenance"
|
|
144
|
+
"test:watch": "jest --watch",
|
|
145
|
+
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.server.json"
|
|
138
146
|
}
|
|
139
147
|
}
|