git-release-manager 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -47
- package/dist/cli/types/BranchCliArgs.js +3 -0
- package/dist/cli/types/BranchCliArgs.js.map +1 -0
- package/dist/cli/types/ChangelogCliArgs.js.map +1 -0
- package/dist/{src/cli → cli}/types/CliArgs.js.map +1 -1
- package/dist/cli/types/VersionCliArgs.js +3 -0
- package/dist/cli/types/VersionCliArgs.js.map +1 -0
- package/dist/config/configLoader.js.map +1 -0
- package/dist/config/configManager.js.map +1 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/types/ChannelType.js.map +1 -0
- package/dist/config/types/CommitType.js.map +1 -0
- package/dist/{src/config → config}/types/Config.js.map +1 -1
- package/dist/config/types/FileGroups.js.map +1 -0
- package/dist/{src/git → config}/types/LinkType.js.map +1 -1
- package/dist/config/types/MentionType.js.map +1 -0
- package/dist/config/types/NoteType.js.map +1 -0
- package/dist/{src/config → config}/types/Options.js.map +1 -1
- package/dist/core/app.js +46 -0
- package/dist/core/app.js.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/branch/BranchController.js +62 -0
- package/dist/modules/branch/BranchController.js.map +1 -0
- package/dist/modules/branch/BranchManager.js +194 -0
- package/dist/modules/branch/BranchManager.js.map +1 -0
- package/dist/modules/changelog/ChangelogValidator.js +19 -0
- package/dist/modules/changelog/ChangelogValidator.js.map +1 -0
- package/dist/{src/modules → modules}/changelog/templateOperations.js +45 -25
- package/dist/modules/changelog/templateOperations.js.map +1 -0
- package/dist/modules/changes/types/ChangeInformation.js.map +1 -0
- package/dist/modules/changes/types/Context.js.map +1 -0
- package/dist/modules/changes/types/RangeInfo.js.map +1 -0
- package/dist/modules/changes/types/RangeSummary.js.map +1 -0
- package/dist/modules/changes/types/ReferenceTypesEnum.js.map +1 -0
- package/dist/{src/modules → modules}/git/commits/commitProcessor.js +2 -4
- package/dist/modules/git/commits/commitProcessor.js.map +1 -0
- package/dist/modules/git/commits/gitLogFetcher.js.map +1 -0
- package/dist/{src/modules → modules}/git/commits/index.js +26 -26
- package/dist/modules/git/commits/index.js.map +1 -0
- package/dist/{src/modules → modules}/git/commits/profileHandler.js +5 -2
- package/dist/modules/git/commits/profileHandler.js.map +1 -0
- package/dist/modules/git/commits/regexHandlers.js.map +1 -0
- package/dist/{src/modules → modules}/git/context/branchHandler.js +4 -9
- package/dist/modules/git/context/branchHandler.js.map +1 -0
- package/dist/modules/git/context/commitHandler.js +29 -0
- package/dist/modules/git/context/commitHandler.js.map +1 -0
- package/dist/{src/modules → modules}/git/context/index.js +5 -7
- package/dist/modules/git/context/index.js.map +1 -0
- package/dist/{src → modules}/git/context/remoteHandler.js +3 -8
- package/dist/modules/git/context/remoteHandler.js.map +1 -0
- package/dist/{src/modules → modules}/git/context/statusHandler.js +3 -8
- package/dist/modules/git/context/statusHandler.js.map +1 -0
- package/dist/{src/modules → modules}/git/context/tagHandler.js +3 -8
- package/dist/modules/git/context/tagHandler.js.map +1 -0
- package/dist/{src/modules → modules}/git/gitOperations.js +10 -10
- package/dist/modules/git/gitOperations.js.map +1 -0
- package/dist/modules/git/types/Author.js.map +1 -0
- package/dist/modules/git/types/Branch.js.map +1 -0
- package/dist/modules/git/types/BranchInfo.js.map +1 -0
- package/dist/modules/git/types/CommitContent.js.map +1 -0
- package/dist/modules/git/types/CommitInfo.js.map +1 -0
- package/dist/modules/git/types/CommitType.js.map +1 -0
- package/dist/modules/git/types/GitCommit.js.map +1 -0
- package/dist/modules/git/types/GitReference.js.map +1 -0
- package/dist/{src → modules}/git/types/Link.js.map +1 -1
- package/dist/modules/git/types/Mention.js.map +1 -0
- package/dist/{src → modules}/git/types/Note.js.map +1 -1
- package/dist/modules/git/types/RemoteInfo.js.map +1 -0
- package/dist/modules/git/types/Repository.js.map +1 -0
- package/dist/modules/git/types/StatusInfo.js.map +1 -0
- package/dist/{src/modules → modules}/git/types/Tag.js.map +1 -1
- package/dist/modules/git/types/TagInfo.js.map +1 -0
- package/dist/{src/modules → modules}/git/utils/branchUtils.js +2 -4
- package/dist/modules/git/utils/branchUtils.js.map +1 -0
- package/dist/{src/modules → modules}/git/utils/commitUtils.js +2 -4
- package/dist/modules/git/utils/commitUtils.js.map +1 -0
- package/dist/modules/git/utils/logUtils.js.map +1 -0
- package/dist/modules/git/utils/rangeOperations.js.map +1 -0
- package/dist/modules/git/utils/refUtils.js.map +1 -0
- package/dist/{src/modules → modules}/git/utils/referenceUtils.js +9 -6
- package/dist/modules/git/utils/referenceUtils.js.map +1 -0
- package/dist/{src/modules → modules}/git/utils/tagUtils.js +5 -4
- package/dist/modules/git/utils/tagUtils.js.map +1 -0
- package/dist/modules/output/writer.js.map +1 -0
- package/dist/modules/sections/contributors.js.map +1 -0
- package/dist/{src/modules → modules}/sections/grouping.js +5 -5
- package/dist/modules/sections/grouping.js.map +1 -0
- package/dist/modules/sections/index.js.map +1 -0
- package/dist/{src/modules → modules}/sections/summarizing.js +4 -4
- package/dist/modules/sections/summarizing.js.map +1 -0
- package/dist/modules/sections/types/Contributor.js.map +1 -0
- package/dist/modules/sections/types/Group.js.map +1 -0
- package/dist/modules/sections/types/SectionSummary.js.map +1 -0
- package/dist/modules/sections/types/Sections.js.map +1 -0
- package/dist/modules/version/GitVersionManager.js +153 -0
- package/dist/modules/version/GitVersionManager.js.map +1 -0
- package/dist/modules/version/ReleaseManager.js +69 -0
- package/dist/modules/version/ReleaseManager.js.map +1 -0
- package/dist/modules/version/VersionManager.js +57 -0
- package/dist/modules/version/VersionManager.js.map +1 -0
- package/dist/modules/version/VersionValidator.js +31 -0
- package/dist/modules/version/VersionValidator.js.map +1 -0
- package/dist/modules/version/types/const.js +3 -0
- package/dist/modules/version/types/const.js.map +1 -0
- package/dist/modules/version/versionFormatter.js +104 -0
- package/dist/modules/version/versionFormatter.js.map +1 -0
- package/dist/modules/version/versionHelper.js +9 -0
- package/dist/modules/version/versionHelper.js.map +1 -0
- package/dist/templates/constants.js.map +1 -0
- package/dist/{src/templates → templates}/defaults/changelog.detailed.ejs +1 -1
- package/dist/{src/templates → templates}/defaults/changelog.ejs +1 -1
- package/dist/templates/templateRenderer.js.map +1 -0
- package/dist/templates/templateResolver.js.map +1 -0
- package/dist/{src → types}/PackageJson.js.map +1 -1
- package/dist/{src/utils → utils}/cmd.js +15 -0
- package/dist/utils/cmd.js.map +1 -0
- package/dist/utils/date.js.map +1 -0
- package/package.json +61 -59
- package/dist/src/cli/types/ChangelogCliArgs.js.map +0 -1
- package/dist/src/cli/types/ChnagelogCliArgs.js +0 -3
- package/dist/src/cli/types/ChnagelogCliArgs.js.map +0 -1
- package/dist/src/config/configLoader.js.map +0 -1
- package/dist/src/config/configManager.js.map +0 -1
- package/dist/src/config/constants.js.map +0 -1
- package/dist/src/config/types/ChannelType.js.map +0 -1
- package/dist/src/config/types/CommitType.js.map +0 -1
- package/dist/src/config/types/FileGroups.js.map +0 -1
- package/dist/src/config/types/LinkType.js.map +0 -1
- package/dist/src/config/types/MentionType.js.map +0 -1
- package/dist/src/config/types/NoteType.js.map +0 -1
- package/dist/src/core/app-old.js +0 -35
- package/dist/src/core/app-old.js.map +0 -1
- package/dist/src/core/app.js +0 -19
- package/dist/src/core/app.js.map +0 -1
- package/dist/src/core/changelog/app.js +0 -19
- package/dist/src/core/changelog/app.js.map +0 -1
- package/dist/src/core/gitOperations.js +0 -95
- package/dist/src/core/gitOperations.js.map +0 -1
- package/dist/src/core/rangeOperations.js.map +0 -1
- package/dist/src/core/templateOperations.js +0 -157
- package/dist/src/core/templateOperations.js.map +0 -1
- package/dist/src/core/types/ChangeInformation.js.map +0 -1
- package/dist/src/core/types/Context.js.map +0 -1
- package/dist/src/core/types/RangeDetails.js +0 -3
- package/dist/src/core/types/RangeDetails.js.map +0 -1
- package/dist/src/core/types/RangeInfo.js +0 -3
- package/dist/src/core/types/RangeInfo.js.map +0 -1
- package/dist/src/core/types/ReferenceTypesEnum.js.map +0 -1
- package/dist/src/core/types/Repository.js.map +0 -1
- package/dist/src/git/commits/commitProcessor.js +0 -52
- package/dist/src/git/commits/commitProcessor.js.map +0 -1
- package/dist/src/git/commits/gitLogFetcher.js +0 -27
- package/dist/src/git/commits/gitLogFetcher.js.map +0 -1
- package/dist/src/git/commits/index.js +0 -136
- package/dist/src/git/commits/index.js.map +0 -1
- package/dist/src/git/commits/profileHandler.js +0 -43
- package/dist/src/git/commits/profileHandler.js.map +0 -1
- package/dist/src/git/commits/regexHandlers.js +0 -27
- package/dist/src/git/commits/regexHandlers.js.map +0 -1
- package/dist/src/git/commits.js +0 -136
- package/dist/src/git/commits.js.map +0 -1
- package/dist/src/git/context/branchHandler.js +0 -23
- package/dist/src/git/context/branchHandler.js.map +0 -1
- package/dist/src/git/context/commitHandler.js +0 -30
- package/dist/src/git/context/commitHandler.js.map +0 -1
- package/dist/src/git/context/index.js +0 -31
- package/dist/src/git/context/index.js.map +0 -1
- package/dist/src/git/context/remoteHandler.js.map +0 -1
- package/dist/src/git/context/statusHandler.js +0 -21
- package/dist/src/git/context/statusHandler.js.map +0 -1
- package/dist/src/git/context/tagHandler.js +0 -21
- package/dist/src/git/context/tagHandler.js.map +0 -1
- package/dist/src/git/context.js +0 -95
- package/dist/src/git/context.js.map +0 -1
- package/dist/src/git/types/Author.js.map +0 -1
- package/dist/src/git/types/BranchInfo.js.map +0 -1
- package/dist/src/git/types/CommitContent.js.map +0 -1
- package/dist/src/git/types/CommitInfo.js.map +0 -1
- package/dist/src/git/types/CommitType.js.map +0 -1
- package/dist/src/git/types/CommitType2.js +0 -3
- package/dist/src/git/types/CommitType2.js.map +0 -1
- package/dist/src/git/types/GitCommit.js.map +0 -1
- package/dist/src/git/types/GitContext.js +0 -3
- package/dist/src/git/types/GitContext.js.map +0 -1
- package/dist/src/git/types/LinkType-.js +0 -3
- package/dist/src/git/types/LinkType-.js.map +0 -1
- package/dist/src/git/types/LinkType.js +0 -3
- package/dist/src/git/types/Mention.js.map +0 -1
- package/dist/src/git/types/MentionType-.js +0 -3
- package/dist/src/git/types/MentionType-.js.map +0 -1
- package/dist/src/git/types/MentionType.js +0 -3
- package/dist/src/git/types/MentionType.js.map +0 -1
- package/dist/src/git/types/RemoteInfo.js.map +0 -1
- package/dist/src/git/types/StatusInfo.js.map +0 -1
- package/dist/src/git/types/TagInfo.js.map +0 -1
- package/dist/src/git/utils/branchUtils.js +0 -56
- package/dist/src/git/utils/branchUtils.js.map +0 -1
- package/dist/src/git/utils/commitUtils.js +0 -50
- package/dist/src/git/utils/commitUtils.js.map +0 -1
- package/dist/src/git/utils/logUtils.js.map +0 -1
- package/dist/src/git/utils/refUtils.js.map +0 -1
- package/dist/src/git/utils/referenceUtils.js +0 -138
- package/dist/src/git/utils/referenceUtils.js.map +0 -1
- package/dist/src/git/utils/tagUtils.js +0 -54
- package/dist/src/git/utils/tagUtils.js.map +0 -1
- package/dist/src/index.js +0 -90
- package/dist/src/index.js.map +0 -1
- package/dist/src/main.js +0 -16
- package/dist/src/main.js.map +0 -1
- package/dist/src/modules/changelog/templateOperations.js.map +0 -1
- package/dist/src/modules/changes/types/ChangeInformation.js +0 -3
- package/dist/src/modules/changes/types/ChangeInformation.js.map +0 -1
- package/dist/src/modules/changes/types/Context.js +0 -3
- package/dist/src/modules/changes/types/Context.js.map +0 -1
- package/dist/src/modules/changes/types/RangeDetail.js +0 -3
- package/dist/src/modules/changes/types/RangeDetail.js.map +0 -1
- package/dist/src/modules/changes/types/RangeDetails.js +0 -3
- package/dist/src/modules/changes/types/RangeDetails.js.map +0 -1
- package/dist/src/modules/changes/types/RangeInfo.js.map +0 -1
- package/dist/src/modules/changes/types/RangeSummary.js.map +0 -1
- package/dist/src/modules/changes/types/ReferenceTypesEnum.js +0 -12
- package/dist/src/modules/changes/types/ReferenceTypesEnum.js.map +0 -1
- package/dist/src/modules/git/commits/commitProcessor.js.map +0 -1
- package/dist/src/modules/git/commits/gitLogFetcher.js.map +0 -1
- package/dist/src/modules/git/commits/index.js.map +0 -1
- package/dist/src/modules/git/commits/profileHandler.js.map +0 -1
- package/dist/src/modules/git/commits/regexHandlers.js.map +0 -1
- package/dist/src/modules/git/context/branchHandler.js.map +0 -1
- package/dist/src/modules/git/context/commitHandler.js +0 -34
- package/dist/src/modules/git/context/commitHandler.js.map +0 -1
- package/dist/src/modules/git/context/index.js.map +0 -1
- package/dist/src/modules/git/context/remoteHandler.js +0 -25
- package/dist/src/modules/git/context/remoteHandler.js.map +0 -1
- package/dist/src/modules/git/context/statusHandler.js.map +0 -1
- package/dist/src/modules/git/context/tagHandler.js.map +0 -1
- package/dist/src/modules/git/gitOperations.js.map +0 -1
- package/dist/src/modules/git/types/Author.js +0 -3
- package/dist/src/modules/git/types/Author.js.map +0 -1
- package/dist/src/modules/git/types/Branch.js.map +0 -1
- package/dist/src/modules/git/types/BranchInfo.js +0 -3
- package/dist/src/modules/git/types/BranchInfo.js.map +0 -1
- package/dist/src/modules/git/types/CommitContent.js +0 -3
- package/dist/src/modules/git/types/CommitContent.js.map +0 -1
- package/dist/src/modules/git/types/CommitInfo.js +0 -3
- package/dist/src/modules/git/types/CommitInfo.js.map +0 -1
- package/dist/src/modules/git/types/CommitType.js +0 -3
- package/dist/src/modules/git/types/CommitType.js.map +0 -1
- package/dist/src/modules/git/types/GitCommit.js +0 -3
- package/dist/src/modules/git/types/GitCommit.js.map +0 -1
- package/dist/src/modules/git/types/GitContext.js +0 -3
- package/dist/src/modules/git/types/GitContext.js.map +0 -1
- package/dist/src/modules/git/types/GitReference.js.map +0 -1
- package/dist/src/modules/git/types/Link.js +0 -3
- package/dist/src/modules/git/types/Link.js.map +0 -1
- package/dist/src/modules/git/types/Mention.js +0 -3
- package/dist/src/modules/git/types/Mention.js.map +0 -1
- package/dist/src/modules/git/types/Note.js +0 -3
- package/dist/src/modules/git/types/Note.js.map +0 -1
- package/dist/src/modules/git/types/RemoteInfo.js +0 -3
- package/dist/src/modules/git/types/RemoteInfo.js.map +0 -1
- package/dist/src/modules/git/types/Repository.js +0 -3
- package/dist/src/modules/git/types/Repository.js.map +0 -1
- package/dist/src/modules/git/types/StatusInfo.js +0 -3
- package/dist/src/modules/git/types/StatusInfo.js.map +0 -1
- package/dist/src/modules/git/types/TagInfo.js +0 -3
- package/dist/src/modules/git/types/TagInfo.js.map +0 -1
- package/dist/src/modules/git/utils/branchUtils.js.map +0 -1
- package/dist/src/modules/git/utils/commitUtils.js.map +0 -1
- package/dist/src/modules/git/utils/logUtils.js +0 -18
- package/dist/src/modules/git/utils/logUtils.js.map +0 -1
- package/dist/src/modules/git/utils/rangeOperations.js +0 -14
- package/dist/src/modules/git/utils/rangeOperations.js.map +0 -1
- package/dist/src/modules/git/utils/refUtils.js +0 -41
- package/dist/src/modules/git/utils/refUtils.js.map +0 -1
- package/dist/src/modules/git/utils/referenceUtils.js.map +0 -1
- package/dist/src/modules/git/utils/tagUtils.js.map +0 -1
- package/dist/src/modules/output/writer.js.map +0 -1
- package/dist/src/modules/repository/types/Repository.js +0 -3
- package/dist/src/modules/repository/types/Repository.js.map +0 -1
- package/dist/src/modules/sections/contributors.js.map +0 -1
- package/dist/src/modules/sections/grouping.js.map +0 -1
- package/dist/src/modules/sections/index.js.map +0 -1
- package/dist/src/modules/sections/summarizing.js.map +0 -1
- package/dist/src/modules/sections/types/Contributor.js.map +0 -1
- package/dist/src/modules/sections/types/Group.js.map +0 -1
- package/dist/src/modules/sections/types/SectionSummary.js.map +0 -1
- package/dist/src/modules/sections/types/Sections.js.map +0 -1
- package/dist/src/modules/templates/constants.js.map +0 -1
- package/dist/src/modules/templates/defaults/changelog.detailed.ejs +0 -111
- package/dist/src/modules/templates/defaults/changelog.ejs +0 -68
- package/dist/src/modules/templates/templateRenderer.js.map +0 -1
- package/dist/src/modules/templates/templateResolver.js.map +0 -1
- package/dist/src/output/writer.js +0 -46
- package/dist/src/output/writer.js.map +0 -1
- package/dist/src/sections/contributors.js +0 -50
- package/dist/src/sections/contributors.js.map +0 -1
- package/dist/src/sections/grouping.js +0 -70
- package/dist/src/sections/grouping.js.map +0 -1
- package/dist/src/sections/index.js +0 -20
- package/dist/src/sections/index.js.map +0 -1
- package/dist/src/sections/summarizing.js +0 -79
- package/dist/src/sections/summarizing.js.map +0 -1
- package/dist/src/sections/types/Contributor.js +0 -15
- package/dist/src/sections/types/Contributor.js.map +0 -1
- package/dist/src/sections/types/Group.js +0 -3
- package/dist/src/sections/types/Group.js.map +0 -1
- package/dist/src/sections/types/SectionSummary.js +0 -13
- package/dist/src/sections/types/SectionSummary.js.map +0 -1
- package/dist/src/sections/types/Sections.js +0 -3
- package/dist/src/sections/types/Sections.js.map +0 -1
- package/dist/src/templates/constants.js +0 -10
- package/dist/src/templates/constants.js.map +0 -1
- package/dist/src/templates/index.js +0 -100
- package/dist/src/templates/index.js.map +0 -1
- package/dist/src/templates/templateRenderer.js +0 -46
- package/dist/src/templates/templateRenderer.js.map +0 -1
- package/dist/src/templates/templateResolver.js +0 -70
- package/dist/src/templates/templateResolver.js.map +0 -1
- package/dist/src/types/PackageJson.js +0 -3
- package/dist/src/types/PackageJson.js.map +0 -1
- package/dist/src/utils/cmd.js.map +0 -1
- package/dist/src/utils/date.js.map +0 -1
- package/dist/src/utils/git-utils.js +0 -279
- package/dist/src/utils/git-utils.js.map +0 -1
- package/dist/src/utils/helpers.js +0 -10
- package/dist/src/utils/helpers.js.map +0 -1
- package/dist/test/config/configLoader/loadConfigFile.test.js +0 -94
- package/dist/test/config/configLoader/loadConfigFile.test.js.map +0 -1
- package/dist/test/config/configManager/readConfig.test.js +0 -124
- package/dist/test/config/configManager/readConfig.test.js.map +0 -1
- /package/dist/{src/cli → cli}/types/ChangelogCliArgs.js +0 -0
- /package/dist/{src/cli → cli}/types/CliArgs.js +0 -0
- /package/dist/{src/config → config}/configLoader.js +0 -0
- /package/dist/{src/config → config}/configManager.js +0 -0
- /package/dist/{src/config → config}/constants.js +0 -0
- /package/dist/{src/config → config}/defaults/config.json +0 -0
- /package/dist/{src/config → config}/types/ChannelType.js +0 -0
- /package/dist/{src/config → config}/types/CommitType.js +0 -0
- /package/dist/{src/config → config}/types/Config.js +0 -0
- /package/dist/{src/config → config}/types/FileGroups.js +0 -0
- /package/dist/{src/config → config}/types/LinkType.js +0 -0
- /package/dist/{src/config → config}/types/MentionType.js +0 -0
- /package/dist/{src/config → config}/types/NoteType.js +0 -0
- /package/dist/{src/config → config}/types/Options.js +0 -0
- /package/dist/{src/core → modules/changes}/types/ChangeInformation.js +0 -0
- /package/dist/{src/core → modules/changes}/types/Context.js +0 -0
- /package/dist/{src/modules → modules}/changes/types/RangeInfo.js +0 -0
- /package/dist/{src/modules → modules}/changes/types/RangeSummary.js +0 -0
- /package/dist/{src/core → modules/changes}/types/ReferenceTypesEnum.js +0 -0
- /package/dist/{src/modules → modules}/git/commits/gitLogFetcher.js +0 -0
- /package/dist/{src/modules → modules}/git/commits/regexHandlers.js +0 -0
- /package/dist/{src → modules}/git/types/Author.js +0 -0
- /package/dist/{src/modules → modules}/git/types/Branch.js +0 -0
- /package/dist/{src → modules}/git/types/BranchInfo.js +0 -0
- /package/dist/{src → modules}/git/types/CommitContent.js +0 -0
- /package/dist/{src → modules}/git/types/CommitInfo.js +0 -0
- /package/dist/{src → modules}/git/types/CommitType.js +0 -0
- /package/dist/{src → modules}/git/types/GitCommit.js +0 -0
- /package/dist/{src/modules → modules}/git/types/GitReference.js +0 -0
- /package/dist/{src → modules}/git/types/Link.js +0 -0
- /package/dist/{src → modules}/git/types/Mention.js +0 -0
- /package/dist/{src → modules}/git/types/Note.js +0 -0
- /package/dist/{src → modules}/git/types/RemoteInfo.js +0 -0
- /package/dist/{src/core → modules/git}/types/Repository.js +0 -0
- /package/dist/{src → modules}/git/types/StatusInfo.js +0 -0
- /package/dist/{src/modules → modules}/git/types/Tag.js +0 -0
- /package/dist/{src → modules}/git/types/TagInfo.js +0 -0
- /package/dist/{src → modules}/git/utils/logUtils.js +0 -0
- /package/dist/{src/core → modules/git/utils}/rangeOperations.js +0 -0
- /package/dist/{src → modules}/git/utils/refUtils.js +0 -0
- /package/dist/{src/modules → modules}/output/writer.js +0 -0
- /package/dist/{src/modules → modules}/sections/contributors.js +0 -0
- /package/dist/{src/modules → modules}/sections/index.js +0 -0
- /package/dist/{src/modules → modules}/sections/types/Contributor.js +0 -0
- /package/dist/{src/modules → modules}/sections/types/Group.js +0 -0
- /package/dist/{src/modules → modules}/sections/types/SectionSummary.js +0 -0
- /package/dist/{src/modules → modules}/sections/types/Sections.js +0 -0
- /package/dist/{src/modules/templates → templates}/constants.js +0 -0
- /package/dist/{src/modules/templates → templates}/templateRenderer.js +0 -0
- /package/dist/{src/modules/templates → templates}/templateResolver.js +0 -0
- /package/dist/{src → types}/PackageJson.js +0 -0
- /package/dist/{src/utils → utils}/date.js +0 -0
package/README.md
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
# Git Release Notes Generator
|
|
2
|
-
|
|
3
|
-
A tool to generate release notes from git commit history.
|
|
4
|
-
|
|
5
|
-
## Features
|
|
6
|
-
|
|
7
|
-
- Parse git commit history
|
|
8
|
-
- Generate structured release notes
|
|
9
|
-
- Customizable commit types and formats
|
|
10
|
-
- Support for mentions and links
|
|
11
|
-
- Flexible output formats
|
|
12
|
-
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm i -g git-release-manager
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Usage
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
node src/main.js [options]
|
|
23
|
-
|
|
24
|
-
Options:
|
|
25
|
-
--from <tag> Starting tag
|
|
26
|
-
--to <tag> Ending tag
|
|
27
|
-
--tag <tag> Single tag
|
|
28
|
-
--output <path> Output file path
|
|
29
|
-
--config-file <path> Custom config file path
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Configuration
|
|
33
|
-
|
|
34
|
-
Create a custom config file to override default settings:
|
|
35
|
-
|
|
36
|
-
```javascript
|
|
37
|
-
module.exports = {
|
|
38
|
-
commitTypes: [
|
|
39
|
-
{ type: "feat", terms: ["feat", "feature"], title: "Features" }
|
|
40
|
-
],
|
|
41
|
-
linkTypes: [
|
|
42
|
-
{ type: "issue", terms: ["fixes", "resolves"], title: "Issues" }
|
|
43
|
-
],
|
|
44
|
-
mentionTypes: [
|
|
45
|
-
{ type: "reviewer", terms: ["reviewed-by"], title: "Reviewers" }
|
|
46
|
-
]
|
|
47
|
-
};
|
|
1
|
+
# Git Release Notes Generator
|
|
2
|
+
|
|
3
|
+
A tool to generate release notes from git commit history.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Parse git commit history
|
|
8
|
+
- Generate structured release notes
|
|
9
|
+
- Customizable commit types and formats
|
|
10
|
+
- Support for mentions and links
|
|
11
|
+
- Flexible output formats
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm i -g git-release-manager
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
node src/main.js [options]
|
|
23
|
+
|
|
24
|
+
Options:
|
|
25
|
+
--from <tag> Starting tag
|
|
26
|
+
--to <tag> Ending tag
|
|
27
|
+
--tag <tag> Single tag
|
|
28
|
+
--output <path> Output file path
|
|
29
|
+
--config-file <path> Custom config file path
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
|
|
34
|
+
Create a custom config file to override default settings:
|
|
35
|
+
|
|
36
|
+
```javascript
|
|
37
|
+
module.exports = {
|
|
38
|
+
commitTypes: [
|
|
39
|
+
{ type: "feat", terms: ["feat", "feature"], title: "Features" }
|
|
40
|
+
],
|
|
41
|
+
linkTypes: [
|
|
42
|
+
{ type: "issue", terms: ["fixes", "resolves"], title: "Issues" }
|
|
43
|
+
],
|
|
44
|
+
mentionTypes: [
|
|
45
|
+
{ type: "reviewer", terms: ["reviewed-by"], title: "Reviewers" }
|
|
46
|
+
]
|
|
47
|
+
};
|
|
48
48
|
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BranchCliArgs.js","sourceRoot":"","sources":["../../../src/cli/types/BranchCliArgs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangelogCliArgs.js","sourceRoot":"","sources":["../../../src/cli/types/ChangelogCliArgs.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CliArgs.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"CliArgs.js","sourceRoot":"","sources":["../../../src/cli/types/CliArgs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionCliArgs.js","sourceRoot":"","sources":["../../../src/cli/types/VersionCliArgs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configLoader.js","sourceRoot":"","sources":["../../src/config/configLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wCAuBC;AA1BD,uCAAwB;AAGjB,KAAK,UAAU,cAAc,CAAC,QAAgB;IACjD,IAAI,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAoB,CAAA;QAE3D,mDAAmD;QACnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtC,MAAM,SAAS,GAAG,GAA8B,CAAA;gBAChD,IAAI,OAAO,MAAM,CAAC,OAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACjD,mCAAmC;oBACnC,MAAM,CAAC,OAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,OAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBACxE,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,MAAM,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,EAAE,CAAA,CAAC,mDAAmD;QACjE,CAAC;QACD,MAAM,KAAK,CAAA,CAAC,sBAAsB;IACtC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configManager.js","sourceRoot":"","sources":["../../src/config/configManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,gCA6BC;AAnCD,2CAA4B;AAC5B,uCAAwB;AAExB,iDAA+C;AAC/C,2CAAoE;AAE7D,KAAK,UAAU,UAAU,CAAC,mBAAkC,IAAI,EAAE,cAA6B,IAAI;IACtG,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEtD,4BAA4B;IAC5B,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5H,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,qBAAqB,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAChE,YAAY,GAAG,MAAM,IAAA,6BAAc,EAAC,qBAAqB,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,mDAAmD;QACnD,IAAI,oBAAoB,GAAG,6BAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAA;QACpF,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAc,EAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACvG,CAAC;IAED,6BAA6B;IAC7B,IAAI,iBAAiB,GAAG,+BAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAA;IACnF,IAAI,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAc,EAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAc,EAAC,+BAAmB,CAAC,CAAA;IAE1I,qFAAqF;IACrF,MAAM,MAAM,GAAG;QACX,GAAG,aAAa;QAChB,GAAG,WAAW;QACd,GAAG,YAAY;KACR,CAAA;IAEX,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEV,QAAA,mBAAmB,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAA;AACrE,QAAA,iBAAiB,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChannelType.js","sourceRoot":"","sources":["../../../src/config/types/ChannelType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommitType.js","sourceRoot":"","sources":["../../../src/config/types/CommitType.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/config/types/Config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileGroups.js","sourceRoot":"","sources":["../../../src/config/types/FileGroups.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkType.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"LinkType.js","sourceRoot":"","sources":["../../../src/config/types/LinkType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MentionType.js","sourceRoot":"","sources":["../../../src/config/types/MentionType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoteType.js","sourceRoot":"","sources":["../../../src/config/types/NoteType.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Options.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"Options.js","sourceRoot":"","sources":["../../../src/config/types/Options.ts"],"names":[],"mappings":""}
|
package/dist/core/app.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.changelogRun = changelogRun;
|
|
4
|
+
exports.versionRun = versionRun;
|
|
5
|
+
exports.branchRun = branchRun;
|
|
6
|
+
const VersionManager_1 = require("../modules/version/VersionManager");
|
|
7
|
+
const ChangelogValidator_1 = require("../modules/changelog/ChangelogValidator");
|
|
8
|
+
const configManager_1 = require("../config/configManager");
|
|
9
|
+
async function changelogRun(options) {
|
|
10
|
+
const validator = new ChangelogValidator_1.ChangelogValidator();
|
|
11
|
+
validator.validateOptions(options);
|
|
12
|
+
if (options.mergeAll === undefined) {
|
|
13
|
+
options.mergeAll = false;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
|
|
17
|
+
let templatePath = options.template || config.template;
|
|
18
|
+
let outputOpt = options.output || config.output;
|
|
19
|
+
const fileData = await (0, templateOperations_1.renderChangelogTemplate)(templatePath, options, config);
|
|
20
|
+
if (fileData) {
|
|
21
|
+
(0, writer_1.writeOutput)(fileData, outputOpt);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async function versionRun(options) {
|
|
30
|
+
const versionManager = new VersionManager_1.VersionManager();
|
|
31
|
+
try {
|
|
32
|
+
await versionManager.handleVersionCommand(options);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const BranchController_1 = require("../modules/branch/BranchController");
|
|
40
|
+
const templateOperations_1 = require("../modules/changelog/templateOperations");
|
|
41
|
+
const writer_1 = require("../modules/output/writer");
|
|
42
|
+
async function branchRun(options) {
|
|
43
|
+
const controller = new BranchController_1.BranchController();
|
|
44
|
+
await controller.handleCommand(options);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/core/app.ts"],"names":[],"mappings":";;AAOA,oCAoBC;AACD,gCASC;AAMD,8BAGC;AA5CD,sEAAkE;AAClE,gFAA4E;AAC5E,2DAAoD;AAG7C,KAAK,UAAU,YAAY,CAAC,OAAyB;IACxD,MAAM,SAAS,GAAG,IAAI,uCAAkB,EAAE,CAAA;IAC1C,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAElC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAA;IAC5B,CAAC;IACD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,IAAI,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAA;QACtD,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAA,4CAAuB,EAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAE7E,IAAI,QAAQ,EAAE,CAAC;YACX,IAAA,oBAAW,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QACpC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACL,CAAC;AACM,KAAK,UAAU,UAAU,CAAC,OAAuB;IACpD,MAAM,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAA;IAE3C,IAAI,CAAC;QACD,MAAM,cAAc,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACL,CAAC;AAED,yEAAqE;AACrE,gFAAiF;AACjF,qDAAsD;AAE/C,KAAK,UAAU,SAAS,CAAC,OAAsB;IAClD,MAAM,UAAU,GAAG,IAAI,mCAAgB,EAAE,CAAA;IACzC,MAAM,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;AAC3C,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var _a, _b, _c;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
const commander_1 = require("commander");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
const app_1 = require("./core/app");
|
|
9
|
+
const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../package.json'), 'utf8'));
|
|
10
|
+
const program = new commander_1.Command();
|
|
11
|
+
program
|
|
12
|
+
.name((_a = packageJson.name) !== null && _a !== void 0 ? _a : 'changelog')
|
|
13
|
+
.description((_b = packageJson.description) !== null && _b !== void 0 ? _b : 'Changelog generator tool')
|
|
14
|
+
.version((_c = packageJson.version) !== null && _c !== void 0 ? _c : '0.0.0', '-v, --version', 'Show version number')
|
|
15
|
+
.helpOption('-h, --help', 'Show help information');
|
|
16
|
+
program // generate ai based conventional commit
|
|
17
|
+
.command('commit')
|
|
18
|
+
.description('Generate changelog')
|
|
19
|
+
.action(async (options) => { });
|
|
20
|
+
program
|
|
21
|
+
.command('changelog')
|
|
22
|
+
.description('Generate changelog')
|
|
23
|
+
.option('--from <commit | tag | branch| date | reference>', 'Specify starting reference')
|
|
24
|
+
.option('--to <commit | tag | branch| date | reference>', 'Specify ending reference')
|
|
25
|
+
.option('--point <commit | tag | branch| date | reference>', 'Specify a single reference')
|
|
26
|
+
.option('--range <commit | tag | branch| date | reference>', 'Specify reference range')
|
|
27
|
+
.option('--mergeAll [boolean]', 'Merge all changes into one output')
|
|
28
|
+
.option('--config [string]', 'Custom config file path')
|
|
29
|
+
.option('--template [string]', 'Custom template file path')
|
|
30
|
+
.option('--output [string]', 'Custom Output file path')
|
|
31
|
+
.option('--environment [string]', 'Specific environment to use')
|
|
32
|
+
// .option('--separateFiles [boolean]', 'District changelogs into own files')
|
|
33
|
+
.action(async (options) => {
|
|
34
|
+
await (0, app_1.changelogRun)(options);
|
|
35
|
+
});
|
|
36
|
+
program
|
|
37
|
+
.command('version')
|
|
38
|
+
.description('Manage version and release process')
|
|
39
|
+
.option('--init [version]', 'Initialize first version')
|
|
40
|
+
.option('--reset', 'Reset version history')
|
|
41
|
+
.option('-m, --major', 'Increment major version')
|
|
42
|
+
.option('-i, --minor', 'Increment minor version')
|
|
43
|
+
.option('-p, --patch', 'Increment patch version')
|
|
44
|
+
.option('-c, --channel <channel>', 'Specify the prerelease channel (e.g., alpha, beta)')
|
|
45
|
+
.option('--no-channel-number', 'Exclude channel number')
|
|
46
|
+
.option('--prefix <prefix>', 'Specify version prefix')
|
|
47
|
+
.option('--prerelease <identifier>', 'Add prerelease identifier')
|
|
48
|
+
.option('--build <identifier>', 'Add build metadata')
|
|
49
|
+
.option('-l, --list [count]', 'List versions (optionally specify count)')
|
|
50
|
+
.option('--latest', 'Show latest version')
|
|
51
|
+
.option('--tag', 'Create git tag for version')
|
|
52
|
+
.option('--push', 'Push changes and tags to remote')
|
|
53
|
+
.option('--draft', 'Create draft release')
|
|
54
|
+
.option('--note <message>', 'Add release note')
|
|
55
|
+
.option('--note-file <path>', 'Add release notes from file')
|
|
56
|
+
.option('--compare <version>', 'Compare with another version')
|
|
57
|
+
.option('--revert <version>', 'Revert to specific version')
|
|
58
|
+
.option('--validate <version>', 'Validate version string')
|
|
59
|
+
.option('--branch', 'Create release branch automatically')
|
|
60
|
+
.option('--sync', 'Sync versions with remote')
|
|
61
|
+
.action(async (options) => {
|
|
62
|
+
await (0, app_1.versionRun)(options);
|
|
63
|
+
});
|
|
64
|
+
program
|
|
65
|
+
.command('branch')
|
|
66
|
+
.description('Manage git branches')
|
|
67
|
+
.option('-c, --create <branchName>', 'Create a new branch')
|
|
68
|
+
.option('-d, --delete <branchName>', 'Delete a branch')
|
|
69
|
+
.option('-l, --list', 'List all branches')
|
|
70
|
+
.option('-s, --switch <branchName>', 'Switch to the specified branch')
|
|
71
|
+
.option('-m, --merge <branchName>', 'Merge the specified branch into the current branch')
|
|
72
|
+
.option('--release <version>', 'Create a release branch (release/v{version})')
|
|
73
|
+
.option('--hotfix <version>', 'Create a hotfix branch (hotfix/v{version})')
|
|
74
|
+
.option('--feature <name>', 'Create a feature branch (feature/{name})')
|
|
75
|
+
.option('--finish <branchName>', 'Finish a feature/release/hotfix branch')
|
|
76
|
+
.option('--protect <branchName>', 'Protect a branch from direct commits')
|
|
77
|
+
.option('--unprotect <branchName>', 'Remove branch protection')
|
|
78
|
+
.option('--rebase <branchName>', 'Rebase current branch with specified branch')
|
|
79
|
+
.option('--sync', 'Sync current branch with its remote')
|
|
80
|
+
.option('--push', 'Push changes to remote after operation')
|
|
81
|
+
.action(async (options) => {
|
|
82
|
+
(0, app_1.branchRun)(options);
|
|
83
|
+
});
|
|
84
|
+
program.action(() => {
|
|
85
|
+
console.log('Please specify a command or use --help for usage information');
|
|
86
|
+
process.exit(1);
|
|
87
|
+
});
|
|
88
|
+
program.parse(process.argv);
|
|
89
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BranchController = void 0;
|
|
4
|
+
const BranchManager_1 = require("../../modules/branch/BranchManager");
|
|
5
|
+
class BranchController {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.branchManager = new BranchManager_1.BranchManager();
|
|
8
|
+
}
|
|
9
|
+
async handleCommand(options) {
|
|
10
|
+
try {
|
|
11
|
+
if (options.create) {
|
|
12
|
+
await this.branchManager.createBranch(options.create, options.push);
|
|
13
|
+
}
|
|
14
|
+
else if (options.delete) {
|
|
15
|
+
await this.branchManager.deleteBranch(options.delete);
|
|
16
|
+
}
|
|
17
|
+
else if (options.list) {
|
|
18
|
+
await this.branchManager.listBranches();
|
|
19
|
+
}
|
|
20
|
+
else if (options.switch) {
|
|
21
|
+
await this.branchManager.switchBranch(options.switch);
|
|
22
|
+
}
|
|
23
|
+
else if (options.merge) {
|
|
24
|
+
await this.branchManager.mergeBranch(options.merge, options.push);
|
|
25
|
+
}
|
|
26
|
+
else if (options.release) {
|
|
27
|
+
await this.branchManager.createReleaseBranch(options.release, options.push);
|
|
28
|
+
}
|
|
29
|
+
else if (options.hotfix) {
|
|
30
|
+
await this.branchManager.createHotfixBranch(options.hotfix, options.push);
|
|
31
|
+
}
|
|
32
|
+
else if (options.feature) {
|
|
33
|
+
await this.branchManager.createFeatureBranch(options.feature, options.push);
|
|
34
|
+
}
|
|
35
|
+
else if (options.finish) {
|
|
36
|
+
await this.branchManager.finishBranch(options.finish, options.push);
|
|
37
|
+
}
|
|
38
|
+
else if (options.protect) {
|
|
39
|
+
await this.branchManager.protectBranch(options.protect);
|
|
40
|
+
}
|
|
41
|
+
else if (options.unprotect) {
|
|
42
|
+
await this.branchManager.unprotectBranch(options.unprotect);
|
|
43
|
+
}
|
|
44
|
+
else if (options.rebase) {
|
|
45
|
+
await this.branchManager.rebaseBranch(options.rebase, options.push);
|
|
46
|
+
}
|
|
47
|
+
else if (options.sync) {
|
|
48
|
+
await this.branchManager.syncBranch(options.push);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.log('Please specify an option for branch management.');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.BranchController = BranchController;
|
|
62
|
+
//# sourceMappingURL=BranchController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BranchController.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BranchManager = void 0;
|
|
4
|
+
const simple_git_1 = require("simple-git");
|
|
5
|
+
const GitVersionManager_1 = require("../version/GitVersionManager");
|
|
6
|
+
class BranchManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.git = (0, simple_git_1.simpleGit)();
|
|
9
|
+
this.gitVersionManager = new GitVersionManager_1.GitVersionManager();
|
|
10
|
+
}
|
|
11
|
+
async createBranch(branchName, push) {
|
|
12
|
+
const currentBranch = await this.getCurrentBranch();
|
|
13
|
+
await this.git.checkoutLocalBranch(branchName);
|
|
14
|
+
console.log(`Created and switched to branch '${branchName}' from '${currentBranch}'`);
|
|
15
|
+
if (push) {
|
|
16
|
+
await this.git.push('origin', branchName);
|
|
17
|
+
console.log(`Pushed branch '${branchName}' to remote`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async deleteBranch(branchName) {
|
|
21
|
+
const currentBranch = await this.getCurrentBranch();
|
|
22
|
+
if (currentBranch === branchName) {
|
|
23
|
+
throw new Error(`Cannot delete the current branch: ${branchName}`);
|
|
24
|
+
}
|
|
25
|
+
// Check if branch is protected
|
|
26
|
+
if (await this.isBranchProtected(branchName)) {
|
|
27
|
+
throw new Error(`Cannot delete protected branch: ${branchName}`);
|
|
28
|
+
}
|
|
29
|
+
await this.git.deleteLocalBranch(branchName, true);
|
|
30
|
+
console.log(`Deleted branch '${branchName}'`);
|
|
31
|
+
try {
|
|
32
|
+
await this.git.push(['origin', '--delete', branchName]);
|
|
33
|
+
console.log(`Deleted remote branch '${branchName}'`);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.log(`Note: Remote branch '${branchName}' doesn't exist or already deleted`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async listBranches() {
|
|
40
|
+
const branchSummary = await this.git.branch(['-a']);
|
|
41
|
+
const currentBranch = branchSummary.current;
|
|
42
|
+
const protectedBranches = await this.getProtectedBranches();
|
|
43
|
+
console.log('\nBranches:');
|
|
44
|
+
console.log('=========');
|
|
45
|
+
// Local branches
|
|
46
|
+
console.log('\nLocal branches:');
|
|
47
|
+
branchSummary.all
|
|
48
|
+
.filter(branch => !branch.includes('remotes/'))
|
|
49
|
+
.forEach(branch => {
|
|
50
|
+
const isCurrent = branch === currentBranch;
|
|
51
|
+
const isProtected = protectedBranches.includes(branch);
|
|
52
|
+
console.log(`${isCurrent ? '* ' : ' '}${branch}${isProtected ? ' (protected)' : ''}`);
|
|
53
|
+
});
|
|
54
|
+
// Remote branches
|
|
55
|
+
console.log('\nRemote branches:');
|
|
56
|
+
branchSummary.all
|
|
57
|
+
.filter(branch => branch.includes('remotes/'))
|
|
58
|
+
.map(branch => branch.replace('remotes/', ''))
|
|
59
|
+
.forEach(branch => {
|
|
60
|
+
console.log(` ${branch}`);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async switchBranch(branchName) {
|
|
64
|
+
await this.git.checkout(branchName);
|
|
65
|
+
console.log(`Switched to branch '${branchName}'`);
|
|
66
|
+
}
|
|
67
|
+
async mergeBranch(branchName, push) {
|
|
68
|
+
const currentBranch = await this.getCurrentBranch();
|
|
69
|
+
if (await this.isBranchProtected(currentBranch)) {
|
|
70
|
+
const confirmation = await this.confirmAction(`Warning: You're merging into protected branch '${currentBranch}'. Continue?`);
|
|
71
|
+
if (!confirmation) {
|
|
72
|
+
console.log('Merge cancelled');
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
await this.git.merge([branchName]);
|
|
77
|
+
console.log(`Merged '${branchName}' into '${currentBranch}'`);
|
|
78
|
+
if (push) {
|
|
79
|
+
await this.git.push('origin', currentBranch);
|
|
80
|
+
console.log(`Pushed changes to remote '${currentBranch}'`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async createReleaseBranch(version, push) {
|
|
84
|
+
const branchName = `release/v${version}`;
|
|
85
|
+
await this.createBranch(branchName, push);
|
|
86
|
+
await this.protectBranch(branchName);
|
|
87
|
+
console.log(`Created protected release branch '${branchName}'`);
|
|
88
|
+
}
|
|
89
|
+
async createHotfixBranch(version, push) {
|
|
90
|
+
const branchName = `hotfix/v${version}`;
|
|
91
|
+
await this.createBranch(branchName, push);
|
|
92
|
+
console.log(`Created hotfix branch '${branchName}'`);
|
|
93
|
+
}
|
|
94
|
+
async createFeatureBranch(name, push) {
|
|
95
|
+
const branchName = `feature/${name}`;
|
|
96
|
+
await this.createBranch(branchName, push);
|
|
97
|
+
console.log(`Created feature branch '${branchName}'`);
|
|
98
|
+
}
|
|
99
|
+
async finishBranch(branchName, push) {
|
|
100
|
+
const currentBranch = await this.getCurrentBranch();
|
|
101
|
+
const gitVersionManager = new GitVersionManager_1.GitVersionManager();
|
|
102
|
+
if (branchName.startsWith('feature/')) {
|
|
103
|
+
await this.mergeBranch('develop', push);
|
|
104
|
+
}
|
|
105
|
+
else if (branchName.startsWith('release/')) {
|
|
106
|
+
await this.mergeBranch('main', push);
|
|
107
|
+
await this.mergeBranch('develop', push);
|
|
108
|
+
// Create tag for release
|
|
109
|
+
const version = branchName.replace('release/v', '');
|
|
110
|
+
await gitVersionManager.createGitTag(`v${version}`);
|
|
111
|
+
}
|
|
112
|
+
else if (branchName.startsWith('hotfix/')) {
|
|
113
|
+
await this.mergeBranch('main', push);
|
|
114
|
+
await this.mergeBranch('develop', push);
|
|
115
|
+
// Create tag for hotfix
|
|
116
|
+
const version = branchName.replace('hotfix/v', '');
|
|
117
|
+
await gitVersionManager.createGitTag(`v${version}`);
|
|
118
|
+
}
|
|
119
|
+
await this.deleteBranch(branchName);
|
|
120
|
+
console.log(`Finished and cleaned up branch '${branchName}'`);
|
|
121
|
+
}
|
|
122
|
+
async protectBranch(branchName) {
|
|
123
|
+
const protectedBranches = await this.getProtectedBranches();
|
|
124
|
+
if (!protectedBranches.includes(branchName)) {
|
|
125
|
+
protectedBranches.push(branchName);
|
|
126
|
+
await this.saveProtectedBranches(protectedBranches);
|
|
127
|
+
console.log(`Protected branch '${branchName}'`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async unprotectBranch(branchName) {
|
|
131
|
+
const protectedBranches = await this.getProtectedBranches();
|
|
132
|
+
const index = protectedBranches.indexOf(branchName);
|
|
133
|
+
if (index > -1) {
|
|
134
|
+
protectedBranches.splice(index, 1);
|
|
135
|
+
await this.saveProtectedBranches(protectedBranches);
|
|
136
|
+
console.log(`Removed protection from branch '${branchName}'`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async rebaseBranch(branchName, push) {
|
|
140
|
+
const currentBranch = await this.getCurrentBranch();
|
|
141
|
+
await this.git.rebase([branchName]);
|
|
142
|
+
console.log(`Rebased '${currentBranch}' with '${branchName}'`);
|
|
143
|
+
if (push) {
|
|
144
|
+
await this.git.push('origin', currentBranch, ['--force']);
|
|
145
|
+
console.log(`Force pushed rebased changes to '${currentBranch}'`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async syncBranch(push) {
|
|
149
|
+
const currentBranch = await this.getCurrentBranch();
|
|
150
|
+
await this.git.pull('origin', currentBranch, ['--rebase']);
|
|
151
|
+
console.log(`Synced '${currentBranch}' with remote`);
|
|
152
|
+
if (push) {
|
|
153
|
+
await this.git.push('origin', currentBranch);
|
|
154
|
+
console.log(`Pushed local changes to remote '${currentBranch}'`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async getCurrentBranch() {
|
|
158
|
+
const branchSummary = await this.git.branch();
|
|
159
|
+
return branchSummary.current;
|
|
160
|
+
}
|
|
161
|
+
async isBranchProtected(branchName) {
|
|
162
|
+
const protectedBranches = await this.getProtectedBranches();
|
|
163
|
+
return protectedBranches.includes(branchName);
|
|
164
|
+
}
|
|
165
|
+
async getProtectedBranches() {
|
|
166
|
+
try {
|
|
167
|
+
const config = await this.git.listConfig();
|
|
168
|
+
const protectedBranchesConfig = config.all['branch.protected'];
|
|
169
|
+
// If it's already an array, return it
|
|
170
|
+
if (Array.isArray(protectedBranchesConfig)) {
|
|
171
|
+
return protectedBranchesConfig;
|
|
172
|
+
}
|
|
173
|
+
// If it's a string, parse it
|
|
174
|
+
if (typeof protectedBranchesConfig === 'string') {
|
|
175
|
+
return JSON.parse(protectedBranchesConfig);
|
|
176
|
+
}
|
|
177
|
+
// If it's undefined or null, return default
|
|
178
|
+
return ['main', 'master', 'develop'];
|
|
179
|
+
}
|
|
180
|
+
catch (_a) {
|
|
181
|
+
return ['main', 'master', 'develop'];
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
async saveProtectedBranches(branches) {
|
|
185
|
+
await this.git.addConfig('branch.protected', JSON.stringify(branches));
|
|
186
|
+
}
|
|
187
|
+
async confirmAction(message) {
|
|
188
|
+
// Implementation depends on your preferred CLI interaction library
|
|
189
|
+
// For example, using 'inquirer'
|
|
190
|
+
return true; // Placeholder
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
exports.BranchManager = BranchManager;
|
|
194
|
+
//# sourceMappingURL=BranchManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BranchManager.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChangelogValidator = void 0;
|
|
4
|
+
class ChangelogValidator {
|
|
5
|
+
validateOptions(options) {
|
|
6
|
+
const versionIncrementOptions = [options.major, options.minor, options.patch].filter(Boolean).length;
|
|
7
|
+
if (versionIncrementOptions > 1) {
|
|
8
|
+
throw new Error('Cannot specify multiple version increment options');
|
|
9
|
+
}
|
|
10
|
+
if (options.init && (options.major || options.minor || options.patch)) {
|
|
11
|
+
throw new Error('Cannot combine --init with version increment options');
|
|
12
|
+
}
|
|
13
|
+
if (options.revert && (options.major || options.minor || options.patch)) {
|
|
14
|
+
throw new Error('Cannot combine --revert with version increment options');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ChangelogValidator = ChangelogValidator;
|
|
19
|
+
//# sourceMappingURL=ChangelogValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangelogValidator.js","sourceRoot":"","sources":["../../../src/modules/changelog/ChangelogValidator.ts"],"names":[],"mappings":";;;AAGA,MAAa,kBAAkB;IACpB,eAAe,CAAC,OAAuB;QAC1C,MAAM,uBAAuB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;QAEpG,IAAI,uBAAuB,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAC3E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC7E,CAAC;IACL,CAAC;CACJ;AAhBD,gDAgBC"}
|