npm package diff

Package: @forge/cli

Versions: 11.1.0 - 11.2.0-next.17-experimental-26b1489

File: package/out/command-line/command.js

Index: package/out/command-line/command.js
===================================================================
--- package/out/command-line/command.js
+++ package/out/command-line/command.js
@@ -34,9 +34,8 @@
     preCommandController;
     cliDetails;
     credentialStore;
     defaultEnvironmentController;
-    featureFlagService;
     supportedProductsService;
     get verbose() {
         return this.cmd.opts().verbose;
     }
@@ -63,20 +62,22 @@
     requiresAuthentication;
     requiresAnalyticsConsent;
     requiredOptionFlags = [];
     preconditionFn = [];
-    static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService, supportedProductsService) {
-        const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService, supportedProductsService, {});
-        return cmd.version(cliDetails?.version ?? 'unknown', '--version').option('--verbose', cli_shared_1.Text.optionVerbose);
+    static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, supportedProductsService) {
+        const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, supportedProductsService, {});
+        return cmd
+            .version(cliDetails?.version ?? 'unknown', '--version')
+            .hiddenOption('--no-color')
+            .option('--verbose', cli_shared_1.Text.optionVerbose);
     }
-    constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService, supportedProductsService, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
+    constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, supportedProductsService, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
         this.ui = ui;
         this.analyticsClient = analyticsClient;
         this.preCommandController = preCommandController;
         this.cliDetails = cliDetails;
         this.credentialStore = credentialStore;
         this.defaultEnvironmentController = defaultEnvironmentController;
-        this.featureFlagService = featureFlagService;
         this.supportedProductsService = supportedProductsService;
         this.cmd = cmd || new commander_1.default.Command();
         this.analyticsName = analyticsName;
         this.requiresAuthentication = requiresAuthentication ?? true;
@@ -91,9 +92,9 @@
         });
         this.cmd.configureHelp({ sortSubcommands: true });
     }
     clone(overrides) {
-        return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, this.featureFlagService, this.supportedProductsService, {
+        return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, this.supportedProductsService, {
             cmd: this.cmd,
             analyticsName: this.analyticsName,
             requiresAuthentication: this.requiresAuthentication,
             requiresAnalyticsConsent: this.requiresAnalyticsConsent,
@@ -110,12 +111,14 @@
         const cmd = this.cmd
             .command(name, opts)
             .allowUnknownOption(false)
             .allowExcessArguments(false);
-        const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, this.featureFlagService, this.supportedProductsService, {
+        const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, this.supportedProductsService, {
             cmd,
             analyticsName: Command.concatenateNames(this.analyticsName, cmd.name())
-        }).option('--verbose', cli_shared_1.Text.optionVerbose);
+        })
+            .hiddenOption('--no-color')
+            .option('--verbose', cli_shared_1.Text.optionVerbose);
         return subCommand;
     }
     deprecatedCommand(oldName, newName, stubController) {
         this.command(oldName, { hidden: true })
@@ -130,8 +133,13 @@
     option(flags, description, defaultValue) {
         this.cmd.option(flags, description, defaultValue);
         return this;
     }
+    hiddenOption(flags, defaultValue) {
+        const option = new commander_1.Option(flags).hideHelp().default(defaultValue);
+        this.cmd.addOption(option);
+        return this;
+    }
     precondition(fn) {
         return this.clone({ preconditionFn: [...this.preconditionFn, fn] });
     }
     requireManifestFile() {
@@ -430,11 +438,17 @@
 function validateContext({ supportedProductsService, site, product }) {
     let maybeSupportedProduct = undefined;
     let maybeSiteUrl = undefined;
     if (product !== undefined) {
+        if (typeof product === 'boolean') {
+            throw new cli_shared_1.ValidationError(cli_shared_1.Text.error.missingProductNameValue);
+        }
         maybeSupportedProduct = supportedProductsService.validateSupportedProduct(product);
     }
     if (site) {
+        if (typeof site === 'boolean') {
+            throw new cli_shared_1.ValidationError(cli_shared_1.Text.error.missingSiteUrlValue);
+        }
         maybeSiteUrl = supportedProductsService.validateSite(site, maybeSupportedProduct);
     }
     return { site: maybeSiteUrl, product: maybeSupportedProduct };
 }