@@ -36795,7 +36795,7 @@ __nccwpck_require__.d(__webpack_exports__, {
3679536795
3679636796;// CONCATENATED MODULE: external "os"
3679736797const external_os_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("os");
36798- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/utils.js
36798+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/utils.js
3679936799// We use any as a valid input type
3680036800/* eslint-disable @typescript-eslint/no-explicit-any */
3680136801/**
@@ -36831,7 +36831,7 @@ function utils_toCommandProperties(annotationProperties) {
3683136831 };
3683236832}
3683336833//# sourceMappingURL=utils.js.map
36834- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/command.js
36834+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/command.js
3683536835
3683636836
3683736837/**
@@ -36927,7 +36927,7 @@ function escapeProperty(s) {
3692736927const external_crypto_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("crypto");
3692836928// EXTERNAL MODULE: external "fs"
3692936929var external_fs_ = __nccwpck_require__(9896);
36930- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/file-command.js
36930+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/file-command.js
3693136931// For internal use, subject to change.
3693236932// We use any as a valid input type
3693336933/* eslint-disable @typescript-eslint/no-explicit-any */
@@ -37837,7 +37837,7 @@ class PersonalAccessTokenCredentialHandler {
3783737837 }
3783837838}
3783937839//# sourceMappingURL=auth.js.map
37840- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/oidc-utils.js
37840+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/oidc-utils.js
3784137841var oidc_utils_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3784237842 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3784337843 return new (P || (P = Promise))(function (resolve, reject) {
@@ -37911,7 +37911,7 @@ class oidc_utils_OidcClient {
3791137911 }
3791237912}
3791337913//# sourceMappingURL=oidc-utils.js.map
37914- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/summary.js
37914+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/summary.js
3791537915var summary_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3791637916 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3791737917 return new (P || (P = Promise))(function (resolve, reject) {
@@ -38192,7 +38192,7 @@ const _summary = new Summary();
3819238192const markdownSummary = (/* unused pure expression or super */ null && (_summary));
3819338193const summary = (/* unused pure expression or super */ null && (_summary));
3819438194//# sourceMappingURL=summary.js.map
38195- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/path-utils.js
38195+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/path-utils.js
3819638196
3819738197/**
3819838198 * toPosixPath converts the given path to the posix form. On Windows, \\ will be
@@ -39356,7 +39356,7 @@ function getExecOutput(commandLine, args, options) {
3935639356 });
3935739357}
3935839358//# sourceMappingURL=exec.js.map
39359- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/platform.js
39359+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/platform.js
3936039360var platform_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3936139361 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3936239362 return new (P || (P = Promise))(function (resolve, reject) {
@@ -39421,7 +39421,7 @@ function getDetails() {
3942139421 });
3942239422}
3942339423//# sourceMappingURL=platform.js.map
39424- ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.0 /node_modules/@actions/core/lib/core.js
39424+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/@actions+core@3.0.1 /node_modules/@actions/core/lib/core.js
3942539425var core_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3942639426 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3942739427 return new (P || (P = Promise))(function (resolve, reject) {
@@ -52251,7 +52251,7 @@ function isInteractive({stream = process.stdout} = {}) {
5225152251 );
5225252252}
5225352253
52254- ;// CONCATENATED MODULE: ./node_modules/.pnpm/stdin-discarder@0.3.1 /node_modules/stdin-discarder/index.js
52254+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/stdin-discarder@0.3.2 /node_modules/stdin-discarder/index.js
5225552255
5225652256
5225752257const ASCII_ETX_CODE = 0x03; // Ctrl+C
@@ -52268,11 +52268,8 @@ class StdinDiscarder {
5226852268
5226952269 const code = typeof chunk === 'string' ? chunk.codePointAt(0) : chunk[0];
5227052270 if (code === ASCII_ETX_CODE) {
52271- if (external_node_process_.listenerCount('SIGINT') > 0) {
52272- external_node_process_.emit('SIGINT');
52273- } else {
52274- external_node_process_.kill(external_node_process_.pid, 'SIGINT');
52275- }
52271+ // Always re-signal the process. Emitting `SIGINT` directly breaks normal Ctrl+C termination when libraries install listeners for cleanup.
52272+ external_node_process_.kill(external_node_process_.pid, 'SIGINT');
5227652273 }
5227752274 };
5227852275
@@ -52340,7 +52337,7 @@ const stdinDiscarder = new StdinDiscarder();
5234052337
5234152338/* harmony default export */ const stdin_discarder = (Object.freeze(stdinDiscarder));
5234252339
52343- ;// CONCATENATED MODULE: ./node_modules/.pnpm/ora@9.3 .0/node_modules/ora/index.js
52340+ ;// CONCATENATED MODULE: ./node_modules/.pnpm/ora@9.4 .0/node_modules/ora/index.js
5234452341
5234552342
5234652343
@@ -52360,6 +52357,8 @@ const SYNCHRONIZED_OUTPUT_DISABLE = '\u001B[?2026l';
5236052357// Global state for concurrent spinner detection
5236152358const activeHooksPerStream = new Map(); // Stream → ora instance
5236252359
52360+ const validColors = new Set(['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'gray']);
52361+
5236352362class Ora {
5236452363 #linesToClear = 0;
5236552364 #frameIndex = -1;
@@ -52373,7 +52372,7 @@ class Ora {
5237352372 #drainHandler;
5237452373 #deferRenderTimer;
5237552374 #isDiscardingStdin = false;
52376- color;
52375+ # color;
5237752376
5237852377 // Helper to execute writes while preventing hook recursion
5237952378 #internalWrite(fn) {
@@ -52484,6 +52483,10 @@ class Ora {
5248452483 this.#options.isSilent = false;
5248552484 }
5248652485
52486+ if (this.#options.interval !== undefined && !(Number.isInteger(this.#options.interval) && this.#options.interval > 0)) {
52487+ throw new Error('The `interval` option must be a positive integer');
52488+ }
52489+
5248752490 // Set *after* `this.#stream`.
5248852491 // Store original interval before spinner setter clears it
5248952492 const userInterval = this.#options.interval;
@@ -52629,6 +52632,18 @@ class Ora {
5262952632 return count;
5263052633 }
5263152634
52635+ get color() {
52636+ return this.#color;
52637+ }
52638+
52639+ set color(value) {
52640+ if (value !== undefined && value !== false && !validColors.has(value)) {
52641+ throw new Error('The `color` option must be a valid color or `false` to disable');
52642+ }
52643+
52644+ this.#color = value;
52645+ }
52646+
5263252647 get isEnabled() {
5263352648 return this.#options.isEnabled && !this.#options.isSilent;
5263452649 }
@@ -52664,8 +52679,8 @@ class Ora {
5266452679 const {frames} = this.#spinner;
5266552680 let frame = frames[this.#frameIndex];
5266652681
52667- if (this.color) {
52668- frame = source[this.color](frame);
52682+ if (this.# color) {
52683+ frame = source[this.# color](frame);
5266952684 }
5267052685
5267152686 const fullPrefixText = this.#getFullPrefixText(this.#options.prefixText, ' ');
@@ -52949,25 +52964,42 @@ async function oraPromise(action, options) {
5294952964 throw new TypeError('Parameter `action` must be a Function or a Promise');
5295052965 }
5295152966
52952- const {successText, failText} = typeof options === 'object'
52967+ const {
52968+ successText,
52969+ failText,
52970+ successSymbol,
52971+ failSymbol,
52972+ } = typeof options === 'object'
5295352973 ? options
52954- : {successText: undefined, failText: undefined };
52974+ : {};
5295552975
5295652976 const spinner = ora(options).start();
5295752977
5295852978 try {
5295952979 const promise = actionIsFunction ? action(spinner) : action;
5296052980 const result = await promise;
5296152981
52962- spinner.succeed( successText === undefined
52982+ const text = successText === undefined
5296352983 ? undefined
52964- : (typeof successText === 'string' ? successText : successText(result)));
52984+ : (typeof successText === 'string' ? successText : successText(result));
52985+
52986+ if (successSymbol === undefined) {
52987+ spinner.succeed(text);
52988+ } else {
52989+ spinner.stopAndPersist({symbol: successSymbol, text});
52990+ }
5296552991
5296652992 return result;
5296752993 } catch (error) {
52968- spinner.fail( failText === undefined
52994+ const text = failText === undefined
5296952995 ? undefined
52970- : (typeof failText === 'string' ? failText : failText(error)));
52996+ : (typeof failText === 'string' ? failText : failText(error));
52997+
52998+ if (failSymbol === undefined) {
52999+ spinner.fail(text);
53000+ } else {
53001+ spinner.stopAndPersist({symbol: failSymbol, text});
53002+ }
5297153003
5297253004 throw error;
5297353005 }
0 commit comments