An npm registry proxy that uses your npm cache to retrieve modules, allowing for offline access to any modules you've previously installed pretty much ever.
Super useful when you're moving around a lot and don't always have internet readily available – i.e. when travelling, or at events such as CampJS. It's nice to not need a decent WiFi connection to start a new project.
Install globally using the following:
$ npm install -g npm-offline
Then you can boot up the proxy server using your newly installed
$ npm-offline http://localhost:12644/
The final step is to point npm to use this registry instead of the default
registry.npmjs.org. You don't want to do this permanently, or you'll never
get up-to-date module versions. But by using npmrc
you can quickly switch between registries. If you're not familiar with it,
you can get a basic setup like so:
npm install -g npmrc mkdir -p ~/.npmrcs cat ~/.npmrc > ~/.npmrcs/default cat ~/.npmrc > ~/.npmrcs/local npmrc local npm config set registry http://localhost:12644/
You can now switch between the local registry and the remote one using a single command:
npmrc local # use local modulesnpmrc default # use the US registry
This is the same approach advised when using the Australian/European npm mirrors and internal private registries, so it's worth familiarising yourself with it :)
If, for whatever reason, you want to include npm-offline as part of a larger web server you can easily do so.
route = offline(cache, registry)
Creates a route for proxying requests: where
cache is your npm cache
var offline =var express =var npmconf =var app =npmconf
MIT. See LICENSE.md for details.