mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-15 06:52:04 +00:00
fix(config): treat an empty environment variable as unset
docker-compose.yml forwards its whitelist as "${NAME:-}", so a variable
the operator never set reaches the process as the empty string. Reads
written as a nullish fallback kept that string: the weather client built
an empty base URL and every geocode failed with ERR_INVALID_URL, and the
IP geo lookup requested a relative path.
Reads with a fallback now go through src/lib/env.ts (envValue, envOr,
envFlag), which treats empty and whitespace as unset. IP_GEO_LOOKUP_DISABLED
accepts 1, true, yes and on instead of only "1". A structural test refuses
a ?? fallback written directly against process.env anywhere in src/, and
the compose whitelist guard counts the helper's call shape as a read.
This commit is contained in:
1 parent
4af6b87a2a
commit
3c3e5ceab7
25 files changed
+337
-37
No files matched your search
@@ -1,3 +1,4 @@
|
||||
import { envOr } from "@/lib/env";
|
||||
import { hostname } from "node:os";
|
||||
import type { LoggingConfig, LogLevel, WideEvent } from "./types";
|
||||
import { LOG_LEVEL_PRIORITY } from "./types";
|
||||
@@ -8,7 +9,7 @@ let cachedConfig: LoggingConfig | null = null;
|
||||
export function getLoggingConfig(): LoggingConfig {
|
||||
if (cachedConfig) return cachedConfig;
|
||||
|
||||
const level = (process.env.LOG_LEVEL ?? "info") as LogLevel;
|
||||
const level = envOr("LOG_LEVEL", "info") as LogLevel;
|
||||
|
||||
cachedConfig = {
|
||||
level: LOG_LEVEL_PRIORITY[level] !== undefined ? level : "info",
|
||||
|
||||
Reference in new issue
Block a user