NestJS · 개발 환경

개발 환경 설정에서 고정할 런타임 조건

NestJS 개발 환경은 CLI 설치 여부보다 Node 버전, 패키지 매니저, TypeScript 설정, 실행 스크립트가 팀과 CI에서 같은지 확인하는 단계다.

01

버전 고정

Node와 패키지 매니저 버전을 engines 또는 도구 설정으로 명시한다.

02

프로젝트 생성

Nest CLI 또는 템플릿이 src, test, tsconfig, scripts 구조를 만든다.

03

개발 실행

watch mode가 TypeScript 변경을 감지해 서버를 다시 띄우는지 확인한다.

04

CI 연결

로컬 명령과 CI 명령이 같은 lockfile과 test/build 스크립트를 사용한다.

node
런타임 기준 로컬과 배포 환경의 JavaScript 실행 버전
버전 차이는 decorator와 ESM 설정 문제로 이어질 수 있음
lockfile
의존성 재현 팀원과 CI가 같은 dependency tree를 설치
앱 저장소에서는 커밋 대상
tsconfig
컴파일 정책 experimentalDecorators, emitDecoratorMetadata 등 Nest에 필요한 옵션
strict 단계적 적용
env
개발 설정 포트, DB URL, secret mock 값을 로컬에서 분리
실비밀 커밋 금지

재현 · 버전 · 명령 점검

재현 새 clone에서 문서대로 설치와 실행이 된다.
버전 Node 버전이 사람마다 다르게 해석되지 않는다.
명령 개발, 테스트, 빌드 스크립트가 package.json에 있다.
비밀 예제 env와 실제 env가 분리돼 있다.