자동 버전 관리로 NPM 패키지 출시
5804 단어 npmnodedevopsjavascript
{
"name": "my-awesome-package",
"version": "1.0.0",
"scripts": {
"release": "npm version $(semver $npm_package_version -i minor) && npm publish --tag latest",
},
"devDependencies": {
"semver": "^7.3.7"
}
}
이 릴리스 스크립트는 패키지의 버전 번호를 증가시키고 패키지를 NPM 레지스트리(또는 다른 레지스트리)에 게시합니다. 버전 번호를 올바르게 증가시키기 위해 npmsemver 패키지는 지정된 마이너 레벨(major/minor/patch)에 따라 다음 버전 번호를 자동으로 찾습니다.
물론 각 semver 레벨 major, minor 및 patch에 대해 세 개의 스크립트를 만들 수 있습니다.
{
"name": "my-awesome-package",
"version": "1.0.0",
"scripts": {
"release:major": "npm version $(semver $npm_package_version -i major) && npm publish --tag latest",
"release:minor": "npm version $(semver $npm_package_version -i minor) && npm publish --tag latest",
"release:patch": "npm version $(semver $npm_package_version -i patch) && npm publish --tag latest"
},
"devDependencies": {
"semver": "^7.3.7"
}
}
사용자 접미사가 포함된 프리릴리즈 패키지
팀에서 작업 중이고 다른 프로젝트에서 테스트하기 위해 패키지를 릴리스해야 하는 경우 동료가 실수로 최신 업데이트를 설치하는 것을 방지하기 위해 먼저 해당 패키지를 알파 또는 베타 버전으로 릴리스할 수 있습니다. 이 중간 버전을 1.0.0-1과 같이 시험판이라고 합니다. 물론 이 버전은 여전히 다른 팀원의 기존 버전과 충돌할 수 있습니다. 버전을 진정으로 고유하게 만들기 위해 사용자 이름을 버전 접미사에 추가할 수 있습니다. 결과적으로 사용자 이름이 zirkelc인 1.0.1-zirkelc.1과 같은 버전 번호가 생성됩니다.
{
"name": "my-awesome-package",
"version": "1.0.0",
"scripts": {
"release:beta": "npm version $(semver $npm_package_version -i prerelease --preid $(npm whoami) ) && npm publish --tag beta",
},
"devDependencies": {
"semver": "^7.3.7"
}
}
명령
npm whoami
은 현재 로그인한 사용자의 npm 사용자 이름을 반환합니다. 이것은 GitHub Registry와 같은 개인 레지스트리에서도 작동합니다. npm은 기본적으로 latest 태그가 있는 패키지를 게시하기 때문에 플래그--tag beta
가 필요합니다. 이 시험판 버전을 다른 패키지에 설치하려면 명령npm install my-awesome-package@beta
을 latest 대신 beta 태그와 함께 실행해야 합니다(생략된 경우 기본 태그).
Reference
이 문제에 관하여(자동 버전 관리로 NPM 패키지 출시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zirkelc/release-npm-package-with-automatic-versioning-4if4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)