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

testaro-issues

v0.7.5

Published

A classification of about 1300 rules of 11 rule engines into about 400 issues. The rule engines are those in the ensemble of Testaro, which tests web pages for front-end quality (accessibility, usability, and standards conformance).

Readme

testaro-issues

A classification of about 1300 rules of 12 rule engines into about 380 issues. The rule engines are those in the ensemble of Testaro, which tests web pages for front-end quality (accessibility, usability, and standards conformance).

A rule engine is an application, such as HTML CodeSniffer, that tests software.

An issue is a problem, such as a link that does not tell the user what it links to.

A rule is a requirement defined by a rule engine.

Rule engines differ substantially in what they test for. But there is also overlap: multiple rule engines defining similar rules. With overlap, the tests are usually not identical, so it is useful to collect the results from similar tests in one place so you can see what the rule engines agree and disagree on. This repository makes that possible by grouping similar rules into issues.

This repository is a utility for applications using Testaro. They can use it to group the outputs of Testaro jobs for analysis and for presentation to users.

To see how one application uses this utility together with Testaro, see Kilotest and its MCP server.

Data

The data exported by this repository consist of three objects, defined in index.ts:

  • issues: An object that describes the issues.
  • rules: An object that describes the rules and maps them to issues.
  • issueRules: An object that describes the issues and maps them to rules.

The data underlying the issues and rules objects are statically defined. Those objects are deep-frozen copies of the data. In other words, issues and rules and every object within them are protected from modification. The issueRules object (not frozen) is generated from the issues and rules objects by the makeIssueRules function.

Installation

npm install testaro-issues

Usage

As is

To use the data as-is, import the three exported objects:

const {issues, rules, issueRules} = require('testaro-issues'); // If your application is CommonJS
import {issues, rules, issueRules} from 'testaro-issues'; // If your application is ESM

Customized

The issues and rules objects represent more than a thousand individual decisions, and you may well want to override some of them by revising the objects. You may want to split an issue, combine two issues, assign a rule to a different issue, or adjust the quality score of a rule. You are welcome to work on that purpose in any of three ways:

  • Propose a change in this repository by submitting an issue.

  • Fork this repository, perform the installation and build steps described under “Development” below, revise the issuesData and/or rulesData objects, and submit a pull request.

  • Customize the data in your own application as follows, not as shown above under “As is”:

    const {getEditableData, makeIssueRules} = require('testaro-issues'); // If your application is CommonJS
    import {getEditableData, makeIssueRules} from 'testaro-issues'; // If your application is ESM
    const {issues, rules} = getEditableData();
    // Modify issues and/or rules. Then:
    const issueRules = makeIssueRules(rules, issues);
    // If you introduced any inconsistency, you will get an error message

Development

  • Clone the repository.
  • Install the dev dependencies: npm install.
  • Build the CommonJS and ESM bundles plus type declarations into dist/: npm run build