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?
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.
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.
-
git push -
npm publish -
python setup.py sdist upload -
twine upload
npm i -g please-release-me
Just run the command release,
with no arguments:
release
MIT.