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

swayzee

v1.0.0

Published

Creates phantom instances to serve crawlers static content

Readme

Swayzee

Server to return static versions of your single page app.

How it works

When the server initializes it creates a phantomjs instance and opens a page with the url of the single page app. When the phantom is ready a express instance starts listening for page requests. When the phantom evaluation function detects that the title of the page has changed it returns the current html.

Conventions

  • Swayzee works with the #! escaped_fragment google convention.
  • Swayzee works with the watching the window.prerenderReady boolean value, it must be setted to true when the spa finish the rendering process.
  • Swayzee asumes that when the title changes means that the page has finished loading.
  • Swayzee looks for a this tag in the html <meta name="prerender-status-code" content="404"> to detect 404 errors.

TODO : Things to improve

Refactor

  1. Improve the phantom response handling, onConsoleLog i think is not pretty way

Improvements

  1. Dynamicly set multiple ORIGINS.
  2. BlackList
  3. Caching Handler (Now only avaible s3)

How to start

  1. Point the ORIGIN the url of your server.
  2. npm start or node swayzee.js --harmony
  3. Make a request: ``http://localhost:1333/&escaped_fragment=/url/example```

Inspired in prerender.io.