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

gh-pr-versions

v0.0.1

Published

List and fetch different versions of a GitHub pull request.

Readme

gh-pr-versions

List and fetch versions of a GitHub pull request.

Why

Patch-based code review is popular in various open-source projects, including Linux, Git, and many others. However, GitHub—the largest code forge—doesn't cater well to patch-based code review.

There are external services which allow some form of patch-based code review for GitHub, including Butler Review and Graphite. However, these are both external tools which can't be used as-is on existing GitHub repositories, and require organizational buy-in.

gh-pr-versions adds some tooling to improve the process for performing patch-based code reviews on GitHub. It labels each set of commits force-pushed to a Pull Request with a version number, and allows versions to be fetched locally. This allows Git-native tools like git range-diff to be used to understand the evolution of the Pull Request.

Usage

Installation

gh-pr-versions is available from the npm package registry.

To install the binary globally:

npm i -g gh-pr-versions
gh-pr-versions

To run the command without installing it globally:

npx gh-pr-versions

gh-pr-versions requires the gh and git binaries to be installed and functional.

Commands

  • gh-pr-versions list <PULL_REQUEST_NUMBER> List versions of a pull request.
  • gh-pr-versions fetch <PULL_REQUEST_NUMBER> [VERSIONS...] Fetch versions of a pull request.
  • gh-pr-versions clear <PULL_REQUEST_NUMBER> Clear versions of a pull request.

Run gh-pr-versions help for more information.

Example

# List all versions of PR#9999
gh-pr-versions list 9999

# Fetch all versions of PR#9999 into local branches `pulls/9999/*`
gh-pr-versions fetch 9999

# View commits in the latest version of the PR
git log pulls/9999/base..pulls/9999/latest

# Perform a range-diff between versions 1 and 2
git range-diff pulls/9999/base pulls/9999/v1 pulls/9999/v2

# Switch to the latest version
git switch pulls/9999/latest

# Remove all the `pulls/9999/*` branches
gh-pr-versions clear 9999

How

This package makes use of the GitHub GraphQL API for timeline items. It uses some heuristics to determine if a new version was created. The API isn't idempotent, and some of these heuristics might not be fully accurate, so you might get some slightly different results for different invocations of gh-pr-versions.

Feel free to open an issue if you get any unexpected results.