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

taskbounty-coverage-gate

v0.1.2

Published

Zero-dependency coverage gate: read your existing LCOV or json-summary report, show the gap to a target (default 80%) and the lowest-covered files, and fail CI when below target.

Downloads

67

Readme

TaskBounty Coverage Gate

A zero-dependency coverage gate for JavaScript and TypeScript projects. It reads the coverage report your test run already produced (LCOV or Istanbul json-summary), prints your current line coverage, the gap to a target (default 80%), and your lowest-covered files, and fails CI when you are below target.

No network calls, no account, no dependencies. It works with jest, vitest, nyc, and c8, anything that can emit lcov.info or coverage-summary.json.

Install

npm install -g taskbounty-coverage-gate

Or run it without installing via npx (shown below).

CLI

# after running your tests with coverage
npx taskbounty-coverage-gate --min 80

It auto-detects coverage/lcov.info, coverage/coverage-summary.json, coverage-summary.json, or lcov.info. Point it explicitly with --report:

npx taskbounty-coverage-gate --report coverage/lcov.info --min 80

Options:

| Flag | Default | Meaning | | --- | --- | --- | | --report <path> | auto | Path to the LCOV or json-summary report | | --min <pct> | 80 | Target line coverage | | --top <n> | 5 | How many lowest-covered files to list | | --no-fail | off | Report only, always exit 0 |

Example output:

  Coverage gate  (report: coverage/lcov.info)

  Line coverage   62.4%  ███████████████░░░░░░░░░
  Target          80.0%
  Result          BELOW target by 17.6 points

  Lowest-covered files:
     0%  src/api/webhooks.ts
    31%  src/billing/invoices.ts
    44%  src/auth/session.ts

Exit code is 1 when below target (so it gates CI), 0 otherwise or with --no-fail.

GitHub Action

- name: Test with coverage
  run: npm test -- --coverage

- name: Coverage gate
  uses: task-bounty/coverage-gate@v1
  with:
    report: coverage/lcov.info
    min: 80
    # fail-under: false   # report only, do not fail the job

Supported report formats

  • LCOV (lcov.info): line coverage summed from LF/LH per file.
  • Istanbul json-summary (coverage-summary.json): repo total plus per-file line percentages.

Reaching the target

Below 80% and want to get there without the grind? TaskBounty takes a repo to 80% line coverage and delivers it as a sandbox-verified pull request, refunded if it misses. Free coverage check for any repo: https://www.task-bounty.com/coverage-check

License

MIT