aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorLeonardo Bishop <me@leonardobishop.com>2023-08-27 10:43:47 +0100
committerLeonardo Bishop <me@leonardobishop.com>2023-08-27 10:44:03 +0100
commitce7ec8a43d874fecec705cfc570fd864a905d1d2 (patch)
treec25135b68454a2fccb9e11f2334a3c40bb5c16b1 /app
parentb7ff13ed4c217f2af827a4fa02390cafe9775c60 (diff)
Add proper exit code for build failure
Diffstat (limited to 'app')
-rw-r--r--app/builder/build.ts2
-rw-r--r--app/index.ts11
2 files changed, 10 insertions, 3 deletions
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<boolean> {
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('');