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 🙏

© 2024 – Pkg Stats / Ryan Hefner

nip-js

v1.0.7

Published

---- [On NPM](https://www.npmjs.com/package/nip-js)

Downloads

10

Readme

NIP - The vendor bundle package manager


On NPM

I have written this more as a hobby than anything else. It's intended to function similar to python package manager and server a very niche set of use cases.

During development on some projects I'm sure you've been bitten by npm updating a module here or there without telling you then all of a sudden your site is dead and you have to go back and figure out why.

nip is an attempt to create a locking system that puts the power of javascript module versioning in the hands of the developer and doesn't leave it up to the machine to best guess (unless you want it to, then nip also supports that).

Basic usage

First install nip:

npm install -g nip-js

It'll need to be global if you want to use it on more than one project.

The basic lifecycle of nip is this:

  • Install a module, just as you would from npm with nip nip install angular
  • Install another module, maybe it's dependant on angular? nip install angular-ui-router -d angular
  • Continue installing modules until you have a good set of modules that you want to produce into a "vendor bundle"
  • Run the build command nip b --output vendor.bundle.js --minify
  • Out spits a file that contains a concatenated file with all of our nip installed modules in. In order so that (hopefully) when run in the browser all dependencies are fulfilled.

Requirements.txt

If you've every used pip you'll recall a command like pip install -r requirements.txt well - nip has the same thing. A requirements.txt file needs to be formatted like so:

angular==1.5.8
angular-ui-router==latest$d=angular

A module that depends on other modules is required to have the $d== followed by a comma seperated list of modules that this module requires to run.

Then, nip can install the packages en masse like so:

nip install -r requirements.txt

Nip will then sort out all of the required files and install them (or grab them from the cache).

contributing

Hey man, if you want to come and burn with me, feel free to fork and PR me with any new feature.