New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

nip-js

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nip-js

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

latest
Source
npmnpm
Version
1.0.7
Version published
Weekly downloads
1
-92.31%
Maintainers
1
Weekly downloads
 
Created
Source

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.

FAQs

Package last updated on 24 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts