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

@codegrenade/fortest-cli

v0.3.0

Published

Run Fortest API flow tests (exported buckets or Postman collections) from the command line and CI.

Readme

fortest

Run Fortest API flow tests from your terminal or CI: multi-step request flows with chained values, assertions, environments, secrets, retries and latency budgets. It exits non-zero when anything fails and can write a JUnit report.

npm install -g @codegrenade/fortest-cli      # or: npx @codegrenade/fortest-cli run …
fortest run tests/shop-api.yaml --env staging --var token=$API_TOKEN --junit report.xml

Requires Node.js 20.3 or later. The package has no dependencies.

Behind a proxy that inspects HTTPS (Netskope, Zscaler, ...), use Node.js 22.19+ or 24.5+: fortest then trusts your operating system's certificates. On older versions, set NODE_EXTRA_CA_CERTS to the proxy's root certificate. A step that gets no response says why (certificate, DNS, refused, timeout).

Getting a bucket file

Build the flow in the Fortest app, then Export it (JSON or YAML) into your repository. Secret variables are exported without their values; pass them with --var. Postman collections (v2.0/v2.1) can be run directly too.

Usage

fortest run <file> [options]

  -g, --group <name>       Only run this action group (repeatable; default: all)
  -e, --env <name>         Use this environment (default: the bucket's selected one; "none" for none)
  -v, --var <KEY=VALUE>    Set or override a variable (repeatable; beats everything)
  --iterations <n>         Iterations per action group (default 1; more makes it a load run)
  --concurrency <n>        Iterations run in parallel (default 1)
  --delay <ms>             Delay between steps (default 0)
  --max-p95 <ms>           Latency budget: fail an action group whose p95 is above this
  --junit <path>           Also write a JUnit XML report
fortest --version

| Exit code | Meaning | | --- | --- | | 0 | Every step and assertion passed | | 1 | A step failed (network error, HTTP 4xx/5xx, failed assertion) or a group went over --max-p95 | | 2 | Bad input: unreadable or invalid file, unknown option, unknown --group or --env | | 130 | Interrupted (Ctrl+C); the JUnit report is still written |

Secret values are redacted ([secret:name]) from all output and reports.

In CI (GitHub Actions)

- uses: actions/setup-node@v4
  with: { node-version: 20 }
- run: npx @codegrenade/[email protected] run tests/shop-api.yaml --env staging --var token=${{ secrets.API_TOKEN }} --junit fortest-report.xml # x-release-please-version

Pin an exact version: before 1.0, minor releases may change behaviour.

No Node.js? Use the Docker image: docker run --rm -v "$PWD:/work" ghcr.io/kodegrenade/fortest run /work/tests/shop-api.yaml. The Docker image also runs the full Fortest app: docker run --rm -p 127.0.0.1:3001:3001 ghcr.io/kodegrenade/fortest.

Full documentation, including the bucket file format: https://github.com/kodegrenade/fortest#readme