plumbbob 0.8.13 → 0.8.17
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/.claude-plugin/plugin.json +1 -1
- package/dist/lib/agents.js +1 -1
- package/dist/lib/check.js +9 -6
- package/dist/lib/intent.js +20 -0
- package/dist/lib/orient.js +4 -3
- package/dist/verbs/checkpoint.js +30 -11
- package/dist/verbs/finish.js +24 -8
- package/node_modules/checkride/CHANGELOG.md +234 -0
- package/node_modules/checkride/README.md +134 -31
- package/node_modules/checkride/dist/adapters.d.ts +50 -1
- package/node_modules/checkride/dist/adapters.d.ts.map +1 -1
- package/node_modules/checkride/dist/adapters.js +123 -7
- package/node_modules/checkride/dist/adapters.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/hook.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/hook.js +15 -1
- package/node_modules/checkride/dist/agent-setup/hook.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.d.ts +0 -1
- package/node_modules/checkride/dist/agent-setup/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.js.map +1 -1
- package/node_modules/checkride/dist/baseline/fallow.d.ts +64 -0
- package/node_modules/checkride/dist/baseline/fallow.d.ts.map +1 -0
- package/node_modules/checkride/dist/baseline/fallow.js +256 -0
- package/node_modules/checkride/dist/baseline/fallow.js.map +1 -0
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts +4 -6
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/fingerprint.js +9 -4
- package/node_modules/checkride/dist/baseline/fingerprint.js.map +1 -1
- package/node_modules/checkride/dist/baseline/index.d.ts +4 -5
- package/node_modules/checkride/dist/baseline/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/index.js +2 -2
- package/node_modules/checkride/dist/baseline/index.js.map +1 -1
- package/node_modules/checkride/dist/{baseline/command.d.ts → baseline-command.d.ts} +11 -9
- package/node_modules/checkride/dist/baseline-command.d.ts.map +1 -0
- package/node_modules/checkride/dist/{baseline/command.js → baseline-command.js} +9 -7
- package/node_modules/checkride/dist/baseline-command.js.map +1 -0
- package/node_modules/checkride/dist/cli.d.ts.map +1 -1
- package/node_modules/checkride/dist/cli.js +95 -8
- package/node_modules/checkride/dist/cli.js.map +1 -1
- package/node_modules/checkride/dist/config.d.ts +37 -12
- package/node_modules/checkride/dist/config.d.ts.map +1 -1
- package/node_modules/checkride/dist/config.js +268 -60
- package/node_modules/checkride/dist/config.js.map +1 -1
- package/node_modules/checkride/dist/digest/digest.d.ts +0 -6
- package/node_modules/checkride/dist/digest/digest.d.ts.map +1 -1
- package/node_modules/checkride/dist/digest/digest.js +3 -3
- package/node_modules/checkride/dist/digest/digest.js.map +1 -1
- package/node_modules/checkride/dist/digest/index.d.ts +1 -2
- package/node_modules/checkride/dist/digest/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/digest/index.js +1 -1
- package/node_modules/checkride/dist/digest/index.js.map +1 -1
- package/node_modules/checkride/dist/doctor.d.ts +14 -1
- package/node_modules/checkride/dist/doctor.d.ts.map +1 -1
- package/node_modules/checkride/dist/doctor.js +124 -55
- package/node_modules/checkride/dist/doctor.js.map +1 -1
- package/node_modules/checkride/dist/init.d.ts +6 -0
- package/node_modules/checkride/dist/init.d.ts.map +1 -1
- package/node_modules/checkride/dist/init.js +347 -121
- package/node_modules/checkride/dist/init.js.map +1 -1
- package/node_modules/checkride/dist/links.d.ts.map +1 -1
- package/node_modules/checkride/dist/links.js +8 -9
- package/node_modules/checkride/dist/links.js.map +1 -1
- package/node_modules/checkride/dist/orchestrator.d.ts +56 -1
- package/node_modules/checkride/dist/orchestrator.d.ts.map +1 -1
- package/node_modules/checkride/dist/orchestrator.js +506 -138
- package/node_modules/checkride/dist/orchestrator.js.map +1 -1
- package/node_modules/checkride/dist/pack.d.ts +76 -0
- package/node_modules/checkride/dist/pack.d.ts.map +1 -0
- package/node_modules/checkride/dist/pack.js +217 -0
- package/node_modules/checkride/dist/pack.js.map +1 -0
- package/node_modules/checkride/dist/pm/translate.d.ts +18 -10
- package/node_modules/checkride/dist/pm/translate.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/translate.js +27 -13
- package/node_modules/checkride/dist/pm/translate.js.map +1 -1
- package/node_modules/checkride/dist/smoke.d.ts +86 -0
- package/node_modules/checkride/dist/smoke.d.ts.map +1 -0
- package/node_modules/checkride/dist/smoke.js +346 -0
- package/node_modules/checkride/dist/smoke.js.map +1 -0
- package/node_modules/checkride/dist/snippets.d.ts +215 -0
- package/node_modules/checkride/dist/snippets.d.ts.map +1 -0
- package/node_modules/checkride/dist/snippets.js +360 -0
- package/node_modules/checkride/dist/snippets.js.map +1 -0
- package/node_modules/checkride/package.json +4 -2
- package/node_modules/checkride/schema/checkride.config.schema.json +11 -6
- package/package.json +3 -2
- package/skills/pb-build/SKILL.md +7 -0
- package/skills/pb-park/SKILL.md +3 -2
- package/skills/pb-plan/SKILL.md +30 -9
- package/skills/pb-refine/SKILL.md +21 -6
- package/skills/pb-step/SKILL.md +10 -5
- package/skills/pb-verify/SKILL.md +12 -1
- package/templates/intent.md +55 -11
- package/node_modules/checkride/dist/baseline/command.d.ts.map +0 -1
- package/node_modules/checkride/dist/baseline/command.js.map +0 -1
|
@@ -42,6 +42,25 @@ function deepMerge(base, over) {
|
|
|
42
42
|
function invalidConfig(reason, cause) {
|
|
43
43
|
throw new Error(`invalid ${CONFIG_FILE}: ${reason}`, cause ? { cause } : undefined);
|
|
44
44
|
}
|
|
45
|
+
const ORDER_KEYWORDS = new Set(['first', 'last', 'middle', 'single', 'any']);
|
|
46
|
+
/** A finite number or one of the five order keywords — everything else is a config error. */
|
|
47
|
+
function isOrder(v) {
|
|
48
|
+
return ((typeof v === 'number' && Number.isFinite(v)) ||
|
|
49
|
+
(typeof v === 'string' && ORDER_KEYWORDS.has(v)));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Read (and validate) a config entry's `order`. Returns `undefined` when absent;
|
|
53
|
+
* throws the friendly error on anything that is not a finite number or a keyword
|
|
54
|
+
* (a bogus string, `NaN`, `Infinity`). `context` names the offending check.
|
|
55
|
+
*/
|
|
56
|
+
function readOrder(entry, context) {
|
|
57
|
+
if (entry.order === undefined)
|
|
58
|
+
return undefined;
|
|
59
|
+
if (!isOrder(entry.order)) {
|
|
60
|
+
invalidConfig(`'${context}' order must be a finite number or one of first, last, middle, single, any (got ${JSON.stringify(entry.order)})`);
|
|
61
|
+
}
|
|
62
|
+
return entry.order;
|
|
63
|
+
}
|
|
45
64
|
/**
|
|
46
65
|
* Read, parse, and fully resolve a config file's `extends` chain into a single
|
|
47
66
|
* merged object. `stack` holds the absolute paths currently being resolved, so
|
|
@@ -49,10 +68,8 @@ function invalidConfig(reason, cause) {
|
|
|
49
68
|
* names the file in error messages — the root config's own filename for the
|
|
50
69
|
* entry point, or a repo-relative path for an inherited base.
|
|
51
70
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
invalidConfig(`circular extends: ${[...stack, absPath].map((p) => relative(process.cwd(), p)).join(' -> ')}`);
|
|
55
|
-
}
|
|
71
|
+
/** Read and parse a config file into an object, or throw a friendly error. */
|
|
72
|
+
function parseConfigJson(absPath, label) {
|
|
56
73
|
let raw;
|
|
57
74
|
try {
|
|
58
75
|
raw = JSON.parse(readFileSync(absPath, 'utf8'));
|
|
@@ -63,8 +80,14 @@ function resolveConfigFile(absPath, stack, label) {
|
|
|
63
80
|
}
|
|
64
81
|
if (!isPlainObject(raw))
|
|
65
82
|
invalidConfig(`${label} is not a JSON object`);
|
|
66
|
-
|
|
67
|
-
|
|
83
|
+
return raw;
|
|
84
|
+
}
|
|
85
|
+
/** Normalize an `extends` field (absent / single / array) into a list. */
|
|
86
|
+
function normalizeExtends(ext) {
|
|
87
|
+
return ext === undefined ? [] : Array.isArray(ext) ? ext : [ext];
|
|
88
|
+
}
|
|
89
|
+
/** Resolve and left-to-right merge every base config named in `specs`. */
|
|
90
|
+
function resolveExtends(specs, absPath, stack, label) {
|
|
68
91
|
const require = createRequire(absPath);
|
|
69
92
|
let merged = {};
|
|
70
93
|
for (const spec of specs) {
|
|
@@ -81,6 +104,14 @@ function resolveConfigFile(absPath, stack, label) {
|
|
|
81
104
|
const base = resolveConfigFile(baseAbs, [...stack, absPath], relative(process.cwd(), baseAbs));
|
|
82
105
|
merged = deepMerge(merged, base);
|
|
83
106
|
}
|
|
107
|
+
return merged;
|
|
108
|
+
}
|
|
109
|
+
function resolveConfigFile(absPath, stack, label) {
|
|
110
|
+
if (stack.includes(absPath)) {
|
|
111
|
+
invalidConfig(`circular extends: ${[...stack, absPath].map((p) => relative(process.cwd(), p)).join(' -> ')}`);
|
|
112
|
+
}
|
|
113
|
+
const { extends: ext, ...own } = parseConfigJson(absPath, label);
|
|
114
|
+
const merged = resolveExtends(normalizeExtends(ext), absPath, stack, label);
|
|
84
115
|
return deepMerge(merged, own);
|
|
85
116
|
}
|
|
86
117
|
/**
|
|
@@ -94,29 +125,115 @@ export function loadConfig(cwd) {
|
|
|
94
125
|
return null;
|
|
95
126
|
return resolveConfigFile(path, [], CONFIG_FILE);
|
|
96
127
|
}
|
|
97
|
-
|
|
98
|
-
|
|
128
|
+
/**
|
|
129
|
+
* Find an adapter by name, preferring one that also fills `slot`. A single tool
|
|
130
|
+
* can fill several slots under one name — `fallow` fills `dead`, `dupes`, and
|
|
131
|
+
* `health` — so `"dupes": "fallow"` must resolve to the dupes adapter, not the
|
|
132
|
+
* first `fallow` in the registry. Falls back to a name-only match so naming a
|
|
133
|
+
* cross-slot adapter (e.g. reusing `oxlint` in a custom slot) still works.
|
|
134
|
+
*/
|
|
135
|
+
function byName(name, adapters, slot) {
|
|
136
|
+
return (adapters.find((a) => a.name === name && a.slot === slot) ??
|
|
137
|
+
adapters.find((a) => a.name === name) ??
|
|
138
|
+
null);
|
|
99
139
|
}
|
|
100
|
-
|
|
101
|
-
|
|
140
|
+
const EMPTY_MANIFEST = { scripts: new Set(), deps: new Set() };
|
|
141
|
+
/** Read `cwd`'s package.json script names and combined dep names; empty on any read/parse failure. */
|
|
142
|
+
function readManifest(cwd) {
|
|
143
|
+
try {
|
|
144
|
+
const pkg = JSON.parse(readFileSync(join(cwd, 'package.json'), 'utf8'));
|
|
145
|
+
return {
|
|
146
|
+
scripts: new Set(Object.keys(pkg.scripts ?? {})),
|
|
147
|
+
deps: new Set([...Object.keys(pkg.dependencies ?? {}), ...Object.keys(pkg.devDependencies ?? {})]),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return EMPTY_MANIFEST;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/** True when this adapter declares any detection signal (so absence of a match means "off", not "always"). */
|
|
155
|
+
function hasAnySignal(a) {
|
|
156
|
+
return a.detect.length > 0 || a.detectScript !== undefined || (a.detectDeps?.length ?? 0) > 0;
|
|
157
|
+
}
|
|
158
|
+
/** The `detectDeps` package that appears in the manifest, as a named signal, or `null`. */
|
|
159
|
+
function depSignal(a, manifest) {
|
|
160
|
+
const dep = a.detectDeps?.find((d) => manifest.deps.has(d));
|
|
161
|
+
return dep !== undefined ? `dependency '${dep}'` : null;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Which of an adapter's detection signals fires — named for the doctor report —
|
|
165
|
+
* or `null` when none does (D18). Precedence: a present `detect` file, then
|
|
166
|
+
* `detectScript` (`scripts.<name>`), then a `detectDeps` package in
|
|
167
|
+
* dependencies/devDependencies. An adapter with no signals at all (empty
|
|
168
|
+
* `detect`, no `detectScript`/`detectDeps` — a built-in, `publint`, `attw`,
|
|
169
|
+
* `pnpm audit`) is always available.
|
|
170
|
+
*/
|
|
171
|
+
function detectionSignal(a, fileExists, manifest) {
|
|
172
|
+
const file = a.detect.find((f) => fileExists(f));
|
|
173
|
+
if (file !== undefined)
|
|
174
|
+
return file;
|
|
175
|
+
if (a.detectScript !== undefined && manifest.scripts.has(a.detectScript))
|
|
176
|
+
return `scripts.${a.detectScript}`;
|
|
177
|
+
return depSignal(a, manifest) ?? (hasAnySignal(a) ? null : 'always available');
|
|
178
|
+
}
|
|
179
|
+
/** First adapter for `slot` whose detection fires, plus the signal that matched (for the report). */
|
|
180
|
+
function detectAdapter(slot, adapters, fileExists, manifest) {
|
|
102
181
|
for (const a of adapters) {
|
|
103
182
|
if (a.slot !== slot)
|
|
104
183
|
continue;
|
|
105
|
-
|
|
106
|
-
|
|
184
|
+
const via = detectionSignal(a, fileExists, manifest);
|
|
185
|
+
if (via !== null)
|
|
186
|
+
return { adapter: a, via };
|
|
107
187
|
}
|
|
108
188
|
return null;
|
|
109
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Why nothing filled `slot` on the detection path. When the slot's adapter gates
|
|
192
|
+
* on a package script (`detectScript`, e.g. `build`), name the missing script so
|
|
193
|
+
* an opted-in-but-scriptless slot stands down with a clear reason; otherwise the
|
|
194
|
+
* generic no-tool message.
|
|
195
|
+
*/
|
|
196
|
+
function undetectedReason(slot, adapters) {
|
|
197
|
+
const scripted = adapters.find((a) => a.slot === slot && a.detectScript !== undefined);
|
|
198
|
+
return scripted ? `no '${scripted.detectScript}' script in package.json` : 'no tool detected for slot';
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* A slot whose adapter is gated on a package script (`detectScript`, e.g. `build`
|
|
202
|
+
* → `scripts.build`) stands down as a skip — never a red check — when that script
|
|
203
|
+
* is absent, however the adapter was selected. Detection already filters the
|
|
204
|
+
* auto-detect path; this also covers an explicit config entry, so a shared preset
|
|
205
|
+
* that names `build` is safe on a repo that has no build script (D18).
|
|
206
|
+
*/
|
|
207
|
+
function standDownIfScriptless(check, manifest) {
|
|
208
|
+
const script = check.adapter?.detectScript;
|
|
209
|
+
if (script !== undefined && !manifest.scripts.has(script)) {
|
|
210
|
+
return { ...check, adapter: null, skip: `no '${script}' script in package.json` };
|
|
211
|
+
}
|
|
212
|
+
return check;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Carry the optional fields a config entry (`UseConfig` or `CustomCheck`) shares
|
|
216
|
+
* with an adapter, each spread only when present — so `applyOverrides` and
|
|
217
|
+
* `customAdapter` don't each repeat the include-if-defined dance. `order` is
|
|
218
|
+
* validated here (`slot` names the check in any error).
|
|
219
|
+
*/
|
|
220
|
+
function carriedOverrides(src, slot) {
|
|
221
|
+
const order = readOrder(src, slot);
|
|
222
|
+
return {
|
|
223
|
+
...(src.changedArgs !== undefined ? { changedArgs: src.changedArgs } : {}),
|
|
224
|
+
...(src.fixArgs !== undefined ? { fixArgs: src.fixArgs } : {}),
|
|
225
|
+
...(src.timeout !== undefined ? { timeout: src.timeout } : {}),
|
|
226
|
+
...(order !== undefined ? { order } : {}),
|
|
227
|
+
};
|
|
228
|
+
}
|
|
110
229
|
function applyOverrides(base, o) {
|
|
111
230
|
return {
|
|
112
231
|
...base,
|
|
113
232
|
...(o.command !== undefined ? { command: o.command } : {}),
|
|
114
233
|
...(o.args !== undefined ? { args: o.args } : {}),
|
|
115
234
|
...(o.outputFile !== undefined ? { outputFile: o.outputFile } : {}),
|
|
116
|
-
...(o.changedArgs !== undefined ? { changedArgs: o.changedArgs } : {}),
|
|
117
|
-
...(o.fixArgs !== undefined ? { fixArgs: o.fixArgs } : {}),
|
|
118
|
-
...(o.timeout !== undefined ? { timeout: o.timeout } : {}),
|
|
119
235
|
...(o.description !== undefined ? { description: o.description } : {}),
|
|
236
|
+
...carriedOverrides(o, base.slot),
|
|
120
237
|
};
|
|
121
238
|
}
|
|
122
239
|
function customAdapter(slot, c) {
|
|
@@ -128,72 +245,163 @@ function customAdapter(slot, c) {
|
|
|
128
245
|
command: c.command,
|
|
129
246
|
args: c.args ?? [],
|
|
130
247
|
outputFile: c.outputFile ?? null,
|
|
131
|
-
...(c
|
|
132
|
-
...(c.fixArgs !== undefined ? { fixArgs: c.fixArgs } : {}),
|
|
133
|
-
...(c.timeout !== undefined ? { timeout: c.timeout } : {}),
|
|
248
|
+
...carriedOverrides(c, slot),
|
|
134
249
|
devDeps: {},
|
|
135
250
|
};
|
|
136
251
|
}
|
|
137
|
-
|
|
138
|
-
|
|
252
|
+
/** Resolve a check's effective order: adapter (config-overridden) `order` ?? slot `order` ?? `'any'` (D1). */
|
|
253
|
+
function effectiveOrder(slot, adapter) {
|
|
254
|
+
return adapter?.order ?? slot.order ?? 'any';
|
|
255
|
+
}
|
|
256
|
+
function active(slot, adapter, explicit = false, detectedVia) {
|
|
257
|
+
return {
|
|
258
|
+
slot: slot.name,
|
|
259
|
+
optIn: slot.optIn ?? false,
|
|
260
|
+
adapter,
|
|
261
|
+
skip: null,
|
|
262
|
+
order: effectiveOrder(slot, adapter),
|
|
263
|
+
explicit,
|
|
264
|
+
...(detectedVia !== undefined ? { detectedVia } : {}),
|
|
265
|
+
};
|
|
139
266
|
}
|
|
140
267
|
function skipped(slot, reason, explicit = false) {
|
|
141
|
-
return {
|
|
268
|
+
return {
|
|
269
|
+
slot: slot.name,
|
|
270
|
+
optIn: slot.optIn ?? false,
|
|
271
|
+
adapter: null,
|
|
272
|
+
skip: reason,
|
|
273
|
+
order: effectiveOrder(slot, null),
|
|
274
|
+
explicit,
|
|
275
|
+
};
|
|
142
276
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
277
|
+
/**
|
|
278
|
+
* Resolve an object-form config entry — `{ use }` (an adapter with overrides) or
|
|
279
|
+
* `{ command }` (a custom adapter) — for `slot`. Returns `null` when the entry is
|
|
280
|
+
* neither, so the caller falls through to detection.
|
|
281
|
+
*/
|
|
282
|
+
function resolveObjectEntry(slot, entry, adapters, explicit) {
|
|
283
|
+
if ('use' in entry) {
|
|
284
|
+
const base = byName(entry.use, adapters, slot.name);
|
|
285
|
+
return base
|
|
286
|
+
? active(slot, applyOverrides(base, entry), explicit)
|
|
287
|
+
: skipped(slot, `configured adapter '${entry.use}' is not in the registry`, explicit);
|
|
288
|
+
}
|
|
289
|
+
if ('command' in entry) {
|
|
290
|
+
return active(slot, customAdapter(slot.name, entry), explicit);
|
|
149
291
|
}
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
function resolveConfigOrDetect(slot, entry, adapters, fileExists, manifest, explicit) {
|
|
150
295
|
if (typeof entry === 'string') {
|
|
151
|
-
const adapter = byName(entry, adapters);
|
|
296
|
+
const adapter = byName(entry, adapters, slot.name);
|
|
152
297
|
return adapter
|
|
153
298
|
? active(slot, adapter, explicit)
|
|
154
299
|
: skipped(slot, `configured adapter '${entry}' is not in the registry`, explicit);
|
|
155
300
|
}
|
|
156
301
|
if (entry && typeof entry === 'object') {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return
|
|
160
|
-
? active(slot, applyOverrides(base, entry), explicit)
|
|
161
|
-
: skipped(slot, `configured adapter '${entry.use}' is not in the registry`, explicit);
|
|
162
|
-
}
|
|
163
|
-
if ('command' in entry) {
|
|
164
|
-
return active(slot, customAdapter(slot.name, entry), explicit);
|
|
165
|
-
}
|
|
302
|
+
const resolved = resolveObjectEntry(slot, entry, adapters, explicit);
|
|
303
|
+
if (resolved !== null)
|
|
304
|
+
return resolved;
|
|
166
305
|
}
|
|
167
|
-
const detected = detectAdapter(slot.name, adapters, fileExists);
|
|
168
|
-
|
|
306
|
+
const detected = detectAdapter(slot.name, adapters, fileExists, manifest);
|
|
307
|
+
if (!detected)
|
|
308
|
+
return skipped(slot, undetectedReason(slot.name, adapters), explicit);
|
|
309
|
+
// Record only a concrete signal (file/script/dep); an always-available adapter
|
|
310
|
+
// matched nothing in particular, so it carries no detection provenance.
|
|
311
|
+
const via = detected.via === 'always available' ? undefined : detected.via;
|
|
312
|
+
return active(slot, detected.adapter, false, via);
|
|
313
|
+
}
|
|
314
|
+
function resolveOne(slot, entry, adapters, fileExists, manifest) {
|
|
315
|
+
// Any non-`false` config entry is an explicit opt-in for this slot (`false`
|
|
316
|
+
// disables it, so it never runs regardless). Detection (no entry) is not.
|
|
317
|
+
const explicit = entry !== undefined && entry !== false;
|
|
318
|
+
if (entry === false) {
|
|
319
|
+
return skipped(slot, 'disabled in checkride.config.json');
|
|
320
|
+
}
|
|
321
|
+
const resolved = resolveConfigOrDetect(slot, entry, adapters, fileExists, manifest, explicit);
|
|
322
|
+
// A script-gated adapter (build) stands down — never red — when its script is
|
|
323
|
+
// absent, even when config named it explicitly (D18).
|
|
324
|
+
return standDownIfScriptless(resolved, manifest);
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Resolve a config-only custom check (an object with `command`, keyed by a name
|
|
328
|
+
* not in the catalogue — e.g. a project's `"licenses"` check), or `null` when
|
|
329
|
+
* `entry` is not such a check. Its effective order rides on the resolved check
|
|
330
|
+
* (config `order` ?? `'any'`). A custom check with `detect` files stands down
|
|
331
|
+
* (skipped, not failed) when none of them are present.
|
|
332
|
+
*/
|
|
333
|
+
function customCheckEntry(name, entry, fileExists) {
|
|
334
|
+
if (!(entry && typeof entry === 'object' && !('use' in entry) && 'command' in entry))
|
|
335
|
+
return null;
|
|
336
|
+
const detect = entry.detect ?? [];
|
|
337
|
+
if (detect.length > 0 && !detect.some((f) => fileExists(f))) {
|
|
338
|
+
// No adapter carries the order on a skip, so pin it on the synthetic slot.
|
|
339
|
+
const order = readOrder(entry, name);
|
|
340
|
+
return skipped(order !== undefined ? { name, order } : { name }, 'no detect file present');
|
|
341
|
+
}
|
|
342
|
+
return active({ name }, customAdapter(name, entry));
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Resolve every config-only custom check (config key order preserved), skipping
|
|
346
|
+
* any name that fills a catalogue slot. Order is baked onto each resolved check;
|
|
347
|
+
* `resolveChecks` sorts the combined list.
|
|
348
|
+
*/
|
|
349
|
+
function foldCustomChecks(checks, catalogueNames, fileExists) {
|
|
350
|
+
const customs = [];
|
|
351
|
+
for (const [name, entry] of Object.entries(checks)) {
|
|
352
|
+
if (catalogueNames.has(name))
|
|
353
|
+
continue;
|
|
354
|
+
const resolved = customCheckEntry(name, entry, fileExists);
|
|
355
|
+
if (resolved !== null)
|
|
356
|
+
customs.push(resolved);
|
|
357
|
+
}
|
|
358
|
+
return customs;
|
|
359
|
+
}
|
|
360
|
+
/** Group rank in D1's sequence: firsts (0), the numeric line incl. `'any'`/`'middle'` (1), singles (2), lasts (3). */
|
|
361
|
+
function groupRank(order) {
|
|
362
|
+
if (order === 'first')
|
|
363
|
+
return 0;
|
|
364
|
+
if (order === 'single')
|
|
365
|
+
return 2;
|
|
366
|
+
if (order === 'last')
|
|
367
|
+
return 3;
|
|
368
|
+
return 1; // a number, or 'any'/'middle' — the main line
|
|
369
|
+
}
|
|
370
|
+
/** Position on the numeric line; `'any'`/`'middle'` sit at 0 (v1's conservative placement, D1). */
|
|
371
|
+
function lineValue(order) {
|
|
372
|
+
return typeof order === 'number' ? order : 0;
|
|
169
373
|
}
|
|
170
374
|
/**
|
|
171
|
-
* Resolve every catalogue slot (in order) to an adapter or a skip reason,
|
|
172
|
-
* fold in
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
375
|
+
* Resolve every catalogue slot (in SLOTS order) to an adapter or a skip reason,
|
|
376
|
+
* fold in the config-only custom checks (config key order), then sort into D1's
|
|
377
|
+
* group sequence: firsts, the numeric line ascending (`'any'`/`'middle'` at 0),
|
|
378
|
+
* singles, lasts. The natural order — catalogue before customs — is the stable
|
|
379
|
+
* within-group tie-break, so within any group catalogue members keep SLOTS order
|
|
380
|
+
* and precede customs, which keep config-key order. Execution stays sequential;
|
|
381
|
+
* the scheduler (a later step) waves on the same effective `order`.
|
|
177
382
|
*/
|
|
178
383
|
export function resolveChecks(input) {
|
|
179
384
|
const cwd = input.cwd ?? process.cwd();
|
|
180
385
|
const fileExists = input.fileExists ?? ((file) => existsSync(join(cwd, file)));
|
|
386
|
+
// Read package.json only against an explicit `cwd`; a caller that injects just
|
|
387
|
+
// `fileExists` (a test, `inventory`) wants detection driven by that alone, not
|
|
388
|
+
// the ambient process cwd — so it gets an empty manifest unless one is passed.
|
|
389
|
+
const manifest = input.manifest ?? (input.cwd !== undefined ? readManifest(input.cwd) : EMPTY_MANIFEST);
|
|
181
390
|
const checks = input.config?.checks ?? {};
|
|
182
|
-
const catalogue = input.slots.map((slot) => resolveOne(slot, checks[slot.name], input.adapters, fileExists));
|
|
391
|
+
const catalogue = input.slots.map((slot) => resolveOne(slot, checks[slot.name], input.adapters, fileExists, manifest));
|
|
183
392
|
const catalogueNames = new Set(input.slots.map((s) => s.name));
|
|
184
|
-
const
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
return [...firsts, ...catalogue, ...lasts];
|
|
393
|
+
const customs = foldCustomChecks(checks, catalogueNames, fileExists);
|
|
394
|
+
return [...catalogue, ...customs]
|
|
395
|
+
.map((check, i) => ({ check, i }))
|
|
396
|
+
.toSorted((a, b) => {
|
|
397
|
+
const orderA = a.check.order ?? 'any';
|
|
398
|
+
const orderB = b.check.order ?? 'any';
|
|
399
|
+
const byGroup = groupRank(orderA) - groupRank(orderB);
|
|
400
|
+
if (byGroup !== 0)
|
|
401
|
+
return byGroup;
|
|
402
|
+
const byLine = lineValue(orderA) - lineValue(orderB);
|
|
403
|
+
return byLine !== 0 ? byLine : a.i - b.i;
|
|
404
|
+
})
|
|
405
|
+
.map(({ check }) => check);
|
|
198
406
|
}
|
|
199
407
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAoE3C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,2DAA2D,OAAO,sCAAsC,CAAC;AAClH,CAAC;AAgBD,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAE5C,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAChB,IAA6B,EAC7B,IAA6B;IAE7B,MAAM,GAAG,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,GAAG,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,SAAS,aAAa,CAAC,MAAc,EAAE,KAAe;IACpD,MAAM,IAAI,KAAK,CAAC,WAAW,WAAW,KAAK,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CACxB,OAAe,EACf,KAAwB,EACxB,KAAa;IAEb,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,qBAAqB,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,aAAa,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,aAAa,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;IAExE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;IACrC,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,MAAM,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,aAAa,CAAC,uCAAuC,KAAK,GAAG,CAAC,CAAC;QAC7F,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,aAAa,CAAC,2BAA2B,IAAI,SAAS,KAAK,MAAM,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/F,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,CAAoB,CAAC;AACrE,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,QAA4B;IACxD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AACvD,CAAC;AAED,uFAAuF;AACvF,SAAS,aAAa,CACpB,IAAY,EACZ,QAA4B,EAC5B,UAAqC;IAErC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QAC9B,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,CAAY;IACjD,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,CAAc;IACjD,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,EAAE;QAChC,IAAI;QACJ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,UAAU,IAAI,QAAQ;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;QAClB,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;QAChC,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAU,EAAE,OAAgB,EAAE,QAAQ,GAAG,KAAK;IAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACxF,CAAC;AAED,SAAS,OAAO,CAAC,IAAU,EAAE,MAAc,EAAE,QAAQ,GAAG,KAAK;IAC3D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChG,CAAC;AAED,SAAS,UAAU,CACjB,IAAU,EACV,KAA6B,EAC7B,QAA4B,EAC5B,UAAqC;IAErC,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,CAAC;IACxD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,OAAO;YACZ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,uBAAuB,KAAK,0BAA0B,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzC,OAAO,IAAI;gBACT,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;gBACrD,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,uBAAuB,KAAK,CAAC,GAAG,0BAA0B,EAAE,QAAQ,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAM7B;IACC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAChE,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACvC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YAClF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;YAClC,MAAM,QAAQ,GACZ,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,wBAAwB,CAAC;gBAC7C,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACnD,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,12 +27,6 @@ export type DigestBudget = {
|
|
|
27
27
|
/** Max total bytes of the rendered Markdown; whole sections drop past it. */
|
|
28
28
|
maxBytes: number;
|
|
29
29
|
};
|
|
30
|
-
/**
|
|
31
|
-
* Conservative defaults: ~10 findings a slot and an 8 KB ceiling keep even a
|
|
32
|
-
* fully-red repo's digest to roughly two thousand tokens — small enough to read
|
|
33
|
-
* in one gulp, with the raw files a click away for the rest.
|
|
34
|
-
*/
|
|
35
|
-
export declare const DEFAULT_BUDGET: DigestBudget;
|
|
36
30
|
/**
|
|
37
31
|
* Build the Markdown digest for a completed run, or `null` when nothing failed.
|
|
38
32
|
* A check is "failing" when the summary marks it `ok: false` and not skipped —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,6EAA6E;AAC7E,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG;IACzB,sFAAsF;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,6EAA6E;AAC7E,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG;IACzB,sFAAsF;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAyEF;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,MAAM,GAAE,YAA6B,GACpC,MAAM,GAAG,IAAI,CA+Bf;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,MAAM,GAAE,YAA6B,GACpC,OAAO,CAAC,OAAO,CAAC,CASlB"}
|
|
@@ -28,7 +28,7 @@ export const DIGEST_FILE = 'digest.md';
|
|
|
28
28
|
* fully-red repo's digest to roughly two thousand tokens — small enough to read
|
|
29
29
|
* in one gulp, with the raw files a click away for the rest.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
const DEFAULT_BUDGET = { maxItemsPerSlot: 10, maxBytes: 8000 };
|
|
32
32
|
/** Whether a string parses as JSON (mirrors the orchestrator's persist rule). */
|
|
33
33
|
function isJson(raw) {
|
|
34
34
|
try {
|
|
@@ -79,8 +79,8 @@ function renderSection(run, maxItems) {
|
|
|
79
79
|
}
|
|
80
80
|
return `${heading}\n\nRaw: \`${raw}\` — ${all.length} finding(s)\n\n${lines.join('\n')}\n`;
|
|
81
81
|
}
|
|
82
|
-
// No extractor (
|
|
83
|
-
//
|
|
82
|
+
// No extractor (tsc, vitest, …) or a supported adapter that failed with no
|
|
83
|
+
// parsed findings: excerpt the tail of the raw text — truncation, not
|
|
84
84
|
// normalization — and point at the file for the rest.
|
|
85
85
|
const text = outcome.stdout.trim() ? outcome.stdout : outcome.stderr;
|
|
86
86
|
const all = contentLines(text);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AAUvC;;;;GAIG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/digest/digest.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
* the module's only public surface (C2): siblings import from `../digest`, never
|
|
4
4
|
* from `./digest.js` directly.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
7
|
-
export { buildDigest, DEFAULT_BUDGET, DIGEST_FILE, writeDigest } from './digest.js';
|
|
6
|
+
export { buildDigest, DIGEST_FILE, writeDigest } from './digest.js';
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/digest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/digest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* the module's only public surface (C2): siblings import from `../digest`, never
|
|
4
4
|
* from `./digest.js` directly.
|
|
5
5
|
*/
|
|
6
|
-
export { buildDigest,
|
|
6
|
+
export { buildDigest, DIGEST_FILE, writeDigest } from './digest.js';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/digest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/digest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -50,10 +50,18 @@ export type DoctorResult = {
|
|
|
50
50
|
report: DoctorReport;
|
|
51
51
|
exitCode: number;
|
|
52
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* `env.version` resolves to this when the probe exceeded {@link VERSION_TIMEOUT_MS} —
|
|
55
|
+
* kept distinct from `null` (the probe ran but its output could not be parsed) so
|
|
56
|
+
* `doctor` reports "timed out" rather than misdiagnosing a hung tool as a parse failure.
|
|
57
|
+
*/
|
|
58
|
+
export declare const VERSION_TIMED_OUT: unique symbol;
|
|
59
|
+
/** Result of a `<cmd> --version` probe: raw output, `null` if it failed or could not be parsed, or {@link VERSION_TIMED_OUT}. */
|
|
60
|
+
export type VersionProbe = string | typeof VERSION_TIMED_OUT | null;
|
|
53
61
|
/** Every environment touch, injectable for tests. */
|
|
54
62
|
export type DoctorEnv = {
|
|
55
63
|
which: (cmd: string) => Promise<string | null>;
|
|
56
|
-
version: (cmd: string, args: string[]) => Promise<
|
|
64
|
+
version: (cmd: string, args: string[]) => Promise<VersionProbe>;
|
|
57
65
|
exists: (path: string) => boolean;
|
|
58
66
|
canWrite: (dir: string) => Promise<boolean>;
|
|
59
67
|
readEngines: (cwd: string) => {
|
|
@@ -75,6 +83,11 @@ export type DoctorOptions = {
|
|
|
75
83
|
config?: CheckrideConfig | null;
|
|
76
84
|
env?: DoctorEnv;
|
|
77
85
|
};
|
|
86
|
+
/**
|
|
87
|
+
* A `<cmd> --version` probe that exceeded its timeout: promisified `execFile` rejects
|
|
88
|
+
* with `killed: true` when it kills the child on timeout — the only reason it kills here.
|
|
89
|
+
*/
|
|
90
|
+
export declare function isProbeTimeout(err: unknown): boolean;
|
|
78
91
|
/** Run the doctor against `cwd`; render and return the report. */
|
|
79
92
|
export declare function runDoctor(options: DoctorOptions): Promise<DoctorResult>;
|
|
80
93
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|