aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dotenv.ts28
1 files changed, 28 insertions, 0 deletions
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")
+
+ }
+}