@mutmutco/cli 3.91.0 → 3.93.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/dist/main.cjs +31 -9
- package/package.json +1 -1
package/dist/main.cjs
CHANGED
|
@@ -4304,6 +4304,24 @@ async function surfaceLabelApplies(repo, deps = {}) {
|
|
|
4304
4304
|
return (known?.length ?? 0) > 0;
|
|
4305
4305
|
}
|
|
4306
4306
|
|
|
4307
|
+
// src/parse-error-hints.ts
|
|
4308
|
+
var TARGET_SELECTOR_FLAGS = /* @__PURE__ */ new Set(["--repo", "--ref", "--target", "--project", "--issue"]);
|
|
4309
|
+
function targetFlagValueFromArgv(flag, argv) {
|
|
4310
|
+
const i = argv.indexOf(flag);
|
|
4311
|
+
if (i < 0) return void 0;
|
|
4312
|
+
const next = argv[i + 1];
|
|
4313
|
+
if (!next || next.startsWith("-")) return void 0;
|
|
4314
|
+
return next;
|
|
4315
|
+
}
|
|
4316
|
+
function formatPositionalTarget(commandPath3, argName, opts = {}) {
|
|
4317
|
+
const concrete = opts.flag && opts.argv ? targetFlagValueFromArgv(opts.flag, opts.argv) : void 0;
|
|
4318
|
+
if (concrete) return `mmi-cli ${commandPath3} ${concrete}`;
|
|
4319
|
+
return `mmi-cli ${commandPath3} <${argName}>`;
|
|
4320
|
+
}
|
|
4321
|
+
function unknownTargetFlagMessage(flag, positional) {
|
|
4322
|
+
return `unknown option '${flag}' \u2014 this command takes its target as a positional: ${positional}`;
|
|
4323
|
+
}
|
|
4324
|
+
|
|
4307
4325
|
// src/session-start.ts
|
|
4308
4326
|
var import_node_fs8 = require("node:fs");
|
|
4309
4327
|
var import_node_path6 = require("node:path");
|
|
@@ -25636,7 +25654,7 @@ async function checkDocsIndexAtHead(opts, deps) {
|
|
|
25636
25654
|
if (!await deps.refResolves(root, ref)) return void 0;
|
|
25637
25655
|
const paths = await deps.listDocsAtRef(root, ref);
|
|
25638
25656
|
if (!paths.includes(DOCS_INDEX_PATH)) return void 0;
|
|
25639
|
-
const relDocs = paths.filter((p) => p.startsWith("docs/")).map((p) => p.slice("docs/".length)).filter(isRoutableDocsPath);
|
|
25657
|
+
const relDocs = paths.filter((p) => p.startsWith("docs/") && p.endsWith(".md")).map((p) => p.slice("docs/".length)).filter(isRoutableDocsPath);
|
|
25640
25658
|
const [indexContent, docContents] = await Promise.all([
|
|
25641
25659
|
deps.readAtRef(root, ref, DOCS_INDEX_PATH),
|
|
25642
25660
|
Promise.all(relDocs.map((rel) => deps.readAtRef(root, ref, `docs/${rel}`)))
|
|
@@ -30000,13 +30018,12 @@ function commandOwnLongFlags(cmd) {
|
|
|
30000
30018
|
}
|
|
30001
30019
|
return [...flags];
|
|
30002
30020
|
}
|
|
30003
|
-
|
|
30004
|
-
function positionalTargetForm(cmd) {
|
|
30021
|
+
function positionalTargetForm(cmd, opts = {}) {
|
|
30005
30022
|
if (!cmd) return void 0;
|
|
30006
30023
|
const args = cmd.registeredArguments ?? [];
|
|
30007
30024
|
const first = args[0];
|
|
30008
30025
|
if (!first) return void 0;
|
|
30009
|
-
return
|
|
30026
|
+
return formatPositionalTarget(commandPath2(cmd), first.name(), opts);
|
|
30010
30027
|
}
|
|
30011
30028
|
function resolveParseHint() {
|
|
30012
30029
|
if (lastParseErrorKind === "unknown-command") {
|
|
@@ -30051,12 +30068,13 @@ function envelopeAwareWriteErr(str) {
|
|
|
30051
30068
|
const match = /unknown option '([^']+)'/.exec(plain);
|
|
30052
30069
|
if (match) {
|
|
30053
30070
|
const flag = match[1];
|
|
30071
|
+
const argv = process.argv.slice(2);
|
|
30072
|
+
const invoked = resolveCommandFromArgv(program2, argv);
|
|
30073
|
+
const positional = TARGET_SELECTOR_FLAGS.has(flag) ? positionalTargetForm(invoked, { flag, argv }) : void 0;
|
|
30054
30074
|
if (argvWantsJson2()) {
|
|
30055
|
-
const
|
|
30056
|
-
const
|
|
30057
|
-
const
|
|
30058
|
-
const positional = !suggestion && TARGET_SELECTOR_FLAGS.has(flag) ? positionalTargetForm(invoked) : void 0;
|
|
30059
|
-
const message = positional ? `unknown option '${flag}' \u2014 this command takes its target as a positional: ${positional}` : `unknown option '${flag}'`;
|
|
30075
|
+
const suggestion = positional ? void 0 : didYouMean(flag, commandOwnLongFlags(invoked));
|
|
30076
|
+
const corrected = suggestion ? `mmi-cli ${argv.map((a) => a === flag ? suggestion : a).join(" ")}` : void 0;
|
|
30077
|
+
const message = positional ? unknownTargetFlagMessage(flag, positional) : `unknown option '${flag}'`;
|
|
30060
30078
|
process.stderr.write(
|
|
30061
30079
|
formatErrorEnvelope(message, {
|
|
30062
30080
|
code: ERROR_CODES.ERR_UNKNOWN_FLAG,
|
|
@@ -30068,6 +30086,10 @@ function envelopeAwareWriteErr(str) {
|
|
|
30068
30086
|
unknownFlagJsonHandled = true;
|
|
30069
30087
|
return;
|
|
30070
30088
|
}
|
|
30089
|
+
if (positional) {
|
|
30090
|
+
process.stderr.write(str.replace(/unknown option '[^']+'/, unknownTargetFlagMessage(flag, positional)));
|
|
30091
|
+
return;
|
|
30092
|
+
}
|
|
30071
30093
|
process.stderr.write(str);
|
|
30072
30094
|
return;
|
|
30073
30095
|
}
|
package/package.json
CHANGED