@lenne.tech/nest-server 11.43.4 → 11.43.5
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.
|
@@ -330,6 +330,26 @@ on `FIX AVAILABLE` (a `first_patched_version` now exists) or on a withdrawn advi
|
|
|
330
330
|
API is reported as `UNVERIFIED` and tolerated locally — but **fails under `CI`**, because a skip
|
|
331
331
|
nobody reads is indistinguishable from a check that ran.
|
|
332
332
|
|
|
333
|
+
**A fix nobody named is still a fix (11.43.5).** GitHub leaves `first_patched_version` null on some advisories
|
|
334
|
+
after a release outside the vulnerable range shipped: GHSA-86w9-cpqp-85rv (node-forge) read
|
|
335
|
+
`<= 1.4.0` / null a day after 1.4.1 was published. Until 11.43.4 the guard skipped such an advisory,
|
|
336
|
+
so its suppression passed every run. It now reads the package's packument from the registry pnpm
|
|
337
|
+
installs from and, per vulnerable copy in the lockfile, looks for a stable release above it that
|
|
338
|
+
lies outside **every** range the advisory lists. A deprecated release is held back, not ruled out: it
|
|
339
|
+
counts only when every such release is deprecated, because some packages deprecate all of them
|
|
340
|
+
(node-sass: 132 of 132 stable releases), and ruling them out reads a published fix as "no fix" for good.
|
|
341
|
+
|
|
342
|
+
| Finding | Verdict |
|
|
343
|
+
|---------|---------|
|
|
344
|
+
| every copy has such a release, past `minimumReleaseAge` | `FIX AVAILABLE`, naming it — `unusableFixConsumers` applies as for a named fix |
|
|
345
|
+
| one is published but younger than `minimumReleaseAge` | passes, printed as `pending` with the date the gate clears (pnpm would refuse it, so failing would order a `minimumReleaseAgeExclude` nobody decided on) |
|
|
346
|
+
| some copy has none | passes — the suppression is still justified |
|
|
347
|
+
| no version the lockfile resolves is in the range any more | `NOT IN TREE` — the entry hides nothing |
|
|
348
|
+
| registry or lockfile unreadable | `UNVERIFIED`, with the reason (fails under `CI`) |
|
|
349
|
+
|
|
350
|
+
`--advisory-file` runs stay offline: they take packuments from `--packument-file` and never ask the
|
|
351
|
+
registry.
|
|
352
|
+
|
|
333
353
|
One consequence worth knowing before you reach for this mechanism: the guard fires when the advisory
|
|
334
354
|
has a patched version for **any** affected range. For most findings that is the honest outcome — a
|
|
335
355
|
fix exists, take it, and the case is an override problem rather than a suppression problem.
|
|
@@ -341,7 +361,7 @@ removed an export its consumer imports, or the consumer pins the vulnerable rang
|
|
|
341
361
|
`FIX AVAILABLE` is not advice but a dead end, and the only ways out used to be a permanently red
|
|
342
362
|
build or a guard switched off for that entry.
|
|
343
363
|
|
|
344
|
-
Measured case (
|
|
364
|
+
Measured case (a consuming Nuxt project, 2026-10-06): three `simple-git` advisories, one CRITICAL requiring `>=4.0.1`,
|
|
345
365
|
reachable only via `nuxt > @nuxt/devtools > simple-git`. simple-git 4 dropped the default export
|
|
346
366
|
devtools imports, so the override made `nuxt prepare` fail outright. The newest devtools in the 3.x
|
|
347
367
|
line still imports it that way, and devtools is a hard `dependencies` entry of `nuxt` — so it can be
|
|
@@ -372,6 +392,25 @@ any has moved:
|
|
|
372
392
|
second version of the same consumer is a path nobody assessed, and comparing by name alone let
|
|
373
393
|
one ride along on the other's declaration, with the winner decided by lockfile order.
|
|
374
394
|
|
|
395
|
+
**"Pulls an affected package" means an affected VERSION (11.43.5).** Checks 3 and the idle check below
|
|
396
|
+
count an edge only when its resolved version lies in one of the advisory's `vulnerable_version_range`s.
|
|
397
|
+
A parent pulling the FIXED release is no consumer of the vulnerability. Until 11.43.5 every parent
|
|
398
|
+
counted, so lifting one subtree to the fixed major (glob 14.0.3 pulling minimatch 11.0.3 next to
|
|
399
|
+
consumers still on minimatch 10) failed a correct declaration for good. An edge whose version cannot be
|
|
400
|
+
read (`link:`, `file:`), or any edge of an advisory that lists no range, still counts: "I could not tell
|
|
401
|
+
which version it pulls" must not read as "it pulls the fixed one" (mutations
|
|
402
|
+
`unusable-fix-counts-fixed-edges`, `unusable-fix-skips-unreadable-edge`). An edge is matched by the package it
|
|
403
|
+
PULLS, not by its key: pnpm keys an npm alias by the alias (`mm-cjs: minimatch@5.1.9`, an importer's
|
|
404
|
+
`version: minimatch@5.1.9`), so a key match missed every consumer behind an alias and read an edge keyed
|
|
405
|
+
`minimatch` that pulls a fork as a minimatch edge (mutation `unusable-fix-matches-alias-by-key`).
|
|
406
|
+
|
|
407
|
+
**Several consumers (11.43.5)** are joined with ` + `, each at its assessed version —
|
|
408
|
+
`'@nestjs/cli@11.0.24 + rimraf@6.1.3 cannot use 14.0.2'`. One vulnerable package often sits under
|
|
409
|
+
several dev tools at once, and before this a declaration could name only one, so such a finding had no
|
|
410
|
+
honest way in. Every listed consumer gets checks 1 and 3, and one more: a listed consumer that no
|
|
411
|
+
longer pulls an affected package fails too (mutation `unusable-fix-accepts-idle-consumer`), because a
|
|
412
|
+
list is where a path that is gone would otherwise keep covering.
|
|
413
|
+
|
|
375
414
|
The third check reads **both halves** of the lockfile. `importers:` holds what the repository itself
|
|
376
415
|
declares (`.`, `projects/api`, `projects/app`), `snapshots:` the edges between third-party packages
|
|
377
416
|
— and the first is the likelier production path, because a direct dependency can simply be raised.
|
|
@@ -401,12 +440,22 @@ plus one for the opposite failure, a guard that rejects a declaration which is s
|
|
|
401
440
|
matters just as much: a check that cries wolf on correct entries is a check that gets switched off,
|
|
402
441
|
which is how the hole this feature closes came about in the first place.
|
|
403
442
|
|
|
404
|
-
**Current
|
|
405
|
-
dev
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
443
|
+
**Current entries on `release/11.x` (since 11.43.5).** `GHSA-gcqx-w48m-w2h4` (deepmerge `<= 4.3.1`, low,
|
|
444
|
+
since 11.43.4): dev tooling only, through @nestjs/cli 11 > fork-ts-checker-webpack-plugin, with no patched
|
|
445
|
+
release at all. `GHSA-g3hv-75wg-m249` (minimatch `< 11.0.1`) and `GHSA-3g3m-2fjr-6pw4` (glob `<= 14.0.1`), both
|
|
446
|
+
moderate, both fixed only in a new major released 2026-10-27 that none of their consumers can take yet — five
|
|
447
|
+
for minimatch (@nestjs/cli 11.0.24 pins fork-ts-checker-webpack-plugin 9.1.0, which needs minimatch ^3), two for
|
|
448
|
+
glob (@nestjs/cli 11.0.24 pins glob 13.0.6 exactly, rimraf 6.1.3 needs ^13); the same two entries as 12.x
|
|
449
|
+
(DEV-3899). The justification is in the comment above `ignoreGhsas`, the declarations in
|
|
450
|
+
`unusableFixConsumers`. `tests/unit/audit-suppression-scope.spec.ts` keeps deepmerge and glob out of the
|
|
451
|
+
production tree and allows minimatch there only under `@ts-morph/common` (ts-morph, the Permissions module's
|
|
452
|
+
scanner, matching globs the developer writes) — its `prodVia` form.
|
|
453
|
+
|
|
454
|
+
`GHSA-vfj7-8cjw-p6xm` (braces, via nodemon / npm-watch) was listed from 2026-10-11 until 11.43.4: a
|
|
455
|
+
dev-tooling-only path of an advisory with no patched release at all, withdrawn by GitHub on 2026-10-23.
|
|
456
|
+
**Before adding an entry, and before copying one into nest-server-starter:** since lt CLI 1.42.0 the
|
|
457
|
+
starter's `auditConfig` is hoisted as a union into every generated project, so an entry there hides the
|
|
458
|
+
advisory in every customer workspace — including production paths this repository does not have.
|
|
410
459
|
|
|
411
460
|
**An entry whose package has left the declared range goes, even when the new version is no fix.**
|
|
412
461
|
`GHSA-ch52-4w7c-c8xp` (http-cache-semantics `<= 4.2.0`) was listed from 2026-10-03 to 2026-10-11.
|
package/.claude/rules/testing.md
CHANGED
|
@@ -268,7 +268,7 @@ pnpm run check:mutations -- --id=<id> # one mutation
|
|
|
268
268
|
pnpm run check:mutations -- --list # the registry, without running anything
|
|
269
269
|
pnpm run check:mutations -- --allow-dirty # when the fix and its evidence share a working tree
|
|
270
270
|
pnpm run check:mutations -- --jobs=4 # N mutations at a time (default: 2, or 4 on >=12 cores)
|
|
271
|
-
pnpm run check:mutations -- --no-infra # only the
|
|
271
|
+
pnpm run check:mutations -- --no-infra # only the 176 that need no MongoDB
|
|
272
272
|
pnpm run check:mutations -- --since=<ref> # only mutations touching files changed since <ref>
|
|
273
273
|
```
|
|
274
274
|
|
|
@@ -287,7 +287,7 @@ when the registry, a vitest config or a setup file changed, since those can move
|
|
|
287
287
|
commit, and in CI alongside the publish without blocking it. The price of caching is a cache that
|
|
288
288
|
has to model each spec's full dependency closure correctly, and getting that wrong produces a stale
|
|
289
289
|
PASS for a test that has since gone vacuous — exactly what the gate is there to prevent. Bad trade
|
|
290
|
-
at
|
|
290
|
+
at 262 mutations.
|
|
291
291
|
|
|
292
292
|
**Decided 2026-10-03 (repo owner): keep the full run.** Measured at 128 mutations, the CI job for
|
|
293
293
|
11.41.6 took **14 minutes**. The trigger to revisit is that wall time, not the mutation count —
|
|
@@ -334,7 +334,7 @@ exactly the environment where the answer matters.
|
|
|
334
334
|
|
|
335
335
|
Worth knowing before optimising the wrong thing: the specs behind all 86 e2e mutations add up to
|
|
336
336
|
**~40 seconds**. The step takes ~740s. The remaining ~700s is paying vitest's startup — process
|
|
337
|
-
spawn, transform, module graph, mongod connect, DB create and drop — once per mutation,
|
|
337
|
+
spawn, transform, module graph, mongod connect, DB create and drop — once per mutation, 262 times.
|
|
338
338
|
That work is largely single-threaded I/O and barely scales with cores: the full registry measures
|
|
339
339
|
**744s on a 12-core laptop and 777s on a 4-vCPU CI runner**.
|
|
340
340
|
|
|
@@ -25,6 +25,13 @@
|
|
|
25
25
|
1. **Document breaking changes** clearly in commit messages when incrementing MINOR version
|
|
26
26
|
2. **Update nest-server-starter** with migration instructions for breaking changes
|
|
27
27
|
3. **Consider downstream impact** - this package is used by multiple projects
|
|
28
|
+
4. **Every published version gets its nest-server-starter version** (repo owner, 2026-11-03). The
|
|
29
|
+
starter's `version` always equals the `@lenne.tech/nest-server` version it pins. Every version
|
|
30
|
+
published to npm is followed by the starter commit `Updated to nest-server version <X.Y.Z>`, tagged
|
|
31
|
+
`v<X.Y.Z>` by the starter's `tag.yml`, also when the bump is the only change. Starter changes
|
|
32
|
+
between two releases never change its version: the starter follows nest-server, never the other
|
|
33
|
+
way round. This covers the maintenance line too: a release from `release/11.x` is followed on the
|
|
34
|
+
starter's `release/11.x` branch.
|
|
28
35
|
|
|
29
36
|
## Release Process
|
|
30
37
|
|
|
@@ -36,8 +43,12 @@
|
|
|
36
43
|
(You can also sync manually any time via `pnpm run spectaql:sync`.)
|
|
37
44
|
3. Build the package (`pnpm run build`) — this also regenerates `FRAMEWORK-API.md` with the new version
|
|
38
45
|
4. Publish to npm
|
|
39
|
-
5.
|
|
40
|
-
|
|
46
|
+
5. **Release [nest-server-starter](https://github.com/lenneTech/nest-server-starter) with the same
|
|
47
|
+
version — a required step, not an optional "update and test".** Raise the framework and the
|
|
48
|
+
starter's own `version` to the new version (`pnpm run update`, migration guides applied), test, and
|
|
49
|
+
commit as `Updated to nest-server version <X.Y.Z>`; the starter's `tag.yml` tags it `v<X.Y.Z>` (rule 4).
|
|
50
|
+
6. A release made with `/lt-dev:publish --skip-downstream` leaves a gap in the starter's tag series.
|
|
51
|
+
Close it before the next nest-server release.
|
|
41
52
|
|
|
42
53
|
### Version Consistency Check
|
|
43
54
|
|
package/FRAMEWORK-API.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @lenne.tech/nest-server — Framework API Reference
|
|
2
2
|
|
|
3
|
-
> Auto-generated from source code as of 2026-10-
|
|
3
|
+
> Auto-generated from source code as of 2026-10-29 (v11.43.5)
|
|
4
4
|
> File: `FRAMEWORK-API.md` — compact, machine-readable API surface for Claude Code
|
|
5
5
|
|
|
6
6
|
## CoreModule.forRoot()
|
|
@@ -74,6 +74,21 @@ overrides:
|
|
|
74
74
|
'@graphql-tools/utils@>=12.0.0 <12.1.0': '12.1.0'
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
+
### Advisories no override can fix yet: `minimatch` and `glob` (11.43.5)
|
|
78
|
+
|
|
79
|
+
[GHSA-g3hv-75wg-m249](https://github.com/advisories/GHSA-g3hv-75wg-m249) (minimatch `< 11.0.1`, moderate, DoS
|
|
80
|
+
through globparts amplification) and [GHSA-3g3m-2fjr-6pw4](https://github.com/advisories/GHSA-3g3m-2fjr-6pw4)
|
|
81
|
+
(glob `<= 14.0.1`, moderate) are fixed only in new majors that no consumer can take yet: `@nestjs/cli` 11.0.24, the
|
|
82
|
+
newest 11.x, pins glob 13.0.6 and fork-ts-checker-webpack-plugin 9.1.0 (minimatch ^3) exactly, ts-morph 28
|
|
83
|
+
(`@ts-morph/common` 0.29), nodemon, `@swc/cli` and glob 13 need the 9.x / 10.x lines, rimraf 6.1.3 needs glob 13 — all
|
|
84
|
+
on their newest release. An override across the major is no way out (minimatch 11 removed `makeRe()` and
|
|
85
|
+
`Minimatch#regexp`). nest-server suppresses both in its own repository with `auditConfig.unusableFixConsumers`, which
|
|
86
|
+
`check:overrides` re-tests on every run. What it found for its own tree: the only production path is
|
|
87
|
+
`@lenne.tech/nest-server > ts-morph > @ts-morph/common > minimatch`, used by the Permissions module's scanner with
|
|
88
|
+
globs the developer writes; every other path is dev tooling. Your project's tree may have other paths, so check
|
|
89
|
+
`pnpm why minimatch --prod` and `pnpm why glob --prod` before you suppress the same way, and remove the entries once
|
|
90
|
+
your consumers move to minimatch 11 / glob 14.
|
|
91
|
+
|
|
77
92
|
### Retired: `@hono/node-server` (removed 2026-08-22, nest-server 11.36.1)
|
|
78
93
|
|
|
79
94
|
This list used to carry a third entry. `@modelcontextprotocol/sdk` declared `@hono/node-server@^1.19.9`
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Migration Guide: 11.43.4 → 11.43.5
|
|
2
|
+
|
|
3
|
+
A security patch for projects that still run on 11.x. It is published under the npm dist-tag `latest-11`, not `latest`:
|
|
4
|
+
12.x stays the version a plain install resolves to, and moving every project to 12.x remains the goal. This release
|
|
5
|
+
carries only urgent security fixes; functional fixes from 12.x are not backported.
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
| Category | Details |
|
|
10
|
+
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| **Bugfixes** | None in the framework code |
|
|
12
|
+
| **New Features** | None |
|
|
13
|
+
| **Framework API** | Unchanged |
|
|
14
|
+
| **Dependencies** | `follow-redirects` 1.16.1 → 1.16.2, transitive (§1) |
|
|
15
|
+
| **Breaking Changes** | None |
|
|
16
|
+
| **Migration Effort** | Raise the version, refresh one transitive package (§1); decide on two advisories that have no usable fix yet (§2) |
|
|
17
|
+
|
|
18
|
+
## Quick Migration
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# npm mode: the version is pinned exactly, and `latest` is 12.x, so name the version
|
|
22
|
+
pnpm add @lenne.tech/nest-server@11.43.5
|
|
23
|
+
pnpm update --depth Infinity follow-redirects
|
|
24
|
+
pnpm audit --prod
|
|
25
|
+
pnpm test
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Vendor-mode projects update the core to the tag `11.43.5` with the core updater and refresh `follow-redirects` the same
|
|
29
|
+
way.
|
|
30
|
+
|
|
31
|
+
## 1. follow-redirects 1.16.2
|
|
32
|
+
|
|
33
|
+
[GHSA-mrwp-f3q8-3g9p](https://github.com/advisories/GHSA-mrwp-f3q8-3g9p) (high, CVSS 5.9): `sensitiveHeaders` arrays
|
|
34
|
+
from another realm are discarded, so custom credentials can follow a redirect to another host. It covers 1.16.0 and
|
|
35
|
+
1.16.1, patched in 1.16.2.
|
|
36
|
+
|
|
37
|
+
nest-server reaches it through `node-mailjet > axios > follow-redirects`. axios requests a caret range, so no override is
|
|
38
|
+
needed, but an existing lockfile keeps 1.16.1 until it is refreshed (the command in Quick Migration). Projects that
|
|
39
|
+
reach axios on another path are covered by the same refresh.
|
|
40
|
+
|
|
41
|
+
## 2. minimatch and glob: fixed only in a new major
|
|
42
|
+
|
|
43
|
+
[GHSA-g3hv-75wg-m249](https://github.com/advisories/GHSA-g3hv-75wg-m249) (minimatch `< 11.0.1`, moderate, DoS through
|
|
44
|
+
globparts amplification) and [GHSA-3g3m-2fjr-6pw4](https://github.com/advisories/GHSA-3g3m-2fjr-6pw4) (glob `9.0.0` to
|
|
45
|
+
`14.0.1`, moderate, AbortSignal cancellation bypass) were published on 2026-10-30. Both fixes exist only in new majors
|
|
46
|
+
(minimatch 11.0.1, glob 14.0.2), and none of their consumers in the 11.x tree can take them: `@nestjs/cli` 11.0.24, the
|
|
47
|
+
newest 11.x, pins glob 13.0.6 and fork-ts-checker-webpack-plugin 9.1.0 (minimatch ^3) exactly; ts-morph, nodemon,
|
|
48
|
+
`@swc/cli`, glob 13 and rimraf 6 are on their newest releases and request the older majors. An override across the
|
|
49
|
+
major is no way out: minimatch 11 removed `makeRe()` and `Minimatch#regexp`.
|
|
50
|
+
|
|
51
|
+
`pnpm audit --prod` in a project reports minimatch: ts-morph is a dependency of nest-server (the Permissions module's
|
|
52
|
+
scanner), so the path `@lenne.tech/nest-server > ts-morph > @ts-morph/common > minimatch` reaches every production
|
|
53
|
+
tree. That scanner matches globs the developer writes, never request input. glob is dev tooling in nest-server's own
|
|
54
|
+
tree.
|
|
55
|
+
|
|
56
|
+
What a project does depends on its audit gate:
|
|
57
|
+
|
|
58
|
+
- **No blocking `pnpm audit` gate:** nothing to do. Re-check when the consumers move to minimatch 11 / glob 14.
|
|
59
|
+
- **A blocking gate:** check `pnpm why minimatch --prod` and `pnpm why glob --prod` first. Your tree may reach either
|
|
60
|
+
package on a path that does take request input; then that path is a finding of its own. If every path matches
|
|
61
|
+
patterns the developer writes, suppress both advisories with the reason next to them. A project that carries
|
|
62
|
+
`scripts/check-overrides.mjs` (starter-based projects do) declares them in `unusableFixConsumers`, so the guard
|
|
63
|
+
reports the day a consumer moves:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
# pnpm-workspace.yaml of the project — list the consumers YOUR lockfile shows, at their versions
|
|
67
|
+
auditConfig:
|
|
68
|
+
ignoreGhsas:
|
|
69
|
+
- GHSA-g3hv-75wg-m249
|
|
70
|
+
- GHSA-3g3m-2fjr-6pw4
|
|
71
|
+
unusableFixConsumers:
|
|
72
|
+
GHSA-g3hv-75wg-m249: '@swc/cli@0.8.1 + @ts-morph/common@0.29.0 + fork-ts-checker-webpack-plugin@9.1.0 + glob@13.0.6 + nodemon@3.1.14 cannot use 11.0.1'
|
|
73
|
+
GHSA-3g3m-2fjr-6pw4: '@nestjs/cli@11.0.24 + rimraf@6.1.3 cannot use 14.0.2'
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
nest-server's own repository carries exactly these entries, with the reasoning in `pnpm-workspace.yaml` and a scope
|
|
77
|
+
guard (`tests/unit/audit-suppression-scope.spec.ts`) that fails if glob reaches the production tree or minimatch reaches
|
|
78
|
+
it through any parent other than `@ts-morph/common`.
|
|
79
|
+
|
|
80
|
+
## 3. `check:overrides`: the guard of 12.x (projects that copied it)
|
|
81
|
+
|
|
82
|
+
Only relevant for a project that carries a copy of `scripts/check-overrides.mjs`. The guard on `release/11.x` is now the
|
|
83
|
+
one 12.x runs, which the declarations in §2 need:
|
|
84
|
+
|
|
85
|
+
- `unusableFixConsumers` takes several consumers, joined with ` + `, each at its assessed version. A listed consumer
|
|
86
|
+
that no longer pulls an affected version fails the run.
|
|
87
|
+
- Only edges to an AFFECTED version count as consumers; a parent that already pulls the fixed release does not. An edge
|
|
88
|
+
is matched by the package it pulls, not by its key (npm aliases).
|
|
89
|
+
- An advisory that names no patched version is looked up in the registry: a release outside every vulnerable range
|
|
90
|
+
makes the suppression `FIX AVAILABLE`, a release younger than `minimumReleaseAge` is reported as `pending`.
|
|
91
|
+
|
|
92
|
+
Copy the file from the tag `11.43.5` to take these over. Nothing changes for a project without the guard.
|
|
93
|
+
|
|
94
|
+
## Not in this release
|
|
95
|
+
|
|
96
|
+
Fixes from 12.x that are not urgent security fixes stay there. They arrive with the move to 12:
|
|
97
|
+
`migration-guides/11.43.x-to-12.0.x.md`.
|
|
98
|
+
|
|
99
|
+
## Module Documentation
|
|
100
|
+
|
|
101
|
+
- [Security overrides](../docs/security-overrides.md)
|
|
102
|
+
- [Package management rules](../.claude/rules/package-management.md)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lenne.tech/nest-server",
|
|
3
|
-
"version": "11.43.
|
|
3
|
+
"version": "11.43.5",
|
|
4
4
|
"description": "Modern, fast, powerful Node.js web framework in TypeScript based on Nest with a GraphQL API and a connection to MongoDB (or other databases).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|