@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)();