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

npop

v0.0.27

Published

nPoP is a simple server package.

Readme

nPoP

https://npop.io In its current form (nPoP ex) nPoP is a quick-start package/dead simple server built on top of the express framework.

Installation: There are two option for using/installing nPoP

npx npop

Make sure you already have Nodejs installed, to check, open a terminal and type

node --version

If you do not have Nodejs installed, you can find a link here https://nodejs.org/en/download/

Once you have node installed, simply open a terminal to the directory/folder you want nPoP installed in, and type:

npx npop

A full nPoP server with 3 routes and associated HTML files with routes set up to handle images/js/css/ and a JSON get/post route. This will all be set up and if you have vs code, your editor will open the nPoP folder and your default browser will open to the default localhost:3333

Install the Starter Package

To install a barebones nPoP server. In your open project,

npm install npop

this will have nPoP installed with express as a dependency and those that come with express(body-parser...etc)

to use nPoP in your Nodejs project add:

const PoP = require("npop");
const n = new PoP()
n.pop()

If you have made a "views" dicrectory/folder the server will have 3 default routes pointed at the views dicrectory/folder.

nPoP Parameters

You can pass in the following parameters into the npop function:

n.pop(
    homeGet(), //this parameter can be fed a function containing request and response from express.//
    indexGet(), //this parameter can be fed a function containing request and response from express.//
    dexyGet(), //this parameter can be fed a function containing request and response from express.//
    PORT:process.env.PORT||3333,
    routeArray=[route1="/",route2="/index",route3='/dexy']
)

If you would like to leave some parameters as default, but want to set ones after it sequentually, you will set those paramerters as undefiend.

An example of leaving the default values and only changing other paramerters:

const PoP = require("npop");
const n = new PoP()
  
n.pop(undefined,undefined,undefined, 3000)

In the above function the homeGet/indexGet/dexyGet function is left default, and only the port has been set manualy. This can be done for any number of paramerters that want to be left default, just use "undefined" in the parameters place.

dexyGet()

dexyGet( ) is the first customizable route function in nPoP

Basically dexyGet( ) is the function parameter of the Express GET request for route3 built into nPoP.

an example of how the dexyGet( ) route is working is like so:

app.get(route3, 
    dexyGet(request,response){}
)

The parameters inside of the dexyGet function are user created variables such as:

dexyGet(yourReqVar, yourResVar){}

For brevity; I will be referring to the variables hereafter as req and res. So if you want to customize the dexyGet( ) route, you can do so just like the function parameter of an express GET route.

In the first parameter of the nPoP function Write:

const PoP = require("npop");
const n = new PoP()
  
n.pop((req,res) => {res.send('hiwrld')})

Or you can pass in the function as a variable such as:

const PoP = require("npop");
const n = new PoP()
  
const dexyGet = (req,res)=> {res.send('hiwrld')}
n.pop(dexyGet)

All sequential parameters are optional and will be set by default unless otherwise given a parameter.