From 50f83df903bf2175a6c65ee94e7bba9f3515fc7e Mon Sep 17 00:00:00 2001 From: Prox Date: Tue, 3 Mar 2026 23:55:12 +0200 Subject: [PATCH] fix: address scaffold code quality review feedback --- .gitignore | 1 + Dockerfile | 3 ++- src/main.ts | 13 +++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 939a2c2..d3b991d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /data/ *.log +.env* diff --git a/Dockerfile b/Dockerfile index fa32d46..faf9dc6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,10 @@ FROM denoland/deno:2.2.2 AS builder WORKDIR /app COPY deno.json . +COPY deno.lock . COPY src/ src/ RUN deno compile --allow-net --allow-read --allow-write --allow-env --output reconciler src/main.ts -FROM gcr.io/distroless/cc-debian12 +FROM gcr.io/distroless/cc-debian12:nonroot COPY --from=builder /app/reconciler /usr/local/bin/reconciler ENTRYPOINT ["reconciler"] diff --git a/src/main.ts b/src/main.ts index bd93efe..83eab44 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,13 @@ +import { ZodError } from "zod"; import { loadConfig } from "./config.ts"; -const config = loadConfig(); -console.log(JSON.stringify({ msg: "starting", port: config.port })); +try { + const config = loadConfig(); + console.log(JSON.stringify({ msg: "starting", port: config.port })); +} catch (err) { + if (err instanceof ZodError) { + console.error(JSON.stringify({ msg: "invalid config", issues: err.issues })); + Deno.exit(1); + } + throw err; +}