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

nopack

v1.1.13

Published

A simple module loader with minimal configuration

Downloads

24

Readme

nopack

Running a JavaScript file under NodeJS is easy. Just invoke node + a path to a JavaScript file

However, running the same file under the browser is a little nightmare. In case the file is written according to the CommonJS specification then probably it uses the "require" syntax which is not supported under latest browsers

That's why we have module loaders like WebPack and SystemJS. The thing is that both of them are not easy to use

If you are building demos applications or just looking for a way to easily run CommonJS modules inside the browser then you should consider nopack

Let's assume you hold a JavaScript file named main.js and want to execute it under the browser

Your project contain an index.html file you want to open that file under the browser and load into it the the main.js. The last thing you want is to deal with complex module loaders like WebPack and SystemJS

So, first install nopack package

npm install nopack

Then execute the following command

node_modules/.bin/nopack

nopack automatically creates a web server and opens a new browser window. The browser is directed to the index.html which loads your main.js file and any other dependencies according to the CommonJS syntax

In case you are OK with installing global packages then you can execute

npm install -g nopack

And then, instead of specifying the long path of nopack script you can just execute

nopack

How does it work

nopack spawns a web server and a browser. The web server searches the file system and looks for interesting files like main.js, index.html and others. When an HTTP request arrives for index.html the web server returns a modified version of the index.html by injecting a a script into it. The returned HTML is loaded into the browser and the nopackr client side script is loaded too and is responsible for importing the main.js file using SystemJS module loader

License

MIT