diff options
| author | Leonardo Bishop <me@leonardobishop.com> | 2023-08-27 10:43:47 +0100 |
|---|---|---|
| committer | Leonardo Bishop <me@leonardobishop.com> | 2023-08-27 10:44:03 +0100 |
| commit | ce7ec8a43d874fecec705cfc570fd864a905d1d2 (patch) | |
| tree | c25135b68454a2fccb9e11f2334a3c40bb5c16b1 /app | |
| parent | b7ff13ed4c217f2af827a4fa02390cafe9775c60 (diff) | |
Add proper exit code for build failure
Diffstat (limited to 'app')
| -rw-r--r-- | app/builder/build.ts | 2 | ||||
| -rw-r--r-- | app/index.ts | 11 |
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(''); |
