npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details


  • User packages



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.


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 🙏

© 2022 – Pkg Stats / Ryan Hefner




The assert module from Node.js, for the browser.





The assert module from Node.js, for the browser.

Build Status npm npm

With browserify, simply require('assert') or use the assert global and you will get this module.

The goal is to provide an API that is as functionally identical to the Node.js assert API as possible. Read the official docs for API documentation.


To use this module directly (without browserify), install it as a dependency:

npm install assert


The goal is to provide an API that is as functionally identical to the Node.js assert API as possible. Read the official docs for API documentation.

Inconsistencies with Node.js assert

Due to differences between browsers, some error properties such as message and stack will be inconsistent. However the assertion behaviour is as close as possible to Node.js and the same error code will always be used.


To contribute, work on the source files. Then build and run the tests against the built files. Be careful to not introduce syntax that will be transpiled down to unsupported syntax. For example, for...of loops will be transpiled to use Symbol.iterator which is unavailable in IE.

Build scripts

npm run build

Builds the project into the build dir.

npm run dev

Watches source files for changes and rebuilds them into the build dir.

npm run test

Builds the source files into the build dir and then runs the tests against the built project.

npm run test:nobuild

Runs the tests against the built project without rebuilding first.

This is useful if you're debugging in the transpiled code and want to re-run the tests without overwriting any changes you may have made.

npm run test:source

Runs the tests against the unbuilt source files.

This will only work on modern Node.js versions.

npm run test:browsers

Run browser tests against the all targets in the cloud.

Requires airtap credentials to be configured on your machine.

npm run test:browsers:local

Run a local browser test server. No airtap configuration required.

When paired with npm run dev any changes you make to the source files will be automatically transpiled and served on the next request to the test server.


MIT © Joyent, Inc. and other Node contributors