
envalid는 환경 변수를 검증하고 관리하는 데 도움을 주는 라이브러리이다. 주로 환경 변수에 대한 유효성 검사와 필수 변수의 존재 여부를 확인하는 데 사용된다.
환경 변수 유효성 검사
envalid는 환경 변수의 유효성을 검사하고 지정된 형식에 맞지 않거나 필수 변수가 누락된 경우 에러를 발생시킨다.
유연한 구성
다양한 데이터 유형에 대한 검증을 지원하며, 환경 변수를 정의하고 검사하는 데 사용자가 원하는 방식으로 유연하게 구성할 수 있다.
보안 강화
환경 변수를 검증하여 예기치 않은 값 또는 부적절한 값으로부터 시스템을 보호한다.
아래와 같은 .env 파일에 정의된 환경변수 값들이 있다고 하자.
PORT=3000
API_KEY=your_api_key_here
ENABLE_FEATURE_X=true
import { cleanEnv, num, str, bool } from 'envalid';
const env = cleanEnv(process.env, {
PORT: num({ default: 3000 }), // PORT는 숫자여야 하며, 값이 없으면 기본값으로 3000을 사용한다.
API_KEY: str(),
ENABLE_FEATURE_X: bool({ default: false })
// ENABLE_FEATURE_X는 부울(boolean) 값이어야 하며, 값이 없으면 기본값으로 false를 사용한다.
});
// 이후에 env 객체를 사용하여 환경 변수에 접근할 수 있다.
console.log('App is running on port:', env.PORT);
console.log('API Key:', env.API_KEY);
console.log('Feature X enabled:', env.ENABLE_FEATURE_X);
envalid 라이브러리는 타입스크립트와 사용하면 궁합이 좋다. 타입스크립트에서는 타입에 대한 안정성을 보장해주며 코딩해주는 것이 좋고, 이러한 타입 안정성을 보장해주는 envalid 라이브러리를 함께 사용하면, 해당 환경변수에 대한 타입을 보장시켜주는 효과가 있다.