npm package diff
Package: @forge/cli-shared
Versions: 8.8.1-next.6 - 8.8.1-next.5-experimental-ab371ba
File: package/out/ui/command-line-ui.js
Index: package/out/ui/command-line-ui.js
===================================================================
--- package/out/ui/command-line-ui.js
+++ package/out/ui/command-line-ui.js
@@ -13,8 +13,9 @@
 const text_1 = require("./text");
 const multiple_table_prompt_1 = require("./multiple-table-prompt");
 const single_table_prompt_1 = require("./single-table-prompt");
 const shared_1 = require("../shared");
+const cache_1 = require("../cache");
 var ProgressLogType;
 (function (ProgressLogType) {
     ProgressLogType[ProgressLogType["startText"] = 0] = "startText";
     ProgressLogType[ProgressLogType["successText"] = 1] = "successText";
@@ -33,8 +34,31 @@
         this.logger = logger || console;
         this.promptInternal = inquirer_1.default.createPromptModule({ skipTTYChecks: false });
         this.registerCustomUIElements();
     }
+    getSeasonalSpinner() {
+        if (process.env.FORGE_DISABLE_SEASONAL_EFFECTS) {
+            return 'dots';
+        }
+        try {
+            const cachedConf = cache_1.CachedConf.getCache(cache_1.CONFIG_PROJECT_NAME);
+            const seasonalEffectsEnabled = cachedConf.get('seasonal-effects') ?? true;
+            if (!seasonalEffectsEnabled) {
+                return 'dots';
+            }
+        }
+        catch {
+        }
+        const now = new Date();
+        const month = now.getMonth();
+        if (month === 9) {
+            return {
+                interval: 300,
+                frames: ['🎃', '🟠', '⚫', '🟤']
+            };
+        }
+        return 'dots';
+    }
     async prompt(questions, initialAnswers) {
         try {
             return await this.promptInternal(questions, initialAnswers);
         }
@@ -52,9 +76,9 @@
         try {
             this.insideProgress = true;
             this.addedProgressPadding = false;
             if (!this.debugEnabled) {
-                this.spinner.spinner = 'dots';
+                this.spinner.spinner = this.getSeasonalSpinner();
                 this.spinner.start();
             }
             this.log(startText, ProgressLogType.startText);
             const result = await progress();