From 1b70897f9840e6365ff800490fbb813b9840177d Mon Sep 17 00:00:00 2001 From: Chen Asraf Date: Sun, 4 Feb 2024 00:08:04 +0200 Subject: [PATCH] fix: try to await scaffold before finally --- src/cmd.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/cmd.ts b/src/cmd.ts index a158909..9710d19 100644 --- a/src/cmd.ts +++ b/src/cmd.ts @@ -29,10 +29,12 @@ export async function parseCliArgs(args = process.argv.slice(2)) { } log(config, LogLevel.info, `Simple Scaffold v${pkg.version}`) const tmpPath = path.resolve(os.tmpdir(), `scaffold-config-${Date.now()}`) - const parsed = await parseConfigFile(config, tmpPath) try { - return Scaffold(parsed) + log(config, LogLevel.debug, "Parsing config file...", config) + const parsed = await parseConfigFile(config, tmpPath) + await Scaffold(parsed) } finally { + log(config, LogLevel.debug, "Cleaning up temporary files...", tmpPath) await fs.rm(tmpPath, { recursive: true, force: true }) } }) @@ -133,7 +135,13 @@ export async function parseCliArgs(args = process.argv.slice(2)) { "Determine amount of logs to display. The values are: " + `${chalk.bold`\`none | debug | info | warn | error\``}. ` + "The provided level will display messages of the same level or higher.", - parse: (v) => v.toLowerCase(), + parse: (v) => { + const val = v.toLowerCase() + if (!(val in LogLevel)) { + throw new Error(`Invalid log level: ${val}, must be one of: ${Object.keys(LogLevel).join(", ")}`) + } + return val + }, }) .flag({ name: "dry-run",