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 🙏

© 2025 – Pkg Stats / Ryan Hefner

browser-unit-test

v0.0.7

Published

> A minimal test runner that runs tests directly in the browser

Downloads

9

Readme

A minimal test runner that runs tests directly in the browser

Features

  • Modern platform features like esm & async / await
  • Test with the real DOM & Browser APIs
  • First class Typescript support & live reload: The test runner uses vite!
  • Easy and concise way to write tests
    export const aTest = () => assert(value !== 0);

Motivation behind this test runner

Getting started

  1. Install
npm i -D vite browser-unit-test
  1. Create scaffolding
npx browser-unit-test init
# or: pnpm exec browser-unit-test init
  1. Run tests
npx vite test
# or: pnpm exec vite test

Pro tip: Use browser debugging to see your test results directly in your IDE: e.g. VSCode browser debugging

Basics

Tests

Tests are just functions that are exported:

export const aTest = () => assert(value !== 0);

By default all the files that have a .test.js or a .test.ts ending in the /test folder get executed by the runner.

Asserts

Are asserts like this assert(value !== 0) really a good idea?

  • For readability: yes
  • For logging: normally no

You normally don't get the context of why the assertion failed when you use this pattern. But this library provides a small transform, which prints you the actual values for both sides of the comparison.

Test results

The test results will be displayed in the browser console, and are grouped by file and function.

Motivation

If you build code for targeting a web-browser. Why run unit tests in node.js? Because all the API are different and the logging and inspection is so great. Surely not :smile:. That is reason for this library, to define and run unit tests directly in the browser. (Note: there is currently no support for CI. It is only meant to run during development)