@williamthorsen/nmr 0.26.0 → 0.26.1
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
CHANGED
|
@@ -363,7 +363,7 @@ function formatPaths(paths) {
|
|
|
363
363
|
${paths.map((path2) => ` ${path2}`).join("\n")}`;
|
|
364
364
|
}
|
|
365
365
|
function getMinVersion() {
|
|
366
|
-
const picked = { "version": "0.26.
|
|
366
|
+
const picked = { "version": "0.26.1" };
|
|
367
367
|
if (typeof picked.version !== "string") {
|
|
368
368
|
throw new TypeError("nmr/package.json: 'version' must be a string");
|
|
369
369
|
}
|
package/.readyup/manifest.json
CHANGED
package/README.md
CHANGED
|
@@ -3,21 +3,13 @@
|
|
|
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.26.
|
|
6
|
+
## Release notes — v0.26.1 (2026-08-04)
|
|
7
7
|
|
|
8
|
-
###
|
|
8
|
+
### 🐛 Bug fixes
|
|
9
9
|
|
|
10
|
-
-
|
|
10
|
+
- Prevent unnecessary bypasses of the check-result cache (#595)
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
The syntax is `rdy run --from npm:<package>`. `rdy run --packages` runs the kits contained in any packages listed in `.config/readyup.config.ts`. Requires `readyup` 0.23 or later.
|
|
15
|
-
|
|
16
|
-
- Ship agent guidance as CodeAssembly package content (#591)
|
|
17
|
-
|
|
18
|
-
A repo that consumes `@williamthorsen/nmr` can now adopt `nmr`'s agent guidance by naming the package in `.agents/codeassembly.yaml`. `codeassembly sync` then delivers that guidance to every agent harness. Guidance updates are thus delivered directly with each package, eliminating the need to keep a guidance file in sync. The `nmr sync-agent-files` command has been removed.
|
|
19
|
-
|
|
20
|
-
Migration guide: Delete `.agents/nmr/`, remove the `@nmr/AGENTS.md` include line, and remove all uses of `check:agent-files`.
|
|
12
|
+
Agents are now instructed never to bypass `nmr`'s check-result cache in order to force a supposed "real" run of a check that has already passed in the working tree, unless the output (and not only the result) of that check is needed. The "Re-run with --no-cache" hint, which was being treated as an instruction by agents, has been removed.
|
|
21
13
|
<!-- /section:release-notes -->
|
|
22
14
|
|
|
23
15
|
## Installation
|
|
@@ -229,7 +221,7 @@ $ nmr ci
|
|
|
229
221
|
# ... four minutes of build, typecheck, lint, and coverage ...
|
|
230
222
|
|
|
231
223
|
$ nmr ci
|
|
232
|
-
⏭️ ci: passed 2m ago on this tree (🚀 saved ~4m).
|
|
224
|
+
⏭️ ci: passed 2m ago on this tree (🚀 saved ~4m).
|
|
233
225
|
```
|
|
234
226
|
|
|
235
227
|
Composite commands expand into child `nmr` processes, so one green `nmr ci` records a pass for every cacheable command in the chain, at every scope it ran at. A later `nmr check`, `nmr typecheck`, or `nmr -F core test` on the same tree skips too. The skip line is suppressed by `-q`.
|
|
@@ -10,5 +10,5 @@ delivery: ambient
|
|
|
10
10
|
- Scope follows cwd, and bare `nmr` lists both registries: from the repo root a command covers root files and every workspace; from inside a package, that package alone. `nmr -F <pkg> <command>` targets one package from anywhere; `nmr root:<command>` targets root files alone, which isolates a failure to root code.
|
|
11
11
|
- Never `npx nmr`: inside a git worktree it can resolve a different nmr from outside the tree. Fall back to `pnpm exec nmr`.
|
|
12
12
|
- `nmr ci` runs what a code-quality workflow runs (build, then strict checks) and not the dependency audit, which belongs to a workflow of its own; `nmr prepush` runs both. Neither installs or binds a git hook.
|
|
13
|
-
- A check that already passed on the current working tree skips, printing `⏭️ <command>: passed …`.
|
|
13
|
+
- A check that already passed on the current working tree skips, printing `⏭️ <command>: passed …`. Any edit, addition, or deletion re-runs it, so a skip is a real pass and needs no confirming: never pass `--no-cache` to get a "real" run, which costs the command's full runtime to reach the same answer. Its one use is a file rather than an exit status -- a skipped command writes none, so a fresh `coverage/` needs `nmr --no-cache test:coverage`.
|
|
14
14
|
- The rest is in `node_modules/@williamthorsen/nmr/README.md`: pre/post hooks (every `nmr X` auto-wraps as `nmr X:pre && nmr X && nmr X:post`), script overrides and their `""`/`":"` skip values, `nmr upgrade` ceilings (report-only until `nmr upgrade --write`), the `nmr-compile` build (there is no repo-local build script), and the check-result cache's key, its `checkCache` config, and every condition that disables it.
|
package/dist/esm/check-cache.js
CHANGED
|
@@ -93,7 +93,7 @@ export function formatSkipLine(command, entry, now) {
|
|
|
93
93
|
const age = formatDuration(Math.max(0, now - Date.parse(entry.recordedAt)));
|
|
94
94
|
const saving = formatSaving(entry.durationMs);
|
|
95
95
|
const savingClause = saving === undefined ? '' : ` (${saving})`;
|
|
96
|
-
return `⏭️ ${command}: passed ${age} ago on this tree${savingClause}
|
|
96
|
+
return `⏭️ ${command}: passed ${age} ago on this tree${savingClause}.`;
|
|
97
97
|
}
|
|
98
98
|
export async function readBuildOutputState(monorepoRoot, config) {
|
|
99
99
|
const state = { missing: [], digests: {} };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@williamthorsen/nmr",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Context-aware script runner for pnpm monorepos",
|
|
6
6
|
"keywords": [
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"prettier-plugin-sh": "0.19.0",
|
|
69
69
|
"taze": "19.16.0",
|
|
70
70
|
"yaml": "2.9.0",
|
|
71
|
-
"@williamthorsen/nmr-core": "0.9.
|
|
71
|
+
"@williamthorsen/nmr-core": "0.9.1"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"prettier": "3.9.6",
|