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 1
1
import fs from 'node:fs' ;
2
2
import path from 'node:path/posix' ;
3
3
import process from 'node:process' ;
4
+ import { setTimeout } from 'node:timers/promises' ;
4
5
import ejs from 'ejs' ;
5
6
import fse from 'fs-extra' ;
6
7
import { glob } from 'glob' ;
@@ -120,15 +121,23 @@ export class Creator<T extends Record<string, unknown>> extends TypedEvents<{
120
121
}
121
122
122
123
const spinner = prompts . spinner ( ) ;
124
+ let files = 0 ;
123
125
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 ) ;
124
132
const [ err ] = await tryFlatten ( this . #generateWriteFiles( paths ) ) ;
133
+ this . off ( 'written' , onWritten ) ;
125
134
126
135
if ( err ) {
127
136
spinner . stop ( 'Failed to generate project files' , 1 ) ;
128
137
throw new ExitError ( err . message , 1 ) ;
129
138
}
130
139
131
- spinner . stop ( ' Generated project files' , 0 ) ;
140
+ spinner . stop ( ` Generated project ${ files } files` , 0 ) ;
132
141
}
133
142
134
143
async #generateWriteFiles( paths : string [ ] ) {
You can’t perform that action at this time.
0 commit comments