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

stryker-tsgo-checker

v0.1.0

Published

Experimental StrykerJS checker plugin that type-checks mutants with tsgo (the native TypeScript compiler), for much faster mutation testing.

Readme

stryker-tsgo-checker

Experimental StrykerJS checker plugin that type-checks mutants with tsgo, the native TypeScript compiler: 3.6× faster (54s→15s) on one 238-mutant / 5-file project; your numbers will vary.

Install

npm i -D stryker-tsgo-checker @stryker-mutator/typescript-checker

Add the checker to your Stryker config:

{
  "checkers": ["tsgo"],
  "appendPlugins": ["stryker-tsgo-checker"],
  "tsconfigFile": "tsconfig.json"
}

Use appendPlugins, not plugins. plugins overwrites Stryker's defaults and can break your test runner.

The parity tool uses the official typescript checker as the tsc baseline, so @stryker-mutator/typescript-checker must be installed alongside this package.

⚠️ Experimental — verify parity before trusting your score

This package uses @typescript/native-preview, a pre-GA TypeScript compiler preview with APIs under unstable/* paths. Mutation-score correctness depends on tsgo classifying compile-error mutants the same way tsc does for your codebase.

A mismatch can silently skew the score:

  • tsc reports CompileError, tsgo does not: the mutant may run and survive even though it should be excluded.
  • tsgo reports CompileError, tsc does not: a valid mutant may be excluded, inflating the score.

Run the parity gate before trusting tsgo results:

npx stryker-tsgo-parity

Only trust the tsgo score if the command exits 0. The package pins @typescript/native-preview exactly because the preview API and diagnostics can change between date-stamped builds. Re-run parity on every bump.

The current pin was parity-checked on one real project: 5 files, 238 mutants, 54 matching CompileError mutants.

How it works

stryker-tsgo-checker keeps one resident tsgo API instance from @typescript/native-preview/unstable/sync. It gives tsgo a virtual file system that reads from disk but overlays mutant contents in memory. For each single-mutant group, the checker writes the mutated file into the overlay, calls updateSnapshot({ fileChanges }), reads structured semantic diagnostics, maps TypeScript error diagnostics to Stryker's CompileError, then restores the original file in the overlay.

That means no subprocess per mutant and no stderr parsing.

Limitations

  • 0.x targets one tsconfig project. It does not implement --build or TypeScript project-reference orchestration.
  • The project must typecheck cleanly under tsgo before mutation checking starts. Baseline tsgo errors abort the checker.
  • The parity tool supports JSON Stryker configs in 0.x. If your config is .js or .mjs, convert it to JSON for the parity run.

License

CC0-1.0. Public domain. Copy it, fork it, upstream it, and remove attribution if that helps Stryker absorb the idea.