please-release-me
v2.1.6
Published
Let me go!
Downloads
727
Maintainers
Readme
Please release me, let me go,
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, Rust 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
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.If
Cargo.toml
exists, execute the commandcargo t
. If it fails, the release is aborted.Generate a list of commits made since the last tag.
Based on the commits from
5
, 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
package-lock.json
exists, runnpm i
.If
npm-shrinkwrap.json
exists, runnpm shrinkwrap
.If
pnpm-lock.yaml
exists, runpnpm i
.If
yarn.lock
exists, runyarn
.If
setup.py
exists, write the freshly bumped version string tosetup.py
.If
Cargo.toml
exists, write the freshly bumped version string toCargo.toml
.If
Cargo.lock
exists, write the freshly bumped version string toCargo.lock
.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.
If
Cargo.toml
exists, execute the commandcargo package
. If it fails, the release is aborted.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
cargo publish
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.