CLI argv: detect root-only version invocation

This commit is contained in:
Vincent Koc
2026-03-01 12:06:22 -08:00
parent 3c4cdf72c9
commit 86a91cc01a

View File

@@ -83,6 +83,42 @@ export function hasRootVersionAlias(argv: string[]): boolean {
return hasAlias;
}
export function isRootVersionInvocation(argv: string[]): boolean {
const args = argv.slice(2);
let hasVersion = false;
for (let i = 0; i < args.length; i += 1) {
const arg = args[i];
if (!arg) {
continue;
}
if (arg === FLAG_TERMINATOR) {
break;
}
if (arg === ROOT_VERSION_ALIAS_FLAG || VERSION_FLAGS.has(arg)) {
hasVersion = true;
continue;
}
if (ROOT_BOOLEAN_FLAGS.has(arg)) {
continue;
}
if (arg.startsWith("--profile=") || arg.startsWith("--log-level=")) {
continue;
}
if (ROOT_VALUE_FLAGS.has(arg)) {
const next = args[i + 1];
if (isValueToken(next)) {
i += 1;
}
continue;
}
if (arg.startsWith("-")) {
return false;
}
return false;
}
return hasVersion;
}
export function getFlagValue(argv: string[], name: string): string | null | undefined {
const args = argv.slice(2);
for (let i = 0; i < args.length; i += 1) {