학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 165 · 실전 면접 답변

npm 패키지를 배포(publish)하기 전에 어떤 설정과 산출물을 확인하나요?

이렇게 답해 보세요 (핵심 답변)

npm 패키지를 배포하기 전에는 package.json의 패키지 이름(중복 및 스코프 공개 범위), 시맨틱 버전(SemVer), 라이선스, 그리고 소비자가 모듈을 불러올 진입점인 exports·main·module·types 경로가 실제 빌드 산출물과 일치하는지 확인합니다. 또한 files 필드나 .npmignore를 통해 배포에 필요한 빌드 파일만 포함되도록 제한하고, 실제 게시 전에 npm pack --dry-run이나 로컬 설치 테스트를 실행해 .env 파일이나 비밀키, 불필요한 테스트·원본 파일이 tarball에 섞여 들어가지 않았는지 검증합니다. 마지막으로 peerDependencies 범위와 빌드·테스트 통과 여부, 배포 계정의 2FA/토큰 권한을 점검한 뒤 게시합니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. Git 저장소에 있는 파일 목록과 실제로 npm 레지스트리에 압축되어 올라가는 tarball 파일 목록은 다를 수 있으므로 사전 확인이 필수입니다.
  2. ESM과 CJS 환경, TypeScript 타입 선언 경로(exports/types)가 어긋나 있으면 패키지 설치는 성공해도 사용자의 빌드나 IDE 타입 추론에서 에러가 발생합니다.

면접에서 자주 하는 실수

단순히 버전 숫자만 올리고 npm pack 검증 없이 바로 배포했다가 민감한 설정 파일이 공개 레지스트리에 노출되거나 빌드 산출물이 누락되는 실수를 주의해야 합니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 165번을 바탕으로 질문과 답변을 새로 정리했습니다.

← 프론트엔드 설계