Rush 및 변경 로그 생성 - 업데이트
rush changefiles
명령을 작성하는 것은 즐거웠지만 많이 사용하지 않는다는 점을 인정해야 합니다. 주/부/패치로 제한되더라도 커밋 중에 생성되는 변경 파일의 양은 엄청납니다.대신, 나는 또 다른 approach로 가기로 결정했습니다.... 러시로 만들 기회가 있을 수도 있습니다🤞
아이디어
--show-commits
를 사용할 수 있습니다. --recommend-changetype
매개변수를 사용하면 커밋이 구문 분석되고 conventional commits을 기반으로 변경 유형이 제안됩니다.그동안...
이 제안이 언제 실현될지 확신이 서지 않아
rush whatchanged
명령으로 내 generator-rush-conventionalcommits을 확장했습니다.다음 두 가지 작업을 수행합니다.
커밋 내역 표시:
projectAnalyzer.getChangedProjectsAsync
에서 반환한 각 프로젝트에 대해 rush change
에서 사용하는 개정 범위에 포함된 커밋 내역을 shortlog
형식변경 유형 제안
projectAnalyzer.getChangedProjectsAsync
에서 반환한 각 프로젝트에 대해 rush change
에서 사용한 개정 범위의 커밋을 필터링하고 conventional-commit-types을 참조스크립트
rush-whatChanged.js은
projectAnalyzer
를 사용하여 변경된 프로젝트 목록을 얻습니다. 또한 병합 기준을 가져올 때 기능을 미러링하여projectAnalyzer
표시/구문 분석된 커밋이 변경 파일의 필요성을 유발한 커밋인지 확인합니다.커밋 기록 표시
커밋 기록을 표시하기 위해 스크립트는 다음을 실행합니다.
git shortlog ${mergeHash}... -- "${project.projectRelativeFolder}"
커밋이 많을 수 있으므로 기록을 파일에 저장하는 것이 더 나을 수 있습니다.
추천 변경 유형
변경 유형 계산은 다음과 같습니다conventional commits. 스크립트는 커밋 메시지를 필터링하고 계산하기 위해 정규식으로 호출
git rev-list --count --grep
합니다.주요 변경이 필요할 수 있는 커밋을 감지하고 계산하려면 다음을 수행하십시오.
git rev-list --count --extended-regexp --grep "(^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(.*?)?!:.*|^BREAKING CHANGE: )" -- "${projectFolder}"
주요 변경을 유발하는 커밋이 없으면 스크립트는 사소한 변경 커밋을 검색합니다.
git rev-list --count --extended-regexp --grep "^feat((.*?))?:" -- "${projectFolder}"
마지막으로 주요 또는 사소한 변경 사항이 없는 경우 패치 범프를 유발하는 커밋이 있는지 확인합니다.
git rev-list --count --extended-regexp --grep "^fix((.*?))?:" -- "${projectFolder}"
결과는 다음과 같이 요약됩니다.
npm에서 최신 버전의 생성기를 다운로드할 수 있습니다.
코드가 켜져 있습니다GitHub.
Reference
이 문제에 관하여(Rush 및 변경 로그 생성 - 업데이트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kkazala/rush-and-changelog-generation-part-4-50me텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)