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

agraddy.test.tap

v0.9.1

Published

Coming soon.

Readme

agraddy.test.tap

An easy to use testing library that outputs TAP. It does not require any special command line programs.

Installation

npm install --save-dev agraddy.test.tap

Why

A testing library that focuses on simplicity. I was running into issues with tape and mocha was too complex for my needs. I wanted a testing library that I could call using node that didn't require any boilerplate code.

Basic Example

First, create a file named test1.js:

// You have to pass in __filename to be able to run the test.
var tap = require('agraddy.test.tap')(__filename);

// Try a simple test.
tap.assert.equal('actual', 'expected', 'First test for equality should fail.');

tap.assert.equal('pass', 'pass', 'Second test for equality should pass.');

Now, run the file using node.

node test1.js

It should output:

TAP version 13
not ok 1 - First test for equality should fail.
  ---
  operator: equal
  actual: actual
  expected: expected
  at: Object.<anonymous> (test1.js:5:12)
  ...

1..2
# test 2
# pass 1
# fail 1

Notes

  • Each tap.assert call is considered a test. Each of the default node assert methods should be available. If you need one that is not implemented, just open an issue.
  • If you comment out a tap.assert call, it will be ignored.

Advanced Example

Example 2

Create a file named test2.js:

// You have to pass in __filename to be able to run the test.
var tap = require('agraddy.test.tap')(__filename);

// Try a simple test.
tap.assert.equal('actual', 'expected', 'First test for equality should fail.');

// Works with async functions too
setTimeout(function() {
    tap.assert.equal('pass', 'pass', 'Second test for equality should pass.');
}, 1000);

// Commented out tests are ignored
// tap.assert(true, 'Not checked because it is commented out.');

/*
tap.assert(true, 'Not checked because it is commented out.');
*/

// Any typical assert function should work (if you find one that doesn't, just open an issue)
tap.assert.deepEqual({"deep": true}, {"deep": true}, 'Third test for equality should pass.');

Now, run the file using node.

node test2.js

It should output:

TAP version 13
not ok 1 - First test for equality should fail.
  ---
  operator: equal
  actual: actual
  expected: expected
  at: Object.<anonymous> (test2.js:5:12)
  ...
ok 2 - Second test for equality should pass.
ok 3 - Third test for equality should pass.

1..3
# test 3
# pass 2
# fail 1

FAQ

Coming soon.

License

MIT