@bymax-one/nest-config 1.1.1 → 1.1.2

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 CHANGED
@@ -11,6 +11,38 @@ as the GitHub Release body, so each released version needs a matching
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [1.1.2] - 2026-08-14
15
+
16
+ **Documentation only.** `dist/` is byte-identical to `1.1.1`, verified by hashing every file in
17
+ the published tarball against a local build. Inside the package only `README.md`, `CHANGELOG.md`
18
+ and the `version` field of `package.json` differ.
19
+
20
+ ### Documentation
21
+
22
+ - **The `1.1.1` apply-note understated the work for a consumer with a mutation gate.** It said
23
+ a derived backend has nothing to change, which is true for correctness and wrong as an
24
+ estimate. Under Stryker, a message string literal is a mutant: authoring messages for rules
25
+ that had none converts operator-facing prose into tested behavior, and a repo gating at
26
+ `break: 100` fails until an assertion pins each message. Reported by a consumer adopting
27
+ `1.1.1`, which added one assertion per message to keep its gate green.
28
+
29
+ The honest version of the note: **upgrading changes nothing** — a rule that carries no
30
+ message renders exactly as it did before, verified byte-for-byte on a real boot. **Writing
31
+ the messages the release makes worth writing is real work**: wherever mutation testing is a
32
+ gate, every message needs an assertion that covers it — one assertion on the rendered report
33
+ can cover several — and that is the work the release exists to enable.
34
+
35
+ Also worth knowing before writing them: a rule whose variable is _absent_ rendered
36
+ `missing required value` on `1.1.0`, not `invalid value`. For a conditionally-required
37
+ variable that is the more misleading of the two — nothing was forgotten, another variable
38
+ made it required — so the before/after is larger than the `invalid value` case suggests.
39
+
40
+ - The mutation badge read **99.59%**; the score measured as the `v1.1.1` release gate is
41
+ **99.61%**. The denominator grew with the new code — 14 more killed mutants in
42
+ `env-validator.ts`, the only file the release changed executably, and the same single
43
+ counted survivor — so the badge, the README claim and `docs/mutation_testing_results.md`
44
+ now state the measured number, with a dated re-run entry recording it.
45
+
14
46
  ## [1.1.1] - 2026-08-14
15
47
 
16
48
  ### Fixed
@@ -231,4 +263,5 @@ have regressed from. They are kept because the reasoning is worth having.
231
263
  [1.0.3]: https://github.com/bymaxone/nest-config/compare/v1.0.2...v1.0.3
232
264
  [1.1.0]: https://github.com/bymaxone/nest-config/compare/v1.0.3...v1.1.0
233
265
  [1.1.1]: https://github.com/bymaxone/nest-config/compare/v1.1.0...v1.1.1
234
- [Unreleased]: https://github.com/bymaxone/nest-config/compare/v1.1.1...HEAD
266
+ [1.1.2]: https://github.com/bymaxone/nest-config/compare/v1.1.1...v1.1.2
267
+ [Unreleased]: https://github.com/bymaxone/nest-config/compare/v1.1.2...HEAD
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
  <a href="https://www.npmjs.com/package/@bymax-one/nest-config"><img src="https://img.shields.io/npm/dm/@bymax-one/nest-config?style=flat-square&colorA=000000&colorB=000000" alt="npm downloads" /></a>
15
15
  <a href="https://github.com/bymaxone/nest-config/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/bymaxone/nest-config/ci.yml?branch=main&style=flat-square&colorA=000000&label=CI" alt="CI status" /></a>
16
16
  <a href="https://github.com/bymaxone/nest-config/actions/workflows/ci.yml"><img src="https://img.shields.io/badge/coverage-100%25-brightgreen?style=flat-square&colorA=000000" alt="coverage" /></a>
17
- <a href="https://github.com/bymaxone/nest-config/blob/main/docs/mutation_testing_results.md"><img src="https://img.shields.io/badge/mutation-99.59%25-brightgreen?style=flat-square&colorA=000000" alt="mutation score" /></a>
17
+ <a href="https://github.com/bymaxone/nest-config/blob/main/docs/mutation_testing_results.md"><img src="https://img.shields.io/badge/mutation-99.61%25-brightgreen?style=flat-square&colorA=000000" alt="mutation score" /></a>
18
18
  <a href="https://scorecard.dev/viewer/?uri=github.com/bymaxone/nest-config"><img src="https://api.scorecard.dev/projects/github.com/bymaxone/nest-config/badge?style=flat-square" alt="OpenSSF Scorecard" /></a>
19
19
  <a href="https://github.com/bymaxone/nest-config/blob/main/LICENSE"><img src="https://img.shields.io/github/license/bymaxone/nest-config?style=flat-square&colorA=000000&colorB=000000" alt="license" /></a>
20
20
  <a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-strict-3178C6?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" /></a>
@@ -514,7 +514,7 @@ Configuration decides whether a process may start at all, so the suite is held t
514
514
  beyond "the tests pass".
515
515
 
516
516
  - ✅ **100% line coverage** — statements, branches, functions and lines, enforced as a gate
517
- - ✅ **99.59% mutation score** — verified with [Stryker](https://stryker-mutator.io/) at
517
+ - ✅ **99.61% mutation score** — verified with [Stryker](https://stryker-mutator.io/) at
518
518
  `break: 95`; ten provable equivalents carry their reason inline, and the one survivor left
519
519
  is an equivalent no directive can reach, so it stays counted rather than silenced
520
520
  ([report](./docs/mutation_testing_results.md))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bymax-one/nest-config",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Typed and validated environment configuration entry point for NestJS 11 applications, built on Zod v4.",
5
5
  "author": "Bymax One <support@bymax.one>",
6
6
  "license": "MIT",