@@ -45,14 +45,15 @@ const ProgressLabelMapping = {
4545
4646export class DefaultReporter implements Reporter {
4747 private renderEmitter = new EventEmitter ( ) ;
48+ private inkWrite : ( ( data : string ) => void ) | null = null ;
4849 private progressState : ProgressState | null = null
4950 private verbosityToggleCallback : ( ( ) => void ) | null = null ;
5051 private sudoPasswordSubmittedCallback : ( ( password : string ) => Promise < boolean > ) | null = null ;
5152 silent = false ;
5253 rawOutput = false ;
5354
5455 constructor ( ) {
55- render ( < DefaultComponent emitter = { this . renderEmitter } /> ) ;
56+ render ( < DefaultComponent emitter = { this . renderEmitter } onWriteReady = { ( write ) => { this . inkWrite = write ; } } /> ) ;
5657
5758 ctx . on ( Event . OUTPUT , ( args ) => this . log ( args ) ) ;
5859 ctx . on ( Event . PROCESS_START , ( name ) => this . onProcessStartEvent ( name ) )
@@ -241,7 +242,7 @@ export class DefaultReporter implements Reporter {
241242 RenderEvent . PROMPT_RESULT
242243 )
243244
244- this . log ( result ? `${ message } -> "Yes"` : `${ message } -> "No"` )
245+ ctx . log ( result ? `${ message } -> "Yes"` : `${ message } -> "No"` )
245246
246247 return result ;
247248 }
@@ -254,7 +255,7 @@ export class DefaultReporter implements Reporter {
254255 RenderEvent . PROMPT_RESULT
255256 )
256257
257- this . log ( `${ message } -> "${ result } "` )
258+ ctx . log ( `${ message } -> "${ result } "` )
258259
259260 await this . updateRenderState ( prevRenderState . status , prevRenderState . data ) ;
260261
@@ -268,7 +269,7 @@ export class DefaultReporter implements Reporter {
268269 private log ( log : string ) : void {
269270 if ( this . silent ) return ;
270271
271- console . log ( this . rawOutput ? log : chalk . cyan ( log ) ) ;
272+ this . inkWrite ?. ( this . rawOutput ? log : chalk . cyan ( log ) ) ;
272273 }
273274
274275 private onProcessStartEvent ( name : ProcessName ) : void {
@@ -281,21 +282,21 @@ export class DefaultReporter implements Reporter {
281282 subProgresses : [ ] ,
282283 } ;
283284
284- this . log ( `${ label } started` )
285+ ctx . log ( `${ label } started` )
285286 store . set ( store . progressState , this . progressState ) ;
286287 }
287288
288289 private onProcessFinishEvent ( name : ProcessName ) : void {
289290 const label = ProgressLabelMapping [ name ] ;
290- this . log ( `${ label } finished successfully` )
291+ ctx . log ( `${ label } finished successfully` )
291292
292293 this . progressState ! . status = ProgressStatus . FINISHED ;
293294 store . set ( store . progressState , structuredClone ( this . progressState ) ) ;
294295 }
295296
296297 private onSubprocessStartEvent ( name : SubProcessName , additionalName ?: string ) : void {
297298 const label = ProgressLabelMapping [ name ] + ( additionalName ? ' ' + additionalName : '' ) ;
298- this . log ( `${ label } started` )
299+ ctx . log ( `${ label } started` )
299300
300301 this . progressState ?. subProgresses ?. push ( {
301302 label,
@@ -318,7 +319,7 @@ export class DefaultReporter implements Reporter {
318319
319320 subProgress . status = ProgressStatus . FINISHED ;
320321
321- this . log ( `${ label } finished successfully` )
322+ ctx . log ( `${ label } finished successfully` )
322323 store . set ( store . progressState , structuredClone ( this . progressState ) ) ;
323324 }
324325
0 commit comments