cache-shrinkwrap

0.2.3 • Public • Published

Purpose

This module is a utility for system administrators which is intended to be installed globally and used at command line.

It adds all dependencies, including child dependencies, contained in an npm-shrinkwrap.json file to the npm cache.

Read the documentation for npm-shrinkwrap for specifics about generating this file.

Getting Started

Install the module with:

npm install -g cache-shrinkwrap

Documentation

The cache-shrinkwrap command can be executed with either one or no arguments:

# With no argument, it looks in the current or parent directory for npm-shrinkwrap.json 
cache-shrinkwrap
 
# You can also specify the path to a file created by npm shrinkwrap command 
cache-shrinkwrap wraps/npm-shrinkwrap-2014-01-12.json

The result of inputting this npm-shrinkwrap.json file:

{
  "name": "cache-shrinkwrap",
  "version": "0.1.0",
  "dependencies": {
    "nopt": {
      "version": "2.2.0",
      "from": "nopt@2.2.0",
      "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.0.tgz",
      "dependencies": {
        "abbrev": {
          "version": "1.0.4",
          "from": "abbrev@1",
          "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz"
        }
      }
    },
  ...
 

Is equivalent to executing these commands:

 
npm cache add abbrev@1.0.4
npm cache add nopt@0.1.0
...
 

Although, it is not exactly equivalent. Node is only fired up once and all dependencies are added to the cache through npm's api in a single session as follows: npm.commands.cache(['add', 'abbrev@1.0.4']). In other words, it is much faster than trying to execute multiple npm cache add name@version statements.

API

Although only intended for command line usage, there is a public api.

var cache_shrinkwrap = require('cache-shrinkwrap');
cache_shrinkwrap.addFilePath('project/nsw.json');

References:

  1. npm-shrinkwrap
  2. npm-cache
  3. StackOverflow - Can dependencies be included when using npm cache add?

License

Copyright (c) 2014 SLCHackers Licensed under the MIT license.

/cache-shrinkwrap/

    Package Sidebar

    Install

    npm i cache-shrinkwrap

    Weekly Downloads

    1

    Version

    0.2.3

    License

    none

    Last publish

    Collaborators

    • baens
    • majgis