aspublish

0.1.6 • Public • Published

aspublish

Publish status npm version

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 aspublish

May also obtain just the next version that will be created, if necessary:

npx aspublish --version

The 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
    fi

Or, if obtaining the version upfront is not necessary:

- name: Make release
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    NPM_TOKEN:  ${{ secrets.NPM_TOKEN }}
  run: npx aspublish

See this repository's publish.yml for a complete configuration (replace node bin/aspublish.js with npx aspublish).

Readme

Keywords

none

Package Sidebar

Install

npm i aspublish

Weekly Downloads

22

Version

0.1.6

License

Apache-2.0

Unpacked Size

24.1 kB

Total Files

7

Last publish

Collaborators

  • assemblyscript