feat(core-shared): add requireEnv helper

This commit is contained in:
2026-05-04 20:37:12 +02:00
parent 2b2de66b5d
commit 3ffe752c7a
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
import { describe, expect, it, afterEach } from "vitest";
import { requireEnv } from "./env";
describe("requireEnv", () => {
const originalEnv = process.env.SOME_KEY;
afterEach(() => {
if (originalEnv === undefined) delete process.env.SOME_KEY;
else process.env.SOME_KEY = originalEnv;
});
it("returns the value when set", () => {
process.env.SOME_KEY = "value";
expect(requireEnv("SOME_KEY")).toBe("value");
});
it("throws when missing", () => {
delete process.env.SOME_KEY;
expect(() => requireEnv("SOME_KEY")).toThrow(
/Missing required env var: SOME_KEY/,
);
});
it("throws when empty string", () => {
process.env.SOME_KEY = "";
expect(() => requireEnv("SOME_KEY")).toThrow();
});
});

View File

@@ -0,0 +1,7 @@
export function requireEnv(name: string): string {
const value = process.env[name];
if (!value) {
throw new Error(`Missing required env var: ${name}`);
}
return value;
}