@@ -15,13 +15,6 @@ export interface ConsoleUtils {
1515 error ( message : string ) : void ;
1616 step ( emoji : string , message : string ) : void ;
1717 } ;
18- spinner : {
19- start ( message : string ) : void ;
20- succeed ( message : string ) : void ;
21- fail ( message : string ) : void ;
22- stop ( ) : void ;
23- } ;
24- formatConfig ( config : unknown ) : string ;
2518}
2619
2720/**
@@ -33,26 +26,12 @@ const colors = {
3326 yellow : '\x1b[33m' ,
3427 red : '\x1b[31m' ,
3528 cyan : '\x1b[36m' ,
36- dim : '\x1b[2m' ,
3729} ;
3830
39- /**
40- * Spinner frames for animation
41- */
42- const spinnerFrames = [ '⠋' , '⠙' , '⠹' , '⠸' , '⠼' , '⠴' , '⠦' , '⠧' , '⠇' , '⠏' ] ;
43-
4431/**
4532 * Create console utilities instance
4633 */
4734export function createConsoleUtils ( ) : ConsoleUtils {
48- let spinnerInterval : ReturnType < typeof setInterval > | null = null ;
49- let spinnerMessage = '' ;
50- let frameIndex = 0 ;
51-
52- const clearLine = ( ) => {
53- process . stdout . write ( '\r\x1b[K' ) ;
54- } ;
55-
5635 const log = {
5736 info ( message : string ) : void {
5837 process . stdout . write ( `${ colors . cyan } ℹ${ colors . reset } ${ message } \n` ) ;
@@ -75,58 +54,7 @@ export function createConsoleUtils(): ConsoleUtils {
7554 } ,
7655 } ;
7756
78- const spinner = {
79- start ( message : string ) : void {
80- spinnerMessage = message ;
81- frameIndex = 0 ;
82-
83- // Initial render
84- process . stdout . write ( `${ colors . cyan } ${ spinnerFrames [ frameIndex ] } ${ colors . reset } ${ spinnerMessage } ` ) ;
85-
86- // Start animation
87- spinnerInterval = setInterval ( ( ) => {
88- frameIndex = ( frameIndex + 1 ) % spinnerFrames . length ;
89- clearLine ( ) ;
90- process . stdout . write ( `${ colors . cyan } ${ spinnerFrames [ frameIndex ] } ${ colors . reset } ${ spinnerMessage } ` ) ;
91- } , 80 ) ;
92- } ,
93-
94- succeed ( message : string ) : void {
95- if ( spinnerInterval ) {
96- clearInterval ( spinnerInterval ) ;
97- spinnerInterval = null ;
98- }
99- clearLine ( ) ;
100- process . stdout . write ( `${ colors . green } ✓${ colors . reset } ${ message } \n` ) ;
101- } ,
102-
103- fail ( message : string ) : void {
104- if ( spinnerInterval ) {
105- clearInterval ( spinnerInterval ) ;
106- spinnerInterval = null ;
107- }
108- clearLine ( ) ;
109- process . stderr . write ( `${ colors . red } ✗${ colors . reset } ${ message } \n` ) ;
110- } ,
111-
112- stop ( ) : void {
113- if ( spinnerInterval ) {
114- clearInterval ( spinnerInterval ) ;
115- spinnerInterval = null ;
116- }
117- clearLine ( ) ;
118- } ,
119- } ;
120-
121- const formatConfig = ( config : unknown ) : string => {
122- return JSON . stringify ( config , null , 2 ) ;
123- } ;
124-
125- return {
126- log,
127- spinner,
128- formatConfig,
129- } ;
57+ return { log } ;
13058}
13159
13260/**
0 commit comments