기여자가 변경 사항과 함께 추가하는 changeset 파일을 바탕으로 모노레포의 패키지 버전 관리, 변경 로그 작성, 배포를 처리하는 CLI 도구입니다.
sindresorhus/np
사전 릴리스 점검, 버전 업데이트, Git 태깅, 테스트와 푸시를 `npm publish`에 더해 한 번의 대화형 실행으로 릴리스하는 CLI입니다.
- 스타
- 7,710
- 포크
- 311
- 열린 이슈
- 7
- 마지막 커밋
- 지난달
어떤 프로젝트인가요?
np는 npm 패키지를 게시할 때 흔히 거치는 수동 절차를 대신하는 명령줄 도구입니다. 프로젝트에서 실행하면 릴리스 브랜치에 있는지, 작업 디렉터리가 깨끗하고 원격 저장소와 동기화되어 있는지, Node.js와 npm 버전이 프로젝트의 요구 사항에 맞는지 확인합니다. 그런 다음 의존성을 다시 설치하고 테스트를 실행한 뒤, package.json과 package-lock.json의 버전을 올리고 git 태그를 만든 다음 npm에 게시합니다.
게시가 실패하면 np는 프로젝트를 이전 상태로 되돌립니다. 게시에 성공하면 GitHub 또는 GitLab에 커밋과 태그를 푸시하고, 미리 내용이 채워진 GitHub Releases 초안을 열 수 있습니다. 또한 최신 dist-tag로 프리릴리스 버전이 실수로 게시되지 않도록 막고, 2단계 인증을 지원하며, 실행하지 않고 모든 단계를 보여 주는 드라이런 모드도 제공합니다.
np는 npm, pnpm, Bun, Yarn과 함께 사용할 수 있으며, GitHub Packages 또는 사용자 지정 레지스트리에 게시할 수 있습니다. CI보다는 로컬에서 대화형으로 사용하는 것을 목적으로 설계되었으며, 모노레포는 지원하지 않습니다.
핵심 기능
- 01게시 전에 릴리스 브랜치인지, 작업 트리가 깨끗한지, 가져오지 않은 변경 사항이 있는지 확인합니다.
- 02package.json과 package-lock.json의 버전을 올리고 git 태그를 만듭니다.
- 03테스트를 실행하고 게시가 실패하면 프로젝트를 되돌립니다.
- 04GitHub 또는 GitLab에 커밋과 태그를 푸시하고 릴리스 초안을 열 수 있습니다.
- 05대화형 UI와 드라이런 모드를 제공합니다.
- 06npm, pnpm, Bun, Yarn과 GitHub Packages를 지원합니다.
활용 사례
- 일관된 검증 절차를 거쳐 로컬 컴퓨터에서 라이브러리를 npm에 게시하기.
- package.json에 np를 릴리스 스크립트로 추가해 팀 전체의 릴리스 절차를 표준화하기.
- 최신 태그에 영향을 줄 염려 없이 beta 같은 별도의 dist-tag로 프리릴리스 버전을 게시하기.
- npm publish 단계를 건너뛰어 git 저장소의 비공개 패키지 게시하기.
빠른 시작
- 1
npm으로 np를 전역 설치합니다
npm install --global np - 2
프로젝트에서 np를 실행하고 대화형 프롬프트를 따릅니다
np
사용 전 알아둘 점
- 모노레포는 지원하지 않습니다.
- CI는 이상적인 환경이 아닙니다. 로컬에서 사용하는 대화형 도구로 설계되었습니다.
- Node.js 22 이상, npm 10 이상, Git 2.11 이상이 필요합니다.
토픽
자주 묻는 질문
- np은(는) 무엇인가요?
- 사전 릴리스 점검, 버전 업데이트, Git 태깅, 테스트와 푸시를 `npm publish`에 더해 한 번의 대화형 실행으로 릴리스하는 CLI입니다. np는 npm 패키지를 게시할 때 흔히 거치는 수동 절차를 대신하는 명령줄 도구입니다. 프로젝트에서 실행하면 릴리스 브랜치에 있는지, 작업 디렉터리가 깨끗하고 원격 저장소와 동기화되어 있는지, Node.js와 npm 버전이 프로젝트의 요구 사항에 맞는지 확인합니다. 그런 다음 의존성을 다시 설치하고 테스트를 실행한 뒤, package.json과 package-lock.json의 버전을 올리고 git 태그를 만든 다음 npm에 게시합니다.
- np은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- np은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- np은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. np의 마지막 커밋은 2026년 9월 9일입니다.
- np은(는) 어디에 사용할 수 있나요?
- 일관된 검증 절차를 거쳐 로컬 컴퓨터에서 라이브러리를 npm에 게시하기. package.json에 np를 릴리스 스크립트로 추가해 팀 전체의 릴리스 절차를 표준화하기. 최신 태그에 영향을 줄 염려 없이 beta 같은 별도의 dist-tag로 프리릴리스 버전을 게시하기. npm publish 단계를 건너뛰어 git 저장소의 비공개 패키지 게시하기.
- np는 어떻게 설치하나요?
- npm으로 np를 전역 설치합니다: npm install --global np 프로젝트에서 np를 실행하고 대화형 프롬프트를 따릅니다: np
- np은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/sindresorhus/np
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
WinGet, Scoop, Chocolatey, Homebrew, APT, pip, npm 등의 소프트웨어 설치와 업데이트를 관리하는 Windows 중심 GUI입니다.
역알파 블렌딩으로 이미지의 Gemini 워터마크를 제거하는 오프라인 C++ 도구로, GUI, CLI, 일괄 처리 모드를 지원합니다.
일상적인 프로그래밍 패턴을 30초 이내에 익힐 수 있도록 짧고 독립적으로 읽을 수 있는 JavaScript 글과 코드 스니펫을 모았습니다.
안전한 인자 이스케이프와 크로스 플랫폼 헬퍼를 제공하는, 셸 스타일 스크립트 작성용 JavaScript 기반 도구입니다.