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

pjax-pwa-overlay-example

v0.1.0

Published

A set of mustache templates to be used with express-mustache-overlays and bootstrap-flexbox-overlay that add PJAX (PushState+AJAX) and Progressive Web App support to a project.

Readme

PJAX PWA Overlay Example

You can test the example as simply as:

cd ../
npm install
cd example
npm install
PORT=8000 npm start

If you get a warning about not being able to install a package, remove your package-lock.json file and try again.

To add logging too you can use:

DEBUG="*" PORT=8000 npm start

You can choose just a few selected loggers by comma-separating their names like this:

DEBUG="pjax*,express-mustache-overlays" PORT=8000 npm start

For production use you may want to change the settings in the code, or use environment variables.

If you visit http://localhost:8000/ you'll see a page rendered from the content.mustache template in bootstreap-flexbox-overlay's views directory.

If you visit http://localhost:8000/not-found, no route is set up so you'll see a 404 page rendered from express-render-error's view/404.mustache template.

If you visit http://localhost:8000/throw you'll see a 500 page rendered from from express-render-error's views/500.mustache and you should also see the debug output of a stack trace at the terminal (if you set the DEBUG environment variable correctly as above).

If you visit http://localhost:8000/network-error you'll see a page that also gets rendered if you lose your internet connection or the server goes down. You wouldn't normally link this into your navigation but it is here in the example for testing. If you stop the server (or disable networking) and visit any other page, this should be the page you see. If you visit /home, set the server and networking up again and follow try again, the homepage should then reload, without the browser refreshing (i.e. still as a single page app).

If you visit http://localhost:8000/start you'll see the page the user would see if they installed the PWA and then opened it. Again, this might not be included in the navigation in a real app, but is handy for debugging here.

You can also specify overlays directly in code as documented in express-public-files-overlays and express-mustache-overlays.

Docker

Docker can't copy files from a parent directory so the docker:build command puts the current dev version of pjax-pwa-overlay in this directory and created a modified package.json.docker:

npm run docker:build && npm run docker:run

Dev

npm run fix