@hm-soft/env
v0.1.0
Published
스키마 기반 타입 안전 환경변수 로더 — 필수 검증·기본값·타입변환(number/boolean/enum/url/json), 누락 일괄 보고 (의존성 0)
Downloads
99
Maintainers
Readme
@hm-soft/env
스키마 기반 타입 안전 환경변수 로더. 서버 시작 시 필수 누락·타입 오류를 한 번에 잡아 던집니다. 의존성 0.
설치
npm install @hm-soft/env사용
import { loadEnv } from "@hm-soft/env";
export const env = loadEnv({
PORT: { type: "port", default: 3000 },
DATABASE_URL: { type: "string", required: true },
DEBUG: { type: "boolean", default: false },
NODE_ENV: { type: "enum", values: ["development", "production", "test"], default: "development" },
API_BASE: { type: "url", required: true },
FLAGS: { type: "json", default: {} },
});
env.PORT; // number
env.DEBUG; // boolean
env.NODE_ENV; // "development" | "production" | "test"누락/오류가 있으면 모두 모아 한 번에 알려줍니다:
Error: 환경변수 오류:
- DATABASE_URL: 필수 환경변수가 없습니다
- PORT: 유효한 포트(1~65535)가 아닙니다타입
| type | 변환 | 비고 |
|------|------|------|
| string | 그대로 | |
| number | 숫자 | 숫자 아니면 오류 |
| port | 정수 | 1~65535 |
| boolean | true/false | true/1/yes/on, false/0/no/off |
| enum | 문자열 | values에 포함돼야 함 |
| url | 문자열 | new URL() 검증 |
| json | 파싱값 | JSON.parse |
각 항목: { type, required?, default?, values? }
required: true→ 없으면 오류default지정 → 없을 때 사용- 둘 다 없으면 →
undefined - 빈 문자열(
"")은 미지정으로 간주
License
Apache-2.0
