3
3
const yaml = require('js-yaml')
4
4
const ejs = require('ejs')
5
5
const fs = require('fs')
6
+ const fsPromises = require('fs/promises')
6
7
const path = require('path')
7
8
8
9
const parseArgs = require('minimist')
@@ -132,7 +133,7 @@ const createApp = async (destDir, { lang, overwrite }) => {
132
133
)
133
134
134
135
const fsFlags = overwrite ? 'w' : 'wx'
135
- await fs .writeFile(resultFile, resultedCode, { 'flag': fsFlags }, fileExistsHandler)
136
+ return fsPromises .writeFile(resultFile, resultedCode, { 'flag': fsFlags }).catch( fileExistsHandler)
136
137
}
137
138
138
139
const createDb = async (destDir, { lang, overwrite }) => {
@@ -143,8 +144,8 @@ const createDb = async (destDir, { lang, overwrite }) => {
143
144
console.log('Generate', fileName)
144
145
const resultFile = path.join(destDir, fileName)
145
146
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)
148
149
}
149
150
150
151
// "-- comment\nSELECT * FROM foo" => "SELECT * FROM foo"
@@ -306,7 +307,7 @@ const createEndpoints = async (destDir, { lang, overwrite }, config) => {
306
307
)
307
308
308
309
const fsFlags = overwrite ? 'w' : 'wx'
309
- await fs .writeFile(resultFile, resultedCode, { 'flag': fsFlags }, fileExistsHandler)
310
+ return fsPromises .writeFile(resultFile, resultedCode, { 'flag': fsFlags }).catch( fileExistsHandler)
310
311
}
311
312
312
313
const createDependenciesDescriptor = async (destDir, { lang, overwrite }) => {
@@ -342,7 +343,7 @@ const createDependenciesDescriptor = async (destDir, { lang, overwrite }) => {
342
343
)
343
344
344
345
const fsFlags = overwrite ? 'w' : 'wx'
345
- await fs .writeFile(resultFile, minimalPackageJson, { 'flag': fsFlags }, fileExistsHandler)
346
+ return fsPromises .writeFile(resultFile, minimalPackageJson, { 'flag': fsFlags }).catch( fileExistsHandler)
346
347
}
347
348
348
349
const showInstructions = (lang) => {
@@ -378,7 +379,7 @@ const absolutePathToDestDir = (argv) => {
378
379
return path.resolve(process.cwd(), relativeDestDir)
379
380
}
380
381
381
- const main = (argv) => {
382
+ const main = async (argv) => {
382
383
const config = loadConfig(endpointsFile)
383
384
384
385
const destDir = absolutePathToDestDir(argv)
@@ -389,10 +390,10 @@ const main = (argv) => {
389
390
fs.mkdirSync(destDir, {recursive: true})
390
391
}
391
392
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)
396
397
showInstructions(argv.lang)
397
398
}
398
399
0 commit comments