File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change 11import fs from 'node:fs' ;
22import path from 'node:path/posix' ;
33import process from 'node:process' ;
4+ import { setTimeout } from 'node:timers/promises' ;
45import ejs from 'ejs' ;
56import fse from 'fs-extra' ;
67import { glob } from 'glob' ;
@@ -120,15 +121,23 @@ export class Creator<T extends Record<string, unknown>> extends TypedEvents<{
120121 }
121122
122123 const spinner = prompts . spinner ( ) ;
124+ let files = 0 ;
123125 spinner . start ( 'Generating project files ...' ) ;
126+ const onWritten = async ( fileMeta : FileMeta ) => {
127+ files ++ ;
128+ spinner . message ( `${ colors . gray ( '+' ) } ${ colors . green ( fileMeta . targetPath ) } ` ) ;
129+ await setTimeout ( Math . random ( ) * 100 ) ;
130+ } ;
131+ this . on ( 'written' , onWritten ) ;
124132 const [ err ] = await tryFlatten ( this . #generateWriteFiles( paths ) ) ;
133+ this . off ( 'written' , onWritten ) ;
125134
126135 if ( err ) {
127136 spinner . stop ( 'Failed to generate project files' , 1 ) ;
128137 throw new ExitError ( err . message , 1 ) ;
129138 }
130139
131- spinner . stop ( ' Generated project files' , 0 ) ;
140+ spinner . stop ( ` Generated project ${ files } files` , 0 ) ;
132141 }
133142
134143 async #generateWriteFiles( paths : string [ ] ) {
You can’t perform that action at this time.
0 commit comments