@forge/cli
13.4.0-next.3-experimental-f258a6d13.4.0-next.5-experimental-016ed9d
out/command-line/command.js~
out/command-line/command.jsModified+6−3
Index: package/out/command-line/command.js
===================================================================
--- package/out/command-line/command.js
+++ package/out/command-line/command.js
@@ -257,11 +257,14 @@
return this.clone({ requiresAnalyticsConsent: false });
}
satisfiesNonInteractiveOptions(options) {
const optionKeys = Object.keys(options);
- const requiredOptionKeys = [...this.requiredOptionFlags.map((arg) => new commander_1.Option(arg).attributeName())];
- return requiredOptionKeys.every((requiredOption) => optionKeys.includes(requiredOption));
+ const optionKeyOf = (flag) => new commander_1.Option(flag).attributeName();
+ return this.requiredOptionFlags.every((requiredFlag) => (Array.isArray(requiredFlag) ? requiredFlag : [requiredFlag]).some((flag) => optionKeys.includes(optionKeyOf(flag))));
}
+ displayRequiredOptionFlags() {
+ return this.requiredOptionFlags.map((requiredFlag) => Array.isArray(requiredFlag) ? requiredFlag.join('|') : requiredFlag);
+ }
actionProcessor = async (cb, ...args) => {
const cmdName = this.cmd.name();
const analyticsName = this.analyticsName ?? cmdName;
let attributes = {};
@@ -283,9 +286,9 @@
const nonInteractive = options.nonInteractive ?? false;
const json = options.json ?? false;
if (nonInteractive) {
if (!this.satisfiesNonInteractiveOptions(options)) {
- throw new cli_shared_1.ValidationError(cli_shared_1.Text.nonInteractive.error.missingRequiredOption(cmdName, this.requiredOptionFlags));
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.nonInteractive.error.missingRequiredOption(cmdName, this.displayRequiredOptionFlags()));
}
}
if (this.requiresAnalyticsConsent) {
await this.preCommandController.verifyAnalyticsPreferences(nonInteractive)();