From ce7ec8a43d874fecec705cfc570fd864a905d1d2 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sun, 27 Aug 2023 10:43:47 +0100 Subject: Add proper exit code for build failure --- app/builder/build.ts | 2 +- app/index.ts | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/builder/build.ts b/app/builder/build.ts index 2e11d0f..d894518 100644 --- a/app/builder/build.ts +++ b/app/builder/build.ts @@ -51,7 +51,7 @@ export async function buildPages(): Promise<{ success: boolean, errors: number, logger.error(`Failed to copy static files: ${e.message}`); } - return { success: true, errors: pagesFailed, pageDirectory: pageDirectory}; + return { success: pagesFailed == 0, errors: pagesFailed, pageDirectory: pageDirectory}; } async function renderPage(page: Page, pageDirectory: PageDirectory): Promise { diff --git a/app/index.ts b/app/index.ts index 1cb278a..f7a443d 100644 --- a/app/index.ts +++ b/app/index.ts @@ -21,12 +21,19 @@ logger.info(''); const {success, errors, pageDirectory} = await buildPages(); logger.info(''); -if (!success) { +if (!success && errors == 0) { logger.error(`Build failed. Quitting.`); process.exit(1); } -logger.info(`Finished${errors > 0 ? `, with ${errors} errors` : ''}. Build took ${new Date().getTime() - startDate.getTime()}ms.`); +const exitString = `Finished${errors > 0 ? `, with ${errors} errors` : ''}. Build took ${new Date().getTime() - startDate.getTime()}ms.`; + +if (!success) { + logger.error(exitString); + process.exit(1); +} else { + logger.info(exitString); +} if (process.env.WEBSERVER_ENABLED === 'true') { logger.info(''); -- cgit v1.2.3-70-g09d2