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

githubrelease

v1.0.3

Published

CLI tool for GitHub release management

Downloads

81

Readme

githubrelease

CLI tool for GitHub release management.

What does this do?

  1. pull from remote origin for master and develop branches
  2. rebase master onto develop
  3. rebase develop onto master
  4. grabs the short SHA of master
  5. updates changelog
  6. bumps version number
  7. commits changes
  8. creates a version tag
  9. pushes master and tag to remote
  10. rebase master onto develop
  11. pushes develop to remote
  12. creates a release on github
  13. output message "Landed in "

Setup

Install

To install from npm:

npm install -g githubrelease

To install from GitHub:

npm install -g psyrendust/githubrelease

Prerequisites

The githubrelease cli uses conventional-github-releaser under the hood, which needs the following in order to work:

  1. Setup a new GitHub app token
  2. Set your environment variable CONVENTIONAL_GITHUB_RELEASER_TOKEN to the token you just created

You can find more details here: Setup token for cli.

Usage

Flag options

  • -h: Show this message.
  • -v: Display the version of this script.
  • -f: Display the flags used when showing config.
  • -l: Generate a changelog entry and save it to <changelog>.
  • -p: Push <master>, <develop>, and tags to <remote>.
  • -u: Update <master> and <develop> branches from <remote> using rebase.
  • -n: Do not display any prompts.
  • -t: Do not trash the node_modules folder before running npm run test.
  • -T: Do not create a git tag and do no run conventionalGithubReleaser.

Argument options

  • -c: Location of the <changelog>. Defaults to CHANGELOG.md.
  • -C: The NPM client to use. Defaults to npm.
  • -m: The <master> branch. Defaults to master.
  • -d: The <develop> branch. Defaults to develop.
  • -r: The <remote> push and pull from. Defaults to origin.
  • -P: The preset style used to generate the changelog. Examples include [angular | jquery ...]. Defaults to conventional-recommended-bump.
  • -s: Allows you to start at a specific step. Useful for when the script fails before completing all steps. See Available steps below.
  • -b: The semver you would like to use for the release (default: patch). Can be: [ major | minor | patch | v0.0.0 ]

Available steps

  1. Update <master> and <develop> branches from <remote> using rebase.
  2. Push <master>, <develop>, and tags to <remote>.
  3. Run npm test
  4. Rebase <develop> onto <master>.
  5. Make a copy of package.json to _package.json (also copy package-lock.json to _package-lock.json if it exists).
  6. Temporarily bump the semver of package.json.
  7. Save a changelog entry to <changelog>.
  8. Commit <changelog> update to Git.
  9. Reset package.json by moving _package.json to package.json (also reset _package-lock.json to package-lock.json if it exists).
  10. Run npm version command, which bumps package.json and creates a tag. No git tag will be created if -T is passed.
  11. Rebase <master> onto <develop>.
  12. Push <master>, <develop>, and tags to <remote>.
  13. Run conventional-github-releaser to create a release in GitHub.
  14. Output landed message which contains the short sha of HEAD.

Examples:

  1. Update all branches
  2. Push changes from all branches
  3. Cut a release
githubrelease -u
githubrelease -p
githubrelease -b patch
githubrelease -tTb minor

Or just do it all in one command.

githubrelease -b patch

Use yarn instead of npm:

githubrelease -b patch -C yarn