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

@ariada-org/cli

v0.2.1

Published

Single-binary command-line runner for the ariada OSS accessibility scanner pipeline — scan URLs, list rules, emit reports. Open source under EUPL-1.2.

Readme

@ariada-org/cli

Single-binary command-line runner for the ariada accessibility scanner pipeline. Scans URLs against WCAG 2.2 AA + EN 301 549 rule packs, emits human-readable and machine-readable reports, and returns standard exit codes suitable for CI gates.

License: EUPL-1.2 (European Union Public Licence v1.2).

Status

v0.1.0 — scaffold. Three subcommands fully implemented (scan, list-rules, version). Two subcommands stubbed (generate-statement, estimate-penalty) and tracked via public issues.

Install

# One-off via npx
npx @ariada-org/cli scan https://example.com

# Global install
npm install -g @ariada-org/cli
ariada scan https://example.com

# Workspace dev
pnpm --filter @ariada-org/cli build
node packages/ariada-cli/dist/bin.js scan https://example.com

Requires Node 22 LTS or newer. Playwright browser binaries are a peer concern — install them via npx playwright install chromium before running scan.

Subcommands

ariada scan <url>

Run the OSS scanner pipeline against one URL.

ariada scan https://example.com
ariada scan https://example.com --browser webkit --severity-threshold serious
ariada scan https://example.com --format json --output-dir ./out

Options:

| Option | Default | Description | |---|---|---| | --output-dir <path> | ./ariada-output | Directory for machine-readable artefacts | | --browser <name> | chromium | chromium | firefox | webkit | | --format <name> | human | human | json | both | | --severity-threshold <level> | moderate | minor | moderate | serious | critical | | --timeout-ms <ms> | 30000 | Per-URL navigation timeout |

ariada list-rules

Print every rule registered by @ariada-org/wcag-rules-extended.

ariada list-rules                # human-readable table
ariada list-rules --format json  # JSON array
ariada list-rules --pack checkout

ariada version

Print CLI version + linked @ariada-org/* peer versions + Node version.

ariada generate-statement (stub, exit 4)

Will emit an EN 301 549 article 7 accessibility statement. The underlying library lives at @ariada-org/statement-generator.

ariada estimate-penalty (stub, exit 4)

Will emit a penalty exposure estimate. The underlying library lives at @ariada-org/penalty-estimator.

Exit codes

| Code | Meaning | |---|---| | 0 | OK, no violations at or above --severity-threshold | | 1 | Violations found | | 2 | Invalid arguments (parser rejected the invocation) | | 3 | Runtime error (navigation failure, timeout, IO, browser crash) | | 4 | Unimplemented subcommand (stub) | | 5 | Reserved — license / pre-check failure |

Errors

Errors are emitted to stderr as single-line JSON, e.g.:

{"level":"error","code":"E_INVALID_URL","message":"Argument is not a parseable http(s) URL: ftp://example.com","details":{"url":"ftp://example.com"}}

Error codes: E_INVALID_URL, E_INVALID_OPTION, E_RULE_NOT_FOUND, E_NAVIGATION_TIMEOUT, E_NAVIGATION_FAILED, E_BROWSER_LAUNCH, E_BROWSER_CRASH, E_OUTPUT_WRITE, E_UNIMPLEMENTED, E_INTERNAL.

Library use

The CLI is also importable as a library for programmatic use:

import { run, runScan, runListRules } from '@ariada-org/cli';

const exitCode = await run(['scan', 'https://example.com']);

Maintainer

Maintained by Alexander Brichkin (Agonist Development AB, Sweden, org.nr 559452-5726).