33const yaml = require ( 'js-yaml' )
44const ejs = require ( 'ejs' )
55const fs = require ( 'fs' )
6+ const fsPromises = require ( 'fs/promises' )
67const path = require ( 'path' )
78
89const parseArgs = require ( 'minimist' )
@@ -132,7 +133,7 @@ const createApp = async (destDir, { lang, overwrite }) => {
132133 )
133134
134135 const fsFlags = overwrite ? 'w' : 'wx'
135- await fs . writeFile ( resultFile , resultedCode , { 'flag' : fsFlags } , fileExistsHandler )
136+ return fsPromises . writeFile ( resultFile , resultedCode , { 'flag' : fsFlags } ) . catch ( fileExistsHandler )
136137}
137138
138139const createDb = async ( destDir , { lang, overwrite } ) => {
@@ -143,8 +144,8 @@ const createDb = async (destDir, { lang, overwrite }) => {
143144 console . log ( 'Generate' , fileName )
144145 const resultFile = path . join ( destDir , fileName )
145146
146- const mode = overwrite ? 0 : fs . constants . COPYFILE_EXCL
147- await fs . copyFile ( `${ __dirname } /templates/${ fileName } ` , resultFile , mode , fileExistsHandler )
147+ const mode = overwrite ? 0 : fsPromises . constants . COPYFILE_EXCL
148+ return fsPromises . copyFile ( `${ __dirname } /templates/${ fileName } ` , resultFile , mode ) . catch ( fileExistsHandler )
148149}
149150
150151// "-- comment\nSELECT * FROM foo" => "SELECT * FROM foo"
@@ -306,7 +307,7 @@ const createEndpoints = async (destDir, { lang, overwrite }, config) => {
306307 )
307308
308309 const fsFlags = overwrite ? 'w' : 'wx'
309- await fs . writeFile ( resultFile , resultedCode , { 'flag' : fsFlags } , fileExistsHandler )
310+ return fsPromises . writeFile ( resultFile , resultedCode , { 'flag' : fsFlags } ) . catch ( fileExistsHandler )
310311}
311312
312313const createDependenciesDescriptor = async ( destDir , { lang, overwrite } ) => {
@@ -342,7 +343,7 @@ const createDependenciesDescriptor = async (destDir, { lang, overwrite }) => {
342343 )
343344
344345 const fsFlags = overwrite ? 'w' : 'wx'
345- await fs . writeFile ( resultFile , minimalPackageJson , { 'flag' : fsFlags } , fileExistsHandler )
346+ return fsPromises . writeFile ( resultFile , minimalPackageJson , { 'flag' : fsFlags } ) . catch ( fileExistsHandler )
346347}
347348
348349const showInstructions = ( lang ) => {
@@ -378,7 +379,7 @@ const absolutePathToDestDir = (argv) => {
378379 return path . resolve ( process . cwd ( ) , relativeDestDir )
379380}
380381
381- const main = ( argv ) => {
382+ const main = async ( argv ) => {
382383 const config = loadConfig ( endpointsFile )
383384
384385 const destDir = absolutePathToDestDir ( argv )
@@ -389,10 +390,10 @@ const main = (argv) => {
389390 fs . mkdirSync ( destDir , { recursive : true } )
390391 }
391392
392- createApp ( destDir , argv )
393- createDb ( destDir , argv )
394- createEndpoints ( destDir , argv , config )
395- createDependenciesDescriptor ( destDir , argv )
393+ await createApp ( destDir , argv )
394+ await createDb ( destDir , argv )
395+ await createEndpoints ( destDir , argv , config )
396+ await createDependenciesDescriptor ( destDir , argv )
396397 showInstructions ( argv . lang )
397398}
398399
0 commit comments