File tree Expand file tree Collapse file tree 2 files changed +15
-4
lines changed
Expand file tree Collapse file tree 2 files changed +15
-4
lines changed Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ program
3434 . option ( '-t, --templates <templateDir>' , 'directory where templates are located (defaults to internal nodejs templates)' )
3535 . option ( '-b, --basedir <baseDir>' , 'directory to use as the base when resolving local file references (defaults to OpenAPI file directory)' )
3636 . option ( '-c, --curl' , 'generate a curl scripts' , false )
37+ . option ( '-s, --skipExistingFiles' , 'skip existing files' )
3738 . parse ( process . argv ) ;
3839
3940if ( ! openapiFile ) {
@@ -48,7 +49,7 @@ generator.generate({
4849 templates : program . templates ? path . resolve ( process . cwd ( ) , program . templates ) : undefined ,
4950 curl : program . curl ,
5051 template,
51- } ) . then ( ( ) => {
52+ skipExistingFiles : program . skipExistingFiles
5253 console . log ( green ( 'Done! ✨' ) ) ;
5354 console . log ( yellow ( 'Check out your shiny new API at ' ) + magenta ( program . output ) + yellow ( '.' ) ) ;
5455} ) . catch ( err => {
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ const xfs = require('fs.extra');
1313const randomName = require ( 'project-name-generator' ) ;
1414const registerPartial = require ( './register-partial' ) ;
1515const bundler = require ( './bundler' ) ;
16+ const yellow = text => `\x1b[33m${ text } \x1b[0m` ;
1617
1718const codegen = module . exports ;
1819
@@ -46,10 +47,19 @@ const generateFile = options => new Promise((resolve, reject) => {
4647 const parsed_content = template ( data ) ;
4748 const template_path = path . relative ( templates_dir , path . resolve ( root , file_name ) ) ;
4849 const generated_path = path . resolve ( target_dir , template_path ) . replace ( / .h b s $ / , '' ) ;
49- fs . writeFile ( generated_path , parsed_content , 'utf8' , ( err ) => {
50- if ( err ) return reject ( err ) ;
50+ // WIP check here for existing?
51+ const skipFile = data . skipExistingFiles && fs . existsSync ( generated_path ) ;
52+ if ( ! skipFile ) {
53+ fs . writeFile ( generated_path , parsed_content , 'utf8' , ( err ) => {
54+ if ( err ) return reject ( err ) ;
55+ resolve ( ) ;
56+ } ) ;
57+ }
58+ else {
59+ console . warn ( yellow ( `Skipping file: ${ generated_path } ` ) ) ;
5160 resolve ( ) ;
52- } ) ;
61+ }
62+
5363 } catch ( e ) {
5464 reject ( e ) ;
5565 }
You can’t perform that action at this time.
0 commit comments