Yargs command handler for generating release notes.
({releaseVersion, from, to, prependToChangelog, type}: Arguments<Options>)
| 55 | |
| 56 | /** Yargs command handler for generating release notes. */ |
| 57 | async function handler({releaseVersion, from, to, prependToChangelog, type}: Arguments<Options>) { |
| 58 | /** Git client to use for generating the release notes. */ |
| 59 | const git = await GitClient.get(); |
| 60 | /** The ReleaseNotes instance to generate release notes. */ |
| 61 | const releaseNotes = await ReleaseNotes.forRange(git, releaseVersion, from, to); |
| 62 | |
| 63 | if (prependToChangelog) { |
| 64 | await releaseNotes.prependEntryToChangelogFile(); |
| 65 | Log.info(`Added release notes for "${releaseVersion}" to the changelog`); |
| 66 | return; |
| 67 | } |
| 68 | |
| 69 | /** The requested release notes entry. */ |
| 70 | const releaseNotesEntry = |
| 71 | type === 'changelog' |
| 72 | ? await releaseNotes.getChangelogEntry() |
| 73 | : await releaseNotes.getGithubReleaseEntry(); |
| 74 | |
| 75 | process.stdout.write(releaseNotesEntry); |
| 76 | } |
| 77 | |
| 78 | /** CLI command module for generating release notes. */ |
| 79 | export const ReleaseNotesCommandModule: CommandModule<{}, Options> = { |
nothing calls this directly
no test coverage detected