@bymax-one/nest-queue 1.0.8 → 1.0.9
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 +17 -0
- package/README.md +2 -2
- package/dist/server/index.cjs +10 -4
- package/dist/server/index.mjs +10 -4
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,22 @@ versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [1.0.9] — 2026-08-06
|
|
11
|
+
|
|
12
|
+
**Published-artifact change, not a behavioural one.** `dist/` differs from `1.0.8` — this
|
|
13
|
+
bundler preserves comments and the source gained mutation-suppression notes — but no runtime
|
|
14
|
+
path changed. Measured by building both revisions and diffing the output.
|
|
15
|
+
|
|
16
|
+
### Documentation
|
|
17
|
+
|
|
18
|
+
- The mutation badge and README said **99.06%**; the measured score is **99.68%**.
|
|
19
|
+
|
|
20
|
+
### Tests
|
|
21
|
+
|
|
22
|
+
- The withheld Redis connection now has the shape of its guarantee asserted: that the property is
|
|
23
|
+
non-enumerable, that redefining it throws, and that the URL's password stays out of both
|
|
24
|
+
`JSON.stringify` and `inspect({ showHidden: true })`.
|
|
25
|
+
|
|
10
26
|
## [1.0.8] — 2026-08-04
|
|
11
27
|
|
|
12
28
|
**Runtime change.** `dist/` differs from `1.0.7`.
|
|
@@ -389,6 +405,7 @@ v6 peer range.
|
|
|
389
405
|
|
|
390
406
|
---
|
|
391
407
|
|
|
408
|
+
[1.0.9]: https://github.com/bymaxone/nest-queue/compare/v1.0.8...v1.0.9
|
|
392
409
|
[1.0.8]: https://github.com/bymaxone/nest-queue/compare/v1.0.7...v1.0.8
|
|
393
410
|
[1.0.7]: https://github.com/bymaxone/nest-queue/compare/v1.0.6...v1.0.7
|
|
394
411
|
[1.0.6]: https://github.com/bymaxone/nest-queue/releases/tag/v1.0.6
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<a href="https://www.npmjs.com/package/@bymax-one/nest-queue"><img src="https://img.shields.io/npm/dm/@bymax-one/nest-queue?style=flat-square&colorA=000000&colorB=000000" alt="npm downloads" /></a>
|
|
15
15
|
<a href="https://github.com/bymaxone/nest-queue/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/bymaxone/nest-queue/ci.yml?branch=main&style=flat-square&colorA=000000&label=CI" alt="CI status" /></a>
|
|
16
16
|
<a href="https://github.com/bymaxone/nest-queue/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-queue/blob/main/docs/mutation_testing_results.md"><img src="https://img.shields.io/badge/mutation-99.
|
|
17
|
+
<a href="https://github.com/bymaxone/nest-queue/blob/main/docs/mutation_testing_results.md"><img src="https://img.shields.io/badge/mutation-99.68%25-brightgreen?style=flat-square&colorA=000000" alt="mutation score" /></a>
|
|
18
18
|
<a href="https://scorecard.dev/viewer/?uri=github.com/bymaxone/nest-queue"><img src="https://api.scorecard.dev/projects/github.com/bymaxone/nest-queue/badge?style=flat-square" alt="OpenSSF Scorecard" /></a>
|
|
19
19
|
<a href="https://github.com/bymaxone/nest-queue/blob/main/LICENSE"><img src="https://img.shields.io/github/license/bymaxone/nest-queue?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>
|
|
@@ -796,7 +796,7 @@ key will do it twice at some point.
|
|
|
796
796
|
## 🧪 Testing & Quality
|
|
797
797
|
|
|
798
798
|
- **100% line/branch coverage** on every implemented file (hard CI gate).
|
|
799
|
-
- **Mutation score 99.
|
|
799
|
+
- **Mutation score 99.68%** (Stryker `break 95`) — see [`docs/mutation_testing_results.md`](docs/mutation_testing_results.md).
|
|
800
800
|
- **Real-Redis E2E** via Testcontainers (workers, flows, schedulers, deduplication, retries,
|
|
801
801
|
DLQ, graceful shutdown).
|
|
802
802
|
- **Type-level API tests** (`pnpm test:types`) pin the published signatures, so a refactor
|
package/dist/server/index.cjs
CHANGED
|
@@ -141,6 +141,7 @@ function applyDefaults(opts) {
|
|
|
141
141
|
Object.defineProperty(base, "connection", {
|
|
142
142
|
get: () => connection,
|
|
143
143
|
enumerable: false,
|
|
144
|
+
// Stryker disable next-line BooleanLiteral: equivalent HERE — this object is `Object.freeze`d on the way out, and freezing makes every property non-configurable regardless. The flag stays because it states the guarantee at the point the accessor is defined, and because the sibling packages that withhold secrets the same way are NOT frozen, where it is load-bearing
|
|
144
145
|
configurable: false
|
|
145
146
|
});
|
|
146
147
|
return Object.freeze(base);
|
|
@@ -1333,10 +1334,15 @@ QueueLifecycle = __decorateClass([
|
|
|
1333
1334
|
], QueueLifecycle);
|
|
1334
1335
|
|
|
1335
1336
|
// src/server/bymax-queue.module.ts
|
|
1336
|
-
var { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } =
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1337
|
+
var { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } = (
|
|
1338
|
+
// The `moduleName` shapes the generated token's description only — a label read in Nest's DI
|
|
1339
|
+
// error output, never compared against anything. Mutation testing reports it as surviving for
|
|
1340
|
+
// that reason; no Stryker directive attaches inside this builder chain, so the note lives here.
|
|
1341
|
+
new common.ConfigurableModuleBuilder({ moduleName: "BymaxQueue" }).setClassMethodName("forRoot").setFactoryMethodName("createQueueOptions").setExtras({ isGlobal: true }, (definition, extras) => ({
|
|
1342
|
+
...definition,
|
|
1343
|
+
global: extras.isGlobal
|
|
1344
|
+
})).build()
|
|
1345
|
+
);
|
|
1340
1346
|
exports.BymaxQueueModule = class BymaxQueueModule extends ConfigurableModuleClass {
|
|
1341
1347
|
/**
|
|
1342
1348
|
* Synchronous registration. Validates options, resolves defaults, and wires the
|
package/dist/server/index.mjs
CHANGED
|
@@ -139,6 +139,7 @@ function applyDefaults(opts) {
|
|
|
139
139
|
Object.defineProperty(base, "connection", {
|
|
140
140
|
get: () => connection,
|
|
141
141
|
enumerable: false,
|
|
142
|
+
// Stryker disable next-line BooleanLiteral: equivalent HERE — this object is `Object.freeze`d on the way out, and freezing makes every property non-configurable regardless. The flag stays because it states the guarantee at the point the accessor is defined, and because the sibling packages that withhold secrets the same way are NOT frozen, where it is load-bearing
|
|
142
143
|
configurable: false
|
|
143
144
|
});
|
|
144
145
|
return Object.freeze(base);
|
|
@@ -1331,10 +1332,15 @@ QueueLifecycle = __decorateClass([
|
|
|
1331
1332
|
], QueueLifecycle);
|
|
1332
1333
|
|
|
1333
1334
|
// src/server/bymax-queue.module.ts
|
|
1334
|
-
var { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } =
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1335
|
+
var { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN, OPTIONS_TYPE, ASYNC_OPTIONS_TYPE } = (
|
|
1336
|
+
// The `moduleName` shapes the generated token's description only — a label read in Nest's DI
|
|
1337
|
+
// error output, never compared against anything. Mutation testing reports it as surviving for
|
|
1338
|
+
// that reason; no Stryker directive attaches inside this builder chain, so the note lives here.
|
|
1339
|
+
new ConfigurableModuleBuilder({ moduleName: "BymaxQueue" }).setClassMethodName("forRoot").setFactoryMethodName("createQueueOptions").setExtras({ isGlobal: true }, (definition, extras) => ({
|
|
1340
|
+
...definition,
|
|
1341
|
+
global: extras.isGlobal
|
|
1342
|
+
})).build()
|
|
1343
|
+
);
|
|
1338
1344
|
var BymaxQueueModule = class extends ConfigurableModuleClass {
|
|
1339
1345
|
/**
|
|
1340
1346
|
* Synchronous registration. Validates options, resolves defaults, and wires the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bymax-one/nest-queue",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "NestJS dynamic module wrapping BullMQ — typed jobs, flows, job schedulers, deduplication, OpenTelemetry, graceful shutdown",
|
|
5
5
|
"author": "Bymax One <support@bymax.one>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"prettier --write"
|
|
147
147
|
]
|
|
148
148
|
},
|
|
149
|
-
"packageManager": "pnpm@11.
|
|
149
|
+
"packageManager": "pnpm@11.20.0",
|
|
150
150
|
"engines": {
|
|
151
151
|
"node": ">=24.0.0"
|
|
152
152
|
},
|