Skip to content

Cache `npm install` results by hashing dependencies

Notifications You must be signed in to change notification settings

savemysmartphone/npm-pkgr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm-pkgr

Build Status Dependency Status devDependency Status

npm-pkgr caches npm install results by hashing dependencies from package.json and npm-shrinkwrap.json.

If your package.json did not change from last build, then you will immediately get either:

  • a symlink node_modules..
  • a full node_modules copy..

.. to the latest build result located in ~/.npm-pkgr

npm-pkgr frees your deployments from npm network issues and will make your deploys run fast.

Usage

npm install -g npm-pkgr

Use npm-pkgr instead of npm install and you are done.

npm-pkgr

Hashes and find the latest build corresponding to package.json and npm-shrinkwrap.json.

npm-pkgr --production

Hashes and fin the latest build corresponding to npm-shrinkwrap.json.

Every flag passed to npm-pkgr is then passed down to npm command.

Cache folder

The cache folder used by npm-pkgr is ~/.npm-pkgr for current user.

We do not do any cleaning in it if it becomes too large, do it.

Debug

DEBUG=npm-pkgr* npm-pkgr

Will give you some debug information.

strategy

Default strategy is to symlink $CWD/node_modules -> ~/.npm-pkgr/$hash/node_modules.

You can also get a full copy of the ~/.npm-pkgr/$hash/node_modules.

npm-pkgr --strategy=copy

Carefull, if you --strategy copy, you will end up installing the copy package

features

  • insanely fast npm install if already done
  • npm install once in your CI server, deploy everywhere
  • solves shrinkwrap inconsistencies/problems
  • solves devDependencies updates even when you use a shrinkwrap
  • concurrent builds
  • get symlinks or copy to cached node_modules

About

Cache `npm install` results by hashing dependencies

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%