nip-js

1.0.7 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i nip-js

Weekly Downloads

7

Version

1.0.7

License

MIT

Last publish

Collaborators

  • davidbindloss