https://github.com/adhocore/please
Please is a bash script for automating new version release in Github which supports both public and private repositories. If you embrace semver this is the right tool for you. It saves you time and boosts productivity if you maintain many packages and their versioning/releasing.
What it does and how
- Determine remote git repo based on local git config
- Checkout and Update
master
- Get latest release from github api endpoint
- Collect new commits since the latest release
- Create a changelog (prepend to if exists), reflect that into
./CHANGELOG.md
file and commit it - Bump the version, reflect that into
./VERSION
file- If any of the latest commits start with
feat
<minor>
is bumped - But if only you didnt explicitly pass
scope
already
- If any of the latest commits start with
- If there is
package.json
file, bumppackage.json#version
- Commit all changes
- If
package.json#private
is not set totrue
- If npm user not already logged in, run
npm adduser
- Run
npm publish
finally
- If npm user not already logged in, run
- Release the new version and tag to github
- If there is
box.json
file, compile phar usingbox
(downloadbox.phar
if required) - Upload the compiled
phar
as asset for the recent release
Here's a preview of its beautiful UI:
Top comments (1)
Now supports automatic changelog generatation. 😇😊