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

biome-ratchet

v0.1.1

Published

Ratcheting applied to Biome lint results so new issues don't creep in.

Downloads

97

Readme

biome-ratchet

Node Version npm version License: MIT Maintainability Test Coverage

Ratcheting for Biome lint results. Prevents new violations from being introduced while allowing gradual cleanup of existing ones.

How it works

biome-ratchet wraps biome lint and tracks violation counts per file and rule in a biome-ratchet.json baseline file committed to your repo. On each run:

  • New or increased violations → exits non-zero, writes biome-ratchet-temp.json with the new counts
  • Improvements (violations fixed) → updates biome-ratchet.json automatically and exits 0
  • No changes → exits 0

When biome-ratchet-temp.json is written, review it and replace biome-ratchet.json with it if the increase was intentional.

Installation

yarn add --dev biome-ratchet
# or
npm install --save-dev biome-ratchet

Requires Node >= 22 and @biomejs/biome installed in your project.

Usage

Replace biome lint with biome-ratchet lint in your scripts:

{
  "scripts": {
    "lint": "biome-ratchet lint src/"
  }
}

Any flags are passed through to biome lint.

Initial setup

On first run with no baseline, biome-ratchet will fail and write biome-ratchet-temp.json with your current violations. Promote it to your baseline and commit it:

cp biome-ratchet-temp.json biome-ratchet.json
git add biome-ratchet.json
git commit -m "chore: initialize biome-ratchet baseline"

From that point on, new violations will be caught automatically.

Baseline file

biome-ratchet.json tracks current violation counts per file and rule:

{
  "src/legacy.ts": {
    "lint/suspicious/noDoubleEquals": {
      "error": 2
    },
    "lint/style/noVar": {
      "warning": 1
    }
  }
}

Commit this file alongside your code. When violations are fixed, the file is updated automatically.

Environment variables

| Variable | Effect | |---|---| | RATCHET_DEFAULT_EXIT_ZERO=true | Always exit 0 (useful for reporting without blocking) |

Limitations (v1)

  • Lint violations only — format violations are not tracked
  • When linting a subset of files (e.g. staged files only), files that have been fully fixed won't be auto-removed from the baseline. Run against the full codebase to clean those up.