From 8f4f459f8cc34c89c40f67ab9f5f8c553547c881 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sun, 27 Aug 2023 11:24:03 +0100 Subject: Fix build date to be constant for all renders --- app/builder/render.ts | 15 ++------------- app/config/info.ts | 16 ++++++++++++++++ app/index.ts | 9 ++++----- package.json | 2 +- 4 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 app/config/info.ts diff --git a/app/builder/render.ts b/app/builder/render.ts index 3ada548..ed59cc6 100644 --- a/app/builder/render.ts +++ b/app/builder/render.ts @@ -1,7 +1,7 @@ import { Page, PageDirectory } from "./pages"; import ejs from 'ejs'; import path from 'path'; -import os from 'os'; +import buildInfo from "../config/info.js"; export async function render(page: Page, pageDirectory: PageDirectory): Promise { const options = { @@ -9,18 +9,7 @@ export async function render(page: Page, pageDirectory: PageDirectory): Promise< site: { pages: pageDirectory, }, - build: { - date: new Date(), - os: { - hostname: os.hostname(), - platform: os.platform(), - release: os.release(), - type: os.type(), - }, - panulat: { - version: process.env.npm_package_version, - }, - } + build: buildInfo, }; return await ejs.renderFile(path.join(process.env.VIEWS_DIR, `${page.view}.ejs`), options); } diff --git a/app/config/info.ts b/app/config/info.ts new file mode 100644 index 0000000..da1b390 --- /dev/null +++ b/app/config/info.ts @@ -0,0 +1,16 @@ +import os from 'os'; + +const buildInfo = { + date: new Date(), + os: { + hostname: os.hostname(), + platform: os.platform(), + release: os.release(), + type: os.type(), + }, + panulat: { + version: process.env.npm_package_version, + }, +}; + +export default buildInfo; diff --git a/app/index.ts b/app/index.ts index f7a443d..2bccdc5 100644 --- a/app/index.ts +++ b/app/index.ts @@ -1,14 +1,13 @@ import dotenv from 'dotenv-defaults'; import { logger } from './logger.js'; import { buildPages } from './builder/build.js'; +import buildInfo from './config/info.js'; dotenv.config(); -const startDate = new Date(); - logger.info(''); -logger.info('panulat, a static site generator'); -logger.info(startDate.toString()); +logger.info(`panulat v${buildInfo.panulat.version}, a static site generator`); +logger.info(buildInfo.date); logger.info(''); logger.info(`Static directory: ${process.env.STATIC_DIR}`); logger.info(` Pages directory: ${process.env.PAGES_DIR}`); @@ -26,7 +25,7 @@ if (!success && errors == 0) { process.exit(1); } -const exitString = `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() - buildInfo.date.getTime()}ms.`; if (!success) { logger.error(exitString); diff --git a/package.json b/package.json index 017cfdd..e6eb3bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "panulat", - "version": "1.1.1", + "version": "1.1.2", "description": "", "main": "app/index.mjs", "scripts": { -- cgit v1.2.3-70-g09d2