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

@systemfsoftware/stryker-js-cli-contract

v0.3.1

Published

The Stryker CLI product contract — the machine-stream events and their wire codec, the stream version, the stock mutator catalog and the span taxonomy.

Readme

@systemfsoftware/stryker-js-cli-contract

The Stryker CLI product contract. It is implementation-free: nothing here imports the CLI, and the CLI imports everything here. The machine stream the stryker executable writes, the version that stream declares, the stock mutator catalog and the span taxonomy are all defined once, in this package, and the published JSON Schema documents are generated from those definitions.

Install

pnpm add @systemfsoftware/stryker-js-cli-contract

Entry point

The package groups its exports into namespaces. RunEvent holds the machine stream: the RunEvent union of every event kind the CLI emits, each event's class, the RunEventWireLine newline-delimited JSON codec a consumer decodes stdout with, and StreamSchemaVersion (6.0, the version the stream declares). OutputMode holds the output mode and its signal (OutputMode, ModeSignal) as the stream header carries them. StockCatalog holds the stock mutator catalog and its name vocabulary (StockCatalog, StockMutatorName, StockDefaultName, StockOptInName). SpanTaxonomy holds the names the CLI's traces use and each member's attributes (Spans, SpanName, SpanMember, spanMembers), plus rpcServedSpanOf for the RPC method spans a plugin worker serves.

import { RunEvent } from '@systemfsoftware/stryker-js-cli-contract'

const decoded = Schema.decodeUnknownResult(RunEvent.RunEventWireLine)(line)

Published documents

The package commits the documents generated from its contracts and exports them as subpaths, so a consumer can validate against the same bytes the contract declares:

  • @systemfsoftware/stryker-js-cli-contract/contract/stream.schema.json — the JSON Schema of the RunEvent union.
  • @systemfsoftware/stryker-js-cli-contract/contract/stock-catalog.json — the stock catalog entries.
  • @systemfsoftware/stryker-js-cli-contract/contract/span-taxonomy.json — the span names and their attributes.

Every committed document equals its generated form: a test in this package regenerates each one from its contract and fails when the committed bytes differ. Run pnpm --filter @systemfsoftware/stryker-js-cli-contract generate:contract to rewrite them and review the diff; never hand-edit one.

Compatibility

The package's version tracks the contract it publishes. Removing or narrowing a declared member of a published document — an event kind, a catalog entry or its name or tier, a span or one of its attributes — is an incompatible change: the version guard fails it until the package takes a major bump (minor while the package is 0.x), and a breaking change to the stream additionally raises the major segment of the StreamSchemaVersion the schema declares. Additive changes need no bump.

License

Apache-2.0. Part of systemfsoftware.