From 951844836fca55b5321999a4d4637d1b56fdb448 Mon Sep 17 00:00:00 2001 From: Autumn Date: Mon, 11 May 2026 17:47:44 +0100 Subject: [app] added .env support --- src/lib/dotenv.ts | 28 ++++++++++++++++++++++++++++ src/server.ts | 8 ++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/lib/dotenv.ts (limited to 'src') diff --git a/src/lib/dotenv.ts b/src/lib/dotenv.ts new file mode 100644 index 0000000..2fb8e65 --- /dev/null +++ b/src/lib/dotenv.ts @@ -0,0 +1,28 @@ +// +// ~~~ read a .env file +// + +// imports +import { readFileSync } from "node:fs" + +// load .env function +export default function loadDotenv() { + + const file: string = ".env" // todo: don't hard-code the location + + try { + + const fileContents = readFileSync(file, "utf8") + .split("\n") + .filter((line) => line !== "") + .map((line) => line.split("=")) + + const fileEntries = new Map(fileContents) + return Object.fromEntries(fileEntries) + + } catch(e) { + + console.error("!> cannot read .env file") + + } +} diff --git a/src/server.ts b/src/server.ts index 8741e16..424a4f0 100644 --- a/src/server.ts +++ b/src/server.ts @@ -2,10 +2,14 @@ // ~~~ server process // -// setup app +// imports import app from "./app.ts" +import loadDotenv from "@lib/dotenv.ts" + +// setup app +const dotenv = loadDotenv() -const PORT = 3000 +const PORT = dotenv?.HC_PORT || 3000 // start app app.listen(PORT, () => { -- cgit v1.3