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
lint
command inpackage.json
, execute the commandnpm run lint
. If thelint
command fails, the release is aborted. -
If it looks like there is a
test
command inpackage.json
, execute the commandnpm t
. If thetest
command fails, the release is aborted. -
If it looks like there is a
minify
command inpackage.json
, execute the commandnpm run minify
. If theminify
command 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.json
exists, write the freshly bumped version string tobower.json
. -
If
component.json
exists, write the freshly bumped version string tocomponent.json
. -
If
package.json
exists, write the freshly bumped version string topackage.json
. -
If
setup.py
exists, 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.