@williamthorsen/nmr 0.32.2 → 0.33.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.
- package/.readyup/kits/default.js +4 -4
- package/.readyup/manifest.json +4 -4
- package/README.md +14 -16
- package/dist/esm/default-scripts.js +2 -2
- package/package.json +2 -2
package/.readyup/kits/default.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @noformat — @generated. Do not edit. Compiled by rdy. */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
export const __readyupVersion = "0.
|
|
3
|
+
export const __readyupVersion = "0.30.0";
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
// .readyup/kits/default.ts
|
|
@@ -25,7 +25,7 @@ var ROOT_TYPECHECK_STEP = { run: "root:typecheck", declinesArgs: true };
|
|
|
25
25
|
var workspaceScripts = {
|
|
26
26
|
build: ["compile"],
|
|
27
27
|
check: [TYPECHECK_STEP, "fmt:check", "lint:check", "test"],
|
|
28
|
-
"check:strict": [TYPECHECK_STEP, "fmt:check", "lint:strict", "test
|
|
28
|
+
"check:strict": [TYPECHECK_STEP, "fmt:check", "lint:strict", "test"],
|
|
29
29
|
clean: "nmr-clean",
|
|
30
30
|
compile: "nmr-compile",
|
|
31
31
|
fix: ["lint", "fmt"],
|
|
@@ -53,7 +53,7 @@ var rootScripts = {
|
|
|
53
53
|
"audit:prod": "pnpm exec v11y --prod",
|
|
54
54
|
build: ["-R build"],
|
|
55
55
|
check: [TYPECHECK_STEP, "fmt:check", "lint:check", "test"],
|
|
56
|
-
"check:strict": [TYPECHECK_STEP, "fmt:check", "lint:strict", "test
|
|
56
|
+
"check:strict": [TYPECHECK_STEP, "fmt:check", "lint:strict", "test"],
|
|
57
57
|
// Excludes the audit, which in CI has a workflow of its own. The build is what the narrowed check runs
|
|
58
58
|
// against, so it declines the arguments rather than being narrowed by them.
|
|
59
59
|
ci: [{ run: "build", declinesArgs: true }, "check:strict"],
|
|
@@ -402,7 +402,7 @@ function formatPaths(paths) {
|
|
|
402
402
|
${paths.map((path2) => ` ${path2}`).join("\n")}`;
|
|
403
403
|
}
|
|
404
404
|
function getMinVersion() {
|
|
405
|
-
const picked = { "version": "0.
|
|
405
|
+
const picked = { "version": "0.33.0" };
|
|
406
406
|
if (typeof picked["version"] !== "string") {
|
|
407
407
|
throw new TypeError("nmr/package.json: 'version' must be a string");
|
|
408
408
|
}
|
package/.readyup/manifest.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"path": "kits/default.ts"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"hash": "
|
|
16
|
+
"hash": "1cd4c58d",
|
|
17
17
|
"kind": "inline",
|
|
18
18
|
"path": "../package.json",
|
|
19
19
|
"paths": [
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
]
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"hash": "
|
|
24
|
+
"hash": "74bd7994",
|
|
25
25
|
"kind": "module",
|
|
26
26
|
"path": "../src/default-scripts.ts"
|
|
27
27
|
},
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
],
|
|
39
39
|
"name": "default",
|
|
40
40
|
"path": "kits/default.js",
|
|
41
|
-
"readyupVersion": "0.
|
|
41
|
+
"readyupVersion": "0.30.0",
|
|
42
42
|
"source": "kits/default.ts",
|
|
43
43
|
"sourceHash": "904ac753",
|
|
44
|
-
"targetHash": "
|
|
44
|
+
"targetHash": "2b35e5fd"
|
|
45
45
|
}
|
|
46
46
|
]
|
|
47
47
|
}
|
package/README.md
CHANGED
|
@@ -3,19 +3,15 @@
|
|
|
3
3
|
Context-aware script runner for pnpm monorepos. Ships an `nmr` (node-monorepo run) binary that provides centralized, consistent script execution across workspace packages and the monorepo root.
|
|
4
4
|
|
|
5
5
|
<!-- section:release-notes -->
|
|
6
|
-
## Release notes — v0.
|
|
6
|
+
## Release notes — v0.33.0 (2026-08-20)
|
|
7
7
|
|
|
8
|
-
###
|
|
8
|
+
### 🎉 Features
|
|
9
9
|
|
|
10
|
-
-
|
|
10
|
+
- Drop the coverage step from the `check:strict` gate (#727)
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Drops the coverage step from `check:strict` in both the workspace and root registries: The gate now runs `test` rather than `test:coverage`.
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Fixes an issue where `nmr upgrade` reported nothing in a repo that pins dependencies to exact versions, however far behind the tree was. nmr's shared upgrade policy now supplies both settings the upgrade tool needs to report a bare pin -- locked dependencies are included, and the range searched is `minor` -- and the default `upgrade` scripts no longer pass `--include-locked`, which went inert on its own in taze 20.0.1. The policy reaches a repo only through a `taze.config.ts` calling `defineConfig`, and nmr's ReadyUp kit now warns when a repo carries none.
|
|
17
|
-
|
|
18
|
-
The `minor` range mode applies to every dependency, not only a pinned one: a `~` range is searched as `^`, so minor upgrades are proposed for it, and a `packageMode` entry other than `minor` drops its dependency from a default pass rather than narrowing it.
|
|
14
|
+
Coverage is still available as `nmr test:coverage`, run as a separate step.
|
|
19
15
|
<!-- /section:release-notes -->
|
|
20
16
|
|
|
21
17
|
## Installation
|
|
@@ -311,7 +307,7 @@ A check that passed on a working tree passes again on the same working tree. nmr
|
|
|
311
307
|
|
|
312
308
|
```console
|
|
313
309
|
$ nmr ci
|
|
314
|
-
# ... four minutes of build, typecheck, lint, and
|
|
310
|
+
# ... four minutes of build, typecheck, lint, and tests ...
|
|
315
311
|
|
|
316
312
|
$ nmr ci
|
|
317
313
|
⏭️ node-monorepo-tools: ci: passed 2m ago on this tree, saved ~4m
|
|
@@ -406,7 +402,7 @@ $ nmr check
|
|
|
406
402
|
⏭️ nmr-core: check: passed 3m ago on this tree, saved ~48s — replayed: nmr-core: fmt:check: All matched files use Prettier code style!; nmr-core: test: Test Files 6 passed (6) Tests 41 passed (41)
|
|
407
403
|
```
|
|
408
404
|
|
|
409
|
-
The assembly is flat: a constituent that is itself a composite contributes its own leaves' lines, so a skipped `ci` replays a package's `test
|
|
405
|
+
The assembly is flat: a constituent that is itself a composite contributes its own leaves' lines, so a skipped `ci` replays a package's `test` rather than one opaque `check:strict` line. A delegate expands into the scopes it fans out to, and a constituent that recorded no excerpt is absent rather than inferred: `typecheck` and `lint:check` print nothing on success and contribute nothing above, and a command outside the [cacheable set](#what-is-cached) records nothing at all, so `ci` replays what `check:strict` earned and nothing for `build`.
|
|
410
406
|
|
|
411
407
|
It is assembled when the composite records its pass rather than when it skips, so every excerpt in it was certified during that one run, on that one tree. `NMR_RUN_ID` is what makes that provable; see [reserved environment variables](#reserved-environment-variables).
|
|
412
408
|
|
|
@@ -579,7 +575,7 @@ These scripts are available out of the box. Repo-wide config (tier 2) and per-pa
|
|
|
579
575
|
| ---------------- | ----------------------------------------------------------- |
|
|
580
576
|
| `build` | `compile` |
|
|
581
577
|
| `check` | `typecheck`, `fmt:check`, `lint:check`, `test` |
|
|
582
|
-
| `check:strict` | `typecheck`, `fmt:check`, `lint:strict`, `test
|
|
578
|
+
| `check:strict` | `typecheck`, `fmt:check`, `lint:strict`, `test` |
|
|
583
579
|
| `clean` | `nmr-clean` |
|
|
584
580
|
| `compile` | `nmr-compile` |
|
|
585
581
|
| `fix` | `lint`, `fmt` |
|
|
@@ -640,10 +636,12 @@ Neither is bound to a git hook. `prepush` is named for when you run it, not for
|
|
|
640
636
|
|
|
641
637
|
#### Check and quality
|
|
642
638
|
|
|
643
|
-
| Command | Runs
|
|
644
|
-
| -------------- |
|
|
645
|
-
| `check` | `typecheck`, `fmt:check`, `lint:check`, `test`
|
|
646
|
-
| `check:strict` | `typecheck`, `fmt:check`, `lint:strict`, `test
|
|
639
|
+
| Command | Runs |
|
|
640
|
+
| -------------- | ----------------------------------------------- |
|
|
641
|
+
| `check` | `typecheck`, `fmt:check`, `lint:check`, `test` |
|
|
642
|
+
| `check:strict` | `typecheck`, `fmt:check`, `lint:strict`, `test` |
|
|
643
|
+
|
|
644
|
+
Neither gate computes coverage: Instrumentation multiplies the wall time of the run they exist to keep short. Coverage is [`test:coverage`](#test-selections), run as a step of its own; a repo that wants it inside the gate [overrides](#configuration) `check:strict`.
|
|
647
645
|
|
|
648
646
|
#### Fix
|
|
649
647
|
|
|
@@ -4,7 +4,7 @@ const ROOT_TYPECHECK_STEP = { run: 'root:typecheck', declinesArgs: true };
|
|
|
4
4
|
export const workspaceScripts = {
|
|
5
5
|
build: ['compile'],
|
|
6
6
|
check: [TYPECHECK_STEP, 'fmt:check', 'lint:check', 'test'],
|
|
7
|
-
'check:strict': [TYPECHECK_STEP, 'fmt:check', 'lint:strict', 'test
|
|
7
|
+
'check:strict': [TYPECHECK_STEP, 'fmt:check', 'lint:strict', 'test'],
|
|
8
8
|
clean: 'nmr-clean',
|
|
9
9
|
compile: 'nmr-compile',
|
|
10
10
|
fix: ['lint', 'fmt'],
|
|
@@ -31,7 +31,7 @@ export const rootScripts = {
|
|
|
31
31
|
'audit:prod': 'pnpm exec v11y --prod',
|
|
32
32
|
build: ['-R build'],
|
|
33
33
|
check: [TYPECHECK_STEP, 'fmt:check', 'lint:check', 'test'],
|
|
34
|
-
'check:strict': [TYPECHECK_STEP, 'fmt:check', 'lint:strict', 'test
|
|
34
|
+
'check:strict': [TYPECHECK_STEP, 'fmt:check', 'lint:strict', 'test'],
|
|
35
35
|
ci: [{ run: 'build', declinesArgs: true }, 'check:strict'],
|
|
36
36
|
clean: 'nmr-clean',
|
|
37
37
|
fix: ['lint', 'fmt'],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@williamthorsen/nmr",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Context-aware script runner for pnpm monorepos",
|
|
6
6
|
"keywords": [
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"@williamthorsen/toolbelt.testing": "0.3.0",
|
|
81
81
|
"@williamthorsen/toolbelt.vitest": "0.4.0",
|
|
82
82
|
"prettier": "3.9.6",
|
|
83
|
-
"readyup": "0.
|
|
83
|
+
"readyup": "0.30.0",
|
|
84
84
|
"tinyglobby": "0.2.17",
|
|
85
85
|
"typescript": "6.0.3",
|
|
86
86
|
"vitest": "4.1.10"
|