github-release-from-cc-changelog
Retrieve release notes from CHANGELOG.md (as generated by standard-version) and post them to GitHub
Installation
npm i -g github-release-from-cc-changelog
Prerequisites
- Github url needs to be configured at package.json
repository
field - Ensure GitHub access token available at
CONVENTIONAL_GITHUB_RELEASER_TOKEN
(orGITHUB_TOKEN
) environment variable. The scopes for the token you need ispublic_repo
orrepo
(if you need to access private repos). - Tags for given versions need to exist in GitHub repository before pushing release notes. Tags need to follow format of
v<version>
, or in case of multi-package repositories follow format of<packageName>@<version>
Usage
CLI
At package directory run:
github-release-from-cc-changelog <versionTag>
e.g.
github-release-from-cc-changelog v1.0.0
Resolve and publish notes for all versions
At package directory run:
github-release-all-from-cc-changelog
By default v
is assumed as tag postfix. In case of multi package repositories this can be overriden by passing --tag-prefix
e.g.:
github-release-all-from-cc-changelog --tag-prefix=subpackage@
Dump release notes for given version
Useful also to verify whether notes for given version can be retrieved
At package directory run:
dump-release-notes-from-cc-changelog <versionTag>
Programmatically
const releaseFromChangelog = require("github-release-from-cc-changelog");
releaseFromChangelog(packageDirectory, versionTag).then(() => {
console.log(`Successfully pushed release notes for "${ versionTag }"`);
});
Reseolve and publish notes for all versions
const releaseAllFromChangelog = require("github-release-from-cc-changelog/all");
releaseFromChangelog(packageDirectory).then(() => {
console.log(`Successfully pushed and released notes for all versions`);
});
Test
npm test