Please release me, let me go,
September 11, 2017 ยท View on GitHub
For I don't love you any more...
- What is it?
- What does it do?
- What doesn't it do?
- How do I install it?
- How do I use it?
- What license is it released under?
What is it?
An automated release script for npm and python, built to work with the conventions used by my packages. If you're not me, there's a good chance it won't work for you.
What does it do?
Performs sanity checks, bumps the version number, updates the change log and creates a new git tag.
Specifically, it runs through each of the following steps in order:
-
If it looks like there is a
lintcommand inpackage.json, execute the commandnpm run lint. If thelintcommand fails, the release is aborted. -
If it looks like there is a
testcommand inpackage.json, execute the commandnpm t. If thetestcommand fails, the release is aborted. -
If it looks like there is a
minifycommand inpackage.json, execute the commandnpm run minify. If theminifycommand fails, the release is aborted. -
Generate a list of commits made since the last tag.
-
Based on the commits from
4, bump the version string like so:-
If any commit message begins with
break:orbreaking:, increment the major version. -
Otherwise, if any commit message begins with
feat:orfeature:, increment the minor version. -
Otherwise, increment the patch number.
-
-
If
bower.jsonexists, write the freshly bumped version string tobower.json. -
If
component.jsonexists, write the freshly bumped version string tocomponent.json. -
If
package.jsonexists, write the freshly bumped version string topackage.json. -
If
setup.pyexists, write the freshly bumped version string tosetup.py. -
If a change log is detected, write a summary of the changes to the change log. It will recognise any of the following file names:
-
CHANGELOG.md -
CHANGELOG.txt -
CHANGELOG -
CHANGES.md -
CHANGES.txt -
CHANGES -
HISTORY.md -
HISTORY.txt -
HISTORY
-
-
Commit all changes made by the preceding steps.
-
Tag the release with the freshly bumped version string.
What doesn't it do?
-
git push -
npm publish -
python setup.py sdist upload -
twine upload
How do I install it?
npm i -g please-release-me
How do I use it?
Just run the command release,
with no arguments:
release
What license is it released under?
MIT.