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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@firefoxic/release-it

v4.1.0

Published

Bump, publish and release new version for npm package

Downloads

145

Readme

@firefoxic/release-it

License: MIT Changelog NPM version

A powerful release script that automates the entire release process including updating changelog, npm publishing and GitHub releases.

Purpose

Publishing a new version of a package is a routine sequence of several steps involving running commands, editing files, entering passwords, copying text to GitHub, and so on. It's easy to make a mistake at any stage, especially when editing CHANGELOG.md. Do it all with a single command or push to the release branch.

Usage

  • In GitHub CI

    1. Create a release action. See the release.yaml file for an example, where important points are described in the comments.
    2. In the settings of your package on https://npmjs.com, enable trusted publishing (if you haven't already).
    3. Push the branch named starting with release (see below) to GitHub.
  • Locally

    1. On the branch with a name starting with release (see below), just run:

      npx @firefoxic/release-it
      # or
      # pnpm dlx @firefoxic/release-it
    2. And enter OTP.

Requirements

  • Node.js

  • Git repository with GitHub remote

  • GitHub CLI (gh) for locally using

    # First time setup — authenticate with GitHub
    gh auth login

Branch-based Release Types

The release script uses branch names to determine the release type:

  • release → Stable release (e.g., 1.0.0)
  • release-alpha → Alpha prerelease (e.g., 1.0.0-alpha.1)
  • release-beta → Beta prerelease (e.g., 1.0.0-beta.1)
  • release-rc → Release candidate (e.g., 1.0.0-rc.1)
  • release- → Numbered prerelease (e.g., 1.0.0-1)

Version Detection

The script automatically determines the version bump based on changelog content:

  • ### Changed → Major version (breaking changes)
  • ### Added → Minor version (new features)
  • ### Fixed → Patch version (bug fixes)

Authentication

  • CI/CD: Uses NPM trusted publishing
  • Local: Interactive OTP prompt or --otp flag
  • GitHub: Requires gh auth login or GITHUB_TOKEN environment variable

Changelog restrictions

  • The name of the changelog file is CHANGELOG.md.

  • The format of the changelog is consistent with Keep a changelog.

  • Descriptions of all user-important changes are already in the changelog under the heading [Unreleased]. Ideally, you should commit them along with the changes themselves.

  • If this is the first release of a package, there should be only one reference for [Unreleased] at the end of the changelog in the following format for correct reference updating:

    [Unreleased]: https://github.com/<user-name>/<project-name>/compare/v0.0.1...HEAD