@williamthorsen/nmr 0.55.0 โ 1.0.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/.meta/changelog.json +124 -0
- package/.readyup/kits/default.js +667 -167
- package/.readyup/manifest.json +77 -46
- package/CHANGELOG.md +40 -0
- package/README.md +1 -14
- package/agents/guidance/rulebooks/nmr.md +1 -1
- package/bin/ensure-prepublish-hooks.js +1 -1
- package/bin/nmr-actionlint.js +1 -1
- package/bin/nmr-clean.js +1 -1
- package/bin/nmr-compile.js +1 -1
- package/bin/nmr-fmt.js +1 -1
- package/bin/nmr-report-catalog.js +1 -1
- package/bin/nmr-report-overrides.js +1 -1
- package/bin/nmr-shellcheck.js +1 -1
- package/bin/nmr-taze.js +1 -1
- package/bin/nmr-vitest.js +1 -1
- package/bin/nmr.js +1 -1
- package/dist/esm/bins.d.ts +11 -0
- package/dist/esm/bins.js +11 -0
- package/dist/esm/check-cache-entries.js +5 -5
- package/dist/esm/check-cache-gate.js +2 -1
- package/dist/esm/child-env.js +2 -1
- package/dist/esm/child-process.d.ts +2 -0
- package/dist/esm/child-process.js +3 -3
- package/dist/esm/cli-actionlint.js +2 -1
- package/dist/esm/cli-build.js +2 -1
- package/dist/esm/cli-clean.js +2 -1
- package/dist/esm/cli-ensure-prepublish-hooks.js +29 -16
- package/dist/esm/cli-fmt.js +2 -1
- package/dist/esm/cli-report-catalog.js +2 -1
- package/dist/esm/cli-report-overrides.js +2 -1
- package/dist/esm/cli-shellcheck.js +2 -1
- package/dist/esm/cli-taze.js +2 -1
- package/dist/esm/cli-vitest.js +2 -1
- package/dist/esm/cli.js +2 -1
- package/dist/esm/commands/actionlint.d.ts +3 -3
- package/dist/esm/commands/actionlint.js +5 -5
- package/dist/esm/commands/build.js +6 -6
- package/dist/esm/commands/clean.js +3 -1
- package/dist/esm/commands/compiler.js +3 -3
- package/dist/esm/commands/ensure-prepublish-hooks.d.ts +1 -1
- package/dist/esm/commands/ensure-prepublish-hooks.js +4 -5
- package/dist/esm/commands/fmt.d.ts +3 -3
- package/dist/esm/commands/fmt.js +33 -52
- package/dist/esm/commands/format-targets.js +1 -13
- package/dist/esm/commands/node-pin.js +3 -4
- package/dist/esm/commands/rewrite-specifiers.js +2 -2
- package/dist/esm/commands/run-vitest.js +5 -5
- package/dist/esm/commands/shellcheck.d.ts +3 -3
- package/dist/esm/commands/shellcheck.js +8 -11
- package/dist/esm/commands/taze.js +5 -4
- package/dist/esm/commands/tsconfig-chain.js +3 -3
- package/dist/esm/commands/workflow-tools.d.ts +12 -3
- package/dist/esm/commands/workflow-tools.js +29 -14
- package/dist/esm/config-validation.js +9 -9
- package/dist/esm/config.js +2 -3
- package/dist/esm/delegate-host.d.ts +1 -1
- package/dist/esm/delegate-host.js +5 -3
- package/dist/esm/entry-chain.js +2 -3
- package/dist/esm/fan-out.d.ts +3 -3
- package/dist/esm/fan-out.js +14 -6
- package/dist/esm/git-ignored-paths.js +3 -3
- package/dist/esm/help.d.ts +14 -15
- package/dist/esm/help.js +29 -54
- package/dist/esm/helpers/filter-selection.js +2 -2
- package/dist/esm/helpers/package-json.js +8 -9
- package/dist/esm/helpers/resolveXdgBaseDir.d.ts +5 -0
- package/dist/esm/helpers/resolveXdgBaseDir.js +12 -0
- package/dist/esm/helpers/type-guards.d.ts +0 -2
- package/dist/esm/helpers/type-guards.js +2 -4
- package/dist/esm/invocation-args.d.ts +0 -32
- package/dist/esm/invocation-args.js +23 -121
- package/dist/esm/invocation.d.ts +3 -1
- package/dist/esm/invocation.js +1 -0
- package/dist/esm/machine-lock.js +3 -4
- package/dist/esm/nmr-flags.d.ts +109 -0
- package/dist/esm/nmr-flags.js +120 -0
- package/dist/esm/output-style.d.ts +1 -1
- package/dist/esm/output-style.js +2 -1
- package/dist/esm/pass-manifest.js +2 -2
- package/dist/esm/presentation.d.ts +1 -1
- package/dist/esm/remote-host-session.d.ts +2 -0
- package/dist/esm/remote-host-session.js +1 -0
- package/dist/esm/remote-probe.js +2 -2
- package/dist/esm/remote-run.d.ts +3 -3
- package/dist/esm/remote-run.js +6 -4
- package/dist/esm/remote-session.js +4 -4
- package/dist/esm/remote-snapshot.js +8 -22
- package/dist/esm/resolver.js +3 -4
- package/dist/esm/route.d.ts +29 -0
- package/dist/esm/route.js +94 -0
- package/dist/esm/run-chain.d.ts +1 -1
- package/dist/esm/run-chain.js +4 -2
- package/dist/esm/runCli.d.ts +2 -0
- package/dist/esm/runCli.js +36 -78
- package/dist/esm/stated-outcome.js +3 -3
- package/dist/esm/steps.js +6 -30
- package/dist/esm/user-config.js +7 -14
- package/dist/esm/vitest-source-resolution.js +5 -6
- package/dist/esm/vitest-temp-isolation.d.ts +2 -0
- package/dist/esm/vitest-temp-isolation.js +44 -0
- package/dist/esm/vitest.d.ts +9 -0
- package/dist/esm/vitest.js +8 -5
- package/docs/reporting.md +3 -3
- package/docs/scripts.md +1 -1
- package/docs/utilities.md +5 -5
- package/docs/vitest.md +11 -6
- package/package.json +4 -4
package/.meta/changelog.json
CHANGED
|
@@ -1,4 +1,128 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"date": "2026-11-08",
|
|
5
|
+
"sections": [
|
|
6
|
+
{
|
|
7
|
+
"title": "๐งช Tests",
|
|
8
|
+
"audience": "dev",
|
|
9
|
+
"items": [
|
|
10
|
+
{
|
|
11
|
+
"description": "Replaces the hand-written deadline loops in nmr's polling test helpers with `vi.waitFor` at the same interval and timeout, and keeps the one 50 ms real-time wait in `machine-lock.unit.test.ts` under a line-level disable of `sky-pilot/no-real-time-sleep`, because only elapsed time shows that further polls print nothing. (#1220)",
|
|
12
|
+
"hash": "3ece5a56e6c2f3f04b5838e1709a1ddd80675df6",
|
|
13
|
+
"entry": 1
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"version": "0.56.0",
|
|
21
|
+
"date": "2026-11-08",
|
|
22
|
+
"sections": [
|
|
23
|
+
{
|
|
24
|
+
"title": "๐ Features",
|
|
25
|
+
"audience": "all",
|
|
26
|
+
"items": [
|
|
27
|
+
{
|
|
28
|
+
"description": "Route release-kit commands through toolbelt.cli (#1186)",
|
|
29
|
+
"body": "Routes `release-kit`'s commands through the shared `toolbelt.cli` command parser, which renders each command's help from its option definitions and reports a usage error with a `Try '... --help'` line and exit code 2 instead of exit code 1. Also makes a bare `release-kit`, `release-kit overrides`, or `release-kit sync-labels` report \"A command is required.\" and exit 2 instead of printing help and exiting 0.",
|
|
30
|
+
"breaking": true,
|
|
31
|
+
"hash": "343c0f97b212aa710c49baf61fce118256da6db7"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"description": "Changes the exit code of a usage error in `nmr`, `nmr-fmt`, and `ensure-prepublish-hooks` from 1 to 2, which covers an unknown flag in each, and in `nmr` an invalid `--output-style`, `NMR_COMMAND_VERBOSITY`, `NMR_REPORT_FORMAT`, or `NMR_OUTPUT_STYLE` value and `nmr --log` given without a command. (#1187)",
|
|
35
|
+
"hash": "da4f5491167e75cf8da00495e60b41d74030b4b6",
|
|
36
|
+
"entry": 1
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"description": "Adds a `Did you mean` line to the `Unknown command` error of `nmr` when a defined command is close to the name typed, followed by `Try 'nmr --help'.` (#1187)",
|
|
40
|
+
"hash": "da4f5491167e75cf8da00495e60b41d74030b4b6",
|
|
41
|
+
"entry": 2
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"description": "Generates `nmr --help` from nmr's flag definitions, listing the commands of the current scope under `Commands:` and those of the other scope after the environment variables and files, and adds `-h` as a short help flag. (#1187)",
|
|
45
|
+
"hash": "da4f5491167e75cf8da00495e60b41d74030b4b6",
|
|
46
|
+
"entry": 3
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"description": "Adds `--help` to `nmr-fmt` and `ensure-prepublish-hooks`, each generated from the command's flag definitions. (#1187)",
|
|
50
|
+
"hash": "da4f5491167e75cf8da00495e60b41d74030b4b6",
|
|
51
|
+
"entry": 4
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"description": "Prefixes each handled error line written by `nmr` and its other bins, `release-kit`, and `v11y-check` with the name of the program that wrote it, as `<bin>: <message>` in place of `Error: <message>`, for usage errors such as an unknown command or option as well, and names `v11y` for both of the bins in `v11y-check`. (#1190)",
|
|
55
|
+
"hash": "b7634734032c508e45388b7752b7b6905071273e",
|
|
56
|
+
"entry": 1
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"description": "Adds the warn-level check `every publishable package declares prepublishOnly` to nmr's ReadyUp kit, which lists each non-private workspace package that does not declare a `prepublishOnly` script, since a package without one publishes without its build output. (#1192)",
|
|
60
|
+
"hash": "26b1795ea3f0fa43ca5e3d6e294acfa72f4bb68d",
|
|
61
|
+
"entry": 1
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"description": "Adds the `shouldIsolateTempDir` option to `defineVitestConfig` and `defineRootVitestConfig`, on by default, which loads a global setup that points `TMPDIR` at a directory of the run's own, removes it when the run ends, and first removes any such directory left by a run that a signal stopped. (#1208)",
|
|
65
|
+
"hash": "c3ddfbc2bf59c607801d1f675f45fc28aaf4d118",
|
|
66
|
+
"entry": 1
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"description": "Makes `nmr-actionlint` and `nmr-shellcheck` cache the pinned actionlint and shellcheck once per machine under `$XDG_CACHE_HOME/nmr/tools/` (default `~/.cache/nmr/tools/`), so that `lint:workflows` and `lint:shell` in a new worktree reuse the copy that another worktree downloaded and fall back to the monorepo-root `node_modules/.cache/nmr-tools/` when the machine cache cannot be written. (#1210)",
|
|
70
|
+
"hash": "184a7ddfc2765c07b5652637dc53e06a9b0c9cff",
|
|
71
|
+
"entry": 1
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"title": "๐ชฆ Removed",
|
|
77
|
+
"audience": "all",
|
|
78
|
+
"items": [
|
|
79
|
+
{
|
|
80
|
+
"description": "Removes `-?` as a help flag of `nmr`, which now rejects it as an unknown flag. (#1187)",
|
|
81
|
+
"migration": "Replace `nmr -?` with `nmr -h` or `nmr --help`.",
|
|
82
|
+
"hash": "da4f5491167e75cf8da00495e60b41d74030b4b6",
|
|
83
|
+
"entry": 5
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"title": "๐ Bug fixes",
|
|
89
|
+
"audience": "all",
|
|
90
|
+
"items": [
|
|
91
|
+
{
|
|
92
|
+
"description": "Fixes the issue that nmr read the value of a value-taking flag in an `nmr` step of a script, such as `--output-style plain` or `--delegate-to box`, as the step's command. (#1187)",
|
|
93
|
+
"hash": "da4f5491167e75cf8da00495e60b41d74030b4b6",
|
|
94
|
+
"entry": 6
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"description": "Fixes the issue that `nmr fmt`, `nmr lint:shell`, and a delegated run failed with `ENOBUFS` once git's file listing exceeded Node's 1 MiB default output buffer, and that nmr's Vitest config and test-tier check then dropped the list of git-ignored paths without reporting an error. (#1188)",
|
|
98
|
+
"hash": "ce72ce80b1af8e4dd30227a013a77fb680d8c006",
|
|
99
|
+
"entry": 1
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"description": "Fixes the issue that `ensure-prepublish-hooks --fix` wrote `npm run build` as the default `prepublishOnly` hook, which fails at publish time in an nmr repo because its packages do not declare a `build` script, and makes `nmr build` the default. (#1192)",
|
|
103
|
+
"hash": "26b1795ea3f0fa43ca5e3d6e294acfa72f4bb68d",
|
|
104
|
+
"entry": 2
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"title": "โป๏ธ Refactoring",
|
|
110
|
+
"audience": "dev",
|
|
111
|
+
"items": [
|
|
112
|
+
{
|
|
113
|
+
"description": "Replaces nmr's `isObject`, release-kit's `isRecord`, and the private copies in nmr-core's `workspace.ts` and an nmr test with one `isRecord` guard exported from the root entry of `@williamthorsen/nmr-core`. (#1194)",
|
|
114
|
+
"hash": "6c66148170145ccf5628c95d27e7783ef26d97e9",
|
|
115
|
+
"entry": 1
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"description": "Group nmr-core's source by role (#1196)",
|
|
119
|
+
"body": "Groups `nmr-core`'s source modules into `cache`, `errors`, `files`, `git`, `portable`, and `workspace` directories by role, retiring `helpers/`, and moves the write-outcome reporters out of `terminal.ts` into `files/report-write-outcomes.ts`. The package's exports, including the `./workspace` subpath, resolve to the same modules at their new paths.",
|
|
120
|
+
"hash": "bddeaf8cdad251c681808688be3d459c60fc2bdb"
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
2
126
|
{
|
|
3
127
|
"version": "0.55.0",
|
|
4
128
|
"date": "2026-11-06",
|