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 🙏

© 2024 – Pkg Stats / Ryan Hefner

evaluatory

v4.0.0

Published

Web page evaluation with a focus on accessibility

Downloads

106

Readme

Evaluatory

npm Build license

Evaluatory is an open-source tool for website validation. It is mainly a wrapper around axe-core and html-validate, which test a website for accessibility and markup issues.

Evaluatory comes with some essential improvements:

  • Run checks at multiple device breakpoints at the same time (e.g. mobile, tablet and desktop). Some accessibility issues appear only at a certain breakpoint.
  • Emulate dark mode, disabled JavaScript, offline mode and more by using custom Playwright options.
  • Return a visual HTML results page, including page screenshots.
  • Support for sitemaps to check all referenced web pages at once.

This project uses a modular architecture, so in the long term it could become an alternative to tools like webhint.

Demo

Check out a demo results page at https://darekkay.com/evaluatory/demo/.

Modules

  • base: Custom built-in checks.
  • axe-core: Checks for accessibility issues using axe-core.
  • html-validate: Validates the HTML using html-validate.
  • screenshot: Takes a screenshot of the page.

Quickstart

Run evaluatory with default configuration for a single URL:

npx evaluatory https://example.com

Installation

This tool requires Node.js version 12+.

Install globally:

$ yarn add -g evaluatory     # Yarn
$ npm install -g evaluatory  # Npm

Or install as a local dependency:

$ yarn add evaluatory            # Yarn
$ npm install --save evaluatory  # Npm

Or use without installing:

$ npx evaluatory <url>

Usage

View program help:

$ evaluatory --help
Usage: evaluatory [url] [options]

Arguments:
  [url]  URL

Options:
  -c, --config       Configuration file path
  -o, --output       Output folder
  --color-scheme     Color scheme (light, dark, no-preference)
  -m, --modules      Modules to execute (comma-separated)
  --no-open-results  Don't open the results page after evaluation
  --sitemap          Sitemap URL
  --verbose          Verbose/debug mode
  -h, --help         Show help
  -v, --version      Show version number

Run default configuration for a single URL:

$ evaluatory https://example.com

Run default configuration for all URLs within a sitemap:

$ evaluatory --sitemap https://example.com/sitemap.xml

Provide a custom configuration:

$ evaluatory -c config.json

Configuration

The configuration is a valid JSON5 file. See config.example.json5 for an example and config.default.js for available options (with defaults).

License

This project and its contents are open source under the MIT license.