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

typefuzz

v1.0.0

Published

TypeScript fuzz/property testing utilities with test runner integrations

Readme

TypeFuzz

Property-based testing for TypeScript that drops straight into your existing test runner. No wrappers, no config — write fuzz tests like you write unit tests.

Why TypeFuzz?

  • Test runner integrationfuzzIt works like it/test inside Vitest and Jest. No separate CLI.
  • Zero dependencies — ships nothing you don't need. Vitest, Jest, and Zod are optional peer deps.
  • TypeScript-first — full type inference from generators to predicates. No casting.
  • Deterministic — seeded RNG means every failure is reproducible with a single seed value.
  • Built-in shrinking — automatic counterexample minimisation using binary search, length reduction, and delta debugging.

Install

npm install -D typefuzz
pnpm add -D typefuzz
yarn add -D typefuzz
bun add -D typefuzz

Quick example

import { fuzzIt } from 'typefuzz/vitest';
import { gen } from 'typefuzz';

fuzzIt('sort is idempotent', gen.array(gen.int(-100, 100), { minLength: 0, maxLength: 50 }), (arr) => {
  const sorted = [...arr].sort((a, b) => a - b);
  const sortedTwice = [...sorted].sort((a, b) => a - b);
  return JSON.stringify(sorted) === JSON.stringify(sortedTwice);
});

If the property fails, TypeFuzz shrinks the input to the smallest counterexample and prints the seed for replay.

TypeFuzz vs fast-check

| | TypeFuzz | fast-check | | --- | --- | --- | | Test runner integration | fuzzIt — one function, same signature as it | @fast-check/vitest with test.prop | | API surface | Small, opinionated | Large, highly configurable | | Shrinking | Binary search + delta debugging | Shrink-on-generate | | Model-based testing | Built-in | Built-in | | Zod integration | typefuzz/zod adapter | Community zod-fast-check | | Async support | Native | Native |

Features

Model-based testing

Test stateful systems against a simplified model. TypeFuzz generates random command sequences, runs them against both your system and the model, and shrinks failing sequences to the shortest reproduction. Read more →

Zod adapter

Already have Zod schemas? Generate test data directly from them with zodArbitrary. Supports objects, arrays, unions, discriminated unions, transforms, and more. Read more →

Shrinking

When a property fails, TypeFuzz automatically minimises the counterexample — binary search for numbers, length halving for strings and arrays, delta debugging for model-based command sequences. Read more →

Documentation

Development

bun install
bun run lint
bun run typecheck
bun run test

Licence

MIT