프로젝트 소개

release-it은 버전 관리와 패키지 게시 크플로를 자동화하기 위한 범용 CLI 도구입니다. 일반적으로 npm 기반 프로젝트와 함께 사용되지만 이에 국한되지 않으며, `.release-it.json` 파일이나 `package.json`의 `release-it` 속성을 통해 구성할 수 있습니다. README에 설명된 핵심 기능은 다음과 같습니다: - `package.json`과 같은 파일의 버전 범프 - Git 커밋, 태그, 푸시 생성 - 훅을 통한 임의의 테스트 또는 빌드 명령 실행 - GitHub 또는 GitLab에서 리스 생성 - 리스 노트로도 사용할 수 있는 체인지로그 생성 - npm 레지스트리에 게시 - alpha, beta, 릴리스 후보와 같은 사전 릴리스 관리 - 플러그인 시스템을 통한 동작 확장 - CI/CD 환경에서 실행, 비대화형 `--ci` 모드 지원 설치는 일반적으로 `npm init release-it`으로 하거나 release-it을 dev 의존성과 `release` 스크립트로 추가하여 수행합니다. npm 또는 Homebrew를 통해 전역으로 설치할 수도 있으며, Node.js가 없는 환경을 위한 컨테이너화된 옵션도 언급되어 있습니다. 이 도구는 기본적으로 대화형이며 버전 선택과 작업 확인을 묻지만, `--ci`는 프롬프트 없이 프로세스를 자동화합니다. `--only-version`은 프롬프트를 버전 선택으로 제한합니다. 버전 결정은 `package.json`이 있으면 이를 사용하고, 그렇지 않으면 최신 Git 태그를 사용하며, 없으면 `0.0.0`으로 대체합니다. 플러그인은 이 동작을 재정의할 수 있으며, 예를 들어 다른 파일의 버전을 읽거나 범프하거나 Calendar Versioning을 사용할 수 있습니다. Git 지원은 스테이징, 커밋, 태깅, 원격으로의 푸시를 포함합니다. GitHub 및 GitLab 릴리스는 토큰으로 자동화할 수 있으며, npm 게시는 GitHub 및 GitLab CI 워크플로에서 OIDC를 사용한 Trusted Publishing을 사용할 수 있습니다. 체인지로그 생성은 기본적으로 `git log` 기반 명령을 사용하며, 플러그인으로 사용자 정의하거나 대체할 수 있습니다. 훅은 리스 수명 주기의 정의된 지점에서 셸 명령을 허용하며, `[prefix]:[hook]` 또는 `[prefix]:[plugin]:[hook]` 형식을 사용합니다. 버전, 체인지로그, 저장소 세부 정보, 릴리스 URL과 같은 변수를 훅에서 사용할 수 있습니다. 드라이 , 상세 로깅, 디버깅 옵이 문제 해결을 위해 문서화되어 있습니다. README에는 체인지로그 형식, 모노레포/워크스페이스 리스, 대체 버전 관리 체계 및 기타 통합을 위한 다양한 커뮤니티 플러그인이 나열되어 있습니다. 또한 release-it을 의존성으로 프로그래밍 방식으로 사용할 수 있다는 점과 Axios, jQuery, Redux, n8n, Swagger UI를 포함하여 이를 사용하는 프로젝트를 나열합니다. 이 프로젝트는 MIT 라이선스입니다.