aspublish v0.1.6
aspublish
Minimalist publishing tool for GitHub and npm. Generates a changelog, makes a GitHub release of it, and publishes the package to npm.
Usage
Set GITHUB_TOKEN and NPM_TOKEN as environment variables.
To create a release on GitHub and publish the package to npm:
npx aspublishMay also obtain just the next version that will be created, if necessary:
npx aspublish --versionThe returned version is empty if no release has been triggered.
Note that npm postversion etc. scripts will also run normally, and that the version number in package.json is irrelevant (may just be 0.0.0).
Commit format
Prefix either the commit subject or body:
| Prefix | Release type | Pre 1.0.0 | Post 1.0.0 |
|---|---|---|---|
breaking: | Major | 0.1.0 -> 0.2.0 | 1.0.0 -> 2.0.0 |
feat: | Minor | 0.1.0 -> 0.1.1 | 1.0.0 -> 1.1.0 |
fix: | Patch | 0.1.0 -> 0.1.1 | 1.0.0 -> 1.0.1 |
Except a few aliases and abbreviations, other prefixes will not trigger a new version / release.
Example
As a step during GitHub Actions:
- name: Make release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
VERSION=$(npx aspublish --version)
if [ -z "$VERSION" ]; then
echo "Changes do not trigger a release"
else
echo "Publishing new version: $VERSION"
npx aspublish
fiOr, if obtaining the version upfront is not necessary:
- name: Make release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npx aspublishSee this repository's publish.yml for a complete configuration (replace node bin/aspublish.js with npx aspublish).