npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

please-release-me

v2.1.6

Published

Let me go!

Downloads

727

Readme

Please release me, let me go,

For I don't love you any more...

Package status License

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:

  1. If it looks like there is a lint command in package.json, execute the command npm run lint. If the lint command fails, the release is aborted.

  2. If it looks like there is a test command in package.json, execute the command npm t. If the test command fails, the release is aborted.

  3. If it looks like there is a minify command in package.json, execute the command npm run minify. If the minify command fails, the release is aborted.

  4. If Cargo.toml exists, execute the command cargo t. If it fails, the release is aborted.

  5. Generate a list of commits made since the last tag.

  6. Based on the commits from 5, bump the version string like so:

    • If any commit message begins with break: or breaking:, increment the major version.

    • Otherwise, if any commit message begins with feat: or feature:, increment the minor version.

    • Otherwise, increment the patch number.

  7. If bower.json exists, write the freshly bumped version string to bower.json.

  8. If component.json exists, write the freshly bumped version string to component.json.

  9. If package.json exists, write the freshly bumped version string to package.json.

  10. If package-lock.json exists, run npm i.

  11. If npm-shrinkwrap.json exists, run npm shrinkwrap.

  12. If pnpm-lock.yaml exists, run pnpm i.

  13. If yarn.lock exists, run yarn.

  14. If setup.py exists, write the freshly bumped version string to setup.py.

  15. If Cargo.toml exists, write the freshly bumped version string to Cargo.toml.

  16. If Cargo.lock exists, write the freshly bumped version string to Cargo.lock.

  17. 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

  18. Commit all changes made by the preceding steps.

  19. If Cargo.toml exists, execute the command cargo package. If it fails, the release is aborted.

  20. 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.