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

strudy

v2.2.0

Published

Web spec analysis tool that can process crawl reports created by Reffy.

Downloads

189

Readme

Strudy

Strudy is an analysis tool for Web spec crawl reports created by Reffy that detects potential spec content anomalies such as missing references or invalid constructs.

Potential anomalies that Strudy may report on are:

  1. specs that do not seem to reference any other spec normatively;
  2. specs that define Web IDL terms but do not normatively reference the Web IDL spec;
  3. specs that contain invalid Web IDL terms definitions;
  4. specs that use obsolete Web IDL constructs (e.g. [] instead of FrozenArray);
  5. specs that define Web IDL terms that are also defined in another spec;
  6. specs that use Web IDL terms defined in another spec without referencing that spec normatively;
  7. specs that use Web IDL terms for which the crawler could not find any definition in any of the specs it studied;
  8. specs that link to another spec but do not include a reference to that other spec;
  9. specs that link to another spec inconsistently in the body of the document and in the list of references (e.g. because the body of the document references the Editor's draft while the reference is to the latest published version).

Strudy generates a JSON report by default but may also generate more human-friendly markdown and HTML reports.

The analysis code was initially part of Reffy.

Important: This is work in progress. Tool and analysis reports should get substantially revamped in a not-too-distant future and breaking changes in the code ought to be expected.

“For sturdy specs, we recommend Strudy!” — Dom & François

How to use

Pre-requisites

To install Strudy, you need Node.js 18 or greater.

You will also need to install Pandoc if you want to generate HTML reports.

Installation

Strudy is available as an NPM package. To install the package globally, run:

npm install -g strudy

This will install Strudy as a command-line interface tool.

To make sure that you run the latest version, use:

npm update -g strudy

Launch Strudy

Strudy takes a relative path to a crawl report folder or to a JSON file that contains a crawl report as parameter. The crawl report must have been generated by Reffy. Strudy analyzes the crawl report to detect potential anomalies. It also reports on additional spec facts, for instance to list specs that normatively reference a given spec or term.

Run strudy -h for a complete list of options and usage details.

Contributing

Authors so far are François Daoust and Dominique Hazaël-Massieux.

Additional ideas, bugs and/or code contributions are most welcome. Create issues on GitHub as needed!

Licensing

The code is available under an MIT license.