From dfdcaa893e07cb9e91ee5fb1ddd8955c2ddb60bc Mon Sep 17 00:00:00 2001 From: steve-p-com Date: Mon, 18 Apr 2016 20:53:00 +0100 Subject: [PATCH 01/37] Change the way package distribution tags are processed and stored --- .gitignore | 6 ++++ conf/full.yaml | 6 ---- lib/config.js | 2 -- lib/local-storage.js | 25 +++++---------- lib/storage.js | 27 ++++++---------- lib/utils.js | 68 +++++++++++++++++++++++++++------------- test/unit/st_merge.js | 16 ++-------- test/unit/tag_version.js | 23 ++++---------- 8 files changed, 77 insertions(+), 96 deletions(-) diff --git a/.gitignore b/.gitignore index 79595d190..fe652cd2d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,9 @@ bin/** test-storage* node_modules + +# Visual Studio Code +.vscode/* +.jscsrc +.jshintrc +jsconfig.json diff --git a/conf/full.yaml b/conf/full.yaml index b8c344181..4cc4d4b70 100644 --- a/conf/full.yaml +++ b/conf/full.yaml @@ -119,9 +119,3 @@ logs: # maximum size of uploaded json document # increase it if you have "request entity too large" errors #max_body_size: 1mb - -# Workaround for countless npm bugs. Must have for npm <1.14.x, but expect -# it to be turned off in future versions. If `true`, latest tag is ignored, -# and the highest semver is placed instead. -#ignore_latest_tag: false - diff --git a/lib/config.js b/lib/config.js index e9add9ec7..df0744d75 100644 --- a/lib/config.js +++ b/lib/config.js @@ -142,8 +142,6 @@ function Config(config) { self.server_id = Crypto.pseudoRandomBytes(6).toString('hex') } - if (self.ignore_latest_tag == null) self.ignore_latest_tag = false - return self } diff --git a/lib/local-storage.js b/lib/local-storage.js index 52a03210d..e73bad50d 100644 --- a/lib/local-storage.js +++ b/lib/local-storage.js @@ -176,19 +176,7 @@ Storage.prototype.update_versions = function(name, newdata, callback) { } } for (var tag in newdata['dist-tags']) { - if (!Array.isArray(data['dist-tags'][tag]) || data['dist-tags'][tag].length != newdata['dist-tags'][tag].length) { - // backward compat - var need_change = true - } else { - for (var i=0; i Date: Thu, 21 Apr 2016 21:13:49 +0100 Subject: [PATCH 02/37] Replace YAML package definitions with standard package.json, fix dependencies --- .gitignore | 1 - .npmignore | 1 - Gruntfile.js | 2 +- lib/cli.js | 7 +- lib/config.js | 8 +- lib/index-api.js | 4 +- lib/index-web.js | 5 +- npm-shrinkwrap.json | 1327 ++++++++++++++++++++------ package.json | 86 ++ package.yaml | 135 --- test/functional/lib/smart_request.js | 5 +- 11 files changed, 1148 insertions(+), 433 deletions(-) create mode 100644 package.json delete mode 100644 package.yaml diff --git a/.gitignore b/.gitignore index fe652cd2d..6ea289bee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -/package.json npm-debug.log sinopia-*.tgz .DS_Store diff --git a/.npmignore b/.npmignore index 17d7a085f..b6b5b90b0 100644 --- a/.npmignore +++ b/.npmignore @@ -1,5 +1,4 @@ node_modules -package.json npm-debug.log sinopia-*.tgz diff --git a/Gruntfile.js b/Gruntfile.js index dafdaed66..2bf41a705 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,6 +1,6 @@ module.exports = function(grunt) { grunt.initConfig({ - pkg: grunt.file.readYAML('package.yaml'), + pkg: grunt.file.readJSON('package.json'), browserify: { dist: { files: { diff --git a/lib/cli.js b/lib/cli.js index e78926de8..907f6c4df 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -28,13 +28,12 @@ var Path = require('path') var URL = require('url') var server = require('./index') var Utils = require('./utils') -var pkg_file = '../package.yaml' -var pkg = YAML.safeLoad(fs.readFileSync(__dirname+'/'+ pkg_file, 'utf8')) +var pkginfo = require('pkginfo')(module); // eslint-disable-line no-unused-vars commander .option('-l, --listen <[host:]port>', 'host:port number to listen on (default: localhost:4873)') .option('-c, --config ', 'use this configuration file (default: ./config.yaml)') - .version(pkg.version) + .version(module.exports.version) .parse(process.argv) if (commander.args.length == 1 && !commander.config) { @@ -161,7 +160,7 @@ function afterConfigLoad() { pathname: '/', }) ), - version: 'Sinopia/'+pkg.version, + version: 'Sinopia/'+module.exports.version, }, 'http address - @{addr}') }) diff --git a/lib/config.js b/lib/config.js index df0744d75..99ca0447f 100644 --- a/lib/config.js +++ b/lib/config.js @@ -1,14 +1,12 @@ var assert = require('assert') var Crypto = require('crypto') -var fs = require('fs') -var YAML = require('js-yaml') var Error = require('http-errors') var minimatch = require('minimatch') var Path = require('path') var LocalData = require('./local-data') var Utils = require('./utils') -var pkg_file = '../package.yaml' -var pkg = YAML.safeLoad(fs.readFileSync(__dirname+'/'+pkg_file, 'utf8')) +var Utils = require('./utils') +var pkginfo = require('pkginfo')(module); // eslint-disable-line no-unused-vars // [[a, [b, c]], d] -> [a, b, c, d] function flatten(array) { @@ -28,7 +26,7 @@ function Config(config) { for (var i in config) { if (self[i] == null) self[i] = config[i] } - if (!self.user_agent) self.user_agent = 'Sinopia/'+pkg.version + if (!self.user_agent) self.user_agent = 'Sinopia/'+module.exports.version // some weird shell scripts are valid yaml files parsed as string assert.equal(typeof(config), 'object', 'CONFIG: it doesn\'t look like a valid config file') diff --git a/lib/index-api.js b/lib/index-api.js index f91b62450..841ed2d21 100644 --- a/lib/index-api.js +++ b/lib/index-api.js @@ -1,6 +1,6 @@ var Cookies = require('cookies') var express = require('express') -var expressJson5 = require('express-json5') +var bodyParser = require('body-parser') var Error = require('http-errors') var Path = require('path') var Middleware = require('./middleware') @@ -30,7 +30,7 @@ module.exports = function(config, auth, storage) { app.use(auth.basic_middleware()) //app.use(auth.bearer_middleware()) - app.use(expressJson5({ strict: false, limit: config.max_body_size || '10mb' })) + app.use(bodyParser.json({ strict: false, limit: config.max_body_size || '10mb' })) app.use(Middleware.anti_loop(config)) // encode / in a scoped package name to be matched as a single parameter in routes diff --git a/lib/index-web.js b/lib/index-web.js index d1a15a9ce..cc2645037 100644 --- a/lib/index-web.js +++ b/lib/index-web.js @@ -51,10 +51,11 @@ module.exports = function(config, auth, storage) { async.filterSeries(packages, function(package, cb) { auth.allow_access(package.name, req.remote_user, function(err, allowed) { setImmediate(function () { - cb(!err && allowed) + cb(err, allowed) }) }) - }, function(packages) { + }, function(err, packages) { + if (err) throw err packages.sort(function(p1, p2) { if (p1.name < p2.name) { return -1; diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index c2784c0c3..8f8755ed8 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,74 +1,126 @@ { - "name": "sinopia", + "name": "verdaccio", "version": "1.4.0", "dependencies": { "JSONStream": { - "version": "1.0.6", + "version": "1.1.1", + "from": "JSONStream@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.1.1.tgz", "dependencies": { "jsonparse": { - "version": "1.1.0" + "version": "1.2.0", + "from": "jsonparse@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz" }, "through": { - "version": "2.3.8" + "version": "2.3.8", + "from": "through@>=2.2.7 <3.0.0", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" } } }, "async": { - "version": "0.9.2" + "version": "2.0.0-rc.3", + "from": "async@>=2.0.0-rc.3 <3.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.0.0-rc.3.tgz", + "dependencies": { + "lodash": { + "version": "4.11.1", + "from": "lodash@>=4.3.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.11.1.tgz" + } + } }, "body-parser": { - "version": "1.14.1", + "version": "1.15.0", + "from": "body-parser@>=1.15.0 <2.0.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.15.0.tgz", "dependencies": { "bytes": { - "version": "2.1.0" + "version": "2.2.0", + "from": "bytes@2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" }, "content-type": { - "version": "1.0.1" + "version": "1.0.1", + "from": "content-type@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz" }, "debug": { "version": "2.2.0", + "from": "debug@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "dependencies": { "ms": { - "version": "0.7.1" + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" } } }, "depd": { - "version": "1.1.0" + "version": "1.1.0", + "from": "depd@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" }, "iconv-lite": { - "version": "0.4.12" + "version": "0.4.13", + "from": "iconv-lite@>=0.4.13 <0.5.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" }, "on-finished": { "version": "2.3.0", + "from": "on-finished@>=2.3.0 <2.4.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "dependencies": { "ee-first": { - "version": "1.1.1" + "version": "1.1.1", + "from": "ee-first@1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" } } }, "qs": { - "version": "5.1.0" + "version": "6.1.0", + "from": "qs@6.1.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz" }, "raw-body": { - "version": "2.1.4", + "version": "2.1.6", + "from": "raw-body@>=2.1.5 <2.2.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.6.tgz", "dependencies": { + "bytes": { + "version": "2.3.0", + "from": "bytes@2.3.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz" + }, "unpipe": { - "version": "1.0.0" + "version": "1.0.0", + "from": "unpipe@1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" } } }, "type-is": { - "version": "1.6.9", + "version": "1.6.12", + "from": "type-is@>=1.6.11 <1.7.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.12.tgz", "dependencies": { "media-typer": { - "version": "0.3.0" + "version": "0.3.0", + "from": "media-typer@0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" }, "mime-types": { - "version": "2.1.7", + "version": "2.1.10", + "from": "mime-types@>=2.1.10 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", "dependencies": { "mime-db": { - "version": "1.19.0" + "version": "1.22.0", + "from": "mime-db@>=1.22.0 <1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" } } } @@ -77,308 +129,626 @@ } }, "bunyan": { - "version": "1.5.1", + "version": "1.8.1", + "from": "bunyan@>=1.8.0 <2.0.0", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.1.tgz", "dependencies": { "dtrace-provider": { "version": "0.6.0", + "from": "dtrace-provider@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz", "dependencies": { "nan": { - "version": "2.0.9" + "version": "2.2.1", + "from": "nan@>=2.0.8 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.1.tgz" } } }, "mv": { "version": "2.1.1", + "from": "mv@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", "dependencies": { "ncp": { - "version": "2.0.0" + "version": "2.0.0", + "from": "ncp@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" + }, + "rimraf": { + "version": "2.4.5", + "from": "rimraf@>=2.4.0 <2.5.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "dependencies": { + "glob": { + "version": "6.0.4", + "from": "glob@>=6.0.1 <7.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "dependencies": { + "inflight": { + "version": "1.0.4", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.1", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" + } + } + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.1", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + } + } + } + } } } }, "safe-json-stringify": { - "version": "1.0.3" + "version": "1.0.3", + "from": "safe-json-stringify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz" + }, + "moment": { + "version": "2.13.0", + "from": "moment@>=2.10.6 <3.0.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.13.0.tgz" } } }, "commander": { - "version": "2.8.1", + "version": "2.9.0", + "from": "commander@>=2.9.0 <3.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "dependencies": { "graceful-readlink": { - "version": "1.0.1" + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" } } }, "compression": { - "version": "1.6.0", + "version": "1.6.1", + "from": "compression@>=1.6.1 <2.0.0", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.1.tgz", "dependencies": { "accepts": { - "version": "1.3.0", + "version": "1.3.2", + "from": "accepts@>=1.3.1 <1.4.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.2.tgz", "dependencies": { "mime-types": { - "version": "2.1.7", + "version": "2.1.10", + "from": "mime-types@>=2.1.10 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", "dependencies": { "mime-db": { - "version": "1.19.0" + "version": "1.22.0", + "from": "mime-db@>=1.22.0 <1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" } } }, "negotiator": { - "version": "0.6.0" + "version": "0.6.0", + "from": "negotiator@0.6.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.0.tgz" } } }, "bytes": { - "version": "2.1.0" + "version": "2.2.0", + "from": "bytes@2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" }, "compressible": { - "version": "2.0.6", + "version": "2.0.7", + "from": "compressible@>=2.0.7 <2.1.0", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.7.tgz", "dependencies": { "mime-db": { - "version": "1.19.0" + "version": "1.22.0", + "from": "mime-db@>=1.21.0 <2.0.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" } } }, "debug": { "version": "2.2.0", + "from": "debug@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "dependencies": { "ms": { - "version": "0.7.1" + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" } } }, "on-headers": { - "version": "1.0.1" + "version": "1.0.1", + "from": "on-headers@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz" }, "vary": { - "version": "1.1.0" + "version": "1.1.0", + "from": "vary@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz" } } }, "cookies": { - "version": "0.5.1", + "version": "0.6.1", + "from": "cookies@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.6.1.tgz", "dependencies": { + "depd": { + "version": "1.1.0", + "from": "depd@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" + }, "keygrip": { - "version": "1.0.1" + "version": "1.0.1", + "from": "keygrip@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz" } } }, "crypt3": { - "version": "0.1.8", + "version": "0.2.0", + "from": "crypt3@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/crypt3/-/crypt3-0.2.0.tgz", "dependencies": { "nan": { - "version": "1.9.0" + "version": "2.2.1", + "from": "nan@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.1.tgz" } } }, "es6-shim": { - "version": "0.21.1" + "version": "0.35.0", + "from": "es6-shim@>=0.35.0 <0.36.0", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.0.tgz" }, "express": { - "version": "5.0.0-alpha.2", + "version": "4.13.4", + "from": "express@>=4.13.4 <5.0.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.13.4.tgz", "dependencies": { "accepts": { "version": "1.2.13", + "from": "accepts@>=1.2.12 <1.3.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", "dependencies": { "mime-types": { - "version": "2.1.7", + "version": "2.1.10", + "from": "mime-types@>=2.1.6 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", "dependencies": { "mime-db": { - "version": "1.19.0" + "version": "1.22.0", + "from": "mime-db@>=1.22.0 <1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" } } }, "negotiator": { - "version": "0.5.3" + "version": "0.5.3", + "from": "negotiator@0.5.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz" } } }, "array-flatten": { - "version": "1.1.0" + "version": "1.1.1", + "from": "array-flatten@1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" }, "content-disposition": { - "version": "0.5.0" + "version": "0.5.1", + "from": "content-disposition@0.5.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz" }, "content-type": { - "version": "1.0.1" + "version": "1.0.1", + "from": "content-type@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz" }, "cookie": { - "version": "0.1.3" + "version": "0.1.5", + "from": "cookie@0.1.5", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.5.tgz" }, "cookie-signature": { - "version": "1.0.6" + "version": "1.0.6", + "from": "cookie-signature@1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" }, "debug": { "version": "2.2.0", + "from": "debug@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", "dependencies": { "ms": { - "version": "0.7.1" + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" } } }, "depd": { - "version": "1.0.1" + "version": "1.1.0", + "from": "depd@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" }, "escape-html": { - "version": "1.0.2" + "version": "1.0.3", + "from": "escape-html@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" }, "etag": { - "version": "1.7.0" + "version": "1.7.0", + "from": "etag@>=1.7.0 <1.8.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" }, "finalhandler": { - "version": "0.4.0", + "version": "0.4.1", + "from": "finalhandler@0.4.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", "dependencies": { "unpipe": { - "version": "1.0.0" + "version": "1.0.0", + "from": "unpipe@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" } } }, "fresh": { - "version": "0.3.0" + "version": "0.3.0", + "from": "fresh@0.3.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" }, "merge-descriptors": { - "version": "1.0.0" + "version": "1.0.1", + "from": "merge-descriptors@1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" }, "methods": { - "version": "1.1.1" + "version": "1.1.2", + "from": "methods@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" }, "on-finished": { "version": "2.3.0", + "from": "on-finished@>=2.3.0 <2.4.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "dependencies": { "ee-first": { - "version": "1.1.1" + "version": "1.1.1", + "from": "ee-first@1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" } } }, "parseurl": { - "version": "1.3.0" - }, - "path-is-absolute": { - "version": "1.0.0" + "version": "1.3.1", + "from": "parseurl@>=1.3.1 <1.4.0", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" }, "path-to-regexp": { - "version": "0.1.6" + "version": "0.1.7", + "from": "path-to-regexp@0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" }, "proxy-addr": { - "version": "1.0.8", + "version": "1.0.10", + "from": "proxy-addr@>=1.0.10 <1.1.0", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz", "dependencies": { "forwarded": { - "version": "0.1.0" + "version": "0.1.0", + "from": "forwarded@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" }, "ipaddr.js": { - "version": "1.0.1" + "version": "1.0.5", + "from": "ipaddr.js@1.0.5", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz" } } }, "qs": { - "version": "4.0.0" + "version": "4.0.0", + "from": "qs@4.0.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz" }, "range-parser": { - "version": "1.0.2" - }, - "router": { - "version": "1.1.3", - "dependencies": { - "array-flatten": { - "version": "1.1.1" - }, - "path-to-regexp": { - "version": "0.1.7" - }, - "setprototypeof": { - "version": "1.0.0" - } - } + "version": "1.0.3", + "from": "range-parser@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz" }, "send": { - "version": "0.13.0", + "version": "0.13.1", + "from": "send@0.13.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.13.1.tgz", "dependencies": { "destroy": { - "version": "1.0.3" + "version": "1.0.4", + "from": "destroy@>=1.0.4 <1.1.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + }, + "http-errors": { + "version": "1.3.1", + "from": "http-errors@>=1.3.1 <1.4.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "dependencies": { + "inherits": { + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + } + } }, "mime": { - "version": "1.3.4" + "version": "1.3.4", + "from": "mime@1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" }, "ms": { - "version": "0.7.1" + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" }, "statuses": { - "version": "1.2.1" + "version": "1.2.1", + "from": "statuses@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz" } } }, "serve-static": { - "version": "1.10.0" + "version": "1.10.2", + "from": "serve-static@>=1.10.2 <1.11.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.2.tgz" }, "type-is": { - "version": "1.6.9", + "version": "1.6.12", + "from": "type-is@>=1.6.6 <1.7.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.12.tgz", "dependencies": { "media-typer": { - "version": "0.3.0" + "version": "0.3.0", + "from": "media-typer@0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" }, "mime-types": { - "version": "2.1.7", + "version": "2.1.10", + "from": "mime-types@>=2.1.10 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", "dependencies": { "mime-db": { - "version": "1.19.0" + "version": "1.22.0", + "from": "mime-db@>=1.22.0 <1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" } } } } }, - "vary": { - "version": "1.0.1" - }, "utils-merge": { - "version": "1.0.0" - } - } - }, - "express-json5": { - "version": "0.1.0", - "dependencies": { - "raw-body": { - "version": "1.3.4", - "dependencies": { - "bytes": { - "version": "1.0.0" - }, - "iconv-lite": { - "version": "0.4.8" - } - } + "version": "1.0.0", + "from": "utils-merge@1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + }, + "vary": { + "version": "1.0.1", + "from": "vary@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz" } } }, "fs-ext": { - "version": "0.4.6", + "version": "0.5.0", + "from": "fs-ext@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/fs-ext/-/fs-ext-0.5.0.tgz", "dependencies": { "nan": { - "version": "1.9.0" + "version": "2.2.1", + "from": "nan@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.1.tgz" } } }, "handlebars": { - "version": "2.0.0", + "version": "4.0.5", + "from": "handlebars@>=4.0.5 <5.0.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.5.tgz", "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + }, "optimist": { - "version": "0.3.7", + "version": "0.6.1", + "from": "optimist@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { "wordwrap": { - "version": "0.0.3" + "version": "0.0.3", + "from": "wordwrap@>=0.0.2 <0.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" + }, + "minimist": { + "version": "0.0.10", + "from": "minimist@>=0.0.1 <0.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" + } + } + }, + "source-map": { + "version": "0.4.4", + "from": "source-map@>=0.4.4 <0.5.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "dependencies": { + "amdefine": { + "version": "1.0.0", + "from": "amdefine@>=0.0.4", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" } } }, "uglify-js": { - "version": "2.3.6", + "version": "2.6.2", + "from": "uglify-js@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.2.tgz", "dependencies": { "async": { - "version": "0.2.10" + "version": "0.2.10", + "from": "async@>=0.2.6 <0.3.0", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" }, "source-map": { - "version": "0.1.43", + "version": "0.5.3", + "from": "source-map@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" + }, + "uglify-to-browserify": { + "version": "1.0.2", + "from": "uglify-to-browserify@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" + }, + "yargs": { + "version": "3.10.0", + "from": "yargs@>=3.10.0 <3.11.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "dependencies": { - "amdefine": { - "version": "1.0.0" + "camelcase": { + "version": "1.2.1", + "from": "camelcase@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" + }, + "cliui": { + "version": "2.1.0", + "from": "cliui@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "dependencies": { + "center-align": { + "version": "0.1.3", + "from": "center-align@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "dependencies": { + "align-text": { + "version": "0.1.4", + "from": "align-text@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.2", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.2.tgz", + "dependencies": { + "is-buffer": { + "version": "1.1.3", + "from": "is-buffer@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz" + } + } + }, + "longest": { + "version": "1.0.1", + "from": "longest@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + }, + "repeat-string": { + "version": "1.5.4", + "from": "repeat-string@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" + } + } + }, + "lazy-cache": { + "version": "1.0.3", + "from": "lazy-cache@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.3.tgz" + } + } + }, + "right-align": { + "version": "0.1.3", + "from": "right-align@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "dependencies": { + "align-text": { + "version": "0.1.4", + "from": "align-text@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.2", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.2.tgz", + "dependencies": { + "is-buffer": { + "version": "1.1.3", + "from": "is-buffer@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz" + } + } + }, + "longest": { + "version": "1.0.1", + "from": "longest@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + }, + "repeat-string": { + "version": "1.5.4", + "from": "repeat-string@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" + } + } + } + } + }, + "wordwrap": { + "version": "0.0.2", + "from": "wordwrap@0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + } + } + }, + "decamelize": { + "version": "1.2.0", + "from": "decamelize@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + }, + "window-size": { + "version": "0.1.0", + "from": "window-size@0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" } } } @@ -387,340 +757,739 @@ } }, "highlight.js": { - "version": "8.8.0" + "version": "9.3.0", + "from": "highlight.js@>=9.3.0 <10.0.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.3.0.tgz" }, "http-errors": { - "version": "1.3.1", + "version": "1.4.0", + "from": "http-errors@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz", "dependencies": { "inherits": { - "version": "2.0.1" + "version": "2.0.1", + "from": "inherits@2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "statuses": { - "version": "1.2.1" + "version": "1.2.1", + "from": "statuses@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz" } } }, "jju": { - "version": "1.2.1" + "version": "1.3.0", + "from": "jju@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz" }, "js-yaml": { - "version": "3.4.2", + "version": "3.6.0", + "from": "js-yaml@>=3.6.0 <4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.0.tgz", "dependencies": { "argparse": { - "version": "1.0.2", + "version": "1.0.7", + "from": "argparse@>=1.0.7 <2.0.0", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", "dependencies": { - "lodash": { - "version": "3.10.1" - }, "sprintf-js": { - "version": "1.0.3" + "version": "1.0.3", + "from": "sprintf-js@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" } } }, "esprima": { - "version": "2.2.0" + "version": "2.7.2", + "from": "esprima@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" } } }, "lunr": { - "version": "0.5.12" + "version": "0.7.0", + "from": "lunr@>=0.7.0 <0.8.0", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-0.7.0.tgz" }, "minimatch": { - "version": "1.0.0", + "version": "3.0.0", + "from": "minimatch@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", "dependencies": { - "lru-cache": { - "version": "2.7.0" - }, - "sigmund": { - "version": "1.0.1" + "brace-expansion": { + "version": "1.1.3", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz", + "dependencies": { + "balanced-match": { + "version": "0.3.0", + "from": "balanced-match@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } } } }, "mkdirp": { "version": "0.5.1", + "from": "mkdirp@>=0.5.1 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "dependencies": { "minimist": { - "version": "0.0.8" + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" } } }, + "pkginfo": { + "version": "0.4.0", + "from": "pkginfo@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" + }, "readable-stream": { - "version": "1.1.13", + "version": "2.1.0", + "from": "readable-stream@>=2.1.0 <3.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.0.tgz", "dependencies": { "core-util-is": { - "version": "1.0.1" - }, - "isarray": { - "version": "0.0.1" - }, - "string_decoder": { - "version": "0.10.31" + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, "inherits": { - "version": "2.0.1" + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "inline-process-browser": { + "version": "2.0.1", + "from": "inline-process-browser@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inline-process-browser/-/inline-process-browser-2.0.1.tgz", + "dependencies": { + "falafel": { + "version": "1.2.0", + "from": "falafel@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz", + "dependencies": { + "acorn": { + "version": "1.2.2", + "from": "acorn@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz" + }, + "foreach": { + "version": "2.0.5", + "from": "foreach@>=2.0.5 <3.0.0", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "object-keys": { + "version": "1.0.9", + "from": "object-keys@>=1.0.6 <2.0.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.9.tgz" + } + } + }, + "through2": { + "version": "0.6.5", + "from": "through2@>=0.6.5 <0.7.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@>=1.0.33-1 <1.1.0-0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dependencies": { + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + } + } + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <4.1.0-0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + } + } + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.6", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "unreachable-branch-transform": { + "version": "0.5.1", + "from": "unreachable-branch-transform@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/unreachable-branch-transform/-/unreachable-branch-transform-0.5.1.tgz", + "dependencies": { + "esmangle-evaluator": { + "version": "1.0.0", + "from": "esmangle-evaluator@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/esmangle-evaluator/-/esmangle-evaluator-1.0.0.tgz" + }, + "recast": { + "version": "0.11.5", + "from": "recast@>=0.11.4 <0.12.0", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.5.tgz", + "dependencies": { + "ast-types": { + "version": "0.8.16", + "from": "ast-types@0.8.16", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.16.tgz" + }, + "esprima": { + "version": "2.7.2", + "from": "esprima@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" + }, + "private": { + "version": "0.1.6", + "from": "private@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz" + }, + "source-map": { + "version": "0.5.3", + "from": "source-map@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" + } + } + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" } } }, "render-readme": { "version": "1.3.1", + "from": "render-readme@>=1.3.1 <2.0.0", + "resolved": "https://registry.npmjs.org/render-readme/-/render-readme-1.3.1.tgz", "dependencies": { "markdown-it": { "version": "4.4.0", + "from": "markdown-it@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-4.4.0.tgz", "dependencies": { "argparse": { - "version": "1.0.2", + "version": "1.0.7", + "from": "argparse@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", "dependencies": { - "lodash": { - "version": "3.10.1" - }, "sprintf-js": { - "version": "1.0.3" + "version": "1.0.3", + "from": "sprintf-js@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" } } }, "entities": { - "version": "1.1.1" + "version": "1.1.1", + "from": "entities@>=1.1.1 <1.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" }, "linkify-it": { - "version": "1.2.0" + "version": "1.2.0", + "from": "linkify-it@>=1.2.0 <1.3.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.0.tgz" }, "mdurl": { - "version": "1.0.1" + "version": "1.0.1", + "from": "mdurl@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" }, "uc.micro": { - "version": "1.0.0" + "version": "1.0.0", + "from": "uc.micro@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.0.tgz" } } }, "sanitize-html": { - "version": "1.10.1", + "version": "1.11.4", + "from": "sanitize-html@>=1.0.0 <2.0.0 >=1.4.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.11.4.tgz", "dependencies": { "htmlparser2": { - "version": "3.8.3", + "version": "3.9.0", + "from": "htmlparser2@>=3.9.0 <4.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.0.tgz", "dependencies": { + "domelementtype": { + "version": "1.3.0", + "from": "domelementtype@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" + }, "domhandler": { - "version": "2.3.0" + "version": "2.3.0", + "from": "domhandler@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz" }, "domutils": { "version": "1.5.1", + "from": "domutils@>=1.5.1 <2.0.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "dependencies": { "dom-serializer": { "version": "0.1.0", + "from": "dom-serializer@>=0.0.0 <1.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "dependencies": { "domelementtype": { - "version": "1.1.3" - }, - "entities": { - "version": "1.1.1" + "version": "1.1.3", + "from": "domelementtype@>=1.1.1 <1.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz" } } } } }, - "domelementtype": { - "version": "1.3.0" - }, "entities": { - "version": "1.0.0" + "version": "1.1.1", + "from": "entities@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" } } }, "regexp-quote": { - "version": "0.0.0" + "version": "0.0.0", + "from": "regexp-quote@0.0.0", + "resolved": "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz" }, "xtend": { - "version": "4.0.0" + "version": "4.0.1", + "from": "xtend@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" } } + }, + "highlight.js": { + "version": "8.9.1", + "from": "highlight.js@>=8.0.0 <9.0.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz" } } }, "request": { - "version": "2.64.0", + "version": "2.72.0", + "from": "request@>=2.72.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.72.0.tgz", "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.3.2", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", + "dependencies": { + "lru-cache": { + "version": "4.0.1", + "from": "lru-cache@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", + "dependencies": { + "pseudomap": { + "version": "1.0.2", + "from": "pseudomap@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" + }, + "yallist": { + "version": "2.0.0", + "from": "yallist@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" + } + } + } + } + }, "bl": { - "version": "1.0.0", + "version": "1.1.2", + "from": "bl@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "dependencies": { "readable-stream": { - "version": "2.0.2", + "version": "2.0.6", + "from": "readable-stream@>=2.0.5 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", "dependencies": { "core-util-is": { - "version": "1.0.1" + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, "inherits": { - "version": "2.0.1" + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "isarray": { - "version": "0.0.1" + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, "process-nextick-args": { - "version": "1.0.3" + "version": "1.0.6", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" }, "string_decoder": { - "version": "0.10.31" + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "util-deprecate": { - "version": "1.0.1" + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" } } } } }, "caseless": { - "version": "0.11.0" - }, - "extend": { - "version": "3.0.0" - }, - "forever-agent": { - "version": "0.6.1" - }, - "form-data": { - "version": "1.0.0-rc3", - "dependencies": { - "async": { - "version": "1.4.2" - } - } - }, - "json-stringify-safe": { - "version": "5.0.1" - }, - "mime-types": { - "version": "2.1.7", - "dependencies": { - "mime-db": { - "version": "1.19.0" - } - } - }, - "node-uuid": { - "version": "1.4.3" - }, - "qs": { - "version": "5.1.0" - }, - "tunnel-agent": { - "version": "0.4.1" - }, - "tough-cookie": { - "version": "2.1.0" - }, - "http-signature": { "version": "0.11.0", - "dependencies": { - "assert-plus": { - "version": "0.1.5" - }, - "asn1": { - "version": "0.1.11" - }, - "ctype": { - "version": "0.5.3" - } - } - }, - "oauth-sign": { - "version": "0.8.0" - }, - "hawk": { - "version": "3.1.0", - "dependencies": { - "hoek": { - "version": "2.16.3" - }, - "boom": { - "version": "2.9.0" - }, - "cryptiles": { - "version": "2.0.5" - }, - "sntp": { - "version": "1.0.9" - } - } - }, - "aws-sign2": { - "version": "0.5.0" - }, - "stringstream": { - "version": "0.0.4" + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" }, "combined-stream": { "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "dependencies": { "delayed-stream": { - "version": "1.0.0" + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" } } }, - "isstream": { - "version": "0.1.2" + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "1.0.0-rc4", + "from": "form-data@>=1.0.0-rc3 <1.1.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + } + } }, "har-validator": { - "version": "1.8.0", + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", "dependencies": { "chalk": { - "version": "1.1.1", + "version": "1.1.3", + "from": "chalk@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "dependencies": { "ansi-styles": { - "version": "2.1.0" + "version": "2.2.1", + "from": "ansi-styles@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" }, "escape-string-regexp": { - "version": "1.0.3" + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" }, "has-ansi": { "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "dependencies": { "ansi-regex": { - "version": "2.0.0" + "version": "2.0.0", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" } } }, "strip-ansi": { - "version": "3.0.0", + "version": "3.0.1", + "from": "strip-ansi@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "dependencies": { "ansi-regex": { - "version": "2.0.0" + "version": "2.0.0", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" } } }, "supports-color": { - "version": "2.0.0" + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" } } }, "is-my-json-valid": { - "version": "2.12.2", + "version": "2.13.1", + "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", "dependencies": { "generate-function": { - "version": "2.0.0" + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" }, "generate-object-property": { "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", "dependencies": { "is-property": { - "version": "1.0.2" + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" } } }, "jsonpointer": { - "version": "2.0.0" + "version": "2.0.0", + "from": "jsonpointer@2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" }, "xtend": { - "version": "4.0.0" + "version": "4.0.1", + "from": "xtend@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" } } } } + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.3 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "dependencies": { + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + } + } + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "jsprim": { + "version": "1.2.2", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz", + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "json-schema": { + "version": "0.2.2", + "from": "json-schema@0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + } + } + }, + "sshpk": { + "version": "1.7.4", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz", + "dependencies": { + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "dashdash": { + "version": "1.13.0", + "from": "dashdash@>=1.10.1 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.0.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "tweetnacl": { + "version": "0.14.3", + "from": "tweetnacl@>=0.13.0 <1.0.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz" + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.0.1 <1.0.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "mime-types": { + "version": "2.1.10", + "from": "mime-types@>=2.1.10 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", + "dependencies": { + "mime-db": { + "version": "1.22.0", + "from": "mime-db@>=1.22.0 <1.23.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" + } + } + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@>=1.4.7 <1.5.0", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" + }, + "oauth-sign": { + "version": "0.8.1", + "from": "oauth-sign@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz" + }, + "qs": { + "version": "6.1.0", + "from": "qs@>=6.1.0 <6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "tough-cookie": { + "version": "2.2.2", + "from": "tough-cookie@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" + }, + "tunnel-agent": { + "version": "0.4.2", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" } } }, "semver": { - "version": "4.3.6" + "version": "5.1.0", + "from": "semver@>=5.1.0 <6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz" }, "sinopia-htpasswd": { - "version": "0.4.5" + "version": "0.4.5", + "from": "sinopia-htpasswd@>=0.4.5 <0.5.0", + "resolved": "https://registry.npmjs.org/sinopia-htpasswd/-/sinopia-htpasswd-0.4.5.tgz" + }, + "symbol": { + "version": "0.2.1", + "from": "symbol@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.1.tgz" } } } diff --git a/package.json b/package.json new file mode 100644 index 000000000..e58f68cf7 --- /dev/null +++ b/package.json @@ -0,0 +1,86 @@ +{ + "name": "verdaccio", + "version": "1.4.0", + "description": "Private npm repository server", + "author": { + "name": "Alex Kocharin", + "email": "alex@kocharin.ru" + }, + "repository": { + "type": "git", + "url": "git://github.com/verdaccio/verdaccio" + }, + "main": "index.js", + "bin": { + "sinopia": "./bin/sinopia" + }, + "dependencies": { + "JSONStream": "^1.1.1", + "async": "^2.0.0-rc.3", + "body-parser": "^1.15.0", + "bunyan": "^1.8.0", + "commander": "^2.9.0", + "compression": "^1.6.1", + "cookies": "^0.6.1", + "es6-shim": "^0.35.0", + "express": "^4.13.4", + "handlebars": "^4.0.5", + "highlight.js": "^9.3.0", + "http-errors": "^1.4.0", + "jju": "^1.3.0", + "js-yaml": "^3.6.0", + "lunr": "^0.7.0", + "minimatch": "^3.0.0", + "mkdirp": "^0.5.1", + "pkginfo": "^0.4.0", + "readable-stream": "^2.1.0", + "render-readme": "^1.3.1", + "request": "^2.72.0", + "semver": "^5.1.0", + "sinopia-htpasswd": "^0.4.5", + "symbol": "^0.2.1" + }, + "optionalDependencies": { + "fs-ext": "^0.5.0", + "crypt3": "^0.2.0" + }, + "devDependencies": { + "rimraf": "^2.5.2", + "bluebird": "^3.3.5", + "mocha": "^2.4.5", + "eslint": "^2.8.0", + "browserify": "^13.0.0", + "browserify-handlebars": "^1.0.0", + "grunt": "^1.0.1", + "grunt-cli": "^1.2.0", + "grunt-browserify": "^5.0.0", + "grunt-contrib-less": "^1.3.0", + "grunt-contrib-watch": "^1.0.0", + "unopinionate": "^0.0.4", + "onclick": "^0.1.0", + "transition-complete": "^0.0.2" + }, + "keywords": [ + "private", + "package", + "repository", + "registry", + "modules", + "proxy", + "server" + ], + "scripts": { + "test": "eslint . && mocha ./test/functional ./test/unit", + "test-travis": "eslint . && mocha -R spec ./test/functional ./test/unit", + "test-only": "mocha ./test/functional ./test/unit", + "lint": "eslint ." + }, + "engines": { + "node": ">=0.10" + }, + "preferGlobal": true, + "publishConfig": { + "registry": "https://registry.npmjs.org/" + }, + "license": "WTFPL" +} diff --git a/package.yaml b/package.yaml deleted file mode 100644 index 0e4b939b5..000000000 --- a/package.yaml +++ /dev/null @@ -1,135 +0,0 @@ -# use "yapm install ." if you're installing this from git repository - -name: sinopia -version: 1.4.0 -description: Private npm repository server - -author: - name: Alex Kocharin - email: alex@kocharin.ru - -repository: - type: git - url: git://github.com/rlidwka/sinopia - -main: index.js - -bin: - sinopia: ./bin/sinopia - -dependencies: - express: '>=5.0.0-0 <6.0.0-0' - - # express middlewares - express-json5: '>=0.1.0 <1.0.0-0' - body-parser: '>=1.9.2 <2.0.0-0' - compression: '>=1.2.0 <2.0.0-0' - - commander: '>=2.3.0 <3.0.0-0' - js-yaml: '>=3.0.1 <4.0.0-0' - cookies: '>=0.5.0 <1.0.0-0' - request: '>=2.31.0 <3.0.0-0' - async: '>=0.9.0 <1.0.0-0' - es6-shim: '0.21.x' - semver: '>=2.2.1 <5.0.0-0' - minimatch: '>=0.2.14 <2.0.0-0' - bunyan: '>=0.22.1 <2.0.0-0' - handlebars: '2.x' - highlight.js: '8.x' - lunr: '>=0.5.2 <1.0.0-0' - render-readme: '>=0.2.1' - jju: '1.x' - JSONStream: '1.x' - - mkdirp: '>=0.3.5 <1.0.0-0' - sinopia-htpasswd: '>= 0.4.3' - http-errors: '>=1.2.0' - - # node 0.10 compatibility, should go away soon - readable-stream: '~1.1.0' - -optionalDependencies: - # those are native modules that could fail to compile - # and unavailable on windows - fs-ext: '>=0.4.1 <1.0.0-0' - crypt3: '>=0.1.6 <1.0.0-0' # for sinopia-htpasswd - -devDependencies: - # - # Tools required for testing - # - rimraf: '>=2.2.5 <3.0.0-0' - bluebird: '2 >=2.9' - - mocha: '2 >=2.2.3' - - # - # Linting tools - # - eslint: '1 >=1.1.0' - - # for debugging memory leaks, it'll be require()'d if - # installed, but I don't want it to be installed everytime - #heapdump: '*' - - # - # Tools required to build static files - # - browserify: '7.x' - browserify-handlebars: '1.x' - grunt: '>=0.4.4 <1.0.0-0' - grunt-cli: '*' - grunt-browserify: '>=2.0.8 <3.0.0-0' - grunt-contrib-less: '>=0.11.0 <1.0.0-0' - grunt-contrib-watch: '>=0.6.1 <1.0.0-0' - - # for building static/main.js, - # not required in runtime - unopinionate: '>=0.0.4 <1.0.0-0' - onclick: '>=0.1.0 <1.0.0-0' - transition-complete: '>=0.0.2 <1.0.0-0' - -keywords: - - private - - package - - repository - - registry - - modules - - proxy - - server - -scripts: - test: eslint . && mocha ./test/functional ./test/unit - test-travis: eslint . && mocha -R spec ./test/functional ./test/unit - test-only: mocha ./test/functional ./test/unit - lint: eslint . - prepublish: js-yaml package.yaml > package.json - clean-shrinkwrap: | - node -e ' - function clean(j) { - if (!j) return - for (var k in j) { - delete j[k].from - delete j[k].resolved - if (j[k].dependencies) clean(j[k].dependencies) - } - } - x = JSON.parse(require("fs").readFileSync("./npm-shrinkwrap.json")) - clean(x.dependencies) - x = JSON.stringify(x, null, " ") - require("fs").writeFileSync("./npm-shrinkwrap.json", x + "\n") - ' - -# we depend on streams2 stuff -# it can be replaced with isaacs/readable-stream, ask if you need to use 0.8 -engines: - node: '>=0.10' - -preferGlobal: true - -publishConfig: - registry: https://registry.npmjs.org/ - -license: - type: WTFPL - url: http://www.wtfpl.net/txt/copying/ diff --git a/test/functional/lib/smart_request.js b/test/functional/lib/smart_request.js index 9ca777c77..872fe176a 100644 --- a/test/functional/lib/smart_request.js +++ b/test/functional/lib/smart_request.js @@ -2,9 +2,8 @@ var assert = require('assert') var request = require('request') var Promise = require('bluebird') -var sym = typeof Symbol !== 'undefined' - ? Symbol('smart_request_data') - : '__why_does_node_0.10_support_suck_so_much' +var Symbol = require('symbol') +var sym = Symbol('smart_request_data') function smart_request(options) { var self = {} From 3cbbb281a5efc05ab2c1a73827421508b71566b7 Mon Sep 17 00:00:00 2001 From: steve-p-com Date: Fri, 22 Apr 2016 13:36:29 +0100 Subject: [PATCH 03/37] Fix missing version numbers --- lib/cli.js | 6 ++++-- lib/config.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/cli.js b/lib/cli.js index 907f6c4df..d4c591b1a 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -29,11 +29,13 @@ var URL = require('url') var server = require('./index') var Utils = require('./utils') var pkginfo = require('pkginfo')(module); // eslint-disable-line no-unused-vars +var pkgVersion = module.exports.version +var pkgName = module.exports.name commander .option('-l, --listen <[host:]port>', 'host:port number to listen on (default: localhost:4873)') .option('-c, --config ', 'use this configuration file (default: ./config.yaml)') - .version(module.exports.version) + .version(pkgVersion) .parse(process.argv) if (commander.args.length == 1 && !commander.config) { @@ -160,7 +162,7 @@ function afterConfigLoad() { pathname: '/', }) ), - version: 'Sinopia/'+module.exports.version, + version: pkgName + '/' + pkgVersion, }, 'http address - @{addr}') }) diff --git a/lib/config.js b/lib/config.js index 99ca0447f..ef4fdaf48 100644 --- a/lib/config.js +++ b/lib/config.js @@ -6,7 +6,9 @@ var Path = require('path') var LocalData = require('./local-data') var Utils = require('./utils') var Utils = require('./utils') -var pkginfo = require('pkginfo')(module); // eslint-disable-line no-unused-vars +var pkginfo = require('pkginfo')(module) // eslint-disable-line no-unused-vars +var pkgVersion = module.exports.version +var pkgName = module.exports.name // [[a, [b, c]], d] -> [a, b, c, d] function flatten(array) { @@ -26,7 +28,7 @@ function Config(config) { for (var i in config) { if (self[i] == null) self[i] = config[i] } - if (!self.user_agent) self.user_agent = 'Sinopia/'+module.exports.version + if (!self.user_agent) self.user_agent = pkgName + '/' + pkgVersion // some weird shell scripts are valid yaml files parsed as string assert.equal(typeof(config), 'object', 'CONFIG: it doesn\'t look like a valid config file') From e45fe466eec54c8eab17a7c0b881832d2017542f Mon Sep 17 00:00:00 2001 From: steve-p-com Date: Sun, 1 May 2016 10:02:01 +0100 Subject: [PATCH 04/37] Remove optional dependencies that are not truly cross-platform --- lib/file-locking.js | 152 +++++++++++++++++++++++++ lib/local-fs.js | 94 +++------------- lib/local-storage.js | 19 +++- lib/plugin-loader.js | 16 +-- lib/plugins/htpasswd/crypt3.js | 56 ++++++++++ lib/plugins/htpasswd/index.js | 138 +++++++++++++++++++++++ lib/plugins/htpasswd/utils.js | 65 +++++++++++ npm-shrinkwrap.json | 199 +++++++-------------------------- package.json | 13 +-- 9 files changed, 496 insertions(+), 256 deletions(-) create mode 100644 lib/file-locking.js create mode 100644 lib/plugins/htpasswd/crypt3.js create mode 100644 lib/plugins/htpasswd/index.js create mode 100644 lib/plugins/htpasswd/utils.js diff --git a/lib/file-locking.js b/lib/file-locking.js new file mode 100644 index 000000000..7b19e2e25 --- /dev/null +++ b/lib/file-locking.js @@ -0,0 +1,152 @@ +/** + * file-locking.js - file system locking (replaces fs-ext) + */ + +var async = require('async'), + locker = require('lockfile'), + fs = require('fs'), + path = require('path') + +// locks a file by creating a lock file +function lockFile(name, next) { + var lockFileName = name + '.lock', + lockOpts = { + wait: 1000, // time (ms) to wait when checking for stale locks + pollPeriod: 100, // how often (ms) to re-check stale locks + + stale: 5 * 60 * 1000, // locks are considered stale after 5 minutes + + retries: 100, // number of times to attempt to create a lock + retryWait: 100 // time (ms) between tries + } + + async.series({ + + statdir: function (callback) { + // test to see if the directory exists + fs.stat(path.dirname(name), function (err, stats) { + if (err) { + callback(err) + } else if (!stats.isDirectory()) { + callback(new Error(path.dirname(name) + ' is not a directory')) + } else { + callback(null) + } + }) + }, + + statfile: function (callback) { + // test to see if the file to lock exists + fs.stat(name, function (err, stats) { + if (err) { + callback(err) + } else if (!stats.isFile()) { + callback(new Error(path.dirname(name) + ' is not a file')) + } else { + callback(null) + } + }); + }, + + lockfile: function (callback) { + // try to lock the file + locker.lock(lockFileName, lockOpts, callback) + } + + }, function (err) { + if (err) { + // lock failed + return next(err) + } + + // lock succeeded + return next(null); + }) + +} + +// unlocks file by removing existing lock file +function unlockFile(name, next) { + var lockFileName = name + '.lock' + + locker.unlock(lockFileName, function (err) { + if (err) { + return next(err) + } + + return next(null) + }) +} + +/** + * reads a local file, which involves + * optionally taking a lock + * reading the file contents + * optionally parsing JSON contents + */ +function readFile(name, options, next) { + if (typeof options === 'function' && next === null) { + next = options; + options = {} + } + + options = options || {} + options.lock = options.lock || false + options.parse = options.parse || false + + function lock(callback) { + if (!options.lock) { + return callback(null) + } + + lockFile(name, function (err) { + if (err) { + return callback(err) + } + return callback(null) + }) + } + + function read(callback) { + fs.readFile(name, 'utf8', function (err, contents) { + if (err) { + return callback(err) + } + + callback(null, contents) + + }) + } + + function parseJSON(contents, callback) { + if (!options.parse) { + return callback(null, contents) + } + + try { + contents = JSON.parse(contents) + return callback(null, contents) + } catch (err) { + return callback(err) + } + } + + async.waterfall([ + lock, + read, + parseJSON + ], + + function (err, result) { + if (err) { + return next(err) + } else { + return next(null, result) + } + }) +} + +exports.lockFile = lockFile; +exports.unlockFile = unlockFile; + +exports.readFile = readFile; diff --git a/lib/local-fs.js b/lib/local-fs.js index db85b0006..8d7a66719 100644 --- a/lib/local-fs.js +++ b/lib/local-fs.js @@ -10,15 +10,7 @@ function FSError(code) { return err } -try { - var fsExt = require('fs-ext') -} catch (e) { - fsExt = { - flock: function() { - arguments[arguments.length-1]() - } - } -} +var locker = require('./file-locking') function tempFile(str) { return str + '.tmp' + String(Math.random()).substr(2) @@ -134,7 +126,7 @@ function read_stream(name, stream, callback) { }) }) - var stream = MyStreams.ReadTarballStream() + stream = MyStreams.ReadTarballStream() stream.abort = function() { rstream.close() } @@ -159,64 +151,6 @@ function read(name, callback) { fs.readFile(name, callback) } -// open and flock with exponential backoff -function open_flock(name, opmod, flmod, tries, backoff, cb) { - fs.open(name, opmod, function(err, fd) { - if (err) return cb(err, fd) - - fsExt.flock(fd, flmod, function(err) { - if (err) { - if (!tries) { - fs.close(fd, function() { - cb(err) - }) - } else { - fs.close(fd, function() { - setTimeout(function() { - open_flock(name, opmod, flmod, tries-1, backoff*2, cb) - }, backoff) - }) - } - } else { - cb(null, fd) - } - }) - }) -} - -// this function neither unlocks file nor closes it -// it'll have to be done manually later -function lock_and_read(name, _callback) { - open_flock(name, 'r', 'exnb', 4, 10, function(err, fd) { - function callback(err) { - if (err && fd) { - fs.close(fd, function(err2) { - _callback(err) - }) - } else { - _callback.apply(null, arguments) - } - } - - if (err) return callback(err, fd) - - fs.fstat(fd, function(err, st) { - if (err) return callback(err, fd) - - var buffer = Buffer(st.size) - if (st.size === 0) return onRead(null, 0, buffer) - fs.read(fd, buffer, 0, st.size, null, onRead) - - function onRead(err, bytesRead, buffer) { - if (err) return callback(err, fd) - if (bytesRead != st.size) return callback(Error('st.size != bytesRead'), fd) - - callback(null, fd, buffer) - } - }) - }) -} - module.exports.read = read module.exports.read_json = function(name, cb) { @@ -233,22 +167,24 @@ module.exports.read_json = function(name, cb) { }) } -module.exports.lock_and_read = lock_and_read +module.exports.lock_and_read = function(name, cb) { + locker.readFile(name, {lock: true}, function(err, res) { + if (err) return cb(err) + return cb(null, res) + }) +} module.exports.lock_and_read_json = function(name, cb) { - lock_and_read(name, function(err, fd, res) { - if (err) return cb(err, fd) - - var args = [] - try { - args = [ null, fd, JSON.parse(res.toString('utf8')) ] - } catch(err) { - args = [ err, fd ] - } - cb.apply(null, args) + locker.readFile(name, {lock: true, parse: true}, function(err, res) { + if (err) return cb(err) + return cb(null, res); }) } +module.exports.unlock_file = function (name, cb) { + locker.unlockFile(name, cb) +} + module.exports.create = create module.exports.create_json = function(name, value, cb) { diff --git a/lib/local-storage.js b/lib/local-storage.js index e73bad50d..b5544d5e4 100644 --- a/lib/local-storage.js +++ b/lib/local-storage.js @@ -543,19 +543,26 @@ Storage.prototype.update_package = function(name, updateFn, _callback) { var self = this var storage = self.storage(name) if (!storage) return _callback( Error[404]('no such package available') ) - storage.lock_and_read_json(info_file, function(err, fd, json) { - function callback() { + storage.lock_and_read_json(info_file, function(err, json) { + var locked = false + + // callback that cleans up lock first + function callback(err) { var _args = arguments - if (fd) { - fs.close(fd, function(err) { - if (err) return _callback(err) - _callback.apply(null, _args) + if (locked) { + storage.unlock_file(info_file, function () { + // ignore any error from the unlock + _callback.apply(err, _args) }) } else { _callback.apply(null, _args) } } + if (!err) { + locked = true + } + if (err) { if (err.code === 'EAGAIN') { return callback( Error[503]('resource temporarily unavailable') ) diff --git a/lib/plugin-loader.js b/lib/plugin-loader.js index 793b5351f..dac03c5f7 100644 --- a/lib/plugin-loader.js +++ b/lib/plugin-loader.js @@ -15,23 +15,25 @@ function load_plugins(config, plugin_configs, params, sanity_check) { var plugins = Object.keys(plugin_configs || {}).map(function(p) { var plugin + // try local plugins first + plugin = try_load(Path.resolve('./lib/plugins', p)) + // npm package - if (plugin == null && p.match(/^[^\.\/]/)) { + if (plugin === null && p.match(/^[^\.\/]/)) { plugin = try_load('sinopia-' + p) } - if (plugin == null) { + if (plugin === null) { plugin = try_load(p) } // relative to config path - if (plugin == null && p.match(/^\.\.?($|\/)/)) { + if (plugin === null && p.match(/^\.\.?($|\/)/)) { plugin = try_load(Path.resolve(Path.dirname(config.self_path), p)) } - if (plugin == null) { - throw Error('"' + p + '" plugin not found\n' - + 'try "npm install sinopia-' + p + '"') + if (plugin === null) { + throw Error('"' + p + '" plugin not found\ntry "npm install sinopia-' + p + '"') } if (typeof(plugin) !== 'function') @@ -39,7 +41,7 @@ function load_plugins(config, plugin_configs, params, sanity_check) { plugin = plugin(plugin_configs[p], params) - if (plugin == null || !sanity_check(plugin)) + if (plugin === null || !sanity_check(plugin)) throw Error('"' + p + '" doesn\'t look like a valid plugin') return plugin diff --git a/lib/plugins/htpasswd/crypt3.js b/lib/plugins/htpasswd/crypt3.js new file mode 100644 index 000000000..d992bcc79 --- /dev/null +++ b/lib/plugins/htpasswd/crypt3.js @@ -0,0 +1,56 @@ +/** Node.js Crypt(3) Library + + Inspired by (and intended to be compatible with) sendanor/crypt3 + + see https://github.com/sendanor/node-crypt3 + + The key difference is the removal of the dependency on the unix crypt(3) function + which is not platform independent, and requires compilation. Instead, a pure + javascript version is used. + +*/ + +var crypt = require('unix-crypt-td-js'), + crypto = require('crypto'); + +function createSalt(type) { + type = type || 'sha512'; + + switch (type) { + + case 'md5': + return '$1$' + crypto.randomBytes(10).toString('base64'); + + case 'blowfish': + return '$2a$' + crypto.randomBytes(10).toString('base64'); + + case 'sha256': + return '$5$' + crypto.randomBytes(10).toString('base64'); + + case 'sha512': + return '$6$' + crypto.randomBytes(10).toString('base64'); + + default: + throw new TypeError('Unknown salt type at crypt3.createSalt: ' + type); + } + +} + +function crypt3(key, salt) { + salt = salt || createSalt(); + return crypt(key, salt); +} + +/** Crypt(3) password and data encryption. + * @param {string} key user's typed password + * @param {string} salt Optional salt, for example SHA-512 use "$6$salt$". + * @returns {string} A generated hash in format $id$salt$encrypted + * @see https://en.wikipedia.org/wiki/Crypt_(C) + */ +module.exports = crypt3; + +/** Create salt + * @param {string} type The type of salt: md5, blowfish (only some linux distros), sha256 or sha512. Default is sha512. + * @returns {string} Generated salt string + */ +module.exports.createSalt = createSalt; diff --git a/lib/plugins/htpasswd/index.js b/lib/plugins/htpasswd/index.js new file mode 100644 index 000000000..f978a6d0c --- /dev/null +++ b/lib/plugins/htpasswd/index.js @@ -0,0 +1,138 @@ +var fs = require('fs') +var Path = require('path') +var utils = require('./utils') + +module.exports = HTPasswd + +function HTPasswd(config, stuff) { + var self = Object.create(HTPasswd.prototype) + self._users = {} + + // config for this module + self._config = config + + // sinopia logger + self._logger = stuff.logger + + // sinopia main config object + self._sinopia_config = stuff.config + + // all this "sinopia_config" stuff is for b/w compatibility only + self._maxusers = self._config.max_users + if (!self._maxusers) self._maxusers = self._sinopia_config.max_users + // set maxusers to Infinity if not specified + if (!self._maxusers) self._maxusers = Infinity + + self._last_time = null + var file = self._config.file + if (!file) file = self._sinopia_config.users_file + if (!file) throw new Error('should specify "file" in config') + self._path = Path.resolve(Path.dirname(self._sinopia_config.self_path), file) + return self +} + +HTPasswd.prototype.authenticate = function (user, password, cb) { + var self = this + self._reload(function (err) { + if (err) return cb(err.code === 'ENOENT' ? null : err) + if (!self._users[user]) return cb(null, false) + if (!utils.verify_password(user, password, self._users[user])) return cb(null, false) + + // authentication succeeded! + // return all usergroups this user has access to; + // (this particular package has no concept of usergroups, so just return user herself) + return cb(null, [user]) + }) +} + +// hopefully race-condition-free way to add users: +// 1. lock file for writing (other processes can still read) +// 2. reload .htpasswd +// 3. write new data into .htpasswd.tmp +// 4. move .htpasswd.tmp to .htpasswd +// 5. reload .htpasswd +// 6. unlock file +HTPasswd.prototype.adduser = function (user, password, real_cb) { + var self = this + + function sanity_check() { + var err = null + if (self._users[user]) { + err = Error('this user already exists') + } else if (Object.keys(self._users).length >= self._maxusers) { + err = Error('maximum amount of users reached') + } + if (err) err.status = 403 + return err + } + + // preliminary checks, just to ensure that file won't be reloaded if it's not needed + var s_err = sanity_check() + if (s_err) return real_cb(s_err, false) + + utils.lock_and_read(self._path, function (err, res) { + var locked = false + + // callback that cleans up lock first + function cb(err) { + if (locked) { + utils.unlock_file(self._path, function () { + // ignore any error from the unlock + real_cb(err, !err) + }) + } else { + real_cb(err, !err) + } + } + + if (!err) { + locked = true + } + + // ignore ENOENT errors, we'll just create .htpasswd in that case + if (err && err.code !== 'ENOENT') return cb(err) + + var body = (res || '').toString('utf8') + self._users = utils.parse_htpasswd(body) + + // real checks, to prevent race conditions + var s_err = sanity_check() + if (s_err) return cb(s_err) + + try { + console.log('body = utils.add_user_to_htpasswd(body, user, password)') + console.log(user, password) + body = utils.add_user_to_htpasswd(body, user, password) + } catch (err) { + return cb(err) + } + fs.writeFile(self._path, body, function (err) { + if (err) return cb(err) + self._reload(function () { + cb(null, true) + }) + }) + }) +} + +HTPasswd.prototype._reload = function (_callback) { + var self = this + + fs.stat(self._path, function (err, stats) { + if (err) return _callback(err) + + if (self._last_time === stats.mtime) return _callback() + self._last_time = stats.mtime + + fs.readFile(self._path, 'utf8', function (err, buffer) { + if (err) return _callback(err) + + self._users = utils.parse_htpasswd(buffer) + + _callback() + + }); + + }); + +} diff --git a/lib/plugins/htpasswd/utils.js b/lib/plugins/htpasswd/utils.js new file mode 100644 index 000000000..229662f9f --- /dev/null +++ b/lib/plugins/htpasswd/utils.js @@ -0,0 +1,65 @@ +var crypto = require('crypto') +var crypt3 = require('./crypt3') +var locker = require('../../file-locking') + +// this function neither unlocks file nor closes it +// it'll have to be done manually later +function lock_and_read(name, cb) { + locker.readFile(name, {lock: true}, function (err, res) { + if (err) { + return cb(err) + } + return cb(null, res) + }) +} + +// close and unlock file +function unlock_file(name, cb) { + locker.unlockFile(name, cb) +} + +function parse_htpasswd(input) { + var result = {} + input.split('\n').forEach(function(line) { + var args = line.split(':', 3) + if (args.length > 1) result[args[0]] = args[1] + }) + return result +} + +function verify_password(user, passwd, hash) { + if (hash.indexOf('{PLAIN}') === 0) { + return passwd === hash.substr(7) + } else if (hash.indexOf('{SHA}') === 0) { + return crypto.createHash('sha1').update(passwd, 'binary').digest('base64') === hash.substr(5) + } else if (crypt3) { + return crypt3(passwd, hash) === hash + } else { + return false + } +} + +function add_user_to_htpasswd(body, user, passwd) { + if (user !== encodeURIComponent(user)) { + var err = Error('username should not contain non-uri-safe characters') + err.status = 409 + throw err + } + + if (crypt3) { + passwd = crypt3(passwd) + } else { + passwd = '{SHA}' + crypto.createHash('sha1').update(passwd, 'binary').digest('base64') + } + var comment = 'autocreated ' + (new Date()).toJSON() + + var newline = user + ':' + passwd + ':' + comment + '\n' + if (body.length && body[body.length-1] !== '\n') newline = '\n' + newline + return body + newline +} + +module.exports.parse_htpasswd = parse_htpasswd +module.exports.verify_password = verify_password +module.exports.add_user_to_htpasswd = add_user_to_htpasswd +module.exports.lock_and_read = lock_and_read +module.exports.unlock_file = unlock_file diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 8f8755ed8..80cc010ce 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -65,7 +65,7 @@ }, "iconv-lite": { "version": "0.4.13", - "from": "iconv-lite@>=0.4.13 <0.5.0", + "from": "iconv-lite@0.4.13", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" }, "on-finished": { @@ -139,9 +139,9 @@ "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz", "dependencies": { "nan": { - "version": "2.2.1", + "version": "2.3.2", "from": "nan@>=2.0.8 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.1.tgz" + "resolved": "https://registry.npmjs.org/nan/-/nan-2.3.2.tgz" } } }, @@ -316,18 +316,6 @@ } } }, - "crypt3": { - "version": "0.2.0", - "from": "crypt3@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/crypt3/-/crypt3-0.2.0.tgz", - "dependencies": { - "nan": { - "version": "2.2.1", - "from": "nan@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.1.tgz" - } - } - }, "es6-shim": { "version": "0.35.0", "from": "es6-shim@>=0.35.0 <0.36.0", @@ -546,7 +534,7 @@ }, "mime-types": { "version": "2.1.10", - "from": "mime-types@>=2.1.10 <2.2.0", + "from": "mime-types@>=2.1.6 <2.2.0", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", "dependencies": { "mime-db": { @@ -570,18 +558,6 @@ } } }, - "fs-ext": { - "version": "0.5.0", - "from": "fs-ext@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/fs-ext/-/fs-ext-0.5.0.tgz", - "dependencies": { - "nan": { - "version": "2.2.1", - "from": "nan@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.2.1.tgz" - } - } - }, "handlebars": { "version": "4.0.5", "from": "handlebars@>=4.0.5 <5.0.0", @@ -632,9 +608,9 @@ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" }, "source-map": { - "version": "0.5.3", + "version": "0.5.5", "from": "source-map@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.5.tgz" }, "uglify-to-browserify": { "version": "1.0.2", @@ -691,9 +667,9 @@ } }, "lazy-cache": { - "version": "1.0.3", + "version": "1.0.4", "from": "lazy-cache@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.3.tgz" + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" } } }, @@ -807,6 +783,11 @@ } } }, + "lockfile": { + "version": "1.0.1", + "from": "lockfile@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz" + }, "lunr": { "version": "0.7.0", "from": "lunr@>=0.7.0 <0.8.0", @@ -854,9 +835,9 @@ "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" }, "readable-stream": { - "version": "2.1.0", - "from": "readable-stream@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.0.tgz", + "version": "2.1.2", + "from": "readable-stream@>=2.1.2 <3.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.2.tgz", "dependencies": { "core-util-is": { "version": "1.0.2", @@ -868,64 +849,6 @@ "from": "inherits@>=2.0.1 <2.1.0", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, - "inline-process-browser": { - "version": "2.0.1", - "from": "inline-process-browser@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inline-process-browser/-/inline-process-browser-2.0.1.tgz", - "dependencies": { - "falafel": { - "version": "1.2.0", - "from": "falafel@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz", - "dependencies": { - "acorn": { - "version": "1.2.2", - "from": "acorn@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz" - }, - "foreach": { - "version": "2.0.5", - "from": "foreach@>=2.0.5 <3.0.0", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" - }, - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "object-keys": { - "version": "1.0.9", - "from": "object-keys@>=1.0.6 <2.0.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.9.tgz" - } - } - }, - "through2": { - "version": "0.6.5", - "from": "through2@>=0.6.5 <0.7.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "from": "readable-stream@>=1.0.33-1 <1.1.0-0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "dependencies": { - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - } - } - }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <4.1.0-0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - } - } - } - } - }, "isarray": { "version": "1.0.0", "from": "isarray@>=1.0.0 <1.1.0", @@ -941,45 +864,6 @@ "from": "string_decoder@>=0.10.0 <0.11.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, - "unreachable-branch-transform": { - "version": "0.5.1", - "from": "unreachable-branch-transform@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/unreachable-branch-transform/-/unreachable-branch-transform-0.5.1.tgz", - "dependencies": { - "esmangle-evaluator": { - "version": "1.0.0", - "from": "esmangle-evaluator@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/esmangle-evaluator/-/esmangle-evaluator-1.0.0.tgz" - }, - "recast": { - "version": "0.11.5", - "from": "recast@>=0.11.4 <0.12.0", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.5.tgz", - "dependencies": { - "ast-types": { - "version": "0.8.16", - "from": "ast-types@0.8.16", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.16.tgz" - }, - "esprima": { - "version": "2.7.2", - "from": "esprima@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" - }, - "private": { - "version": "0.1.6", - "from": "private@>=0.1.5 <0.2.0", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz" - }, - "source-map": { - "version": "0.5.3", - "from": "source-map@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.3.tgz" - } - } - } - } - }, "util-deprecate": { "version": "1.0.2", "from": "util-deprecate@>=1.0.1 <1.1.0", @@ -1015,9 +899,9 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" }, "linkify-it": { - "version": "1.2.0", + "version": "1.2.1", "from": "linkify-it@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.0.tgz" + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.1.tgz" }, "mdurl": { "version": "1.0.1", @@ -1372,26 +1256,29 @@ } }, "sshpk": { - "version": "1.7.4", + "version": "1.8.3", "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", "dependencies": { "asn1": { "version": "0.2.3", "from": "asn1@>=0.2.3 <0.3.0", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" }, + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + }, "dashdash": { - "version": "1.13.0", - "from": "dashdash@>=1.10.1 <2.0.0", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.0.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } + "version": "1.13.1", + "from": "dashdash@>=1.12.0 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.1.tgz" + }, + "getpass": { + "version": "0.1.6", + "from": "getpass@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz" }, "jsbn": { "version": "0.1.0", @@ -1399,9 +1286,9 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" }, "tweetnacl": { - "version": "0.14.3", - "from": "tweetnacl@>=0.13.0 <1.0.0", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz" + "version": "0.13.3", + "from": "tweetnacl@>=0.13.0 <0.14.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" }, "jodid25519": { "version": "1.0.2", @@ -1410,7 +1297,7 @@ }, "ecc-jsbn": { "version": "0.1.1", - "from": "ecc-jsbn@>=0.0.1 <1.0.0", + "from": "ecc-jsbn@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" } } @@ -1434,7 +1321,7 @@ }, "mime-types": { "version": "2.1.10", - "from": "mime-types@>=2.1.10 <2.2.0", + "from": "mime-types@>=2.1.7 <2.2.0", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", "dependencies": { "mime-db": { @@ -1481,15 +1368,15 @@ "from": "semver@>=5.1.0 <6.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz" }, - "sinopia-htpasswd": { - "version": "0.4.5", - "from": "sinopia-htpasswd@>=0.4.5 <0.5.0", - "resolved": "https://registry.npmjs.org/sinopia-htpasswd/-/sinopia-htpasswd-0.4.5.tgz" - }, "symbol": { "version": "0.2.1", "from": "symbol@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.1.tgz" + }, + "unix-crypt-td-js": { + "version": "1.0.0", + "from": "unix-crypt-td-js@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.0.0.tgz" } } } diff --git a/package.json b/package.json index e58f68cf7..28445458d 100644 --- a/package.json +++ b/package.json @@ -29,26 +29,23 @@ "http-errors": "^1.4.0", "jju": "^1.3.0", "js-yaml": "^3.6.0", + "lockfile": "^1.0.1", "lunr": "^0.7.0", "minimatch": "^3.0.0", "mkdirp": "^0.5.1", "pkginfo": "^0.4.0", - "readable-stream": "^2.1.0", + "readable-stream": "^2.1.2", "render-readme": "^1.3.1", "request": "^2.72.0", "semver": "^5.1.0", - "sinopia-htpasswd": "^0.4.5", - "symbol": "^0.2.1" - }, - "optionalDependencies": { - "fs-ext": "^0.5.0", - "crypt3": "^0.2.0" + "symbol": "^0.2.1", + "unix-crypt-td-js": "^1.0.0" }, "devDependencies": { "rimraf": "^2.5.2", "bluebird": "^3.3.5", "mocha": "^2.4.5", - "eslint": "^2.8.0", + "eslint": "^2.9.0", "browserify": "^13.0.0", "browserify-handlebars": "^1.0.0", "grunt": "^1.0.1", From 86b9f512a5bb6e1433ab79ff5b8c64ebce19b3ba Mon Sep 17 00:00:00 2001 From: Trent Earl Date: Sun, 1 May 2016 10:46:23 -0500 Subject: [PATCH 05/37] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index df7f24d74..972c72ae5 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,7 @@ `sinopia` - a private/caching npm repository server -[![npm version badge](https://img.shields.io/npm/v/sinopia.svg)](https://www.npmjs.org/package/sinopia) -[![travis badge](http://img.shields.io/travis/rlidwka/sinopia.svg)](https://travis-ci.org/rlidwka/sinopia) -[![downloads badge](http://img.shields.io/npm/dm/sinopia.svg)](https://www.npmjs.org/package/sinopia) +[![travis badge](http://img.shields.io/travis/verdaccio/verdaccio.svg)](https://travis-ci.org/verdaccio/verdaccio) It allows you to have a local npm registry with zero configuration. You don't have to install and replicate an entire CouchDB database. Sinopia keeps its own small database and, if a package doesn't exist there, it asks npmjs.org for it keeping only those packages you use. From cca5196752fa831d6cc14e4a55f0b4c3140d3cbc Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Mon, 9 May 2016 14:19:35 -0300 Subject: [PATCH 06/37] Add Dockerfile to build docker image --- Dockerfile | 16 ++++++++++++++++ README.md | 10 +++++++++- conf/docker.yaml | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 conf/docker.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..dd1626c20 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM node:6.1.0-onbuild + +RUN adduser --disabled-password --gecos "" verdaccio && \ + mkdir -p /verdaccio/storage /verdaccio/conf && \ + chown -R verdaccio.verdaccio /verdaccio + +USER verdaccio +WORKDIR /verdaccio + +ADD conf/docker.yaml /verdaccio/conf/config.yaml + +EXPOSE 4873 + +VOLUME ["/verdaccio/conf", "/verdaccio/storage"] + +CMD ["/usr/src/app/bin/sinopia", "--config", "/verdaccio/conf/config.yaml", "--listen", "0.0.0.0:4873"] diff --git a/README.md b/README.md index 972c72ae5..bc886aca5 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,15 @@ Now you can navigate to [http://localhost:4873/](http://localhost:4873/) where y ### Docker -A Sinopia docker image [is available](https://registry.hub.docker.com/u/keyvanfatehi/sinopia/) +`docker build -t verdaccio .` + +``` +docker run -it --rm --name verdaccio -p 4873:4873 \ + -v //conf:/verdaccio/conf \ + -v //storage:/verdaccio/storage \ + -v //local_storage:/verdaccio/local_storage \ + verdaccio +``` ### Chef diff --git a/conf/docker.yaml b/conf/docker.yaml new file mode 100644 index 000000000..9e6e7dbdc --- /dev/null +++ b/conf/docker.yaml @@ -0,0 +1,49 @@ +# +# This is the default config file. It allows all users to do anything, +# so don't use it on production systems. +# +# Look here for more config file examples: +# https://github.com/rlidwka/sinopia/tree/master/conf +# + +# path to a directory with all packages +storage: /verdaccio/storage + +auth: + htpasswd: + file: /verdaccio/config/htpasswd + # Maximum amount of users allowed to register, defaults to "+inf". + # You can set this to -1 to disable registration. + #max_users: 1000 + +# a list of other known repositories we can talk to +uplinks: + npmjs: + url: https://registry.npmjs.org/ + +packages: + '@*/*': + # scoped packages + access: $all + publish: $all + + '*': + # allow all users (including non-authenticated users) to read and + # publish all packages + # + # you can specify usernames/groupnames (depending on your auth plugin) + # and three keywords: "$all", "$anonymous", "$authenticated" + access: $all + + # allow all known users to publish packages + # (anyone can register by default, remember?) + publish: $all + + # if package is not available locally, proxy requests to 'npmjs' registry + proxy: npmjs + +# log settings +logs: + - {type: stdout, format: pretty, level: http} + #- {type: file, path: sinopia.log, level: info} + From dd406da3e2f99a3b716ffd19402f4bef9c9adcc7 Mon Sep 17 00:00:00 2001 From: "trent.earl" Date: Sat, 30 Jul 2016 14:02:50 -0500 Subject: [PATCH 07/37] Fix tests for node 6 Node 6 introduced two breaking changes to verdaccio/sinopia Path functions now throw on null/undefined arguments Buffer defaults to binary now A lot of test code explicitly converted data to utf8 which broke on checksum --- lib/config.js | 2 +- lib/local-storage.js | 2 +- test/functional/basic.js | 2 +- test/functional/gh29.js | 2 +- test/functional/lib/server.js | 1 + test/functional/mirror.js | 2 +- test/functional/newnpmreg.js | 4 ++-- test/functional/nullstorage.js | 2 +- test/functional/scoped.js | 9 +++++++-- 9 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/config.js b/lib/config.js index ef4fdaf48..6386a0cac 100644 --- a/lib/config.js +++ b/lib/config.js @@ -36,7 +36,7 @@ function Config(config) { assert(self.storage, 'CONFIG: storage path not defined') self.localList = LocalData( Path.join( - Path.resolve(Path.dirname(self.self_path), self.storage), + Path.resolve(Path.dirname(self.self_path || ''), self.storage), '.sinopia-db.json' ) ) diff --git a/lib/local-storage.js b/lib/local-storage.js index b5544d5e4..bccc1f268 100644 --- a/lib/local-storage.js +++ b/lib/local-storage.js @@ -663,7 +663,7 @@ Storage.prototype.storage = function(package) { } return Path_Wrapper( Path.join( - Path.resolve(Path.dirname(this.config.self_path), path), + Path.resolve(Path.dirname(this.config.self_path || ''), path), package ) ) diff --git a/test/functional/basic.js b/test/functional/basic.js index 785113406..542c5fa9c 100644 --- a/test/functional/basic.js +++ b/test/functional/basic.js @@ -43,7 +43,7 @@ module.exports = function () { return server.get_tarball('testpkg', 'blahblah') .status(200) .then(function (body) { - assert.deepEqual(body, readfile('fixtures/binary').toString('utf8')) + assert.deepEqual(body, readfile('fixtures/binary')) }) }) diff --git a/test/functional/gh29.js b/test/functional/gh29.js index b26e97f1a..f130c84c4 100644 --- a/test/functional/gh29.js +++ b/test/functional/gh29.js @@ -54,7 +54,7 @@ module.exports = function() { return server2.get_tarball('testpkg-gh29', 'blahblah') .status(200) .then(function (body) { - assert.deepEqual(body, readfile('fixtures/binary').toString('utf8')) + assert.deepEqual(body, readfile('fixtures/binary')) }) }) }) diff --git a/test/functional/lib/server.js b/test/functional/lib/server.js index 3e33a9f30..8b21d7097 100644 --- a/test/functional/lib/server.js +++ b/test/functional/lib/server.js @@ -76,6 +76,7 @@ Server.prototype.get_tarball = function(name, filename) { return this.request({ uri: '/'+encodeURIComponent(name)+'/-/'+encodeURIComponent(filename), method: 'GET', + encoding: null }) } diff --git a/test/functional/mirror.js b/test/functional/mirror.js index 9fdd97c96..d1105ca1c 100644 --- a/test/functional/mirror.js +++ b/test/functional/mirror.js @@ -53,7 +53,7 @@ module.exports = function() { return server.get_tarball(pkg, pkg+'.file') .status(200) .then(function (body) { - assert.deepEqual(body, readfile('fixtures/binary').toString('utf8')) + assert.deepEqual(body, readfile('fixtures/binary')) }) }) }) diff --git a/test/functional/newnpmreg.js b/test/functional/newnpmreg.js index 2565950d0..ee9311420 100644 --- a/test/functional/newnpmreg.js +++ b/test/functional/newnpmreg.js @@ -32,7 +32,7 @@ module.exports = function() { .status(200) .then(function (body) { // not real sha due to utf8 conversion - assert.strictEqual(sha(body), '789ca61e3426ce55c4983451b58e62b04abceaf6') + assert.strictEqual(sha(body), '8ee7331cbc641581b1a8cecd9d38d744a8feb863') }) }) @@ -41,7 +41,7 @@ module.exports = function() { .status(200) .then(function (body) { // not real sha due to utf8 conversion - assert.strictEqual(sha(body), '789ca61e3426ce55c4983451b58e62b04abceaf6') + assert.strictEqual(sha(body), '8ee7331cbc641581b1a8cecd9d38d744a8feb863') }) }) diff --git a/test/functional/nullstorage.js b/test/functional/nullstorage.js index 330820c30..11857a422 100644 --- a/test/functional/nullstorage.js +++ b/test/functional/nullstorage.js @@ -51,7 +51,7 @@ module.exports = function() { return server.get_tarball('test-nullstorage2', 'blahblah') .status(200) .then(function (body) { - assert.deepEqual(body, readfile('fixtures/binary').toString('utf8')) + assert.deepEqual(body, readfile('fixtures/binary')) }) }) diff --git a/test/functional/scoped.js b/test/functional/scoped.js index 250853c7b..06b40e102 100644 --- a/test/functional/scoped.js +++ b/test/functional/scoped.js @@ -31,7 +31,7 @@ module.exports = function() { .status(200) .then(function (body) { // not real sha due to utf8 conversion - assert.strictEqual(sha(body), 'c59298948907d077c3b42f091554bdeea9208964') + assert.strictEqual(sha(body), '6e67b14e2c0e450b942e2bc8086b49e90f594790') }) }) @@ -40,7 +40,12 @@ module.exports = function() { .status(200) .then(function (body) { // not real sha due to utf8 conversion - assert.strictEqual(sha(body), 'c59298948907d077c3b42f091554bdeea9208964') + require('fs').writeFileSync( + '/Users/trent.earl/what.tgz', + body + ); + + assert.strictEqual(sha(body), '6e67b14e2c0e450b942e2bc8086b49e90f594790') }) }) From d8f2d95f92c7b381448e12c314c046031009ea18 Mon Sep 17 00:00:00 2001 From: "trent.earl" Date: Sat, 30 Jul 2016 14:20:53 -0500 Subject: [PATCH 08/37] Rename binary to verdaccio --- bin/sinopia | 4 ---- package.json | 2 +- test/functional/lib/startup.js | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) delete mode 100755 bin/sinopia diff --git a/bin/sinopia b/bin/sinopia deleted file mode 100755 index 32a78deaa..000000000 --- a/bin/sinopia +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env node - -require('../lib/cli') - diff --git a/package.json b/package.json index 28445458d..4ec5147d7 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ }, "main": "index.js", "bin": { - "sinopia": "./bin/sinopia" + "verdaccio": "./bin/verdaccio" }, "dependencies": { "JSONStream": "^1.1.1", diff --git a/test/functional/lib/startup.js b/test/functional/lib/startup.js index b056346ff..fa0d868a1 100644 --- a/test/functional/lib/startup.js +++ b/test/functional/lib/startup.js @@ -17,7 +17,7 @@ module.exports.start = function start(dir, conf, cb) { return x !== '--debug-brk' }) - var f = fork(__dirname + '/../../../bin/sinopia' + var f = fork(__dirname + '/../../../bin/verdaccio' , ['-c', __dirname + '/../' + conf] , {silent: !process.env.TRAVIS} ) From 7b4c105046a8b5b0d761108ef906d82c17ca6d6a Mon Sep 17 00:00:00 2001 From: Miguel Mejias Date: Wed, 10 Aug 2016 11:52:21 +0200 Subject: [PATCH 09/37] Register entry partial even if custom template is provided --- lib/index-web.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/index-web.js b/lib/index-web.js index cc2645037..6ffaa843b 100644 --- a/lib/index-web.js +++ b/lib/index-web.js @@ -33,11 +33,12 @@ module.exports = function(config, auth, storage) { Search.configureStorage(storage) + Handlebars.registerPartial('entry', fs.readFileSync(require.resolve('./GUI/entry.hbs'), 'utf8')) + if(config.web && config.web.template) { var template = Handlebars.compile(fs.readFileSync(config.web.template, 'utf8')); } else { - Handlebars.registerPartial('entry', fs.readFileSync(require.resolve('./GUI/entry.hbs'), 'utf8')) var template = Handlebars.compile(fs.readFileSync(require.resolve('./GUI/index.hbs'), 'utf8')) } app.get('/', function(req, res, next) { @@ -153,4 +154,3 @@ module.exports = function(config, auth, storage) { }) return app } - From 115a02b0eb9e1936bae42d6bfd594a669c42d255 Mon Sep 17 00:00:00 2001 From: Juan Carlos Picado Date: Sat, 13 Aug 2016 08:03:16 +0200 Subject: [PATCH 10/37] restore binary cli command --- .gitignore | 1 - bin/verdaccio | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 bin/verdaccio diff --git a/.gitignore b/.gitignore index 6ea289bee..88ddd7288 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ sinopia-*.tgz .DS_Store ### -bin/** !bin/sinopia test-storage* diff --git a/bin/verdaccio b/bin/verdaccio new file mode 100644 index 000000000..87170d755 --- /dev/null +++ b/bin/verdaccio @@ -0,0 +1,3 @@ +#!/usr/bin/env node + +require('../lib/cli') From 5cdadbd7fabf8e961724a1a0906ce49c44f72291 Mon Sep 17 00:00:00 2001 From: Juan Carlos Picado Date: Sat, 13 Aug 2016 08:21:55 +0200 Subject: [PATCH 11/37] Remove sync write file --- test/functional/scoped.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/test/functional/scoped.js b/test/functional/scoped.js index 06b40e102..f25f16260 100644 --- a/test/functional/scoped.js +++ b/test/functional/scoped.js @@ -40,11 +40,6 @@ module.exports = function() { .status(200) .then(function (body) { // not real sha due to utf8 conversion - require('fs').writeFileSync( - '/Users/trent.earl/what.tgz', - body - ); - assert.strictEqual(sha(body), '6e67b14e2c0e450b942e2bc8086b49e90f594790') }) }) From 6de559c0202b82c67a9859910b69ff6ba8ed20e3 Mon Sep 17 00:00:00 2001 From: "trent.earl" Date: Sat, 13 Aug 2016 10:04:12 -0500 Subject: [PATCH 12/37] Rename config path from sinopia to verdaccio --- lib/config-path.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/config-path.js b/lib/config-path.js index 692ba8ec2..6cb7a2236 100644 --- a/lib/config-path.js +++ b/lib/config-path.js @@ -25,7 +25,7 @@ function create_config_file(config_path) { var data_dir = process.env.XDG_DATA_HOME || Path.join(process.env.HOME, '.local', 'share') if (folder_exists(data_dir)) { - data_dir = Path.resolve(Path.join(data_dir, 'sinopia', 'storage')) + data_dir = Path.resolve(Path.join(data_dir, 'verdaccio', 'storage')) created_config = created_config.replace(/^storage: .\/storage$/m, 'storage: ' + data_dir) } } @@ -39,7 +39,7 @@ function get_paths() { || process.env.HOME && Path.join(process.env.HOME, '.config') if (xdg_config && folder_exists(xdg_config)) { try_paths.push({ - path: Path.join(xdg_config, 'sinopia', 'config.yaml'), + path: Path.join(xdg_config, 'verdaccio', 'config.yaml'), type: 'xdg', }) } @@ -48,13 +48,13 @@ function get_paths() { && process.env.APPDATA && folder_exists(process.env.APPDATA)) { try_paths.push({ - path: Path.resolve(Path.join(process.env.APPDATA, 'sinopia', 'config.yaml')), + path: Path.resolve(Path.join(process.env.APPDATA, 'verdaccio', 'config.yaml')), type: 'win', }) } try_paths.push({ - path: Path.resolve(Path.join('.', 'sinopia', 'config.yaml')), + path: Path.resolve(Path.join('.', 'verdaccio', 'config.yaml')), type: 'def', }) From 8083df1361e9291dbe62f129d28925b4bee12085 Mon Sep 17 00:00:00 2001 From: "trent.earl" Date: Sat, 13 Aug 2016 10:11:15 -0500 Subject: [PATCH 13/37] bin/* should be executable --- bin/verdaccio | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/verdaccio diff --git a/bin/verdaccio b/bin/verdaccio old mode 100644 new mode 100755 From 3b95710f276646f201f0011e2276ce9881dd8c85 Mon Sep 17 00:00:00 2001 From: "trent.earl" Date: Sat, 20 Aug 2016 11:46:54 -0500 Subject: [PATCH 14/37] Remove references to sinopia in Documentation and configuration --- SERVER.md | 30 +++++++++++++++--------------- conf/default.yaml | 4 ++-- conf/full.yaml | 12 ++++++------ 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/SERVER.md b/SERVER.md index c09a66855..90f1495c1 100644 --- a/SERVER.md +++ b/SERVER.md @@ -1,18 +1,18 @@ -This is mostly basic linux server configuration stuff but I felt it important to document and share the steps I took to get sinopia running permanently on my server. You will need root (or sudo) permissions for the following. +This is mostly basic linux server configuration stuff but I felt it important to document and share the steps I took to get verdaccio running permanently on my server. You will need root (or sudo) permissions for the following. ## Running as a separate user -First create the sinopia user: +First create the verdaccio user: ```bash -$ sudo adduser --disabled-login --gecos 'Sinopia NPM mirror' sinopia +$ sudo adduser --disabled-login --gecos 'Verdaccio NPM mirror' verdaccio ``` -You create a shell as the sinopia user using the following command: +You create a shell as the verdaccio user using the following command: ```bash -$ sudo su sinopia +$ sudo su verdaccio $ cd ~ ``` -The 'cd ~' command send you to the home directory of the sinopia user. Make sure you run sinopia at least once to generate the config file. Edit it according to your needs. +The 'cd ~' command send you to the home directory of the verdaccio user. Make sure you run verdaccio at least once to generate the config file. Edit it according to your needs. ## Listening on all addresses If you want to listen to every external address set the listen directive in the config to: @@ -21,8 +21,8 @@ If you want to listen to every external address set the listen directive in the listen: 0.0.0.0:4873 ``` -## Keeping sinopia running forever -We can use the node package called 'forever' to keep sinopia running all the time. +## Keeping verdaccio running forever +We can use the node package called 'forever' to keep verdaccio running all the time. https://github.com/nodejitsu/forever First install forever globally: @@ -30,16 +30,16 @@ First install forever globally: $ sudo npm install -g forever ``` -Make sure you've started sinopia at least once to generate the config file and write down the created admin user. You can then use the following command to start sinopia: +Make sure you've started verdaccio at least once to generate the config file and write down the created admin user. You can then use the following command to start verdaccio: ```bash -$ forever start `which sinopia` +$ forever start `which verdaccio` ``` You can check the documentation for more information on how to use forever. ## Surviving server restarts -We can use crontab and forever together to restart sinopia after a server reboot. -When you're logged in as the sinopia user do the following: +We can use crontab and forever together to restart verdaccio after a server reboot. +When you're logged in as the verdaccio user do the following: ```bash $ crontab -e @@ -48,11 +48,11 @@ $ crontab -e This might ask you to choose an editor. Pick your favorite and proceed. Add the following entry to the file: ``` -@reboot /usr/bin/forever start /usr/lib/node_modules/sinopia/bin/sinopia +@reboot /usr/bin/forever start /usr/lib/node_modules/verdaccio/bin/verdaccio ``` The locations may vary depending on your server setup. If you want to know where your files are you can use the 'which' command: ```bash $ which forever -$ which sinopia -``` \ No newline at end of file +$ which verdaccio +``` diff --git a/conf/default.yaml b/conf/default.yaml index f777708e6..fca9e122c 100644 --- a/conf/default.yaml +++ b/conf/default.yaml @@ -3,7 +3,7 @@ # so don't use it on production systems. # # Look here for more config file examples: -# https://github.com/rlidwka/sinopia/tree/master/conf +# https://github.com/verdaccio/verdaccio/tree/master/conf # # path to a directory with all packages @@ -45,5 +45,5 @@ packages: # log settings logs: - {type: stdout, format: pretty, level: http} - #- {type: file, path: sinopia.log, level: info} + #- {type: file, path: verdaccio.log, level: info} diff --git a/conf/full.yaml b/conf/full.yaml index 4cc4d4b70..430bdd6e5 100644 --- a/conf/full.yaml +++ b/conf/full.yaml @@ -17,7 +17,7 @@ web: # this has a lot of issues, e.g. no auth yet, so use at your own risk #enable: true - title: Sinopia + title: Verdaccio # logo: logo.png # template: custom.hbs @@ -78,10 +78,10 @@ packages: ##################################################################### # if you use nginx with custom path, use this to override links -#url_prefix: https://dev.company.local/sinopia/ +#url_prefix: https://dev.company.local/verdaccio/ # You can specify listen address (or simply a port). -# If you add multiple values, sinopia will listen on all of them. +# If you add multiple values, verdaccio will listen on all of them. # # Examples: # @@ -91,7 +91,7 @@ packages: # - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY) # - https://example.org:4873 # if you want to use https # - [::1]:4873 # ipv6 -# - unix:/tmp/sinopia.sock # unix socket +# - unix:/tmp/verdaccio.sock # unix socket # Configure HTTPS, it is required if you use "https" protocol above. #https: @@ -102,13 +102,13 @@ packages: # level: trace | debug | info | http (default) | warn | error | fatal # # parameters for file: name is filename -# {type: 'file', path: 'sinopia.log', level: 'debug'}, +# {type: 'file', path: 'verdaccio.log', level: 'debug'}, # # parameters for stdout and stderr: format: json | pretty # {type: 'stdout', format: 'pretty', level: 'debug'}, logs: - {type: stdout, format: pretty, level: http} - #- {type: file, path: sinopia.log, level: info} + #- {type: file, path: verdaccio.log, level: info} # you can specify proxy used with all requests in wget-like manner here # (or set up ENV variables with the same name) From 1efd94dfe659d828a99df8a8f92ebf1125c3b70a Mon Sep 17 00:00:00 2001 From: "trent.earl" Date: Sat, 20 Aug 2016 11:57:36 -0500 Subject: [PATCH 15/37] HTML title should default to verdaccio --- lib/index-web.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/index-web.js b/lib/index-web.js index cc2645037..b1b50d87d 100644 --- a/lib/index-web.js +++ b/lib/index-web.js @@ -66,7 +66,7 @@ module.exports = function(config, auth, storage) { }); next(template({ - name: config.web && config.web.title ? config.web.title : 'Sinopia', + name: config.web && config.web.title ? config.web.title : 'Verdaccio', packages: packages, baseUrl: base, username: req.remote_user.name, From b31198f685bb573f0a20758dd1f4208ba641d0d5 Mon Sep 17 00:00:00 2001 From: "trent.earl" Date: Sat, 20 Aug 2016 12:07:52 -0500 Subject: [PATCH 16/37] Tests should check for presence of title with "Verdaccio" not "Sinopia" --- test/unit/toplevel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/toplevel.js b/test/unit/toplevel.js index 4a2e3c3fe..abe05dd7a 100644 --- a/test/unit/toplevel.js +++ b/test/unit/toplevel.js @@ -39,7 +39,7 @@ describe('toplevel', function() { url: 'http://localhost:' + port + '/', }, function(err, res, body) { assert.equal(err, null) - assert(body.match(/Sinopia<\/title>/)) + assert(body.match(/<title>Verdaccio<\/title>/)) done() }) }) From 05fde696c7a061f18897419b0bc169e763fa49b8 Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Sun, 21 Aug 2016 08:58:12 -0500 Subject: [PATCH 17/37] Update dependencies --- npm-shrinkwrap.json | 3721 +++++++++++++++++++++++++++++++++---------- package.json | 2 +- 2 files changed, 2865 insertions(+), 858 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 80cc010ce..fee67bd90 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -2,132 +2,307 @@ "name": "verdaccio", "version": "1.4.0", "dependencies": { - "JSONStream": { - "version": "1.1.1", - "from": "JSONStream@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.1.1.tgz", + "abbrev": { + "version": "1.0.9", + "from": "abbrev@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" + }, + "accepts": { + "version": "1.3.3", + "from": "accepts@>=1.3.3 <1.4.0", + "resolved": "https://npm.cbzsecure.com/accepts/-/accepts-1.3.3.tgz" + }, + "acorn": { + "version": "1.2.2", + "from": "acorn@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz" + }, + "acorn-jsx": { + "version": "3.0.1", + "from": "acorn-jsx@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "dependencies": { - "jsonparse": { - "version": "1.2.0", - "from": "jsonparse@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz" - }, - "through": { - "version": "2.3.8", - "from": "through@>=2.2.7 <3.0.0", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "acorn": { + "version": "3.3.0", + "from": "acorn@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" } } }, + "ansi-escapes": { + "version": "1.4.0", + "from": "ansi-escapes@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" + }, + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + }, + "ansi-styles": { + "version": "2.2.1", + "from": "ansi-styles@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + }, + "anymatch": { + "version": "1.3.0", + "from": "anymatch@>=1.3.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/anymatch/-/anymatch-1.3.0.tgz" + }, + "argparse": { + "version": "1.0.7", + "from": "argparse@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz" + }, + "arr-diff": { + "version": "2.0.0", + "from": "arr-diff@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/arr-diff/-/arr-diff-2.0.0.tgz" + }, + "arr-flatten": { + "version": "1.0.1", + "from": "arr-flatten@>=1.0.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/arr-flatten/-/arr-flatten-1.0.1.tgz" + }, + "array-filter": { + "version": "0.0.1", + "from": "array-filter@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz" + }, + "array-find-index": { + "version": "1.0.1", + "from": "array-find-index@>=1.0.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/array-find-index/-/array-find-index-1.0.1.tgz" + }, + "array-flatten": { + "version": "1.1.1", + "from": "array-flatten@1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + }, + "array-map": { + "version": "0.0.0", + "from": "array-map@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz" + }, + "array-reduce": { + "version": "0.0.0", + "from": "array-reduce@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz" + }, + "array-union": { + "version": "1.0.2", + "from": "array-union@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + }, + "array-uniq": { + "version": "1.0.3", + "from": "array-uniq@>=1.0.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/array-uniq/-/array-uniq-1.0.3.tgz" + }, + "array-unique": { + "version": "0.2.1", + "from": "array-unique@>=0.2.1 <0.3.0", + "resolved": "https://npm.cbzsecure.com/array-unique/-/array-unique-0.2.1.tgz" + }, + "arrify": { + "version": "1.0.1", + "from": "arrify@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/arrify/-/arrify-1.0.1.tgz" + }, + "asap": { + "version": "2.0.4", + "from": "asap@>=2.0.3 <2.1.0", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz" + }, + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "asn1.js": { + "version": "4.8.0", + "from": "asn1.js@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.8.0.tgz" + }, + "assert": { + "version": "1.3.0", + "from": "assert@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.3.0.tgz" + }, + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "astw": { + "version": "2.0.0", + "from": "astw@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/astw/-/astw-2.0.0.tgz" + }, "async": { - "version": "2.0.0-rc.3", - "from": "async@>=2.0.0-rc.3 <3.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.0.0-rc.3.tgz", + "version": "2.0.1", + "from": "async@2.0.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz" + }, + "async-each": { + "version": "1.0.0", + "from": "async-each@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/async-each/-/async-each-1.0.0.tgz" + }, + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.4.1", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/aws4/-/aws4-1.4.1.tgz" + }, + "balanced-match": { + "version": "0.4.2", + "from": "balanced-match@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" + }, + "base64-js": { + "version": "1.1.2", + "from": "base64-js@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz" + }, + "binary-extensions": { + "version": "1.5.0", + "from": "binary-extensions@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/binary-extensions/-/binary-extensions-1.5.0.tgz" + }, + "bl": { + "version": "1.1.2", + "from": "bl@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "dependencies": { - "lodash": { - "version": "4.11.1", - "from": "lodash@>=4.3.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.11.1.tgz" + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@>=2.0.5 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" } } }, + "bluebird": { + "version": "3.4.1", + "from": "bluebird@>=3.3.5 <4.0.0", + "resolved": "https://npm.cbzsecure.com/bluebird/-/bluebird-3.4.1.tgz" + }, + "bn.js": { + "version": "4.11.6", + "from": "bn.js@>=4.1.1 <5.0.0", + "resolved": "https://npm.cbzsecure.com/bn.js/-/bn.js-4.11.6.tgz" + }, "body-parser": { - "version": "1.15.0", - "from": "body-parser@>=1.15.0 <2.0.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.15.0.tgz", + "version": "1.15.2", + "from": "body-parser@1.15.2", + "resolved": "https://npm.cbzsecure.com/body-parser/-/body-parser-1.15.2.tgz", "dependencies": { "bytes": { - "version": "2.2.0", - "from": "bytes@2.2.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" - }, - "content-type": { - "version": "1.0.1", - "from": "content-type@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz" - }, - "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dependencies": { - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - } - } - }, - "depd": { - "version": "1.1.0", - "from": "depd@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" - }, - "iconv-lite": { - "version": "0.4.13", - "from": "iconv-lite@0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" - }, - "on-finished": { - "version": "2.3.0", - "from": "on-finished@>=2.3.0 <2.4.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "dependencies": { - "ee-first": { - "version": "1.1.1", - "from": "ee-first@1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - } - } + "version": "2.4.0", + "from": "bytes@2.4.0", + "resolved": "https://npm.cbzsecure.com/bytes/-/bytes-2.4.0.tgz" }, "qs": { - "version": "6.1.0", - "from": "qs@6.1.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz" - }, - "raw-body": { - "version": "2.1.6", - "from": "raw-body@>=2.1.5 <2.2.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.6.tgz", - "dependencies": { - "bytes": { - "version": "2.3.0", - "from": "bytes@2.3.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz" - }, - "unpipe": { - "version": "1.0.0", - "from": "unpipe@1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - } - } - }, - "type-is": { - "version": "1.6.12", - "from": "type-is@>=1.6.11 <1.7.0", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.12.tgz", - "dependencies": { - "media-typer": { - "version": "0.3.0", - "from": "media-typer@0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - }, - "mime-types": { - "version": "2.1.10", - "from": "mime-types@>=2.1.10 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", - "dependencies": { - "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.22.0 <1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - } - } - } - } + "version": "6.2.0", + "from": "qs@6.2.0", + "resolved": "https://npm.cbzsecure.com/qs/-/qs-6.2.0.tgz" } } }, + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "brace-expansion": { + "version": "1.1.6", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" + }, + "braces": { + "version": "1.8.5", + "from": "braces@>=1.8.2 <2.0.0", + "resolved": "https://npm.cbzsecure.com/braces/-/braces-1.8.5.tgz" + }, + "brorand": { + "version": "1.0.5", + "from": "brorand@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.0.5.tgz" + }, + "browser-pack": { + "version": "6.0.1", + "from": "browser-pack@>=6.0.1 <7.0.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.1.tgz" + }, + "browser-resolve": { + "version": "1.11.2", + "from": "browser-resolve@>=1.11.0 <2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz" + }, + "browserify": { + "version": "13.1.0", + "from": "browserify@>=13.0.0 <14.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-13.1.0.tgz" + }, + "browserify-aes": { + "version": "1.0.6", + "from": "browserify-aes@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz" + }, + "browserify-cipher": { + "version": "1.0.0", + "from": "browserify-cipher@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz" + }, + "browserify-des": { + "version": "1.0.0", + "from": "browserify-des@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz" + }, + "browserify-rsa": { + "version": "4.0.1", + "from": "browserify-rsa@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz" + }, + "browserify-sign": { + "version": "4.0.0", + "from": "browserify-sign@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz" + }, + "browserify-zlib": { + "version": "0.1.4", + "from": "browserify-zlib@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz" + }, + "buffer": { + "version": "4.9.1", + "from": "buffer@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz" + }, + "buffer-shims": { + "version": "1.0.0", + "from": "buffer-shims@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/buffer-shims/-/buffer-shims-1.0.0.tgz" + }, + "buffer-xor": { + "version": "1.0.3", + "from": "buffer-xor@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" + }, + "builtin-modules": { + "version": "1.1.1", + "from": "builtin-modules@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/builtin-modules/-/builtin-modules-1.1.1.tgz" + }, + "builtin-status-codes": { + "version": "2.0.0", + "from": "builtin-status-codes@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-2.0.0.tgz" + }, "bunyan": { "version": "1.8.1", "from": "bunyan@>=1.8.0 <2.0.0", @@ -145,6 +320,11 @@ } } }, + "moment": { + "version": "2.13.0", + "from": "moment@>=2.10.6 <3.0.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.13.0.tgz" + }, "mv": { "version": "2.1.1", "from": "mv@>=2.0.0 <3.0.0", @@ -209,14 +389,94 @@ "version": "1.0.3", "from": "safe-json-stringify@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz" - }, - "moment": { - "version": "2.13.0", - "from": "moment@>=2.10.6 <3.0.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.13.0.tgz" } } }, + "bytes": { + "version": "2.2.0", + "from": "bytes@2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" + }, + "caller-path": { + "version": "0.1.0", + "from": "caller-path@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz" + }, + "callsites": { + "version": "0.2.0", + "from": "callsites@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" + }, + "camelcase": { + "version": "2.1.1", + "from": "camelcase@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/camelcase/-/camelcase-2.1.1.tgz" + }, + "camelcase-keys": { + "version": "2.1.0", + "from": "camelcase-keys@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz" + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + }, + "chalk": { + "version": "1.1.3", + "from": "chalk@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + }, + "chokidar": { + "version": "1.6.0", + "from": "chokidar@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/chokidar/-/chokidar-1.6.0.tgz" + }, + "cipher-base": { + "version": "1.0.2", + "from": "cipher-base@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.2.tgz" + }, + "circular-json": { + "version": "0.3.1", + "from": "circular-json@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz" + }, + "cli-cursor": { + "version": "1.0.2", + "from": "cli-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" + }, + "cli-width": { + "version": "2.1.0", + "from": "cli-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz" + }, + "code-point-at": { + "version": "1.0.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/code-point-at/-/code-point-at-1.0.0.tgz" + }, + "coffee-script": { + "version": "1.10.0", + "from": "coffee-script@>=1.10.0 <1.11.0", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz" + }, + "colors": { + "version": "1.1.2", + "from": "colors@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz" + }, + "combine-source-map": { + "version": "0.7.2", + "from": "combine-source-map@>=0.7.1 <0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + }, "commander": { "version": "2.9.0", "from": "commander@>=2.9.0 <3.0.0", @@ -229,76 +489,74 @@ } } }, + "compressible": { + "version": "2.0.8", + "from": "compressible@>=2.0.8 <2.1.0", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.8.tgz" + }, "compression": { - "version": "1.6.1", - "from": "compression@>=1.6.1 <2.0.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.1.tgz", + "version": "1.6.2", + "from": "compression@1.6.2", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.2.tgz", "dependencies": { - "accepts": { - "version": "1.3.2", - "from": "accepts@>=1.3.1 <1.4.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.2.tgz", - "dependencies": { - "mime-types": { - "version": "2.1.10", - "from": "mime-types@>=2.1.10 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", - "dependencies": { - "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.22.0 <1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - } - } - }, - "negotiator": { - "version": "0.6.0", - "from": "negotiator@0.6.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.0.tgz" - } - } - }, "bytes": { - "version": "2.2.0", - "from": "bytes@2.2.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" - }, - "compressible": { - "version": "2.0.7", - "from": "compressible@>=2.0.7 <2.1.0", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.7.tgz", - "dependencies": { - "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.21.0 <2.0.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - } - } - }, - "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dependencies": { - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - } - } - }, - "on-headers": { - "version": "1.0.1", - "from": "on-headers@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz" - }, - "vary": { - "version": "1.1.0", - "from": "vary@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz" + "version": "2.3.0", + "from": "bytes@2.3.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz" } } }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + }, + "concat-stream": { + "version": "1.5.1", + "from": "concat-stream@>=1.5.1 <1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@>=2.0.0 <2.1.0" + } + } + }, + "console-browserify": { + "version": "1.1.0", + "from": "console-browserify@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz" + }, + "constants-browserify": { + "version": "1.0.0", + "from": "constants-browserify@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" + }, + "content-disposition": { + "version": "0.5.1", + "from": "content-disposition@0.5.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz" + }, + "content-type": { + "version": "1.0.2", + "from": "content-type@>=1.0.1 <1.1.0", + "resolved": "https://npm.cbzsecure.com/content-type/-/content-type-1.0.2.tgz" + }, + "convert-source-map": { + "version": "1.1.3", + "from": "convert-source-map@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz" + }, + "cookie": { + "version": "0.3.1", + "from": "cookie@0.3.1", + "resolved": "https://npm.cbzsecure.com/cookie/-/cookie-0.3.1.tgz" + }, + "cookie-signature": { + "version": "1.0.6", + "from": "cookie-signature@1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + }, "cookies": { "version": "0.6.1", "from": "cookies@>=0.6.1 <0.7.0", @@ -316,245 +574,1197 @@ } } }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "create-ecdh": { + "version": "4.0.0", + "from": "create-ecdh@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz" + }, + "create-hash": { + "version": "1.1.2", + "from": "create-hash@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz" + }, + "create-hmac": { + "version": "1.1.4", + "from": "create-hmac@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "crypto-browserify": { + "version": "3.11.0", + "from": "crypto-browserify@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz" + }, + "currently-unhandled": { + "version": "0.4.1", + "from": "currently-unhandled@>=0.4.1 <0.5.0", + "resolved": "https://npm.cbzsecure.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + }, + "d": { + "version": "0.1.1", + "from": "d@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" + }, + "dashdash": { + "version": "1.14.0", + "from": "dashdash@>=1.12.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/dashdash/-/dashdash-1.14.0.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, + "date-now": { + "version": "0.1.4", + "from": "date-now@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz" + }, + "dateformat": { + "version": "1.0.12", + "from": "dateformat@>=1.0.12 <1.1.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz" + }, + "debug": { + "version": "2.2.0", + "from": "debug@>=2.1.1 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" + }, + "decamelize": { + "version": "1.2.0", + "from": "decamelize@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + }, + "deep-is": { + "version": "0.1.3", + "from": "deep-is@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" + }, + "defined": { + "version": "1.0.0", + "from": "defined@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/defined/-/defined-1.0.0.tgz" + }, + "del": { + "version": "2.2.2", + "from": "del@>=2.0.2 <3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz" + }, + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + }, + "depd": { + "version": "1.1.0", + "from": "depd@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" + }, + "deps-sort": { + "version": "2.0.0", + "from": "deps-sort@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz" + }, + "des.js": { + "version": "1.0.0", + "from": "des.js@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz" + }, + "destroy": { + "version": "1.0.4", + "from": "destroy@>=1.0.4 <1.1.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + }, + "detective": { + "version": "4.3.1", + "from": "detective@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.3.1.tgz" + }, + "diff": { + "version": "1.4.0", + "from": "diff@1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz" + }, + "diffie-hellman": { + "version": "5.0.2", + "from": "diffie-hellman@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz" + }, + "doctrine": { + "version": "1.2.3", + "from": "doctrine@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.3.tgz" + }, + "domain-browser": { + "version": "1.1.7", + "from": "domain-browser@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz" + }, + "duplexer2": { + "version": "0.1.4", + "from": "duplexer2@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + }, + "ee-first": { + "version": "1.1.1", + "from": "ee-first@1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + }, + "elliptic": { + "version": "6.3.1", + "from": "elliptic@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.1.tgz" + }, + "encodeurl": { + "version": "1.0.1", + "from": "encodeurl@>=1.0.1 <1.1.0", + "resolved": "https://npm.cbzsecure.com/encodeurl/-/encodeurl-1.0.1.tgz" + }, + "errno": { + "version": "0.1.4", + "from": "errno@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz" + }, + "error-ex": { + "version": "1.3.0", + "from": "error-ex@>=1.2.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/error-ex/-/error-ex-1.3.0.tgz" + }, + "es5-ext": { + "version": "0.10.12", + "from": "es5-ext@>=0.10.11 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" + }, + "es6-iterator": { + "version": "2.0.0", + "from": "es6-iterator@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" + }, + "es6-map": { + "version": "0.1.4", + "from": "es6-map@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz" + }, + "es6-set": { + "version": "0.1.4", + "from": "es6-set@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz" + }, "es6-shim": { - "version": "0.35.0", - "from": "es6-shim@>=0.35.0 <0.36.0", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.0.tgz" + "version": "0.35.1", + "from": "es6-shim@0.35.1", + "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.1.tgz" + }, + "es6-symbol": { + "version": "3.1.0", + "from": "es6-symbol@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" + }, + "es6-weak-map": { + "version": "2.0.1", + "from": "es6-weak-map@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz" + }, + "escape-html": { + "version": "1.0.3", + "from": "escape-html@>=1.0.3 <1.1.0", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + }, + "escope": { + "version": "3.6.0", + "from": "escope@>=3.6.0 <4.0.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" + }, + "espree": { + "version": "3.1.7", + "from": "espree@>=3.1.6 <4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz", + "dependencies": { + "acorn": { + "version": "3.3.0", + "from": "acorn@>=3.3.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" + } + } + }, + "esprima": { + "version": "2.7.2", + "from": "esprima@>=2.6.0 <3.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" + }, + "esrecurse": { + "version": "4.1.0", + "from": "esrecurse@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", + "dependencies": { + "estraverse": { + "version": "4.1.1", + "from": "estraverse@>=4.1.0 <4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz" + } + } + }, + "estraverse": { + "version": "4.2.0", + "from": "estraverse@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" + }, + "esutils": { + "version": "2.0.2", + "from": "esutils@>=2.0.2 <3.0.0", + "resolved": "https://npm.cbzsecure.com/esutils/-/esutils-2.0.2.tgz" + }, + "etag": { + "version": "1.7.0", + "from": "etag@>=1.7.0 <1.8.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" + }, + "event-emitter": { + "version": "0.3.4", + "from": "event-emitter@>=0.3.4 <0.4.0", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" + }, + "eventemitter2": { + "version": "0.4.14", + "from": "eventemitter2@>=0.4.13 <0.5.0", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz" + }, + "events": { + "version": "1.1.1", + "from": "events@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz" + }, + "evp_bytestokey": { + "version": "1.0.0", + "from": "evp_bytestokey@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz" + }, + "exit": { + "version": "0.1.2", + "from": "exit@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + }, + "exit-hook": { + "version": "1.1.1", + "from": "exit-hook@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" + }, + "expand-brackets": { + "version": "0.1.5", + "from": "expand-brackets@>=0.1.4 <0.2.0", + "resolved": "https://npm.cbzsecure.com/expand-brackets/-/expand-brackets-0.1.5.tgz" + }, + "expand-range": { + "version": "1.8.2", + "from": "expand-range@>=1.8.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/expand-range/-/expand-range-1.8.2.tgz" }, "express": { - "version": "4.13.4", - "from": "express@>=4.13.4 <5.0.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.13.4.tgz", + "version": "4.14.0", + "from": "express@4.14.0", + "resolved": "https://npm.cbzsecure.com/express/-/express-4.14.0.tgz", "dependencies": { - "accepts": { - "version": "1.2.13", - "from": "accepts@>=1.2.12 <1.3.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz", + "qs": { + "version": "6.2.0", + "from": "qs@6.2.0" + } + } + }, + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "extglob": { + "version": "0.3.2", + "from": "extglob@>=0.3.1 <0.4.0", + "resolved": "https://npm.cbzsecure.com/extglob/-/extglob-0.3.2.tgz" + }, + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "fast-levenshtein": { + "version": "1.1.4", + "from": "fast-levenshtein@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz" + }, + "faye-websocket": { + "version": "0.10.0", + "from": "faye-websocket@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz" + }, + "figures": { + "version": "1.7.0", + "from": "figures@>=1.3.5 <2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + }, + "file-entry-cache": { + "version": "1.3.1", + "from": "file-entry-cache@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz" + }, + "filename-regex": { + "version": "2.0.0", + "from": "filename-regex@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/filename-regex/-/filename-regex-2.0.0.tgz" + }, + "fill-range": { + "version": "2.2.3", + "from": "fill-range@>=2.1.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/fill-range/-/fill-range-2.2.3.tgz" + }, + "finalhandler": { + "version": "0.5.0", + "from": "finalhandler@0.5.0", + "resolved": "https://npm.cbzsecure.com/finalhandler/-/finalhandler-0.5.0.tgz" + }, + "find-up": { + "version": "1.1.2", + "from": "find-up@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + }, + "findup-sync": { + "version": "0.3.0", + "from": "findup-sync@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz" + }, + "flat-cache": { + "version": "1.2.1", + "from": "flat-cache@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.1.tgz" + }, + "for-in": { + "version": "0.1.5", + "from": "for-in@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.5.tgz" + }, + "for-own": { + "version": "0.1.4", + "from": "for-own@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "1.0.0-rc4", + "from": "form-data@>=1.0.0-rc4 <1.1.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", + "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + } + } + }, + "forwarded": { + "version": "0.1.0", + "from": "forwarded@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" + }, + "fresh": { + "version": "0.3.0", + "from": "fresh@0.3.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" + }, + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/fs.realpath/-/fs.realpath-1.0.0.tgz" + }, + "fsevents": { + "version": "1.0.14", + "from": "fsevents@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.14.tgz", + "dependencies": { + "abbrev": { + "version": "1.0.9", + "from": "abbrev@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" + }, + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + }, + "ansi-styles": { + "version": "2.2.1", + "from": "ansi-styles@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + }, + "aproba": { + "version": "1.0.4", + "from": "aproba@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz" + }, + "are-we-there-yet": { + "version": "1.1.2", + "from": "are-we-there-yet@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" + }, + "asn1": { + "version": "0.2.3", + "from": "asn1@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "async": { + "version": "1.5.2", + "from": "async@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + }, + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.4.1", + "from": "aws4@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz" + }, + "balanced-match": { + "version": "0.4.2", + "from": "balanced-match@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" + }, + "bl": { + "version": "1.1.2", + "from": "bl@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", "dependencies": { - "mime-types": { - "version": "2.1.10", - "from": "mime-types@>=2.1.6 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", - "dependencies": { - "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.22.0 <1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - } - } - }, - "negotiator": { - "version": "0.5.3", - "from": "negotiator@0.5.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz" + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@>=2.0.5 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" } } }, - "array-flatten": { - "version": "1.1.1", - "from": "array-flatten@1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + "block-stream": { + "version": "0.0.9", + "from": "block-stream@*", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" }, - "content-disposition": { - "version": "0.5.1", - "from": "content-disposition@0.5.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz" + "boom": { + "version": "2.10.1", + "from": "boom@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" }, - "content-type": { - "version": "1.0.1", - "from": "content-type@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz" + "brace-expansion": { + "version": "1.1.5", + "from": "brace-expansion@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz" }, - "cookie": { - "version": "0.1.5", - "from": "cookie@0.1.5", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.5.tgz" + "buffer-shims": { + "version": "1.0.0", + "from": "buffer-shims@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" }, - "cookie-signature": { - "version": "1.0.6", - "from": "cookie-signature@1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + "caseless": { + "version": "0.11.0", + "from": "caseless@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + }, + "chalk": { + "version": "1.1.3", + "from": "chalk@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + }, + "code-point-at": { + "version": "1.0.0", + "from": "code-point-at@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" + }, + "commander": { + "version": "2.9.0", + "from": "commander@>=2.9.0 <3.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + }, + "console-control-strings": { + "version": "1.1.0", + "from": "console-control-strings@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "dashdash": { + "version": "1.14.0", + "from": "dashdash@>=1.12.0 <2.0.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } }, "debug": { "version": "2.2.0", "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dependencies": { - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - } - } + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" }, - "depd": { - "version": "1.1.0", - "from": "depd@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" - }, - "escape-html": { - "version": "1.0.3", - "from": "escape-html@>=1.0.3 <1.1.0", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - }, - "etag": { - "version": "1.7.0", - "from": "etag@>=1.7.0 <1.8.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" - }, - "finalhandler": { + "deep-extend": { "version": "0.4.1", - "from": "finalhandler@0.4.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz", - "dependencies": { - "unpipe": { - "version": "1.0.0", - "from": "unpipe@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - } - } + "from": "deep-extend@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" }, - "fresh": { - "version": "0.3.0", - "from": "fresh@0.3.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" }, - "merge-descriptors": { - "version": "1.0.1", - "from": "merge-descriptors@1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + "delegates": { + "version": "1.0.0", + "from": "delegates@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" }, - "methods": { - "version": "1.1.2", - "from": "methods@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" }, - "on-finished": { - "version": "2.3.0", - "from": "on-finished@>=2.3.0 <2.4.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "dependencies": { - "ee-first": { - "version": "1.1.1", - "from": "ee-first@1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - } - } + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" }, - "parseurl": { - "version": "1.3.1", - "from": "parseurl@>=1.3.1 <1.4.0", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <3.1.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" }, - "path-to-regexp": { - "version": "0.1.7", - "from": "path-to-regexp@0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" }, - "proxy-addr": { + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@>=0.6.1 <0.7.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "1.0.0-rc4", + "from": "form-data@>=1.0.0-rc4 <1.1.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz" + }, + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + }, + "fstream": { "version": "1.0.10", - "from": "proxy-addr@>=1.0.10 <1.1.0", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz", + "from": "fstream@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz" + }, + "fstream-ignore": { + "version": "1.0.5", + "from": "fstream-ignore@>=1.0.5 <1.1.0", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz" + }, + "gauge": { + "version": "2.6.0", + "from": "gauge@>=2.6.0 <2.7.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz" + }, + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" + }, + "getpass": { + "version": "0.1.6", + "from": "getpass@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", "dependencies": { - "forwarded": { - "version": "0.1.0", - "from": "forwarded@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" - }, - "ipaddr.js": { - "version": "1.0.5", - "from": "ipaddr.js@1.0.5", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz" + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" } } }, + "glob": { + "version": "7.0.5", + "from": "glob@>=7.0.5 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" + }, + "graceful-fs": { + "version": "4.1.4", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" + }, + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>=1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + }, + "has-color": { + "version": "0.1.7", + "from": "has-color@>=0.1.7 <0.2.0", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" + }, + "has-unicode": { + "version": "2.0.1", + "from": "has-unicode@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.3 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" + }, + "inflight": { + "version": "1.0.5", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "ini": { + "version": "1.3.4", + "from": "ini@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + }, + "is-my-json-valid": { + "version": "2.13.1", + "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" + }, + "is-property": { + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "json-schema": { + "version": "0.2.2", + "from": "json-schema@0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "jsonpointer": { + "version": "2.0.0", + "from": "jsonpointer@2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" + }, + "jsprim": { + "version": "1.3.0", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz" + }, + "mime-db": { + "version": "1.23.0", + "from": "mime-db@>=1.23.0 <1.24.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" + }, + "mime-types": { + "version": "2.1.11", + "from": "mime-types@>=2.1.7 <2.2.0", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" + }, + "minimatch": { + "version": "3.0.2", + "from": "minimatch@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz" + }, + "minimist": { + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + }, + "mkdirp": { + "version": "0.5.1", + "from": "mkdirp@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + }, + "node-pre-gyp": { + "version": "0.6.29", + "from": "node-pre-gyp@>=0.6.29 <0.7.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz" + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@>=1.4.7 <1.5.0", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@>=3.0.1 <3.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + }, + "npmlog": { + "version": "3.1.2", + "from": "npmlog@>=3.1.2 <3.2.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz" + }, + "number-is-nan": { + "version": "1.0.0", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + }, + "oauth-sign": { + "version": "0.8.2", + "from": "oauth-sign@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" + }, + "object-assign": { + "version": "4.1.0", + "from": "object-assign@>=4.1.0 <5.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + }, + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + }, + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, "qs": { - "version": "4.0.0", - "from": "qs@4.0.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz" + "version": "6.2.0", + "from": "qs@>=6.2.0 <6.3.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz" }, - "range-parser": { - "version": "1.0.3", - "from": "range-parser@>=1.0.3 <1.1.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz" - }, - "send": { - "version": "0.13.1", - "from": "send@0.13.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.13.1.tgz", + "rc": { + "version": "1.1.6", + "from": "rc@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", "dependencies": { - "destroy": { - "version": "1.0.4", - "from": "destroy@>=1.0.4 <1.1.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" - }, - "http-errors": { - "version": "1.3.1", - "from": "http-errors@>=1.3.1 <1.4.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "dependencies": { - "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - } - } - }, - "mime": { - "version": "1.3.4", - "from": "mime@1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - }, - "statuses": { - "version": "1.2.1", - "from": "statuses@>=1.2.1 <1.3.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz" + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" } } }, - "serve-static": { - "version": "1.10.2", - "from": "serve-static@>=1.10.2 <1.11.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.2.tgz" + "readable-stream": { + "version": "2.1.4", + "from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz" }, - "type-is": { - "version": "1.6.12", - "from": "type-is@>=1.6.6 <1.7.0", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.12.tgz", + "request": { + "version": "2.73.0", + "from": "request@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz" + }, + "rimraf": { + "version": "2.5.3", + "from": "rimraf@>=2.5.0 <2.6.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz" + }, + "semver": { + "version": "5.2.0", + "from": "semver@>=5.2.0 <5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz" + }, + "set-blocking": { + "version": "2.0.0", + "from": "set-blocking@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + }, + "signal-exit": { + "version": "3.0.0", + "from": "signal-exit@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + }, + "sshpk": { + "version": "1.8.3", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", "dependencies": { - "media-typer": { - "version": "0.3.0", - "from": "media-typer@0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - }, - "mime-types": { - "version": "2.1.10", - "from": "mime-types@>=2.1.6 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", - "dependencies": { - "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.22.0 <1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - } - } + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" } } }, - "utils-merge": { - "version": "1.0.0", - "from": "utils-merge@1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, - "vary": { + "string-width": { "version": "1.0.1", - "from": "vary@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz" + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@>=3.0.1 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "strip-json-comments": { + "version": "1.0.4", + "from": "strip-json-comments@>=1.0.4 <1.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + }, + "tar": { + "version": "2.2.1", + "from": "tar@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" + }, + "tar-pack": { + "version": "3.1.4", + "from": "tar-pack@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz" + }, + "tough-cookie": { + "version": "2.2.2", + "from": "tough-cookie@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" + }, + "tunnel-agent": { + "version": "0.4.3", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" + }, + "tweetnacl": { + "version": "0.13.3", + "from": "tweetnacl@>=0.13.0 <0.14.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" + }, + "uid-number": { + "version": "0.0.6", + "from": "uid-number@>=0.0.6 <0.1.0", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + }, + "wide-align": { + "version": "1.1.0", + "from": "wide-align@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz" + }, + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + }, + "function-bind": { + "version": "1.1.0", + "from": "function-bind@>=1.0.2 <2.0.0", + "resolved": "https://npm.cbzsecure.com/function-bind/-/function-bind-1.1.0.tgz" + }, + "gaze": { + "version": "1.1.1", + "from": "gaze@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.1.tgz" + }, + "generate-function": { + "version": "2.0.0", + "from": "generate-function@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" + }, + "get-stdin": { + "version": "4.0.1", + "from": "get-stdin@>=4.0.1 <5.0.0", + "resolved": "https://npm.cbzsecure.com/get-stdin/-/get-stdin-4.0.1.tgz" + }, + "getobject": { + "version": "0.1.0", + "from": "getobject@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz" + }, + "getpass": { + "version": "0.1.6", + "from": "getpass@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, + "glob": { + "version": "5.0.15", + "from": "glob@>=5.0.15 <6.0.0", + "resolved": "https://npm.cbzsecure.com/glob/-/glob-5.0.15.tgz" + }, + "glob-base": { + "version": "0.3.0", + "from": "glob-base@>=0.3.0 <0.4.0", + "resolved": "https://npm.cbzsecure.com/glob-base/-/glob-base-0.3.0.tgz" + }, + "glob-parent": { + "version": "2.0.0", + "from": "glob-parent@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/glob-parent/-/glob-parent-2.0.0.tgz" + }, + "globals": { + "version": "9.9.0", + "from": "globals@>=9.2.0 <10.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.9.0.tgz" + }, + "globby": { + "version": "5.0.0", + "from": "globby@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "dependencies": { + "glob": { + "version": "7.0.5", + "from": "glob@>=7.0.3 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" + }, + "minimatch": { + "version": "3.0.3", + "from": "minimatch@>=3.0.2 <4.0.0", + "resolved": "https://npm.cbzsecure.com/minimatch/-/minimatch-3.0.3.tgz" + } + } + }, + "globule": { + "version": "1.0.0", + "from": "globule@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", + "dependencies": { + "glob": { + "version": "7.0.5", + "from": "glob@>=7.0.3 <7.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", + "dependencies": { + "minimatch": { + "version": "3.0.3", + "from": "minimatch@>=3.0.2 <4.0.0" + } + } + }, + "lodash": { + "version": "4.9.0", + "from": "lodash@>=4.9.0 <4.10.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz" + } + } + }, + "graceful-fs": { + "version": "4.1.6", + "from": "graceful-fs@>=4.1.2 <5.0.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz" + }, + "growl": { + "version": "1.9.2", + "from": "growl@1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz" + }, + "grunt-cli": { + "version": "1.2.0", + "from": "grunt-cli@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz" + }, + "grunt-known-options": { + "version": "1.1.0", + "from": "grunt-known-options@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz" + }, + "grunt-legacy-log": { + "version": "1.0.0", + "from": "grunt-legacy-log@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", + "dependencies": { + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.10.1 <3.11.0", + "resolved": "https://npm.cbzsecure.com/lodash/-/lodash-3.10.1.tgz" + } + } + }, + "grunt-legacy-log-utils": { + "version": "1.0.0", + "from": "grunt-legacy-log-utils@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", + "dependencies": { + "lodash": { + "version": "4.3.0", + "from": "lodash@>=4.3.0 <4.4.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz" + } + } + }, + "grunt-legacy-util": { + "version": "1.0.0", + "from": "grunt-legacy-util@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", + "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.5.2 <1.6.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" + }, + "lodash": { + "version": "4.3.0", + "from": "lodash@>=4.3.0 <4.4.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz" } } }, @@ -573,15 +1783,15 @@ "from": "optimist@>=0.6.1 <0.7.0", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "dependencies": { - "wordwrap": { - "version": "0.0.3", - "from": "wordwrap@>=0.0.2 <0.1.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" - }, "minimist": { "version": "0.0.10", "from": "minimist@>=0.0.1 <0.1.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" + }, + "wordwrap": { + "version": "0.0.3", + "from": "wordwrap@>=0.0.2 <0.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" } } }, @@ -732,25 +1942,280 @@ } } }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@>=2.0.6 <2.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" + }, + "has": { + "version": "1.0.1", + "from": "has@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/has/-/has-1.0.1.tgz" + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + }, + "hash.js": { + "version": "1.0.3", + "from": "hash.js@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz" + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@>=3.1.3 <3.2.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" + }, "highlight.js": { - "version": "9.3.0", - "from": "highlight.js@>=9.3.0 <10.0.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.3.0.tgz" + "version": "9.6.0", + "from": "highlight.js@9.6.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.6.0.tgz" + }, + "hoek": { + "version": "2.16.3", + "from": "hoek@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "hooker": { + "version": "0.2.3", + "from": "hooker@>=0.2.3 <0.3.0", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" + }, + "hosted-git-info": { + "version": "2.1.5", + "from": "hosted-git-info@>=2.1.4 <3.0.0", + "resolved": "https://npm.cbzsecure.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz" + }, + "htmlescape": { + "version": "1.1.1", + "from": "htmlescape@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz" }, "http-errors": { - "version": "1.4.0", - "from": "http-errors@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz", + "version": "1.5.0", + "from": "http-errors@1.5.0", + "resolved": "https://npm.cbzsecure.com/http-errors/-/http-errors-1.5.0.tgz" + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" + }, + "https-browserify": { + "version": "0.0.1", + "from": "https-browserify@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz" + }, + "iconv-lite": { + "version": "0.4.13", + "from": "iconv-lite@>=0.4.13 <0.5.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" + }, + "ieee754": { + "version": "1.1.6", + "from": "ieee754@>=1.1.4 <2.0.0", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.6.tgz" + }, + "ignore": { + "version": "3.1.5", + "from": "ignore@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.1.5.tgz" + }, + "image-size": { + "version": "0.5.0", + "from": "image-size@>=0.5.0 <0.6.0", + "resolved": "https://npm.cbzsecure.com/image-size/-/image-size-0.5.0.tgz" + }, + "imurmurhash": { + "version": "0.1.4", + "from": "imurmurhash@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + }, + "indent-string": { + "version": "2.1.0", + "from": "indent-string@>=2.1.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/indent-string/-/indent-string-2.1.0.tgz" + }, + "indexof": { + "version": "0.0.1", + "from": "indexof@0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz" + }, + "inflight": { + "version": "1.0.5", + "from": "inflight@>=1.0.4 <2.0.0", + "resolved": "https://npm.cbzsecure.com/inflight/-/inflight-1.0.5.tgz" + }, + "inherits": { + "version": "2.0.1", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + }, + "inline-source-map": { + "version": "0.6.2", + "from": "inline-source-map@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz" + }, + "inquirer": { + "version": "0.12.0", + "from": "inquirer@>=0.12.0 <0.13.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz" + }, + "insert-module-globals": { + "version": "7.0.1", + "from": "insert-module-globals@>=7.0.0 <8.0.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz" + }, + "ipaddr.js": { + "version": "1.1.1", + "from": "ipaddr.js@1.1.1", + "resolved": "https://npm.cbzsecure.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz" + }, + "is-arrayish": { + "version": "0.2.1", + "from": "is-arrayish@>=0.2.1 <0.3.0", + "resolved": "https://npm.cbzsecure.com/is-arrayish/-/is-arrayish-0.2.1.tgz" + }, + "is-binary-path": { + "version": "1.0.1", + "from": "is-binary-path@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/is-binary-path/-/is-binary-path-1.0.1.tgz" + }, + "is-buffer": { + "version": "1.1.4", + "from": "is-buffer@>=1.1.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/is-buffer/-/is-buffer-1.1.4.tgz" + }, + "is-builtin-module": { + "version": "1.0.0", + "from": "is-builtin-module@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz" + }, + "is-dotfile": { + "version": "1.0.2", + "from": "is-dotfile@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/is-dotfile/-/is-dotfile-1.0.2.tgz" + }, + "is-equal-shallow": { + "version": "0.1.3", + "from": "is-equal-shallow@>=0.1.3 <0.2.0", + "resolved": "https://npm.cbzsecure.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" + }, + "is-extendable": { + "version": "0.1.1", + "from": "is-extendable@>=0.1.1 <0.2.0", + "resolved": "https://npm.cbzsecure.com/is-extendable/-/is-extendable-0.1.1.tgz" + }, + "is-extglob": { + "version": "1.0.0", + "from": "is-extglob@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/is-extglob/-/is-extglob-1.0.0.tgz" + }, + "is-finite": { + "version": "1.0.1", + "from": "is-finite@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/is-finite/-/is-finite-1.0.1.tgz" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + }, + "is-glob": { + "version": "2.0.1", + "from": "is-glob@>=2.0.1 <3.0.0", + "resolved": "https://npm.cbzsecure.com/is-glob/-/is-glob-2.0.1.tgz" + }, + "is-my-json-valid": { + "version": "2.13.1", + "from": "is-my-json-valid@>=2.10.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" + }, + "is-number": { + "version": "2.1.0", + "from": "is-number@>=2.1.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/is-number/-/is-number-2.1.0.tgz" + }, + "is-path-cwd": { + "version": "1.0.0", + "from": "is-path-cwd@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" + }, + "is-path-in-cwd": { + "version": "1.0.0", + "from": "is-path-in-cwd@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz" + }, + "is-path-inside": { + "version": "1.0.0", + "from": "is-path-inside@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" + }, + "is-posix-bracket": { + "version": "0.1.1", + "from": "is-posix-bracket@>=0.1.0 <0.2.0", + "resolved": "https://npm.cbzsecure.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" + }, + "is-primitive": { + "version": "2.0.0", + "from": "is-primitive@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/is-primitive/-/is-primitive-2.0.0.tgz" + }, + "is-property": { + "version": "1.0.2", + "from": "is-property@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + }, + "is-resolvable": { + "version": "1.0.0", + "from": "is-resolvable@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz" + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "is-utf8": { + "version": "0.2.1", + "from": "is-utf8@>=0.2.0 <0.3.0", + "resolved": "https://npm.cbzsecure.com/is-utf8/-/is-utf8-0.2.1.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "isexe": { + "version": "1.1.2", + "from": "isexe@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" + }, + "isobject": { + "version": "2.1.0", + "from": "isobject@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/isobject/-/isobject-2.1.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@>=0.1.2 <0.2.0", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "jade": { + "version": "0.26.3", + "from": "jade@0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", "dependencies": { - "inherits": { - "version": "2.0.1", - "from": "inherits@2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "commander": { + "version": "0.6.1", + "from": "commander@0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" }, - "statuses": { - "version": "1.2.1", - "from": "statuses@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz" + "mkdirp": { + "version": "0.3.0", + "from": "mkdirp@0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" } } }, @@ -759,63 +2224,197 @@ "from": "jju@>=1.3.0 <2.0.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz" }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, "js-yaml": { - "version": "3.6.0", - "from": "js-yaml@>=3.6.0 <4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.0.tgz", + "version": "3.6.1", + "from": "js-yaml@3.6.1", + "resolved": "https://npm.cbzsecure.com/js-yaml/-/js-yaml-3.6.1.tgz" + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "json-schema": { + "version": "0.2.2", + "from": "json-schema@0.2.2", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" + }, + "json-stable-stringify": { + "version": "0.0.1", + "from": "json-stable-stringify@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "jsonify": { + "version": "0.0.0", + "from": "jsonify@>=0.0.0 <0.1.0", + "resolved": "https://npm.cbzsecure.com/jsonify/-/jsonify-0.0.0.tgz" + }, + "jsonparse": { + "version": "1.2.0", + "from": "jsonparse@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz" + }, + "jsonpointer": { + "version": "2.0.0", + "from": "jsonpointer@2.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" + }, + "JSONStream": { + "version": "1.1.4", + "from": "JSONStream@1.1.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.1.4.tgz" + }, + "jsprim": { + "version": "1.3.0", + "from": "jsprim@>=1.2.2 <2.0.0", + "resolved": "https://npm.cbzsecure.com/jsprim/-/jsprim-1.3.0.tgz" + }, + "kind-of": { + "version": "3.0.4", + "from": "kind-of@>=3.0.2 <4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz" + }, + "labeled-stream-splicer": { + "version": "2.0.0", + "from": "labeled-stream-splicer@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz", "dependencies": { - "argparse": { - "version": "1.0.7", - "from": "argparse@>=1.0.7 <2.0.0", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "from": "sprintf-js@>=1.0.2 <1.1.0", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - } - } - }, - "esprima": { - "version": "2.7.2", - "from": "esprima@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" + "isarray": { + "version": "0.0.1", + "from": "isarray@>=0.0.1 <0.1.0", + "resolved": "https://npm.cbzsecure.com/isarray/-/isarray-0.0.1.tgz" } } }, + "less": { + "version": "2.7.1", + "from": "less@>=2.7.1 <2.8.0", + "resolved": "https://npm.cbzsecure.com/less/-/less-2.7.1.tgz" + }, + "levn": { + "version": "0.3.0", + "from": "levn@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + }, + "lexical-scope": { + "version": "1.2.0", + "from": "lexical-scope@>=1.2.0 <2.0.0", + "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz" + }, + "livereload-js": { + "version": "2.2.2", + "from": "livereload-js@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz" + }, + "load-json-file": { + "version": "1.1.0", + "from": "load-json-file@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/load-json-file/-/load-json-file-1.1.0.tgz" + }, "lockfile": { "version": "1.0.1", "from": "lockfile@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz" }, + "lodash": { + "version": "4.15.0", + "from": "lodash@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz" + }, + "lodash.memoize": { + "version": "3.0.4", + "from": "lodash.memoize@>=3.0.3 <3.1.0", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz" + }, + "loud-rejection": { + "version": "1.6.0", + "from": "loud-rejection@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" + }, + "lru-cache": { + "version": "2.7.3", + "from": "lru-cache@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/lru-cache/-/lru-cache-2.7.3.tgz" + }, "lunr": { - "version": "0.7.0", - "from": "lunr@>=0.7.0 <0.8.0", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-0.7.0.tgz" + "version": "0.7.1", + "from": "lunr@0.7.1", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-0.7.1.tgz" + }, + "map-obj": { + "version": "1.0.1", + "from": "map-obj@>=1.0.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/map-obj/-/map-obj-1.0.1.tgz" + }, + "media-typer": { + "version": "0.3.0", + "from": "media-typer@0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + }, + "meow": { + "version": "3.7.0", + "from": "meow@>=3.3.0 <4.0.0", + "resolved": "https://npm.cbzsecure.com/meow/-/meow-3.7.0.tgz" + }, + "merge-descriptors": { + "version": "1.0.1", + "from": "merge-descriptors@1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + }, + "methods": { + "version": "1.1.2", + "from": "methods@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + }, + "micromatch": { + "version": "2.3.11", + "from": "micromatch@>=2.1.5 <3.0.0", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" + }, + "miller-rabin": { + "version": "4.0.0", + "from": "miller-rabin@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz" + }, + "mime": { + "version": "1.3.4", + "from": "mime@>=1.2.11 <2.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" + }, + "mime-db": { + "version": "1.23.0", + "from": "mime-db@>=1.23.0 <1.24.0", + "resolved": "https://npm.cbzsecure.com/mime-db/-/mime-db-1.23.0.tgz" + }, + "mime-types": { + "version": "2.1.11", + "from": "mime-types@>=2.1.11 <2.2.0", + "resolved": "https://npm.cbzsecure.com/mime-types/-/mime-types-2.1.11.tgz" + }, + "minimalistic-assert": { + "version": "1.0.0", + "from": "minimalistic-assert@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz" }, "minimatch": { - "version": "3.0.0", - "from": "minimatch@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", - "dependencies": { - "brace-expansion": { - "version": "1.1.3", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz", - "dependencies": { - "balanced-match": { - "version": "0.3.0", - "from": "balanced-match@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz" - }, - "concat-map": { - "version": "0.0.1", - "from": "concat-map@0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - } - } - } - } + "version": "3.0.3", + "from": "minimatch@3.0.3", + "resolved": "https://npm.cbzsecure.com/minimatch/-/minimatch-3.0.3.tgz" + }, + "minimist": { + "version": "1.2.0", + "from": "minimist@>=1.1.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/minimist/-/minimist-1.2.0.tgz" }, "mkdirp": { "version": "0.5.1", @@ -829,53 +2428,354 @@ } } }, + "module-deps": { + "version": "4.0.7", + "from": "module-deps@>=4.0.2 <5.0.0", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.0.7.tgz" + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + }, + "mute-stream": { + "version": "0.0.5", + "from": "mute-stream@0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" + }, + "nan": { + "version": "2.4.0", + "from": "nan@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz" + }, + "negotiator": { + "version": "0.6.1", + "from": "negotiator@0.6.1", + "resolved": "https://npm.cbzsecure.com/negotiator/-/negotiator-0.6.1.tgz" + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@>=1.4.7 <1.5.0", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@>=3.0.6 <3.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" + }, + "normalize-package-data": { + "version": "2.3.5", + "from": "normalize-package-data@>=2.3.4 <3.0.0", + "resolved": "https://npm.cbzsecure.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz" + }, + "normalize-path": { + "version": "2.0.1", + "from": "normalize-path@>=2.0.1 <3.0.0", + "resolved": "https://npm.cbzsecure.com/normalize-path/-/normalize-path-2.0.1.tgz" + }, + "number-is-nan": { + "version": "1.0.0", + "from": "number-is-nan@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/number-is-nan/-/number-is-nan-1.0.0.tgz" + }, + "oauth-sign": { + "version": "0.8.2", + "from": "oauth-sign@>=0.8.1 <0.9.0", + "resolved": "https://npm.cbzsecure.com/oauth-sign/-/oauth-sign-0.8.2.tgz" + }, + "object-assign": { + "version": "4.1.0", + "from": "object-assign@>=4.0.1 <5.0.0", + "resolved": "https://npm.cbzsecure.com/object-assign/-/object-assign-4.1.0.tgz" + }, + "object.omit": { + "version": "2.0.0", + "from": "object.omit@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/object.omit/-/object.omit-2.0.0.tgz" + }, + "on-finished": { + "version": "2.3.0", + "from": "on-finished@>=2.3.0 <2.4.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + }, + "on-headers": { + "version": "1.0.1", + "from": "on-headers@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz" + }, + "once": { + "version": "1.3.3", + "from": "once@>=1.3.0 <2.0.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + }, + "onetime": { + "version": "1.1.0", + "from": "onetime@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" + }, + "optionator": { + "version": "0.8.1", + "from": "optionator@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz" + }, + "os-browserify": { + "version": "0.1.2", + "from": "os-browserify@>=0.1.1 <0.2.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz" + }, + "os-homedir": { + "version": "1.0.1", + "from": "os-homedir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" + }, + "outpipe": { + "version": "1.1.1", + "from": "outpipe@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz" + }, + "pako": { + "version": "0.2.9", + "from": "pako@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" + }, + "parents": { + "version": "1.0.1", + "from": "parents@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz" + }, + "parse-asn1": { + "version": "5.0.0", + "from": "parse-asn1@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz" + }, + "parse-glob": { + "version": "3.0.4", + "from": "parse-glob@>=3.0.4 <4.0.0", + "resolved": "https://npm.cbzsecure.com/parse-glob/-/parse-glob-3.0.4.tgz" + }, + "parse-json": { + "version": "2.2.0", + "from": "parse-json@>=2.2.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/parse-json/-/parse-json-2.2.0.tgz" + }, + "parseurl": { + "version": "1.3.1", + "from": "parseurl@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" + }, + "path-browserify": { + "version": "0.0.0", + "from": "path-browserify@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz" + }, + "path-exists": { + "version": "2.1.0", + "from": "path-exists@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/path-exists/-/path-exists-2.1.0.tgz" + }, + "path-is-absolute": { + "version": "1.0.0", + "from": "path-is-absolute@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + }, + "path-is-inside": { + "version": "1.0.1", + "from": "path-is-inside@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz" + }, + "path-platform": { + "version": "0.11.15", + "from": "path-platform@>=0.11.15 <0.12.0", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz" + }, + "path-to-regexp": { + "version": "0.1.7", + "from": "path-to-regexp@0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + }, + "path-type": { + "version": "1.1.0", + "from": "path-type@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/path-type/-/path-type-1.1.0.tgz" + }, + "pbkdf2": { + "version": "3.0.4", + "from": "pbkdf2@>=3.0.3 <4.0.0", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.4.tgz" + }, + "pify": { + "version": "2.3.0", + "from": "pify@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/pify/-/pify-2.3.0.tgz" + }, + "pinkie": { + "version": "2.0.4", + "from": "pinkie@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + }, "pkginfo": { "version": "0.4.0", "from": "pkginfo@>=0.4.0 <0.5.0", "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" }, - "readable-stream": { - "version": "2.1.2", - "from": "readable-stream@>=2.1.2 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.2.tgz", + "pluralize": { + "version": "1.2.1", + "from": "pluralize@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz" + }, + "prelude-ls": { + "version": "1.1.2", + "from": "prelude-ls@>=1.1.2 <1.2.0", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + }, + "preserve": { + "version": "0.2.0", + "from": "preserve@>=0.2.0 <0.3.0", + "resolved": "https://npm.cbzsecure.com/preserve/-/preserve-0.2.0.tgz" + }, + "process": { + "version": "0.11.8", + "from": "process@>=0.11.0 <0.12.0", + "resolved": "https://npm.cbzsecure.com/process/-/process-0.11.8.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://npm.cbzsecure.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "progress": { + "version": "1.1.8", + "from": "progress@>=1.1.8 <2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz" + }, + "promise": { + "version": "7.1.1", + "from": "promise@>=7.1.1 <8.0.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz" + }, + "proxy-addr": { + "version": "1.1.2", + "from": "proxy-addr@>=1.1.2 <1.2.0", + "resolved": "https://npm.cbzsecure.com/proxy-addr/-/proxy-addr-1.1.2.tgz" + }, + "prr": { + "version": "0.0.0", + "from": "prr@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz" + }, + "public-encrypt": { + "version": "4.0.0", + "from": "public-encrypt@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz" + }, + "punycode": { + "version": "1.4.1", + "from": "punycode@>=1.3.2 <2.0.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + }, + "qs": { + "version": "5.1.0", + "from": "qs@>=5.1.0 <5.2.0", + "resolved": "https://npm.cbzsecure.com/qs/-/qs-5.1.0.tgz" + }, + "querystring": { + "version": "0.2.0", + "from": "querystring@0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + }, + "querystring-es3": { + "version": "0.2.1", + "from": "querystring-es3@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + }, + "randomatic": { + "version": "1.1.5", + "from": "randomatic@>=1.1.3 <2.0.0", + "resolved": "https://npm.cbzsecure.com/randomatic/-/randomatic-1.1.5.tgz" + }, + "randombytes": { + "version": "2.0.3", + "from": "randombytes@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz" + }, + "range-parser": { + "version": "1.2.0", + "from": "range-parser@>=1.2.0 <1.3.0", + "resolved": "https://npm.cbzsecure.com/range-parser/-/range-parser-1.2.0.tgz" + }, + "raw-body": { + "version": "2.1.7", + "from": "raw-body@>=2.1.5 <2.2.0", + "resolved": "https://npm.cbzsecure.com/raw-body/-/raw-body-2.1.7.tgz", "dependencies": { - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "isarray": { - "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "process-nextick-args": { - "version": "1.0.6", - "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "bytes": { + "version": "2.4.0", + "from": "bytes@2.4.0", + "resolved": "https://npm.cbzsecure.com/bytes/-/bytes-2.4.0.tgz" } } }, + "read-only-stream": { + "version": "2.0.0", + "from": "read-only-stream@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz" + }, + "read-pkg": { + "version": "1.1.0", + "from": "read-pkg@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/read-pkg/-/read-pkg-1.1.0.tgz" + }, + "read-pkg-up": { + "version": "1.0.1", + "from": "read-pkg-up@>=1.0.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + }, + "readable-stream": { + "version": "2.1.5", + "from": "readable-stream@2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" + }, + "readdirp": { + "version": "2.1.0", + "from": "readdirp@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/readdirp/-/readdirp-2.1.0.tgz", + "dependencies": { + "minimatch": { + "version": "3.0.3", + "from": "minimatch@>=3.0.2 <4.0.0" + } + } + }, + "readline2": { + "version": "1.0.1", + "from": "readline2@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz" + }, + "redent": { + "version": "1.0.0", + "from": "redent@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/redent/-/redent-1.0.0.tgz" + }, + "regex-cache": { + "version": "0.4.3", + "from": "regex-cache@>=0.4.2 <0.5.0", + "resolved": "https://npm.cbzsecure.com/regex-cache/-/regex-cache-0.4.3.tgz" + }, "render-readme": { "version": "1.3.1", "from": "render-readme@>=1.3.1 <2.0.0", "resolved": "https://registry.npmjs.org/render-readme/-/render-readme-1.3.1.tgz", "dependencies": { + "highlight.js": { + "version": "8.9.1", + "from": "highlight.js@>=8.0.0 <9.0.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz" + }, "markdown-it": { "version": "4.4.0", "from": "markdown-it@>=4.0.0 <5.0.0", @@ -972,411 +2872,518 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" } } - }, - "highlight.js": { - "version": "8.9.1", - "from": "highlight.js@>=8.0.0 <9.0.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz" } } }, + "repeat-element": { + "version": "1.1.2", + "from": "repeat-element@>=1.1.2 <2.0.0", + "resolved": "https://npm.cbzsecure.com/repeat-element/-/repeat-element-1.1.2.tgz" + }, + "repeat-string": { + "version": "1.5.4", + "from": "repeat-string@>=1.5.2 <2.0.0", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" + }, + "repeating": { + "version": "2.0.1", + "from": "repeating@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/repeating/-/repeating-2.0.1.tgz" + }, "request": { - "version": "2.72.0", - "from": "request@>=2.72.0 <3.0.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.72.0.tgz", + "version": "2.74.0", + "from": "request@2.74.0", + "resolved": "https://npm.cbzsecure.com/request/-/request-2.74.0.tgz", "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "from": "aws-sign2@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - }, - "aws4": { - "version": "1.3.2", - "from": "aws4@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.3.2.tgz", - "dependencies": { - "lru-cache": { - "version": "4.0.1", - "from": "lru-cache@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz", - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "from": "pseudomap@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" - }, - "yallist": { - "version": "2.0.0", - "from": "yallist@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz" - } - } - } - } - }, - "bl": { - "version": "1.1.2", - "from": "bl@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "from": "readable-stream@>=2.0.5 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "isarray": { - "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "process-nextick-args": { - "version": "1.0.6", - "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - } - } - } - }, - "caseless": { - "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" - }, - "combined-stream": { - "version": "1.0.5", - "from": "combined-stream@>=1.0.5 <1.1.0", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "from": "delayed-stream@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - } - } - }, - "extend": { - "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - }, - "forever-agent": { - "version": "0.6.1", - "from": "forever-agent@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - }, - "form-data": { - "version": "1.0.0-rc4", - "from": "form-data@>=1.0.0-rc3 <1.1.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "dependencies": { - "async": { - "version": "1.5.2", - "from": "async@>=1.5.2 <2.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - } - } - }, - "har-validator": { - "version": "2.0.6", - "from": "har-validator@>=2.0.6 <2.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "dependencies": { - "chalk": { - "version": "1.1.3", - "from": "chalk@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "from": "strip-ansi@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "dependencies": { - "ansi-regex": { - "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - } - } - }, - "supports-color": { - "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - } - } - }, - "is-my-json-valid": { - "version": "2.13.1", - "from": "is-my-json-valid@>=2.12.4 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz", - "dependencies": { - "generate-function": { - "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "dependencies": { - "is-property": { - "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "from": "jsonpointer@2.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" - }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - } - } - }, - "pinkie-promise": { - "version": "2.0.1", - "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "dependencies": { - "pinkie": { - "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - } - } - } - } - }, - "hawk": { - "version": "3.1.3", - "from": "hawk@>=3.1.3 <3.2.0", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "dependencies": { - "hoek": { - "version": "2.16.3", - "from": "hoek@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" - }, - "boom": { - "version": "2.10.1", - "from": "boom@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - }, - "cryptiles": { - "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - }, - "sntp": { - "version": "1.0.9", - "from": "sntp@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" - } - } - }, - "http-signature": { - "version": "1.1.1", - "from": "http-signature@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "from": "assert-plus@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "jsprim": { - "version": "1.2.2", - "from": "jsprim@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz", - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "from": "extsprintf@1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" - }, - "json-schema": { - "version": "0.2.2", - "from": "json-schema@0.2.2", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" - }, - "verror": { - "version": "1.3.6", - "from": "verror@1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" - } - } - }, - "sshpk": { - "version": "1.8.3", - "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", - "dependencies": { - "asn1": { - "version": "0.2.3", - "from": "asn1@>=0.2.3 <0.3.0", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - }, - "dashdash": { - "version": "1.13.1", - "from": "dashdash@>=1.12.0 <2.0.0", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.13.1.tgz" - }, - "getpass": { - "version": "0.1.6", - "from": "getpass@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz" - }, - "jsbn": { - "version": "0.1.0", - "from": "jsbn@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" - }, - "tweetnacl": { - "version": "0.13.3", - "from": "tweetnacl@>=0.13.0 <0.14.0", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" - }, - "jodid25519": { - "version": "1.0.2", - "from": "jodid25519@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" - }, - "ecc-jsbn": { - "version": "0.1.1", - "from": "ecc-jsbn@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "from": "is-typedarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - }, - "isstream": { - "version": "0.1.2", - "from": "isstream@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - }, - "json-stringify-safe": { - "version": "5.0.1", - "from": "json-stringify-safe@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - }, - "mime-types": { - "version": "2.1.10", - "from": "mime-types@>=2.1.7 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.10.tgz", - "dependencies": { - "mime-db": { - "version": "1.22.0", - "from": "mime-db@>=1.22.0 <1.23.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.22.0.tgz" - } - } - }, - "node-uuid": { - "version": "1.4.7", - "from": "node-uuid@>=1.4.7 <1.5.0", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" - }, - "oauth-sign": { - "version": "0.8.1", - "from": "oauth-sign@>=0.8.1 <0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz" - }, "qs": { - "version": "6.1.0", - "from": "qs@>=6.1.0 <6.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz" - }, - "stringstream": { - "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - }, - "tough-cookie": { - "version": "2.2.2", - "from": "tough-cookie@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" - }, - "tunnel-agent": { - "version": "0.4.2", - "from": "tunnel-agent@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz" + "version": "6.2.1", + "from": "qs@>=6.2.0 <6.3.0", + "resolved": "https://npm.cbzsecure.com/qs/-/qs-6.2.1.tgz" } } }, + "require-uncached": { + "version": "1.0.2", + "from": "require-uncached@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz" + }, + "resolve": { + "version": "1.1.7", + "from": "resolve@>=1.1.4 <2.0.0", + "resolved": "https://npm.cbzsecure.com/resolve/-/resolve-1.1.7.tgz" + }, + "resolve-from": { + "version": "1.0.1", + "from": "resolve-from@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz" + }, + "restore-cursor": { + "version": "1.0.1", + "from": "restore-cursor@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" + }, + "rimraf": { + "version": "2.5.4", + "from": "rimraf@>=2.5.2 <3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "dependencies": { + "glob": { + "version": "7.0.5", + "from": "glob@>=7.0.5 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" + }, + "minimatch": { + "version": "3.0.3", + "from": "minimatch@>=3.0.2 <4.0.0" + } + } + }, + "ripemd160": { + "version": "1.0.1", + "from": "ripemd160@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz" + }, + "run-async": { + "version": "0.1.0", + "from": "run-async@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz" + }, + "rx-lite": { + "version": "3.1.2", + "from": "rx-lite@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" + }, "semver": { - "version": "5.1.0", - "from": "semver@>=5.1.0 <6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz" + "version": "5.3.0", + "from": "semver@5.3.0", + "resolved": "https://npm.cbzsecure.com/semver/-/semver-5.3.0.tgz" + }, + "send": { + "version": "0.14.1", + "from": "send@0.14.1", + "resolved": "https://npm.cbzsecure.com/send/-/send-0.14.1.tgz" + }, + "serve-static": { + "version": "1.11.1", + "from": "serve-static@>=1.11.1 <1.12.0", + "resolved": "https://npm.cbzsecure.com/serve-static/-/serve-static-1.11.1.tgz" + }, + "set-immediate-shim": { + "version": "1.0.1", + "from": "set-immediate-shim@>=1.0.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" + }, + "setprototypeof": { + "version": "1.0.1", + "from": "setprototypeof@1.0.1", + "resolved": "https://npm.cbzsecure.com/setprototypeof/-/setprototypeof-1.0.1.tgz" + }, + "sha.js": { + "version": "2.4.5", + "from": "sha.js@>=2.3.6 <3.0.0", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.5.tgz" + }, + "shasum": { + "version": "1.0.2", + "from": "shasum@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz" + }, + "shell-quote": { + "version": "1.6.1", + "from": "shell-quote@>=1.4.3 <2.0.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz" + }, + "shelljs": { + "version": "0.6.1", + "from": "shelljs@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz" + }, + "sigmund": { + "version": "1.0.1", + "from": "sigmund@>=1.0.0 <1.1.0", + "resolved": "https://npm.cbzsecure.com/sigmund/-/sigmund-1.0.1.tgz" + }, + "signal-exit": { + "version": "3.0.0", + "from": "signal-exit@>=3.0.0 <4.0.0", + "resolved": "https://npm.cbzsecure.com/signal-exit/-/signal-exit-3.0.0.tgz" + }, + "slice-ansi": { + "version": "0.0.4", + "from": "slice-ansi@0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + }, + "source-map": { + "version": "0.5.6", + "from": "source-map@>=0.5.3 <0.6.0", + "resolved": "https://npm.cbzsecure.com/source-map/-/source-map-0.5.6.tgz" + }, + "spdx-correct": { + "version": "1.0.2", + "from": "spdx-correct@>=1.0.0 <1.1.0", + "resolved": "https://npm.cbzsecure.com/spdx-correct/-/spdx-correct-1.0.2.tgz" + }, + "spdx-exceptions": { + "version": "1.0.5", + "from": "spdx-exceptions@>=1.0.4 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz" + }, + "spdx-expression-parse": { + "version": "1.0.2", + "from": "spdx-expression-parse@>=1.0.0 <1.1.0", + "resolved": "https://npm.cbzsecure.com/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz" + }, + "spdx-license-ids": { + "version": "1.2.2", + "from": "spdx-license-ids@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz" + }, + "sprintf-js": { + "version": "1.0.3", + "from": "sprintf-js@>=1.0.2 <1.1.0", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + }, + "sshpk": { + "version": "1.9.2", + "from": "sshpk@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.9.2.tgz", + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + } + } + }, + "statuses": { + "version": "1.3.0", + "from": "statuses@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/statuses/-/statuses-1.3.0.tgz" + }, + "stream-browserify": { + "version": "2.0.1", + "from": "stream-browserify@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz" + }, + "stream-combiner2": { + "version": "1.1.1", + "from": "stream-combiner2@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz" + }, + "stream-http": { + "version": "2.3.1", + "from": "stream-http@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.3.1.tgz" + }, + "stream-splicer": { + "version": "2.0.0", + "from": "stream-splicer@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "string-width": { + "version": "1.0.2", + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@>=0.0.4 <0.1.0", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + }, + "strip-bom": { + "version": "2.0.0", + "from": "strip-bom@>=2.0.0 <3.0.0", + "resolved": "https://npm.cbzsecure.com/strip-bom/-/strip-bom-2.0.0.tgz" + }, + "strip-indent": { + "version": "1.0.1", + "from": "strip-indent@>=1.0.1 <2.0.0", + "resolved": "https://npm.cbzsecure.com/strip-indent/-/strip-indent-1.0.1.tgz" + }, + "strip-json-comments": { + "version": "1.0.4", + "from": "strip-json-comments@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" + }, + "subarg": { + "version": "1.0.0", + "from": "subarg@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz" + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" }, "symbol": { + "version": "0.2.3", + "from": "symbol@0.2.3", + "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz" + }, + "syntax-error": { + "version": "1.1.6", + "from": "syntax-error@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.6.tgz", + "dependencies": { + "acorn": { + "version": "2.7.0", + "from": "acorn@>=2.7.0 <3.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" + } + } + }, + "table": { + "version": "3.7.8", + "from": "table@>=3.7.8 <4.0.0", + "resolved": "https://registry.npmjs.org/table/-/table-3.7.8.tgz" + }, + "text-table": { + "version": "0.2.0", + "from": "text-table@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + }, + "through": { + "version": "2.3.8", + "from": "through@>=2.3.4 <2.4.0", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + }, + "through2": { + "version": "2.0.1", + "from": "through2@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@>=2.0.0 <2.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" + } + } + }, + "timers-browserify": { + "version": "1.4.2", + "from": "timers-browserify@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz" + }, + "tiny-lr": { "version": "0.2.1", - "from": "symbol@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.1.tgz" + "from": "tiny-lr@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", + "dependencies": { + "body-parser": { + "version": "1.14.2", + "from": "body-parser@>=1.14.0 <1.15.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "dependencies": { + "qs": { + "version": "5.2.0", + "from": "qs@5.2.0", + "resolved": "https://npm.cbzsecure.com/qs/-/qs-5.2.0.tgz" + } + } + }, + "http-errors": { + "version": "1.3.1", + "from": "http-errors@>=1.3.1 <1.4.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz" + } + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "from": "to-arraybuffer@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" + }, + "to-iso-string": { + "version": "0.0.2", + "from": "to-iso-string@0.0.2", + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz" + }, + "tough-cookie": { + "version": "2.3.1", + "from": "tough-cookie@>=2.3.0 <2.4.0", + "resolved": "https://npm.cbzsecure.com/tough-cookie/-/tough-cookie-2.3.1.tgz" + }, + "trim-newlines": { + "version": "1.0.0", + "from": "trim-newlines@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/trim-newlines/-/trim-newlines-1.0.0.tgz" + }, + "tryit": { + "version": "1.0.2", + "from": "tryit@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.2.tgz" + }, + "tty-browserify": { + "version": "0.0.0", + "from": "tty-browserify@>=0.0.0 <0.1.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" + }, + "tunnel-agent": { + "version": "0.4.3", + "from": "tunnel-agent@>=0.4.1 <0.5.0", + "resolved": "https://npm.cbzsecure.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz" + }, + "tv4": { + "version": "1.2.7", + "from": "tv4@>=1.2.7 <2.0.0", + "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz" + }, + "tweetnacl": { + "version": "0.13.3", + "from": "tweetnacl@>=0.13.0 <0.14.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" + }, + "type-check": { + "version": "0.3.2", + "from": "type-check@>=0.3.2 <0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + }, + "type-is": { + "version": "1.6.13", + "from": "type-is@>=1.6.10 <1.7.0", + "resolved": "https://npm.cbzsecure.com/type-is/-/type-is-1.6.13.tgz" + }, + "typedarray": { + "version": "0.0.6", + "from": "typedarray@>=0.0.5 <0.1.0", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + }, + "umd": { + "version": "3.0.1", + "from": "umd@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz" + }, + "underscore.string": { + "version": "3.2.3", + "from": "underscore.string@>=3.2.3 <3.3.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz" }, "unix-crypt-td-js": { "version": "1.0.0", "from": "unix-crypt-td-js@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.0.0.tgz" + }, + "unopinionate": { + "version": "0.0.4", + "from": "unopinionate@>=0.0.4 <0.0.5", + "resolved": "https://registry.npmjs.org/unopinionate/-/unopinionate-0.0.4.tgz" + }, + "unpipe": { + "version": "1.0.0", + "from": "unpipe@1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + }, + "url": { + "version": "0.11.0", + "from": "url@>=0.11.0 <0.12.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "dependencies": { + "punycode": { + "version": "1.3.2", + "from": "punycode@1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + } + } + }, + "user-home": { + "version": "2.0.0", + "from": "user-home@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" + }, + "util": { + "version": "0.10.3", + "from": "util@>=0.10.1 <0.11.0", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, + "utils-merge": { + "version": "1.0.0", + "from": "utils-merge@1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + }, + "validate-npm-package-license": { + "version": "3.0.1", + "from": "validate-npm-package-license@>=3.0.1 <4.0.0", + "resolved": "https://npm.cbzsecure.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" + }, + "vary": { + "version": "1.1.0", + "from": "vary@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + }, + "vm-browserify": { + "version": "0.0.4", + "from": "vm-browserify@>=0.0.1 <0.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz" + }, + "watchify": { + "version": "3.7.0", + "from": "watchify@>=3.6.1 <4.0.0", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.7.0.tgz" + }, + "websocket-driver": { + "version": "0.6.5", + "from": "websocket-driver@>=0.5.1", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz" + }, + "websocket-extensions": { + "version": "0.1.1", + "from": "websocket-extensions@>=0.1.1", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz" + }, + "which": { + "version": "1.2.10", + "from": "which@>=1.2.1 <1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" + }, + "wordwrap": { + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + }, + "wrappy": { + "version": "1.0.2", + "from": "wrappy@>=1.0.0 <2.0.0", + "resolved": "https://npm.cbzsecure.com/wrappy/-/wrappy-1.0.2.tgz" + }, + "write": { + "version": "0.2.1", + "from": "write@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" + }, + "xregexp": { + "version": "3.1.1", + "from": "xregexp@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-3.1.1.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" } } } diff --git a/package.json b/package.json index 4ec5147d7..6e55d0331 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "JSONStream": "^1.1.1", - "async": "^2.0.0-rc.3", + "async": "^2.0.1", "body-parser": "^1.15.0", "bunyan": "^1.8.0", "commander": "^2.9.0", From 9fe9e387869a6eb499a69a5c4f71cd925f99b2a6 Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Sun, 21 Aug 2016 09:34:42 -0500 Subject: [PATCH 18/37] Remove shrinkwrap --- npm-shrinkwrap.json | 3389 ------------------------------------------- 1 file changed, 3389 deletions(-) delete mode 100644 npm-shrinkwrap.json diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json deleted file mode 100644 index fee67bd90..000000000 --- a/npm-shrinkwrap.json +++ /dev/null @@ -1,3389 +0,0 @@ -{ - "name": "verdaccio", - "version": "1.4.0", - "dependencies": { - "abbrev": { - "version": "1.0.9", - "from": "abbrev@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" - }, - "accepts": { - "version": "1.3.3", - "from": "accepts@>=1.3.3 <1.4.0", - "resolved": "https://npm.cbzsecure.com/accepts/-/accepts-1.3.3.tgz" - }, - "acorn": { - "version": "1.2.2", - "from": "acorn@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz" - }, - "acorn-jsx": { - "version": "3.0.1", - "from": "acorn-jsx@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "dependencies": { - "acorn": { - "version": "3.3.0", - "from": "acorn@>=3.0.4 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" - } - } - }, - "ansi-escapes": { - "version": "1.4.0", - "from": "ansi-escapes@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" - }, - "ansi-regex": { - "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - }, - "ansi-styles": { - "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - }, - "anymatch": { - "version": "1.3.0", - "from": "anymatch@>=1.3.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/anymatch/-/anymatch-1.3.0.tgz" - }, - "argparse": { - "version": "1.0.7", - "from": "argparse@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz" - }, - "arr-diff": { - "version": "2.0.0", - "from": "arr-diff@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/arr-diff/-/arr-diff-2.0.0.tgz" - }, - "arr-flatten": { - "version": "1.0.1", - "from": "arr-flatten@>=1.0.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/arr-flatten/-/arr-flatten-1.0.1.tgz" - }, - "array-filter": { - "version": "0.0.1", - "from": "array-filter@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz" - }, - "array-find-index": { - "version": "1.0.1", - "from": "array-find-index@>=1.0.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/array-find-index/-/array-find-index-1.0.1.tgz" - }, - "array-flatten": { - "version": "1.1.1", - "from": "array-flatten@1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - }, - "array-map": { - "version": "0.0.0", - "from": "array-map@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz" - }, - "array-reduce": { - "version": "0.0.0", - "from": "array-reduce@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz" - }, - "array-union": { - "version": "1.0.2", - "from": "array-union@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - }, - "array-uniq": { - "version": "1.0.3", - "from": "array-uniq@>=1.0.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/array-uniq/-/array-uniq-1.0.3.tgz" - }, - "array-unique": { - "version": "0.2.1", - "from": "array-unique@>=0.2.1 <0.3.0", - "resolved": "https://npm.cbzsecure.com/array-unique/-/array-unique-0.2.1.tgz" - }, - "arrify": { - "version": "1.0.1", - "from": "arrify@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/arrify/-/arrify-1.0.1.tgz" - }, - "asap": { - "version": "2.0.4", - "from": "asap@>=2.0.3 <2.1.0", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz" - }, - "asn1": { - "version": "0.2.3", - "from": "asn1@>=0.2.3 <0.3.0", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "asn1.js": { - "version": "4.8.0", - "from": "asn1.js@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.8.0.tgz" - }, - "assert": { - "version": "1.3.0", - "from": "assert@>=1.3.0 <1.4.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.3.0.tgz" - }, - "assert-plus": { - "version": "0.2.0", - "from": "assert-plus@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "astw": { - "version": "2.0.0", - "from": "astw@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/astw/-/astw-2.0.0.tgz" - }, - "async": { - "version": "2.0.1", - "from": "async@2.0.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.0.1.tgz" - }, - "async-each": { - "version": "1.0.0", - "from": "async-each@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/async-each/-/async-each-1.0.0.tgz" - }, - "aws-sign2": { - "version": "0.6.0", - "from": "aws-sign2@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - }, - "aws4": { - "version": "1.4.1", - "from": "aws4@>=1.2.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/aws4/-/aws4-1.4.1.tgz" - }, - "balanced-match": { - "version": "0.4.2", - "from": "balanced-match@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" - }, - "base64-js": { - "version": "1.1.2", - "from": "base64-js@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz" - }, - "binary-extensions": { - "version": "1.5.0", - "from": "binary-extensions@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/binary-extensions/-/binary-extensions-1.5.0.tgz" - }, - "bl": { - "version": "1.1.2", - "from": "bl@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "from": "readable-stream@>=2.0.5 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" - } - } - }, - "bluebird": { - "version": "3.4.1", - "from": "bluebird@>=3.3.5 <4.0.0", - "resolved": "https://npm.cbzsecure.com/bluebird/-/bluebird-3.4.1.tgz" - }, - "bn.js": { - "version": "4.11.6", - "from": "bn.js@>=4.1.1 <5.0.0", - "resolved": "https://npm.cbzsecure.com/bn.js/-/bn.js-4.11.6.tgz" - }, - "body-parser": { - "version": "1.15.2", - "from": "body-parser@1.15.2", - "resolved": "https://npm.cbzsecure.com/body-parser/-/body-parser-1.15.2.tgz", - "dependencies": { - "bytes": { - "version": "2.4.0", - "from": "bytes@2.4.0", - "resolved": "https://npm.cbzsecure.com/bytes/-/bytes-2.4.0.tgz" - }, - "qs": { - "version": "6.2.0", - "from": "qs@6.2.0", - "resolved": "https://npm.cbzsecure.com/qs/-/qs-6.2.0.tgz" - } - } - }, - "boom": { - "version": "2.10.1", - "from": "boom@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - }, - "brace-expansion": { - "version": "1.1.6", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" - }, - "braces": { - "version": "1.8.5", - "from": "braces@>=1.8.2 <2.0.0", - "resolved": "https://npm.cbzsecure.com/braces/-/braces-1.8.5.tgz" - }, - "brorand": { - "version": "1.0.5", - "from": "brorand@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.0.5.tgz" - }, - "browser-pack": { - "version": "6.0.1", - "from": "browser-pack@>=6.0.1 <7.0.0", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.1.tgz" - }, - "browser-resolve": { - "version": "1.11.2", - "from": "browser-resolve@>=1.11.0 <2.0.0", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz" - }, - "browserify": { - "version": "13.1.0", - "from": "browserify@>=13.0.0 <14.0.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-13.1.0.tgz" - }, - "browserify-aes": { - "version": "1.0.6", - "from": "browserify-aes@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz" - }, - "browserify-cipher": { - "version": "1.0.0", - "from": "browserify-cipher@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz" - }, - "browserify-des": { - "version": "1.0.0", - "from": "browserify-des@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz" - }, - "browserify-rsa": { - "version": "4.0.1", - "from": "browserify-rsa@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz" - }, - "browserify-sign": { - "version": "4.0.0", - "from": "browserify-sign@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz" - }, - "browserify-zlib": { - "version": "0.1.4", - "from": "browserify-zlib@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz" - }, - "buffer": { - "version": "4.9.1", - "from": "buffer@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz" - }, - "buffer-shims": { - "version": "1.0.0", - "from": "buffer-shims@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/buffer-shims/-/buffer-shims-1.0.0.tgz" - }, - "buffer-xor": { - "version": "1.0.3", - "from": "buffer-xor@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - }, - "builtin-modules": { - "version": "1.1.1", - "from": "builtin-modules@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/builtin-modules/-/builtin-modules-1.1.1.tgz" - }, - "builtin-status-codes": { - "version": "2.0.0", - "from": "builtin-status-codes@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-2.0.0.tgz" - }, - "bunyan": { - "version": "1.8.1", - "from": "bunyan@>=1.8.0 <2.0.0", - "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.1.tgz", - "dependencies": { - "dtrace-provider": { - "version": "0.6.0", - "from": "dtrace-provider@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz", - "dependencies": { - "nan": { - "version": "2.3.2", - "from": "nan@>=2.0.8 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.3.2.tgz" - } - } - }, - "moment": { - "version": "2.13.0", - "from": "moment@>=2.10.6 <3.0.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.13.0.tgz" - }, - "mv": { - "version": "2.1.1", - "from": "mv@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "dependencies": { - "ncp": { - "version": "2.0.0", - "from": "ncp@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" - }, - "rimraf": { - "version": "2.4.5", - "from": "rimraf@>=2.4.0 <2.5.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "dependencies": { - "glob": { - "version": "6.0.4", - "from": "glob@>=6.0.1 <7.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "dependencies": { - "inflight": { - "version": "1.0.4", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.1", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" - } - } - }, - "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "once": { - "version": "1.3.3", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "dependencies": { - "wrappy": { - "version": "1.0.1", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" - } - } - }, - "path-is-absolute": { - "version": "1.0.0", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - } - } - } - } - } - } - }, - "safe-json-stringify": { - "version": "1.0.3", - "from": "safe-json-stringify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz" - } - } - }, - "bytes": { - "version": "2.2.0", - "from": "bytes@2.2.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz" - }, - "caller-path": { - "version": "0.1.0", - "from": "caller-path@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz" - }, - "callsites": { - "version": "0.2.0", - "from": "callsites@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" - }, - "camelcase": { - "version": "2.1.1", - "from": "camelcase@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/camelcase/-/camelcase-2.1.1.tgz" - }, - "camelcase-keys": { - "version": "2.1.0", - "from": "camelcase-keys@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz" - }, - "caseless": { - "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" - }, - "chalk": { - "version": "1.1.3", - "from": "chalk@>=1.1.3 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - }, - "chokidar": { - "version": "1.6.0", - "from": "chokidar@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/chokidar/-/chokidar-1.6.0.tgz" - }, - "cipher-base": { - "version": "1.0.2", - "from": "cipher-base@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.2.tgz" - }, - "circular-json": { - "version": "0.3.1", - "from": "circular-json@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz" - }, - "cli-cursor": { - "version": "1.0.2", - "from": "cli-cursor@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" - }, - "cli-width": { - "version": "2.1.0", - "from": "cli-width@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz" - }, - "code-point-at": { - "version": "1.0.0", - "from": "code-point-at@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/code-point-at/-/code-point-at-1.0.0.tgz" - }, - "coffee-script": { - "version": "1.10.0", - "from": "coffee-script@>=1.10.0 <1.11.0", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz" - }, - "colors": { - "version": "1.1.2", - "from": "colors@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz" - }, - "combine-source-map": { - "version": "0.7.2", - "from": "combine-source-map@>=0.7.1 <0.8.0", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz" - }, - "combined-stream": { - "version": "1.0.5", - "from": "combined-stream@>=1.0.5 <1.1.0", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" - }, - "commander": { - "version": "2.9.0", - "from": "commander@>=2.9.0 <3.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - } - } - }, - "compressible": { - "version": "2.0.8", - "from": "compressible@>=2.0.8 <2.1.0", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.8.tgz" - }, - "compression": { - "version": "1.6.2", - "from": "compression@1.6.2", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.2.tgz", - "dependencies": { - "bytes": { - "version": "2.3.0", - "from": "bytes@2.3.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz" - } - } - }, - "concat-map": { - "version": "0.0.1", - "from": "concat-map@0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - }, - "concat-stream": { - "version": "1.5.1", - "from": "concat-stream@>=1.5.1 <1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "from": "readable-stream@>=2.0.0 <2.1.0" - } - } - }, - "console-browserify": { - "version": "1.1.0", - "from": "console-browserify@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz" - }, - "constants-browserify": { - "version": "1.0.0", - "from": "constants-browserify@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" - }, - "content-disposition": { - "version": "0.5.1", - "from": "content-disposition@0.5.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz" - }, - "content-type": { - "version": "1.0.2", - "from": "content-type@>=1.0.1 <1.1.0", - "resolved": "https://npm.cbzsecure.com/content-type/-/content-type-1.0.2.tgz" - }, - "convert-source-map": { - "version": "1.1.3", - "from": "convert-source-map@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz" - }, - "cookie": { - "version": "0.3.1", - "from": "cookie@0.3.1", - "resolved": "https://npm.cbzsecure.com/cookie/-/cookie-0.3.1.tgz" - }, - "cookie-signature": { - "version": "1.0.6", - "from": "cookie-signature@1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - }, - "cookies": { - "version": "0.6.1", - "from": "cookies@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.6.1.tgz", - "dependencies": { - "depd": { - "version": "1.1.0", - "from": "depd@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" - }, - "keygrip": { - "version": "1.0.1", - "from": "keygrip@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz" - } - } - }, - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "create-ecdh": { - "version": "4.0.0", - "from": "create-ecdh@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz" - }, - "create-hash": { - "version": "1.1.2", - "from": "create-hash@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz" - }, - "create-hmac": { - "version": "1.1.4", - "from": "create-hmac@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz" - }, - "cryptiles": { - "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - }, - "crypto-browserify": { - "version": "3.11.0", - "from": "crypto-browserify@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz" - }, - "currently-unhandled": { - "version": "0.4.1", - "from": "currently-unhandled@>=0.4.1 <0.5.0", - "resolved": "https://npm.cbzsecure.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz" - }, - "d": { - "version": "0.1.1", - "from": "d@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" - }, - "dashdash": { - "version": "1.14.0", - "from": "dashdash@>=1.12.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/dashdash/-/dashdash-1.14.0.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } - }, - "date-now": { - "version": "0.1.4", - "from": "date-now@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz" - }, - "dateformat": { - "version": "1.0.12", - "from": "dateformat@>=1.0.12 <1.1.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz" - }, - "debug": { - "version": "2.2.0", - "from": "debug@>=2.1.1 <3.0.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" - }, - "decamelize": { - "version": "1.2.0", - "from": "decamelize@>=1.1.2 <2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - }, - "deep-is": { - "version": "0.1.3", - "from": "deep-is@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" - }, - "defined": { - "version": "1.0.0", - "from": "defined@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/defined/-/defined-1.0.0.tgz" - }, - "del": { - "version": "2.2.2", - "from": "del@>=2.0.2 <3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz" - }, - "delayed-stream": { - "version": "1.0.0", - "from": "delayed-stream@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - }, - "depd": { - "version": "1.1.0", - "from": "depd@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" - }, - "deps-sort": { - "version": "2.0.0", - "from": "deps-sort@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz" - }, - "des.js": { - "version": "1.0.0", - "from": "des.js@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz" - }, - "destroy": { - "version": "1.0.4", - "from": "destroy@>=1.0.4 <1.1.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" - }, - "detective": { - "version": "4.3.1", - "from": "detective@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.3.1.tgz" - }, - "diff": { - "version": "1.4.0", - "from": "diff@1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz" - }, - "diffie-hellman": { - "version": "5.0.2", - "from": "diffie-hellman@>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz" - }, - "doctrine": { - "version": "1.2.3", - "from": "doctrine@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.3.tgz" - }, - "domain-browser": { - "version": "1.1.7", - "from": "domain-browser@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz" - }, - "duplexer2": { - "version": "0.1.4", - "from": "duplexer2@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" - }, - "ecc-jsbn": { - "version": "0.1.1", - "from": "ecc-jsbn@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" - }, - "ee-first": { - "version": "1.1.1", - "from": "ee-first@1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - }, - "elliptic": { - "version": "6.3.1", - "from": "elliptic@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.1.tgz" - }, - "encodeurl": { - "version": "1.0.1", - "from": "encodeurl@>=1.0.1 <1.1.0", - "resolved": "https://npm.cbzsecure.com/encodeurl/-/encodeurl-1.0.1.tgz" - }, - "errno": { - "version": "0.1.4", - "from": "errno@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz" - }, - "error-ex": { - "version": "1.3.0", - "from": "error-ex@>=1.2.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/error-ex/-/error-ex-1.3.0.tgz" - }, - "es5-ext": { - "version": "0.10.12", - "from": "es5-ext@>=0.10.11 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" - }, - "es6-iterator": { - "version": "2.0.0", - "from": "es6-iterator@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" - }, - "es6-map": { - "version": "0.1.4", - "from": "es6-map@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz" - }, - "es6-set": { - "version": "0.1.4", - "from": "es6-set@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz" - }, - "es6-shim": { - "version": "0.35.1", - "from": "es6-shim@0.35.1", - "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.1.tgz" - }, - "es6-symbol": { - "version": "3.1.0", - "from": "es6-symbol@>=3.1.0 <3.2.0", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" - }, - "es6-weak-map": { - "version": "2.0.1", - "from": "es6-weak-map@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz" - }, - "escape-html": { - "version": "1.0.3", - "from": "escape-html@>=1.0.3 <1.1.0", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, - "escope": { - "version": "3.6.0", - "from": "escope@>=3.6.0 <4.0.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" - }, - "espree": { - "version": "3.1.7", - "from": "espree@>=3.1.6 <4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz", - "dependencies": { - "acorn": { - "version": "3.3.0", - "from": "acorn@>=3.3.0 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" - } - } - }, - "esprima": { - "version": "2.7.2", - "from": "esprima@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" - }, - "esrecurse": { - "version": "4.1.0", - "from": "esrecurse@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", - "dependencies": { - "estraverse": { - "version": "4.1.1", - "from": "estraverse@>=4.1.0 <4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz" - } - } - }, - "estraverse": { - "version": "4.2.0", - "from": "estraverse@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" - }, - "esutils": { - "version": "2.0.2", - "from": "esutils@>=2.0.2 <3.0.0", - "resolved": "https://npm.cbzsecure.com/esutils/-/esutils-2.0.2.tgz" - }, - "etag": { - "version": "1.7.0", - "from": "etag@>=1.7.0 <1.8.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" - }, - "event-emitter": { - "version": "0.3.4", - "from": "event-emitter@>=0.3.4 <0.4.0", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" - }, - "eventemitter2": { - "version": "0.4.14", - "from": "eventemitter2@>=0.4.13 <0.5.0", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz" - }, - "events": { - "version": "1.1.1", - "from": "events@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz" - }, - "evp_bytestokey": { - "version": "1.0.0", - "from": "evp_bytestokey@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz" - }, - "exit": { - "version": "0.1.2", - "from": "exit@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - }, - "exit-hook": { - "version": "1.1.1", - "from": "exit-hook@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" - }, - "expand-brackets": { - "version": "0.1.5", - "from": "expand-brackets@>=0.1.4 <0.2.0", - "resolved": "https://npm.cbzsecure.com/expand-brackets/-/expand-brackets-0.1.5.tgz" - }, - "expand-range": { - "version": "1.8.2", - "from": "expand-range@>=1.8.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/expand-range/-/expand-range-1.8.2.tgz" - }, - "express": { - "version": "4.14.0", - "from": "express@4.14.0", - "resolved": "https://npm.cbzsecure.com/express/-/express-4.14.0.tgz", - "dependencies": { - "qs": { - "version": "6.2.0", - "from": "qs@6.2.0" - } - } - }, - "extend": { - "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - }, - "extglob": { - "version": "0.3.2", - "from": "extglob@>=0.3.1 <0.4.0", - "resolved": "https://npm.cbzsecure.com/extglob/-/extglob-0.3.2.tgz" - }, - "extsprintf": { - "version": "1.0.2", - "from": "extsprintf@1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" - }, - "fast-levenshtein": { - "version": "1.1.4", - "from": "fast-levenshtein@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz" - }, - "faye-websocket": { - "version": "0.10.0", - "from": "faye-websocket@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz" - }, - "figures": { - "version": "1.7.0", - "from": "figures@>=1.3.5 <2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" - }, - "file-entry-cache": { - "version": "1.3.1", - "from": "file-entry-cache@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz" - }, - "filename-regex": { - "version": "2.0.0", - "from": "filename-regex@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/filename-regex/-/filename-regex-2.0.0.tgz" - }, - "fill-range": { - "version": "2.2.3", - "from": "fill-range@>=2.1.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/fill-range/-/fill-range-2.2.3.tgz" - }, - "finalhandler": { - "version": "0.5.0", - "from": "finalhandler@0.5.0", - "resolved": "https://npm.cbzsecure.com/finalhandler/-/finalhandler-0.5.0.tgz" - }, - "find-up": { - "version": "1.1.2", - "from": "find-up@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - }, - "findup-sync": { - "version": "0.3.0", - "from": "findup-sync@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz" - }, - "flat-cache": { - "version": "1.2.1", - "from": "flat-cache@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.1.tgz" - }, - "for-in": { - "version": "0.1.5", - "from": "for-in@>=0.1.5 <0.2.0", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.5.tgz" - }, - "for-own": { - "version": "0.1.4", - "from": "for-own@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz" - }, - "forever-agent": { - "version": "0.6.1", - "from": "forever-agent@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - }, - "form-data": { - "version": "1.0.0-rc4", - "from": "form-data@>=1.0.0-rc4 <1.1.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz", - "dependencies": { - "async": { - "version": "1.5.2", - "from": "async@>=1.5.2 <2.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - } - } - }, - "forwarded": { - "version": "0.1.0", - "from": "forwarded@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" - }, - "fresh": { - "version": "0.3.0", - "from": "fresh@0.3.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" - }, - "fs.realpath": { - "version": "1.0.0", - "from": "fs.realpath@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/fs.realpath/-/fs.realpath-1.0.0.tgz" - }, - "fsevents": { - "version": "1.0.14", - "from": "fsevents@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.0.14.tgz", - "dependencies": { - "abbrev": { - "version": "1.0.9", - "from": "abbrev@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" - }, - "ansi-regex": { - "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" - }, - "ansi-styles": { - "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - }, - "aproba": { - "version": "1.0.4", - "from": "aproba@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz" - }, - "are-we-there-yet": { - "version": "1.1.2", - "from": "are-we-there-yet@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" - }, - "asn1": { - "version": "0.2.3", - "from": "asn1@>=0.2.3 <0.3.0", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "assert-plus": { - "version": "0.2.0", - "from": "assert-plus@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "async": { - "version": "1.5.2", - "from": "async@>=1.5.2 <2.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - }, - "aws-sign2": { - "version": "0.6.0", - "from": "aws-sign2@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" - }, - "aws4": { - "version": "1.4.1", - "from": "aws4@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz" - }, - "balanced-match": { - "version": "0.4.2", - "from": "balanced-match@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" - }, - "bl": { - "version": "1.1.2", - "from": "bl@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "from": "readable-stream@>=2.0.5 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" - } - } - }, - "block-stream": { - "version": "0.0.9", - "from": "block-stream@*", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz" - }, - "boom": { - "version": "2.10.1", - "from": "boom@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" - }, - "brace-expansion": { - "version": "1.1.5", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz" - }, - "buffer-shims": { - "version": "1.0.0", - "from": "buffer-shims@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" - }, - "caseless": { - "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" - }, - "chalk": { - "version": "1.1.3", - "from": "chalk@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - }, - "code-point-at": { - "version": "1.0.0", - "from": "code-point-at@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" - }, - "combined-stream": { - "version": "1.0.5", - "from": "combined-stream@>=1.0.5 <1.1.0", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" - }, - "commander": { - "version": "2.9.0", - "from": "commander@>=2.9.0 <3.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" - }, - "concat-map": { - "version": "0.0.1", - "from": "concat-map@0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - }, - "console-control-strings": { - "version": "1.1.0", - "from": "console-control-strings@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - }, - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "cryptiles": { - "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" - }, - "dashdash": { - "version": "1.14.0", - "from": "dashdash@>=1.12.0 <2.0.0", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } - }, - "debug": { - "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" - }, - "deep-extend": { - "version": "0.4.1", - "from": "deep-extend@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" - }, - "delayed-stream": { - "version": "1.0.0", - "from": "delayed-stream@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - }, - "delegates": { - "version": "1.0.0", - "from": "delegates@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - }, - "ecc-jsbn": { - "version": "0.1.1", - "from": "ecc-jsbn@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" - }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, - "extend": { - "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - }, - "extsprintf": { - "version": "1.0.2", - "from": "extsprintf@1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" - }, - "forever-agent": { - "version": "0.6.1", - "from": "forever-agent@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - }, - "form-data": { - "version": "1.0.0-rc4", - "from": "form-data@>=1.0.0-rc4 <1.1.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz" - }, - "fs.realpath": { - "version": "1.0.0", - "from": "fs.realpath@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - }, - "fstream": { - "version": "1.0.10", - "from": "fstream@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz" - }, - "fstream-ignore": { - "version": "1.0.5", - "from": "fstream-ignore@>=1.0.5 <1.1.0", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz" - }, - "gauge": { - "version": "2.6.0", - "from": "gauge@>=2.6.0 <2.7.0", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz" - }, - "generate-function": { - "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" - }, - "getpass": { - "version": "0.1.6", - "from": "getpass@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } - }, - "glob": { - "version": "7.0.5", - "from": "glob@>=7.0.5 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" - }, - "graceful-fs": { - "version": "4.1.4", - "from": "graceful-fs@>=4.1.2 <5.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" - }, - "graceful-readlink": { - "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - }, - "har-validator": { - "version": "2.0.6", - "from": "har-validator@>=2.0.6 <2.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - }, - "has-color": { - "version": "0.1.7", - "from": "has-color@>=0.1.7 <0.2.0", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" - }, - "has-unicode": { - "version": "2.0.1", - "from": "has-unicode@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - }, - "hawk": { - "version": "3.1.3", - "from": "hawk@>=3.1.3 <3.2.0", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" - }, - "hoek": { - "version": "2.16.3", - "from": "hoek@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" - }, - "http-signature": { - "version": "1.1.1", - "from": "http-signature@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" - }, - "inflight": { - "version": "1.0.5", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" - }, - "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "ini": { - "version": "1.3.4", - "from": "ini@>=1.3.0 <1.4.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - }, - "is-my-json-valid": { - "version": "2.13.1", - "from": "is-my-json-valid@>=2.12.4 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" - }, - "is-property": { - "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - }, - "is-typedarray": { - "version": "1.0.0", - "from": "is-typedarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - }, - "isarray": { - "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "isstream": { - "version": "0.1.2", - "from": "isstream@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - }, - "jodid25519": { - "version": "1.0.2", - "from": "jodid25519@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" - }, - "jsbn": { - "version": "0.1.0", - "from": "jsbn@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" - }, - "json-schema": { - "version": "0.2.2", - "from": "json-schema@0.2.2", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" - }, - "json-stringify-safe": { - "version": "5.0.1", - "from": "json-stringify-safe@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - }, - "jsonpointer": { - "version": "2.0.0", - "from": "jsonpointer@2.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" - }, - "jsprim": { - "version": "1.3.0", - "from": "jsprim@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.0.tgz" - }, - "mime-db": { - "version": "1.23.0", - "from": "mime-db@>=1.23.0 <1.24.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz" - }, - "mime-types": { - "version": "2.1.11", - "from": "mime-types@>=2.1.7 <2.2.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz" - }, - "minimatch": { - "version": "3.0.2", - "from": "minimatch@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz" - }, - "minimist": { - "version": "0.0.8", - "from": "minimist@0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - }, - "mkdirp": { - "version": "0.5.1", - "from": "mkdirp@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - }, - "node-pre-gyp": { - "version": "0.6.29", - "from": "node-pre-gyp@>=0.6.29 <0.7.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.29.tgz" - }, - "node-uuid": { - "version": "1.4.7", - "from": "node-uuid@>=1.4.7 <1.5.0", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" - }, - "nopt": { - "version": "3.0.6", - "from": "nopt@>=3.0.1 <3.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" - }, - "npmlog": { - "version": "3.1.2", - "from": "npmlog@>=3.1.2 <3.2.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz" - }, - "number-is-nan": { - "version": "1.0.0", - "from": "number-is-nan@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" - }, - "oauth-sign": { - "version": "0.8.2", - "from": "oauth-sign@>=0.8.1 <0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" - }, - "object-assign": { - "version": "4.1.0", - "from": "object-assign@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" - }, - "once": { - "version": "1.3.3", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" - }, - "path-is-absolute": { - "version": "1.0.0", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - }, - "pinkie": { - "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - }, - "pinkie-promise": { - "version": "2.0.1", - "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - }, - "process-nextick-args": { - "version": "1.0.7", - "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - }, - "qs": { - "version": "6.2.0", - "from": "qs@>=6.2.0 <6.3.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz" - }, - "rc": { - "version": "1.1.6", - "from": "rc@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", - "dependencies": { - "minimist": { - "version": "1.2.0", - "from": "minimist@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" - } - } - }, - "readable-stream": { - "version": "2.1.4", - "from": "readable-stream@>=2.0.0 <3.0.0||>=1.1.13 <2.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz" - }, - "request": { - "version": "2.73.0", - "from": "request@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.73.0.tgz" - }, - "rimraf": { - "version": "2.5.3", - "from": "rimraf@>=2.5.0 <2.6.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz" - }, - "semver": { - "version": "5.2.0", - "from": "semver@>=5.2.0 <5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.2.0.tgz" - }, - "set-blocking": { - "version": "2.0.0", - "from": "set-blocking@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - }, - "signal-exit": { - "version": "3.0.0", - "from": "signal-exit@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz" - }, - "sntp": { - "version": "1.0.9", - "from": "sntp@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" - }, - "sshpk": { - "version": "1.8.3", - "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "string-width": { - "version": "1.0.1", - "from": "string-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz" - }, - "stringstream": { - "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - }, - "strip-ansi": { - "version": "3.0.1", - "from": "strip-ansi@>=3.0.1 <4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - }, - "strip-json-comments": { - "version": "1.0.4", - "from": "strip-json-comments@>=1.0.4 <1.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" - }, - "supports-color": { - "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - }, - "tar": { - "version": "2.2.1", - "from": "tar@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" - }, - "tar-pack": { - "version": "3.1.4", - "from": "tar-pack@>=3.1.0 <3.2.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.4.tgz" - }, - "tough-cookie": { - "version": "2.2.2", - "from": "tough-cookie@>=2.2.0 <2.3.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" - }, - "tunnel-agent": { - "version": "0.4.3", - "from": "tunnel-agent@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" - }, - "tweetnacl": { - "version": "0.13.3", - "from": "tweetnacl@>=0.13.0 <0.14.0", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" - }, - "uid-number": { - "version": "0.0.6", - "from": "uid-number@>=0.0.6 <0.1.0", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, - "verror": { - "version": "1.3.6", - "from": "verror@1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" - }, - "wide-align": { - "version": "1.1.0", - "from": "wide-align@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz" - }, - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - } - } - }, - "function-bind": { - "version": "1.1.0", - "from": "function-bind@>=1.0.2 <2.0.0", - "resolved": "https://npm.cbzsecure.com/function-bind/-/function-bind-1.1.0.tgz" - }, - "gaze": { - "version": "1.1.1", - "from": "gaze@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.1.tgz" - }, - "generate-function": { - "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" - }, - "get-stdin": { - "version": "4.0.1", - "from": "get-stdin@>=4.0.1 <5.0.0", - "resolved": "https://npm.cbzsecure.com/get-stdin/-/get-stdin-4.0.1.tgz" - }, - "getobject": { - "version": "0.1.0", - "from": "getobject@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz" - }, - "getpass": { - "version": "0.1.6", - "from": "getpass@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } - }, - "glob": { - "version": "5.0.15", - "from": "glob@>=5.0.15 <6.0.0", - "resolved": "https://npm.cbzsecure.com/glob/-/glob-5.0.15.tgz" - }, - "glob-base": { - "version": "0.3.0", - "from": "glob-base@>=0.3.0 <0.4.0", - "resolved": "https://npm.cbzsecure.com/glob-base/-/glob-base-0.3.0.tgz" - }, - "glob-parent": { - "version": "2.0.0", - "from": "glob-parent@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/glob-parent/-/glob-parent-2.0.0.tgz" - }, - "globals": { - "version": "9.9.0", - "from": "globals@>=9.2.0 <10.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.9.0.tgz" - }, - "globby": { - "version": "5.0.0", - "from": "globby@>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "dependencies": { - "glob": { - "version": "7.0.5", - "from": "glob@>=7.0.3 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" - }, - "minimatch": { - "version": "3.0.3", - "from": "minimatch@>=3.0.2 <4.0.0", - "resolved": "https://npm.cbzsecure.com/minimatch/-/minimatch-3.0.3.tgz" - } - } - }, - "globule": { - "version": "1.0.0", - "from": "globule@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.0.0.tgz", - "dependencies": { - "glob": { - "version": "7.0.5", - "from": "glob@>=7.0.3 <7.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "dependencies": { - "minimatch": { - "version": "3.0.3", - "from": "minimatch@>=3.0.2 <4.0.0" - } - } - }, - "lodash": { - "version": "4.9.0", - "from": "lodash@>=4.9.0 <4.10.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.9.0.tgz" - } - } - }, - "graceful-fs": { - "version": "4.1.6", - "from": "graceful-fs@>=4.1.2 <5.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz" - }, - "growl": { - "version": "1.9.2", - "from": "growl@1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz" - }, - "grunt-cli": { - "version": "1.2.0", - "from": "grunt-cli@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz" - }, - "grunt-known-options": { - "version": "1.1.0", - "from": "grunt-known-options@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz" - }, - "grunt-legacy-log": { - "version": "1.0.0", - "from": "grunt-legacy-log@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", - "dependencies": { - "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.10.1 <3.11.0", - "resolved": "https://npm.cbzsecure.com/lodash/-/lodash-3.10.1.tgz" - } - } - }, - "grunt-legacy-log-utils": { - "version": "1.0.0", - "from": "grunt-legacy-log-utils@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", - "dependencies": { - "lodash": { - "version": "4.3.0", - "from": "lodash@>=4.3.0 <4.4.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz" - } - } - }, - "grunt-legacy-util": { - "version": "1.0.0", - "from": "grunt-legacy-util@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", - "dependencies": { - "async": { - "version": "1.5.2", - "from": "async@>=1.5.2 <1.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - }, - "lodash": { - "version": "4.3.0", - "from": "lodash@>=4.3.0 <4.4.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz" - } - } - }, - "handlebars": { - "version": "4.0.5", - "from": "handlebars@>=4.0.5 <5.0.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.5.tgz", - "dependencies": { - "async": { - "version": "1.5.2", - "from": "async@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - }, - "optimist": { - "version": "0.6.1", - "from": "optimist@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "dependencies": { - "minimist": { - "version": "0.0.10", - "from": "minimist@>=0.0.1 <0.1.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" - }, - "wordwrap": { - "version": "0.0.3", - "from": "wordwrap@>=0.0.2 <0.1.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" - } - } - }, - "source-map": { - "version": "0.4.4", - "from": "source-map@>=0.4.4 <0.5.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "dependencies": { - "amdefine": { - "version": "1.0.0", - "from": "amdefine@>=0.0.4", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" - } - } - }, - "uglify-js": { - "version": "2.6.2", - "from": "uglify-js@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.2.tgz", - "dependencies": { - "async": { - "version": "0.2.10", - "from": "async@>=0.2.6 <0.3.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - }, - "source-map": { - "version": "0.5.5", - "from": "source-map@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.5.tgz" - }, - "uglify-to-browserify": { - "version": "1.0.2", - "from": "uglify-to-browserify@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" - }, - "yargs": { - "version": "3.10.0", - "from": "yargs@>=3.10.0 <3.11.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "dependencies": { - "camelcase": { - "version": "1.2.1", - "from": "camelcase@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" - }, - "cliui": { - "version": "2.1.0", - "from": "cliui@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "dependencies": { - "center-align": { - "version": "0.1.3", - "from": "center-align@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "dependencies": { - "align-text": { - "version": "0.1.4", - "from": "align-text@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "dependencies": { - "kind-of": { - "version": "3.0.2", - "from": "kind-of@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.2.tgz", - "dependencies": { - "is-buffer": { - "version": "1.1.3", - "from": "is-buffer@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz" - } - } - }, - "longest": { - "version": "1.0.1", - "from": "longest@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" - }, - "repeat-string": { - "version": "1.5.4", - "from": "repeat-string@>=1.5.2 <2.0.0", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" - } - } - }, - "lazy-cache": { - "version": "1.0.4", - "from": "lazy-cache@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" - } - } - }, - "right-align": { - "version": "0.1.3", - "from": "right-align@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "dependencies": { - "align-text": { - "version": "0.1.4", - "from": "align-text@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "dependencies": { - "kind-of": { - "version": "3.0.2", - "from": "kind-of@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.2.tgz", - "dependencies": { - "is-buffer": { - "version": "1.1.3", - "from": "is-buffer@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz" - } - } - }, - "longest": { - "version": "1.0.1", - "from": "longest@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" - }, - "repeat-string": { - "version": "1.5.4", - "from": "repeat-string@>=1.5.2 <2.0.0", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" - } - } - } - } - }, - "wordwrap": { - "version": "0.0.2", - "from": "wordwrap@0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" - } - } - }, - "decamelize": { - "version": "1.2.0", - "from": "decamelize@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - }, - "window-size": { - "version": "0.1.0", - "from": "window-size@0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" - } - } - } - } - } - } - }, - "har-validator": { - "version": "2.0.6", - "from": "har-validator@>=2.0.6 <2.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" - }, - "has": { - "version": "1.0.1", - "from": "has@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/has/-/has-1.0.1.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - }, - "hash.js": { - "version": "1.0.3", - "from": "hash.js@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz" - }, - "hawk": { - "version": "3.1.3", - "from": "hawk@>=3.1.3 <3.2.0", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" - }, - "highlight.js": { - "version": "9.6.0", - "from": "highlight.js@9.6.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.6.0.tgz" - }, - "hoek": { - "version": "2.16.3", - "from": "hoek@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" - }, - "hooker": { - "version": "0.2.3", - "from": "hooker@>=0.2.3 <0.3.0", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" - }, - "hosted-git-info": { - "version": "2.1.5", - "from": "hosted-git-info@>=2.1.4 <3.0.0", - "resolved": "https://npm.cbzsecure.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz" - }, - "htmlescape": { - "version": "1.1.1", - "from": "htmlescape@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz" - }, - "http-errors": { - "version": "1.5.0", - "from": "http-errors@1.5.0", - "resolved": "https://npm.cbzsecure.com/http-errors/-/http-errors-1.5.0.tgz" - }, - "http-signature": { - "version": "1.1.1", - "from": "http-signature@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" - }, - "https-browserify": { - "version": "0.0.1", - "from": "https-browserify@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz" - }, - "iconv-lite": { - "version": "0.4.13", - "from": "iconv-lite@>=0.4.13 <0.5.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" - }, - "ieee754": { - "version": "1.1.6", - "from": "ieee754@>=1.1.4 <2.0.0", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.6.tgz" - }, - "ignore": { - "version": "3.1.5", - "from": "ignore@>=3.1.2 <4.0.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.1.5.tgz" - }, - "image-size": { - "version": "0.5.0", - "from": "image-size@>=0.5.0 <0.6.0", - "resolved": "https://npm.cbzsecure.com/image-size/-/image-size-0.5.0.tgz" - }, - "imurmurhash": { - "version": "0.1.4", - "from": "imurmurhash@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - }, - "indent-string": { - "version": "2.1.0", - "from": "indent-string@>=2.1.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/indent-string/-/indent-string-2.1.0.tgz" - }, - "indexof": { - "version": "0.0.1", - "from": "indexof@0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz" - }, - "inflight": { - "version": "1.0.5", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://npm.cbzsecure.com/inflight/-/inflight-1.0.5.tgz" - }, - "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "inline-source-map": { - "version": "0.6.2", - "from": "inline-source-map@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz" - }, - "inquirer": { - "version": "0.12.0", - "from": "inquirer@>=0.12.0 <0.13.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz" - }, - "insert-module-globals": { - "version": "7.0.1", - "from": "insert-module-globals@>=7.0.0 <8.0.0", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz" - }, - "ipaddr.js": { - "version": "1.1.1", - "from": "ipaddr.js@1.1.1", - "resolved": "https://npm.cbzsecure.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz" - }, - "is-arrayish": { - "version": "0.2.1", - "from": "is-arrayish@>=0.2.1 <0.3.0", - "resolved": "https://npm.cbzsecure.com/is-arrayish/-/is-arrayish-0.2.1.tgz" - }, - "is-binary-path": { - "version": "1.0.1", - "from": "is-binary-path@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/is-binary-path/-/is-binary-path-1.0.1.tgz" - }, - "is-buffer": { - "version": "1.1.4", - "from": "is-buffer@>=1.1.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/is-buffer/-/is-buffer-1.1.4.tgz" - }, - "is-builtin-module": { - "version": "1.0.0", - "from": "is-builtin-module@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz" - }, - "is-dotfile": { - "version": "1.0.2", - "from": "is-dotfile@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/is-dotfile/-/is-dotfile-1.0.2.tgz" - }, - "is-equal-shallow": { - "version": "0.1.3", - "from": "is-equal-shallow@>=0.1.3 <0.2.0", - "resolved": "https://npm.cbzsecure.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" - }, - "is-extendable": { - "version": "0.1.1", - "from": "is-extendable@>=0.1.1 <0.2.0", - "resolved": "https://npm.cbzsecure.com/is-extendable/-/is-extendable-0.1.1.tgz" - }, - "is-extglob": { - "version": "1.0.0", - "from": "is-extglob@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/is-extglob/-/is-extglob-1.0.0.tgz" - }, - "is-finite": { - "version": "1.0.1", - "from": "is-finite@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/is-finite/-/is-finite-1.0.1.tgz" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - }, - "is-glob": { - "version": "2.0.1", - "from": "is-glob@>=2.0.1 <3.0.0", - "resolved": "https://npm.cbzsecure.com/is-glob/-/is-glob-2.0.1.tgz" - }, - "is-my-json-valid": { - "version": "2.13.1", - "from": "is-my-json-valid@>=2.10.0 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" - }, - "is-number": { - "version": "2.1.0", - "from": "is-number@>=2.1.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/is-number/-/is-number-2.1.0.tgz" - }, - "is-path-cwd": { - "version": "1.0.0", - "from": "is-path-cwd@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" - }, - "is-path-in-cwd": { - "version": "1.0.0", - "from": "is-path-in-cwd@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz" - }, - "is-path-inside": { - "version": "1.0.0", - "from": "is-path-inside@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" - }, - "is-posix-bracket": { - "version": "0.1.1", - "from": "is-posix-bracket@>=0.1.0 <0.2.0", - "resolved": "https://npm.cbzsecure.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz" - }, - "is-primitive": { - "version": "2.0.0", - "from": "is-primitive@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/is-primitive/-/is-primitive-2.0.0.tgz" - }, - "is-property": { - "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - }, - "is-resolvable": { - "version": "1.0.0", - "from": "is-resolvable@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz" - }, - "is-typedarray": { - "version": "1.0.0", - "from": "is-typedarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - }, - "is-utf8": { - "version": "0.2.1", - "from": "is-utf8@>=0.2.0 <0.3.0", - "resolved": "https://npm.cbzsecure.com/is-utf8/-/is-utf8-0.2.1.tgz" - }, - "isarray": { - "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "isexe": { - "version": "1.1.2", - "from": "isexe@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz" - }, - "isobject": { - "version": "2.1.0", - "from": "isobject@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/isobject/-/isobject-2.1.0.tgz" - }, - "isstream": { - "version": "0.1.2", - "from": "isstream@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - }, - "jade": { - "version": "0.26.3", - "from": "jade@0.26.3", - "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", - "dependencies": { - "commander": { - "version": "0.6.1", - "from": "commander@0.6.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" - }, - "mkdirp": { - "version": "0.3.0", - "from": "mkdirp@0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" - } - } - }, - "jju": { - "version": "1.3.0", - "from": "jju@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz" - }, - "jodid25519": { - "version": "1.0.2", - "from": "jodid25519@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" - }, - "js-yaml": { - "version": "3.6.1", - "from": "js-yaml@3.6.1", - "resolved": "https://npm.cbzsecure.com/js-yaml/-/js-yaml-3.6.1.tgz" - }, - "jsbn": { - "version": "0.1.0", - "from": "jsbn@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" - }, - "json-schema": { - "version": "0.2.2", - "from": "json-schema@0.2.2", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz" - }, - "json-stable-stringify": { - "version": "0.0.1", - "from": "json-stable-stringify@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz" - }, - "json-stringify-safe": { - "version": "5.0.1", - "from": "json-stringify-safe@>=5.0.1 <5.1.0", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - }, - "jsonify": { - "version": "0.0.0", - "from": "jsonify@>=0.0.0 <0.1.0", - "resolved": "https://npm.cbzsecure.com/jsonify/-/jsonify-0.0.0.tgz" - }, - "jsonparse": { - "version": "1.2.0", - "from": "jsonparse@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz" - }, - "jsonpointer": { - "version": "2.0.0", - "from": "jsonpointer@2.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" - }, - "JSONStream": { - "version": "1.1.4", - "from": "JSONStream@1.1.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.1.4.tgz" - }, - "jsprim": { - "version": "1.3.0", - "from": "jsprim@>=1.2.2 <2.0.0", - "resolved": "https://npm.cbzsecure.com/jsprim/-/jsprim-1.3.0.tgz" - }, - "kind-of": { - "version": "3.0.4", - "from": "kind-of@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz" - }, - "labeled-stream-splicer": { - "version": "2.0.0", - "from": "labeled-stream-splicer@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz", - "dependencies": { - "isarray": { - "version": "0.0.1", - "from": "isarray@>=0.0.1 <0.1.0", - "resolved": "https://npm.cbzsecure.com/isarray/-/isarray-0.0.1.tgz" - } - } - }, - "less": { - "version": "2.7.1", - "from": "less@>=2.7.1 <2.8.0", - "resolved": "https://npm.cbzsecure.com/less/-/less-2.7.1.tgz" - }, - "levn": { - "version": "0.3.0", - "from": "levn@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - }, - "lexical-scope": { - "version": "1.2.0", - "from": "lexical-scope@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz" - }, - "livereload-js": { - "version": "2.2.2", - "from": "livereload-js@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz" - }, - "load-json-file": { - "version": "1.1.0", - "from": "load-json-file@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/load-json-file/-/load-json-file-1.1.0.tgz" - }, - "lockfile": { - "version": "1.0.1", - "from": "lockfile@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz" - }, - "lodash": { - "version": "4.15.0", - "from": "lodash@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz" - }, - "lodash.memoize": { - "version": "3.0.4", - "from": "lodash.memoize@>=3.0.3 <3.1.0", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz" - }, - "loud-rejection": { - "version": "1.6.0", - "from": "loud-rejection@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" - }, - "lru-cache": { - "version": "2.7.3", - "from": "lru-cache@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/lru-cache/-/lru-cache-2.7.3.tgz" - }, - "lunr": { - "version": "0.7.1", - "from": "lunr@0.7.1", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-0.7.1.tgz" - }, - "map-obj": { - "version": "1.0.1", - "from": "map-obj@>=1.0.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/map-obj/-/map-obj-1.0.1.tgz" - }, - "media-typer": { - "version": "0.3.0", - "from": "media-typer@0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - }, - "meow": { - "version": "3.7.0", - "from": "meow@>=3.3.0 <4.0.0", - "resolved": "https://npm.cbzsecure.com/meow/-/meow-3.7.0.tgz" - }, - "merge-descriptors": { - "version": "1.0.1", - "from": "merge-descriptors@1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - }, - "methods": { - "version": "1.1.2", - "from": "methods@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - }, - "micromatch": { - "version": "2.3.11", - "from": "micromatch@>=2.1.5 <3.0.0", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz" - }, - "miller-rabin": { - "version": "4.0.0", - "from": "miller-rabin@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz" - }, - "mime": { - "version": "1.3.4", - "from": "mime@>=1.2.11 <2.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" - }, - "mime-db": { - "version": "1.23.0", - "from": "mime-db@>=1.23.0 <1.24.0", - "resolved": "https://npm.cbzsecure.com/mime-db/-/mime-db-1.23.0.tgz" - }, - "mime-types": { - "version": "2.1.11", - "from": "mime-types@>=2.1.11 <2.2.0", - "resolved": "https://npm.cbzsecure.com/mime-types/-/mime-types-2.1.11.tgz" - }, - "minimalistic-assert": { - "version": "1.0.0", - "from": "minimalistic-assert@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz" - }, - "minimatch": { - "version": "3.0.3", - "from": "minimatch@3.0.3", - "resolved": "https://npm.cbzsecure.com/minimatch/-/minimatch-3.0.3.tgz" - }, - "minimist": { - "version": "1.2.0", - "from": "minimist@>=1.1.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/minimist/-/minimist-1.2.0.tgz" - }, - "mkdirp": { - "version": "0.5.1", - "from": "mkdirp@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "dependencies": { - "minimist": { - "version": "0.0.8", - "from": "minimist@0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - } - } - }, - "module-deps": { - "version": "4.0.7", - "from": "module-deps@>=4.0.2 <5.0.0", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-4.0.7.tgz" - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" - }, - "mute-stream": { - "version": "0.0.5", - "from": "mute-stream@0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" - }, - "nan": { - "version": "2.4.0", - "from": "nan@>=2.3.0 <3.0.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz" - }, - "negotiator": { - "version": "0.6.1", - "from": "negotiator@0.6.1", - "resolved": "https://npm.cbzsecure.com/negotiator/-/negotiator-0.6.1.tgz" - }, - "node-uuid": { - "version": "1.4.7", - "from": "node-uuid@>=1.4.7 <1.5.0", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" - }, - "nopt": { - "version": "3.0.6", - "from": "nopt@>=3.0.6 <3.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" - }, - "normalize-package-data": { - "version": "2.3.5", - "from": "normalize-package-data@>=2.3.4 <3.0.0", - "resolved": "https://npm.cbzsecure.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz" - }, - "normalize-path": { - "version": "2.0.1", - "from": "normalize-path@>=2.0.1 <3.0.0", - "resolved": "https://npm.cbzsecure.com/normalize-path/-/normalize-path-2.0.1.tgz" - }, - "number-is-nan": { - "version": "1.0.0", - "from": "number-is-nan@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/number-is-nan/-/number-is-nan-1.0.0.tgz" - }, - "oauth-sign": { - "version": "0.8.2", - "from": "oauth-sign@>=0.8.1 <0.9.0", - "resolved": "https://npm.cbzsecure.com/oauth-sign/-/oauth-sign-0.8.2.tgz" - }, - "object-assign": { - "version": "4.1.0", - "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://npm.cbzsecure.com/object-assign/-/object-assign-4.1.0.tgz" - }, - "object.omit": { - "version": "2.0.0", - "from": "object.omit@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/object.omit/-/object.omit-2.0.0.tgz" - }, - "on-finished": { - "version": "2.3.0", - "from": "on-finished@>=2.3.0 <2.4.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - }, - "on-headers": { - "version": "1.0.1", - "from": "on-headers@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz" - }, - "once": { - "version": "1.3.3", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" - }, - "onetime": { - "version": "1.1.0", - "from": "onetime@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" - }, - "optionator": { - "version": "0.8.1", - "from": "optionator@>=0.8.1 <0.9.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz" - }, - "os-browserify": { - "version": "0.1.2", - "from": "os-browserify@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz" - }, - "os-homedir": { - "version": "1.0.1", - "from": "os-homedir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" - }, - "outpipe": { - "version": "1.1.1", - "from": "outpipe@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz" - }, - "pako": { - "version": "0.2.9", - "from": "pako@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz" - }, - "parents": { - "version": "1.0.1", - "from": "parents@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz" - }, - "parse-asn1": { - "version": "5.0.0", - "from": "parse-asn1@>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz" - }, - "parse-glob": { - "version": "3.0.4", - "from": "parse-glob@>=3.0.4 <4.0.0", - "resolved": "https://npm.cbzsecure.com/parse-glob/-/parse-glob-3.0.4.tgz" - }, - "parse-json": { - "version": "2.2.0", - "from": "parse-json@>=2.2.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/parse-json/-/parse-json-2.2.0.tgz" - }, - "parseurl": { - "version": "1.3.1", - "from": "parseurl@>=1.3.0 <1.4.0", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" - }, - "path-browserify": { - "version": "0.0.0", - "from": "path-browserify@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz" - }, - "path-exists": { - "version": "2.1.0", - "from": "path-exists@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/path-exists/-/path-exists-2.1.0.tgz" - }, - "path-is-absolute": { - "version": "1.0.0", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" - }, - "path-is-inside": { - "version": "1.0.1", - "from": "path-is-inside@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz" - }, - "path-platform": { - "version": "0.11.15", - "from": "path-platform@>=0.11.15 <0.12.0", - "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz" - }, - "path-to-regexp": { - "version": "0.1.7", - "from": "path-to-regexp@0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - }, - "path-type": { - "version": "1.1.0", - "from": "path-type@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/path-type/-/path-type-1.1.0.tgz" - }, - "pbkdf2": { - "version": "3.0.4", - "from": "pbkdf2@>=3.0.3 <4.0.0", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.4.tgz" - }, - "pify": { - "version": "2.3.0", - "from": "pify@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/pify/-/pify-2.3.0.tgz" - }, - "pinkie": { - "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - }, - "pinkie-promise": { - "version": "2.0.1", - "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - }, - "pkginfo": { - "version": "0.4.0", - "from": "pkginfo@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz" - }, - "pluralize": { - "version": "1.2.1", - "from": "pluralize@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz" - }, - "prelude-ls": { - "version": "1.1.2", - "from": "prelude-ls@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - }, - "preserve": { - "version": "0.2.0", - "from": "preserve@>=0.2.0 <0.3.0", - "resolved": "https://npm.cbzsecure.com/preserve/-/preserve-0.2.0.tgz" - }, - "process": { - "version": "0.11.8", - "from": "process@>=0.11.0 <0.12.0", - "resolved": "https://npm.cbzsecure.com/process/-/process-0.11.8.tgz" - }, - "process-nextick-args": { - "version": "1.0.7", - "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://npm.cbzsecure.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - }, - "progress": { - "version": "1.1.8", - "from": "progress@>=1.1.8 <2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz" - }, - "promise": { - "version": "7.1.1", - "from": "promise@>=7.1.1 <8.0.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz" - }, - "proxy-addr": { - "version": "1.1.2", - "from": "proxy-addr@>=1.1.2 <1.2.0", - "resolved": "https://npm.cbzsecure.com/proxy-addr/-/proxy-addr-1.1.2.tgz" - }, - "prr": { - "version": "0.0.0", - "from": "prr@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz" - }, - "public-encrypt": { - "version": "4.0.0", - "from": "public-encrypt@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz" - }, - "punycode": { - "version": "1.4.1", - "from": "punycode@>=1.3.2 <2.0.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - }, - "qs": { - "version": "5.1.0", - "from": "qs@>=5.1.0 <5.2.0", - "resolved": "https://npm.cbzsecure.com/qs/-/qs-5.1.0.tgz" - }, - "querystring": { - "version": "0.2.0", - "from": "querystring@0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - }, - "querystring-es3": { - "version": "0.2.1", - "from": "querystring-es3@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" - }, - "randomatic": { - "version": "1.1.5", - "from": "randomatic@>=1.1.3 <2.0.0", - "resolved": "https://npm.cbzsecure.com/randomatic/-/randomatic-1.1.5.tgz" - }, - "randombytes": { - "version": "2.0.3", - "from": "randombytes@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz" - }, - "range-parser": { - "version": "1.2.0", - "from": "range-parser@>=1.2.0 <1.3.0", - "resolved": "https://npm.cbzsecure.com/range-parser/-/range-parser-1.2.0.tgz" - }, - "raw-body": { - "version": "2.1.7", - "from": "raw-body@>=2.1.5 <2.2.0", - "resolved": "https://npm.cbzsecure.com/raw-body/-/raw-body-2.1.7.tgz", - "dependencies": { - "bytes": { - "version": "2.4.0", - "from": "bytes@2.4.0", - "resolved": "https://npm.cbzsecure.com/bytes/-/bytes-2.4.0.tgz" - } - } - }, - "read-only-stream": { - "version": "2.0.0", - "from": "read-only-stream@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz" - }, - "read-pkg": { - "version": "1.1.0", - "from": "read-pkg@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/read-pkg/-/read-pkg-1.1.0.tgz" - }, - "read-pkg-up": { - "version": "1.0.1", - "from": "read-pkg-up@>=1.0.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - }, - "readable-stream": { - "version": "2.1.5", - "from": "readable-stream@2.1.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz" - }, - "readdirp": { - "version": "2.1.0", - "from": "readdirp@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/readdirp/-/readdirp-2.1.0.tgz", - "dependencies": { - "minimatch": { - "version": "3.0.3", - "from": "minimatch@>=3.0.2 <4.0.0" - } - } - }, - "readline2": { - "version": "1.0.1", - "from": "readline2@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz" - }, - "redent": { - "version": "1.0.0", - "from": "redent@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/redent/-/redent-1.0.0.tgz" - }, - "regex-cache": { - "version": "0.4.3", - "from": "regex-cache@>=0.4.2 <0.5.0", - "resolved": "https://npm.cbzsecure.com/regex-cache/-/regex-cache-0.4.3.tgz" - }, - "render-readme": { - "version": "1.3.1", - "from": "render-readme@>=1.3.1 <2.0.0", - "resolved": "https://registry.npmjs.org/render-readme/-/render-readme-1.3.1.tgz", - "dependencies": { - "highlight.js": { - "version": "8.9.1", - "from": "highlight.js@>=8.0.0 <9.0.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz" - }, - "markdown-it": { - "version": "4.4.0", - "from": "markdown-it@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-4.4.0.tgz", - "dependencies": { - "argparse": { - "version": "1.0.7", - "from": "argparse@>=1.0.2 <1.1.0", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz", - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "from": "sprintf-js@>=1.0.2 <1.1.0", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - } - } - }, - "entities": { - "version": "1.1.1", - "from": "entities@>=1.1.1 <1.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" - }, - "linkify-it": { - "version": "1.2.1", - "from": "linkify-it@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.1.tgz" - }, - "mdurl": { - "version": "1.0.1", - "from": "mdurl@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" - }, - "uc.micro": { - "version": "1.0.0", - "from": "uc.micro@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.0.tgz" - } - } - }, - "sanitize-html": { - "version": "1.11.4", - "from": "sanitize-html@>=1.0.0 <2.0.0 >=1.4.0", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.11.4.tgz", - "dependencies": { - "htmlparser2": { - "version": "3.9.0", - "from": "htmlparser2@>=3.9.0 <4.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.0.tgz", - "dependencies": { - "domelementtype": { - "version": "1.3.0", - "from": "domelementtype@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" - }, - "domhandler": { - "version": "2.3.0", - "from": "domhandler@>=2.3.0 <3.0.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz" - }, - "domutils": { - "version": "1.5.1", - "from": "domutils@>=1.5.1 <2.0.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "dependencies": { - "dom-serializer": { - "version": "0.1.0", - "from": "dom-serializer@>=0.0.0 <1.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "from": "domelementtype@>=1.1.1 <1.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz" - } - } - } - } - }, - "entities": { - "version": "1.1.1", - "from": "entities@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" - } - } - }, - "regexp-quote": { - "version": "0.0.0", - "from": "regexp-quote@0.0.0", - "resolved": "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz" - }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - } - } - } - } - }, - "repeat-element": { - "version": "1.1.2", - "from": "repeat-element@>=1.1.2 <2.0.0", - "resolved": "https://npm.cbzsecure.com/repeat-element/-/repeat-element-1.1.2.tgz" - }, - "repeat-string": { - "version": "1.5.4", - "from": "repeat-string@>=1.5.2 <2.0.0", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" - }, - "repeating": { - "version": "2.0.1", - "from": "repeating@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/repeating/-/repeating-2.0.1.tgz" - }, - "request": { - "version": "2.74.0", - "from": "request@2.74.0", - "resolved": "https://npm.cbzsecure.com/request/-/request-2.74.0.tgz", - "dependencies": { - "qs": { - "version": "6.2.1", - "from": "qs@>=6.2.0 <6.3.0", - "resolved": "https://npm.cbzsecure.com/qs/-/qs-6.2.1.tgz" - } - } - }, - "require-uncached": { - "version": "1.0.2", - "from": "require-uncached@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz" - }, - "resolve": { - "version": "1.1.7", - "from": "resolve@>=1.1.4 <2.0.0", - "resolved": "https://npm.cbzsecure.com/resolve/-/resolve-1.1.7.tgz" - }, - "resolve-from": { - "version": "1.0.1", - "from": "resolve-from@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz" - }, - "restore-cursor": { - "version": "1.0.1", - "from": "restore-cursor@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" - }, - "rimraf": { - "version": "2.5.4", - "from": "rimraf@>=2.5.2 <3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", - "dependencies": { - "glob": { - "version": "7.0.5", - "from": "glob@>=7.0.5 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" - }, - "minimatch": { - "version": "3.0.3", - "from": "minimatch@>=3.0.2 <4.0.0" - } - } - }, - "ripemd160": { - "version": "1.0.1", - "from": "ripemd160@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz" - }, - "run-async": { - "version": "0.1.0", - "from": "run-async@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz" - }, - "rx-lite": { - "version": "3.1.2", - "from": "rx-lite@>=3.1.2 <4.0.0", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" - }, - "semver": { - "version": "5.3.0", - "from": "semver@5.3.0", - "resolved": "https://npm.cbzsecure.com/semver/-/semver-5.3.0.tgz" - }, - "send": { - "version": "0.14.1", - "from": "send@0.14.1", - "resolved": "https://npm.cbzsecure.com/send/-/send-0.14.1.tgz" - }, - "serve-static": { - "version": "1.11.1", - "from": "serve-static@>=1.11.1 <1.12.0", - "resolved": "https://npm.cbzsecure.com/serve-static/-/serve-static-1.11.1.tgz" - }, - "set-immediate-shim": { - "version": "1.0.1", - "from": "set-immediate-shim@>=1.0.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz" - }, - "setprototypeof": { - "version": "1.0.1", - "from": "setprototypeof@1.0.1", - "resolved": "https://npm.cbzsecure.com/setprototypeof/-/setprototypeof-1.0.1.tgz" - }, - "sha.js": { - "version": "2.4.5", - "from": "sha.js@>=2.3.6 <3.0.0", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.5.tgz" - }, - "shasum": { - "version": "1.0.2", - "from": "shasum@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz" - }, - "shell-quote": { - "version": "1.6.1", - "from": "shell-quote@>=1.4.3 <2.0.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz" - }, - "shelljs": { - "version": "0.6.1", - "from": "shelljs@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz" - }, - "sigmund": { - "version": "1.0.1", - "from": "sigmund@>=1.0.0 <1.1.0", - "resolved": "https://npm.cbzsecure.com/sigmund/-/sigmund-1.0.1.tgz" - }, - "signal-exit": { - "version": "3.0.0", - "from": "signal-exit@>=3.0.0 <4.0.0", - "resolved": "https://npm.cbzsecure.com/signal-exit/-/signal-exit-3.0.0.tgz" - }, - "slice-ansi": { - "version": "0.0.4", - "from": "slice-ansi@0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" - }, - "sntp": { - "version": "1.0.9", - "from": "sntp@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" - }, - "source-map": { - "version": "0.5.6", - "from": "source-map@>=0.5.3 <0.6.0", - "resolved": "https://npm.cbzsecure.com/source-map/-/source-map-0.5.6.tgz" - }, - "spdx-correct": { - "version": "1.0.2", - "from": "spdx-correct@>=1.0.0 <1.1.0", - "resolved": "https://npm.cbzsecure.com/spdx-correct/-/spdx-correct-1.0.2.tgz" - }, - "spdx-exceptions": { - "version": "1.0.5", - "from": "spdx-exceptions@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.5.tgz" - }, - "spdx-expression-parse": { - "version": "1.0.2", - "from": "spdx-expression-parse@>=1.0.0 <1.1.0", - "resolved": "https://npm.cbzsecure.com/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz" - }, - "spdx-license-ids": { - "version": "1.2.2", - "from": "spdx-license-ids@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz" - }, - "sprintf-js": { - "version": "1.0.3", - "from": "sprintf-js@>=1.0.2 <1.1.0", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - }, - "sshpk": { - "version": "1.9.2", - "from": "sshpk@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.9.2.tgz", - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - } - } - }, - "statuses": { - "version": "1.3.0", - "from": "statuses@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/statuses/-/statuses-1.3.0.tgz" - }, - "stream-browserify": { - "version": "2.0.1", - "from": "stream-browserify@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz" - }, - "stream-combiner2": { - "version": "1.1.1", - "from": "stream-combiner2@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz" - }, - "stream-http": { - "version": "2.3.1", - "from": "stream-http@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.3.1.tgz" - }, - "stream-splicer": { - "version": "2.0.0", - "from": "stream-splicer@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "string-width": { - "version": "1.0.2", - "from": "string-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - }, - "stringstream": { - "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" - }, - "strip-ansi": { - "version": "3.0.1", - "from": "strip-ansi@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - }, - "strip-bom": { - "version": "2.0.0", - "from": "strip-bom@>=2.0.0 <3.0.0", - "resolved": "https://npm.cbzsecure.com/strip-bom/-/strip-bom-2.0.0.tgz" - }, - "strip-indent": { - "version": "1.0.1", - "from": "strip-indent@>=1.0.1 <2.0.0", - "resolved": "https://npm.cbzsecure.com/strip-indent/-/strip-indent-1.0.1.tgz" - }, - "strip-json-comments": { - "version": "1.0.4", - "from": "strip-json-comments@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" - }, - "subarg": { - "version": "1.0.0", - "from": "subarg@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz" - }, - "supports-color": { - "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - }, - "symbol": { - "version": "0.2.3", - "from": "symbol@0.2.3", - "resolved": "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz" - }, - "syntax-error": { - "version": "1.1.6", - "from": "syntax-error@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.6.tgz", - "dependencies": { - "acorn": { - "version": "2.7.0", - "from": "acorn@>=2.7.0 <3.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz" - } - } - }, - "table": { - "version": "3.7.8", - "from": "table@>=3.7.8 <4.0.0", - "resolved": "https://registry.npmjs.org/table/-/table-3.7.8.tgz" - }, - "text-table": { - "version": "0.2.0", - "from": "text-table@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - }, - "through": { - "version": "2.3.8", - "from": "through@>=2.3.4 <2.4.0", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - }, - "through2": { - "version": "2.0.1", - "from": "through2@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "from": "readable-stream@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" - } - } - }, - "timers-browserify": { - "version": "1.4.2", - "from": "timers-browserify@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz" - }, - "tiny-lr": { - "version": "0.2.1", - "from": "tiny-lr@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", - "dependencies": { - "body-parser": { - "version": "1.14.2", - "from": "body-parser@>=1.14.0 <1.15.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", - "dependencies": { - "qs": { - "version": "5.2.0", - "from": "qs@5.2.0", - "resolved": "https://npm.cbzsecure.com/qs/-/qs-5.2.0.tgz" - } - } - }, - "http-errors": { - "version": "1.3.1", - "from": "http-errors@>=1.3.1 <1.4.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz" - } - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "from": "to-arraybuffer@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" - }, - "to-iso-string": { - "version": "0.0.2", - "from": "to-iso-string@0.0.2", - "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz" - }, - "tough-cookie": { - "version": "2.3.1", - "from": "tough-cookie@>=2.3.0 <2.4.0", - "resolved": "https://npm.cbzsecure.com/tough-cookie/-/tough-cookie-2.3.1.tgz" - }, - "trim-newlines": { - "version": "1.0.0", - "from": "trim-newlines@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/trim-newlines/-/trim-newlines-1.0.0.tgz" - }, - "tryit": { - "version": "1.0.2", - "from": "tryit@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.2.tgz" - }, - "tty-browserify": { - "version": "0.0.0", - "from": "tty-browserify@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" - }, - "tunnel-agent": { - "version": "0.4.3", - "from": "tunnel-agent@>=0.4.1 <0.5.0", - "resolved": "https://npm.cbzsecure.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz" - }, - "tv4": { - "version": "1.2.7", - "from": "tv4@>=1.2.7 <2.0.0", - "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz" - }, - "tweetnacl": { - "version": "0.13.3", - "from": "tweetnacl@>=0.13.0 <0.14.0", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz" - }, - "type-check": { - "version": "0.3.2", - "from": "type-check@>=0.3.2 <0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - }, - "type-is": { - "version": "1.6.13", - "from": "type-is@>=1.6.10 <1.7.0", - "resolved": "https://npm.cbzsecure.com/type-is/-/type-is-1.6.13.tgz" - }, - "typedarray": { - "version": "0.0.6", - "from": "typedarray@>=0.0.5 <0.1.0", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - }, - "umd": { - "version": "3.0.1", - "from": "umd@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz" - }, - "underscore.string": { - "version": "3.2.3", - "from": "underscore.string@>=3.2.3 <3.3.0", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz" - }, - "unix-crypt-td-js": { - "version": "1.0.0", - "from": "unix-crypt-td-js@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.0.0.tgz" - }, - "unopinionate": { - "version": "0.0.4", - "from": "unopinionate@>=0.0.4 <0.0.5", - "resolved": "https://registry.npmjs.org/unopinionate/-/unopinionate-0.0.4.tgz" - }, - "unpipe": { - "version": "1.0.0", - "from": "unpipe@1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - }, - "url": { - "version": "0.11.0", - "from": "url@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "dependencies": { - "punycode": { - "version": "1.3.2", - "from": "punycode@1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - } - } - }, - "user-home": { - "version": "2.0.0", - "from": "user-home@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" - }, - "util": { - "version": "0.10.3", - "from": "util@>=0.10.1 <0.11.0", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - }, - "utils-merge": { - "version": "1.0.0", - "from": "utils-merge@1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" - }, - "validate-npm-package-license": { - "version": "3.0.1", - "from": "validate-npm-package-license@>=3.0.1 <4.0.0", - "resolved": "https://npm.cbzsecure.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz" - }, - "vary": { - "version": "1.1.0", - "from": "vary@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz" - }, - "verror": { - "version": "1.3.6", - "from": "verror@1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" - }, - "vm-browserify": { - "version": "0.0.4", - "from": "vm-browserify@>=0.0.1 <0.1.0", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz" - }, - "watchify": { - "version": "3.7.0", - "from": "watchify@>=3.6.1 <4.0.0", - "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.7.0.tgz" - }, - "websocket-driver": { - "version": "0.6.5", - "from": "websocket-driver@>=0.5.1", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz" - }, - "websocket-extensions": { - "version": "0.1.1", - "from": "websocket-extensions@>=0.1.1", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz" - }, - "which": { - "version": "1.2.10", - "from": "which@>=1.2.1 <1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.10.tgz" - }, - "wordwrap": { - "version": "1.0.0", - "from": "wordwrap@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - }, - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://npm.cbzsecure.com/wrappy/-/wrappy-1.0.2.tgz" - }, - "write": { - "version": "0.2.1", - "from": "write@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" - }, - "xregexp": { - "version": "3.1.1", - "from": "xregexp@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-3.1.1.tgz" - }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - } - } -} From 564b91fba95b1d12df70576ed93fa0b5cac37c37 Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Mon, 22 Aug 2016 15:37:56 -0500 Subject: [PATCH 19/37] Start version off as 1.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6e55d0331..165dabf43 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "verdaccio", - "version": "1.4.0", + "version": "1.0.0", "description": "Private npm repository server", "author": { "name": "Alex Kocharin", From 4050e063c0f240f42463e544adc629d0faac4c29 Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Mon, 22 Aug 2016 15:45:25 -0500 Subject: [PATCH 20/37] Revert "Start version off as 1.0.0" It appears that user lonelyclick has already published this to npm. I have contacted him about getting added as a collaborator This reverts commit 564b91fba95b1d12df70576ed93fa0b5cac37c37. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 165dabf43..6e55d0331 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "verdaccio", - "version": "1.0.0", + "version": "1.4.0", "description": "Private npm repository server", "author": { "name": "Alex Kocharin", From fea001efcf7d99e99ef9e47d0e9341325a354494 Mon Sep 17 00:00:00 2001 From: Juan Carlos Picado <juanpicado19@gmail.com> Date: Wed, 24 Aug 2016 23:06:50 +0200 Subject: [PATCH 21/37] update readme, sinopia renamed to verdaccio --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index bc886aca5..544d7b796 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![travis badge](http://img.shields.io/travis/verdaccio/verdaccio.svg)](https://travis-ci.org/verdaccio/verdaccio) -It allows you to have a local npm registry with zero configuration. You don't have to install and replicate an entire CouchDB database. Sinopia keeps its own small database and, if a package doesn't exist there, it asks npmjs.org for it keeping only those packages you use. +It allows you to have a local npm registry with zero configuration. You don't have to install and replicate an entire CouchDB database. Verdaccio keeps its own small database and, if a package doesn't exist there, it asks npmjs.org for it keeping only those packages you use. <p align="center"><img src="https://f.cloud.github.com/assets/999113/1795553/680177b2-6a1d-11e3-82e1-02193aa4e32e.png"></p> @@ -34,8 +34,8 @@ It allows you to have a local npm registry with zero configuration. You don't ha ```bash # installation and starting (application will create default # config in config.yaml you can edit later) -$ npm install -g sinopia -$ sinopia +$ npm install -g verdaccio +$ verdaccio # npm configuration $ npm set registry http://localhost:4873/ @@ -77,7 +77,7 @@ When you start a server, it auto-creates a config file. npm adduser --registry http://localhost:4873/ ``` -This will prompt you for user credentials which will be saved on the Sinopia server. +This will prompt you for user credentials which will be saved on the Verdaccio server. ## Using private packages @@ -87,7 +87,7 @@ It is recommended that you define a prefix for your private packages, for exampl ## Using public packages from npmjs.org -If some package doesn't exist in the storage, server will try to fetch it from npmjs.org. If npmjs.org is down, it serves packages from cache pretending that no other packages exist. Sinopia will download only what's needed (= requested by clients), and this information will be cached, so if client will ask the same thing second time, it can be served without asking npmjs.org for it. +If some package doesn't exist in the storage, server will try to fetch it from npmjs.org. If npmjs.org is down, it serves packages from cache pretending that no other packages exist. Verdaccio will download only what's needed (= requested by clients), and this information will be cached, so if client will ask the same thing second time, it can be served without asking npmjs.org for it. Example: if you successfully request express@3.0.1 from this server once, you'll able to do that again (with all it's dependencies) anytime even if npmjs.org is down. But say express@3.0.0 will not be downloaded until it's actually needed by somebody. And if npmjs.org is offline, this server would say that only express@3.0.1 (= only what's in the cache) is published, but nothing else. @@ -99,7 +99,7 @@ There's two options here: 1. You want to create a separate fork and stop synchronizing with public version. - If you want to do that, you should modify your configuration file so sinopia won't make requests regarding this package to npmjs anymore. Add a separate entry for this package to *config.yaml* and remove `npmjs` from `proxy_access` list and restart the server. + If you want to do that, you should modify your configuration file so verdaccio won't make requests regarding this package to npmjs anymore. Add a separate entry for this package to *config.yaml* and remove `npmjs` from `proxy_access` list and restart the server. When you publish your package locally, you should probably start with version string higher than existing one, so it won't conflict with existing package in the cache. @@ -109,7 +109,7 @@ There's two options here: ## Compatibility -Sinopia aims to support all features of a standard npm client that make sense to support in private repository. Unfortunately, it isn't always possible. +Verdaccio aims to support all features of a standard npm client that make sense to support in private repository. Unfortunately, it isn't always possible. Basic features: @@ -125,7 +125,7 @@ Advanced package control: User management: - Registering new users (npm adduser {newuser}) - supported -- Transferring ownership (npm owner add {user} {pkg}) - not supported, sinopia uses its own acl management system +- Transferring ownership (npm owner add {user} {pkg}) - not supported, verdaccio uses its own acl management system Misc stuff: From f89ca4423aed95d3fa201c9adc2d0d31f603cd54 Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Fri, 26 Aug 2016 17:30:53 -0500 Subject: [PATCH 22/37] Updated to 2.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6e55d0331..2792d60db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "verdaccio", - "version": "1.4.0", + "version": "2.0.0", "description": "Private npm repository server", "author": { "name": "Alex Kocharin", From 2d5cbaf46100573ed846a8622865f5432ba3b4b2 Mon Sep 17 00:00:00 2001 From: Juan Carlos Picado <juanpicado19@gmail.com> Date: Sat, 27 Aug 2016 09:12:01 +0200 Subject: [PATCH 23/37] Fix #52 binary file missing --- .npmignore | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.npmignore b/.npmignore index b6b5b90b0..b744f8a3c 100644 --- a/.npmignore +++ b/.npmignore @@ -1,10 +1,6 @@ node_modules npm-debug.log sinopia-*.tgz - -### -bin/** -!bin/sinopia +verdaccio-*.tgz test-storage* - /.* From e4e4a104fe6884097405e74041cfe19cb9c6195a Mon Sep 17 00:00:00 2001 From: Juan Carlos Picado <juanpicado19@gmail.com> Date: Sat, 27 Aug 2016 18:09:28 +0200 Subject: [PATCH 24/37] remove sinopia reference --- .npmignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.npmignore b/.npmignore index b744f8a3c..fa9fd06d7 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,5 @@ node_modules npm-debug.log -sinopia-*.tgz verdaccio-*.tgz test-storage* /.* From d42a5ad1c5c85261adb59684bce6b0f063dd0747 Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Mon, 29 Aug 2016 08:25:33 -0500 Subject: [PATCH 25/37] 2.0.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2792d60db..2fdba054b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "verdaccio", - "version": "2.0.0", + "version": "2.0.1", "description": "Private npm repository server", "author": { "name": "Alex Kocharin", From c20cf6d6e52877dca2c3134fd9cc827e6bb7a6d1 Mon Sep 17 00:00:00 2001 From: Juan Carlos Picado <juanpicado19@gmail.com> Date: Thu, 1 Sep 2016 20:34:53 +0200 Subject: [PATCH 26/37] rename process to verdaccio --- lib/cli.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cli.js b/lib/cli.js index d4c591b1a..3e3566b01 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -6,7 +6,7 @@ if (process.getuid && process.getuid() === 0) { global.console.error("Sinopia doesn't need superuser privileges. Don't run it under root.") } -process.title = 'sinopia' +process.title = 'verdaccio' require('es6-shim') try { From 6fb1dc23425a2676c464dcbfea0f7244d2c0579f Mon Sep 17 00:00:00 2001 From: Nate Ziarek <natez@OSX12-L-NATEZ.local> Date: Fri, 20 May 2016 08:48:29 -0500 Subject: [PATCH 27/37] Simple notification system to send publish commands to external systems (ala Slack) --- conf/full.yaml | 22 ++++++++++++++++++++++ lib/index-api.js | 4 +++- lib/notify.js | 28 ++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 lib/notify.js diff --git a/conf/full.yaml b/conf/full.yaml index 430bdd6e5..a8786cfd0 100644 --- a/conf/full.yaml +++ b/conf/full.yaml @@ -119,3 +119,25 @@ logs: # maximum size of uploaded json document # increase it if you have "request entity too large" errors #max_body_size: 1mb + +# Notify Settings +# Notify was built primarily to use with Slack's Incoming +# webhooks, but will also deliver a simple payload to +# any endpoint. Currently only active for publish / create +# commands. +notify: + # Choose a method. Technically this will accept any HTTP + # request method, but probably stick to GET or POST + method: POST + # If this endpoint requires specific headers, set them here + # as an array of key: value objects. + headers: [{'Content-type': 'application/x-www-form-urlencoded'}] + # set the URL endpoint for this call + endpoint: https://hooks.slack.com/... + # Finally, the content you will be sending in the body. + # This data will first be run through Handlebars to parse + # any Handlebar expressions. All data housed in the metadata object + # is available for use within the expressions. + content: ' {{ handlebar-expression }}' + # For Slack, follow the following format: + # content: '{ "text": "Package *{{ name }}* published to version *{{ dist-tags.latest }}*", "username": "Verdaccio", "icon_emoji": ":package:" }' diff --git a/lib/index-api.js b/lib/index-api.js index 841ed2d21..fa2a6e9d6 100644 --- a/lib/index-api.js +++ b/lib/index-api.js @@ -4,6 +4,7 @@ var bodyParser = require('body-parser') var Error = require('http-errors') var Path = require('path') var Middleware = require('./middleware') +var Notify = require('./notify') var Utils = require('./utils') var expect_json = Middleware.expect_json var match = Middleware.match @@ -14,6 +15,7 @@ var validate_pkg = Middleware.validate_package module.exports = function(config, auth, storage) { var app = express.Router() var can = Middleware.allow(auth) + var notify = Notify.notify; // validate all of these params as a package name // this might be too harsh, so ask if it causes trouble @@ -336,7 +338,7 @@ module.exports = function(config, auth, storage) { add_tags(metadata['dist-tags'], function(err) { if (err) return next(err) - + notify(metadata, config) res.status(201) return next({ ok: ok_message }) }) diff --git a/lib/notify.js b/lib/notify.js new file mode 100644 index 000000000..5482b15e9 --- /dev/null +++ b/lib/notify.js @@ -0,0 +1,28 @@ +var Handlebars = require('handlebars') +var request = require('request') + +module.exports.notify = function(metadata, config) { + + if (config.notify && config.notify.content) { + + var template = Handlebars.compile(config.notify.content) + var content = template( metadata ) + + var options = { + body: content + } + + if ( config.notify.headers ) { + options.headers = config.notify.headers; + } + + options.method = config.notify.method; + + if(config.notify.endpoint) { + options.url = config.notify.endpoint + } + + request(options); + + } +} From a6fa0432ee0d74049f27f741fe955d102b1ae032 Mon Sep 17 00:00:00 2001 From: Michael Crowe <michael@developrise.com> Date: Sun, 4 Sep 2016 13:03:23 -0400 Subject: [PATCH 28/37] Prevent the server from crashing if a repo is accessed that the user does not have access to https://github.com/verdaccio/verdaccio/pull/58 https://github.com/verdaccio/verdaccio/issues/56 --- lib/index-web.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/index-web.js b/lib/index-web.js index 2820d1f6e..a62a4005f 100644 --- a/lib/index-web.js +++ b/lib/index-web.js @@ -52,7 +52,11 @@ module.exports = function(config, auth, storage) { async.filterSeries(packages, function(package, cb) { auth.allow_access(package.name, req.remote_user, function(err, allowed) { setImmediate(function () { - cb(err, allowed) + if (err) { + cb(null, false); + } else { + cb(err, allowed) + } }) }) }, function(err, packages) { From 6f7a28b3594fdd3412928b5c597ab5fff1011461 Mon Sep 17 00:00:00 2001 From: Chad Killingsworth <chad.killingsworth@banno.com> Date: Mon, 26 Sep 2016 06:48:36 -0500 Subject: [PATCH 29/37] Update the configs to fully support proxying scoped packages from the npm registry --- conf/default.yaml | 3 ++- conf/docker.yaml | 3 ++- conf/full.yaml | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/conf/default.yaml b/conf/default.yaml index fca9e122c..43e071c49 100644 --- a/conf/default.yaml +++ b/conf/default.yaml @@ -26,8 +26,9 @@ packages: # scoped packages access: $all publish: $authenticated + proxy: npmjs - '*': + '**': # allow all users (including non-authenticated users) to read and # publish all packages # diff --git a/conf/docker.yaml b/conf/docker.yaml index 9e6e7dbdc..b55be010d 100644 --- a/conf/docker.yaml +++ b/conf/docker.yaml @@ -26,8 +26,9 @@ packages: # scoped packages access: $all publish: $all + proxy: npmjs - '*': + '**': # allow all users (including non-authenticated users) to read and # publish all packages # diff --git a/conf/full.yaml b/conf/full.yaml index a8786cfd0..1d0c011a2 100644 --- a/conf/full.yaml +++ b/conf/full.yaml @@ -60,7 +60,7 @@ packages: # # you can override storage directory for a group of packages this way: # storage: 'local_storage' - '*': + '**': # allow all users to read packages (including non-authenticated users) # # you can specify usernames/groupnames (depending on your auth plugin) From eec65929da030dd8422fbdd0f5bca74642253512 Mon Sep 17 00:00:00 2001 From: Denis Babineau <denis.babineau@gmail.com> Date: Wed, 28 Sep 2016 12:06:32 -0300 Subject: [PATCH 30/37] change process name in Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index dd1626c20..bfa242298 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,4 +13,4 @@ EXPOSE 4873 VOLUME ["/verdaccio/conf", "/verdaccio/storage"] -CMD ["/usr/src/app/bin/sinopia", "--config", "/verdaccio/conf/config.yaml", "--listen", "0.0.0.0:4873"] +CMD ["/usr/src/app/bin/verdaccio", "--config", "/verdaccio/conf/config.yaml", "--listen", "0.0.0.0:4873"] From 3729c13a91c6f90eb7cc59ac492a0ec7d1832cc7 Mon Sep 17 00:00:00 2001 From: Denis Babineau <denis.babineau@gmail.com> Date: Wed, 28 Sep 2016 12:09:10 -0300 Subject: [PATCH 31/37] run as root in docker container to avoid issues with volume permissions --- Dockerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index bfa242298..b248b3a32 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,7 @@ FROM node:6.1.0-onbuild -RUN adduser --disabled-password --gecos "" verdaccio && \ - mkdir -p /verdaccio/storage /verdaccio/conf && \ - chown -R verdaccio.verdaccio /verdaccio +RUN mkdir -p /verdaccio/storage /verdaccio/conf -USER verdaccio WORKDIR /verdaccio ADD conf/docker.yaml /verdaccio/conf/config.yaml From 9f9c0fae7133b9c07096dfa30f3e9462fd779108 Mon Sep 17 00:00:00 2001 From: Jannis Achstetter <jannis.achstetter@schneider-electric.com> Date: Wed, 5 Oct 2016 12:56:03 +0200 Subject: [PATCH 32/37] Allow adding/overriding HTTP headers of uplinks via config https://github.com/verdaccio/verdaccio/pull/67 --- conf/full.yaml | 5 +++++ lib/up-storage.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/conf/full.yaml b/conf/full.yaml index 1d0c011a2..c3aa6f675 100644 --- a/conf/full.yaml +++ b/conf/full.yaml @@ -51,6 +51,11 @@ uplinks: # timeouts are defined in the same way as nginx, see: # http://wiki.nginx.org/ConfigNotation + # add/override HTTP headers sent to the uplink server + # this allows for HTTP Basic auth for example: + #headers: + # authorization: "Basic YourBase64EncodedCredentials==" + packages: # uncomment this for packages with "local-" prefix to be available # for admin only, it's a recommended way of handling private packages diff --git a/lib/up-storage.js b/lib/up-storage.js index 83ae61ec7..392c52b1b 100644 --- a/lib/up-storage.js +++ b/lib/up-storage.js @@ -116,6 +116,11 @@ Storage.prototype.request = function(options, cb) { headers['User-Agent'] = headers['User-Agent'] || this.userAgent this._add_proxy_headers(options.req, headers) + // add/override headers specified in the config + for (var key in this.config.headers) { + headers[key] = this.config.headers[key] + } + var method = options.method || 'GET' var uri = options.uri_full || (this.config.url + options.uri) From 3d9af3152ebe938811fb04b42cce5500f8f3b32c Mon Sep 17 00:00:00 2001 From: Jannis Achstetter <jannis.achstetter@schneider-electric.com> Date: Thu, 6 Oct 2016 09:35:10 +0200 Subject: [PATCH 33/37] Implement timestamped pretty logging to stdout or stderr https://github.com/verdaccio/verdaccio/pull/68 --- conf/full.yaml | 2 +- lib/logger.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/conf/full.yaml b/conf/full.yaml index c3aa6f675..965594767 100644 --- a/conf/full.yaml +++ b/conf/full.yaml @@ -109,7 +109,7 @@ packages: # parameters for file: name is filename # {type: 'file', path: 'verdaccio.log', level: 'debug'}, # -# parameters for stdout and stderr: format: json | pretty +# parameters for stdout and stderr: format: json | pretty | pretty-timestamped # {type: 'stdout', format: 'pretty', level: 'debug'}, logs: - {type: stdout, format: pretty, level: http} diff --git a/lib/logger.js b/lib/logger.js index ff29a5ad4..f5d378e24 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -32,6 +32,11 @@ module.exports.setup = function(logs) { stream.write = function(obj) { dest.write(print(obj.level, obj.msg, obj, dest.isTTY) + '\n') } + } else if (target.format === 'pretty-timestamped') { + // making fake stream for prettypritting + stream.write = function(obj) { + dest.write(obj.time.toISOString() + print(obj.level, obj.msg, obj, dest.isTTY) + '\n') + } } else { stream.write = function(obj) { dest.write(JSON.stringify(obj, Logger.safeCycles()) + '\n') From 25e00a317268329a544ae3f108a4a3809d23fea9 Mon Sep 17 00:00:00 2001 From: Miguel Mejias <miguelangelmejias@dorna.com> Date: Wed, 10 Aug 2016 12:14:08 +0200 Subject: [PATCH 34/37] Implement logout endpoint --- lib/index-api.js | 8 ++++++++ test/functional/index.js | 2 +- test/functional/lib/server.js | 7 +++++++ test/functional/logout.js | 11 +++++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 test/functional/logout.js diff --git a/lib/index-api.js b/lib/index-api.js index fa2a6e9d6..6483c11b4 100644 --- a/lib/index-api.js +++ b/lib/index-api.js @@ -24,6 +24,7 @@ module.exports = function(config, auth, storage) { app.param('tag', validate_name) app.param('version', validate_name) app.param('revision', validate_name) + app.param('token', validate_name) // these can't be safely put into express url for some reason app.param('_rev', match(/^-rev$/)) @@ -204,6 +205,13 @@ module.exports = function(config, auth, storage) { } }) + app.delete('/-/user/token/:token', function(req, res, next) { + res.status(200) + next({ + ok: 'Logged out', + }) + }) + function tag_package_version(req, res, next) { if (typeof(req.body) !== 'string') return next('route') diff --git a/test/functional/index.js b/test/functional/index.js index c424eaa2c..34df7fd1c 100644 --- a/test/functional/index.js +++ b/test/functional/index.js @@ -59,6 +59,7 @@ describe('Func', function() { require('./scoped')() require('./security')() require('./adduser')() + require('./logout')() require('./addtag')() require('./plugins')() @@ -85,4 +86,3 @@ process.on('unhandledRejection', function (err) { throw err }) }) - diff --git a/test/functional/lib/server.js b/test/functional/lib/server.js index 8b21d7097..4a1af0ef7 100644 --- a/test/functional/lib/server.js +++ b/test/functional/lib/server.js @@ -43,6 +43,13 @@ Server.prototype.auth = function(user, pass) { }) } +Server.prototype.logout = function(token) { + return this.request({ + uri: '/-/user/token/'+encodeURIComponent(token), + method: 'DELETE' + }) +} + Server.prototype.get_package = function(name) { return this.request({ uri: '/'+encodeURIComponent(name), diff --git a/test/functional/logout.js b/test/functional/logout.js new file mode 100644 index 000000000..3729e70c9 --- /dev/null +++ b/test/functional/logout.js @@ -0,0 +1,11 @@ +module.exports = function() { + var server = process.server + + describe('logout', function() { + it('should log out', function () { + return server.logout('some-token') + .status(200) + .body_ok(/Logged out/) + }) + }) +} From 5e00e46a9ba0aacd3d800fef71c641a647f2337e Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Tue, 11 Oct 2016 18:53:20 -0500 Subject: [PATCH 35/37] Logout endpoint should support tokens with /s --- lib/index-api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/index-api.js b/lib/index-api.js index 6483c11b4..224573fb7 100644 --- a/lib/index-api.js +++ b/lib/index-api.js @@ -205,7 +205,7 @@ module.exports = function(config, auth, storage) { } }) - app.delete('/-/user/token/:token', function(req, res, next) { + app.delete('/-/user/token/*', function(req, res, next) { res.status(200) next({ ok: 'Logged out', From 4fa150e077ee0f02c71e20ad5f7b43ddb74844e8 Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes <aledbf@gmail.com> Date: Mon, 9 May 2016 15:05:28 -0300 Subject: [PATCH 36/37] Use __dirname to resolve local plugins https://github.com/verdaccio/verdaccio/pull/25 --- lib/plugin-loader.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugin-loader.js b/lib/plugin-loader.js index dac03c5f7..b41cc5e47 100644 --- a/lib/plugin-loader.js +++ b/lib/plugin-loader.js @@ -16,7 +16,7 @@ function load_plugins(config, plugin_configs, params, sanity_check) { var plugin // try local plugins first - plugin = try_load(Path.resolve('./lib/plugins', p)) + plugin = try_load(Path.resolve(__dirname + '/plugins', p)) // npm package if (plugin === null && p.match(/^[^\.\/]/)) { From 047fbb22f8da3e1372f76ae9131d673e033aeb4b Mon Sep 17 00:00:00 2001 From: "trent.earl" <trent.earl@malauzai.com> Date: Tue, 11 Oct 2016 19:46:14 -0500 Subject: [PATCH 37/37] 2.1.0 --- CHANGELOG.md | 13 +++++++++++++ package.json | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..e8cfa8866 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,13 @@ +## 2.1.0 (October 11, 2016) + +- Use __dirname to resolve local plugins ([@aledbf](https://github.com/aledbf) in [#25](https://github.com/verdaccio/verdaccio/pull/25)) +- Fix npm cli logout ([@plitex](https://github.com/plitex) in [#47](https://github.com/verdaccio/verdaccio/pull/47)) +- Add log format: pretty-timestamped ([@jachstet-sea](https://github.com/jachstet-sea) in [#68](https://github.com/verdaccio/verdaccio/pull/68)) +- Allow adding/overriding HTTP headers of uplinks via config ([@jachstet-sea](https://github.com/jachstet-sea) in [#67](https://github.com/verdaccio/verdaccio/pull/67)) +- Update Dockerfile to fix failed start ([@denisbabineau](https://github.com/denisbabineau) in [#62](https://github.com/verdaccio/verdaccio/pull/62)) +- Update the configs to fully support proxying scoped packages ([@ChadKillingsworth](https://github.com/ChadKillingsworth) in [#60](https://github.com/verdaccio/verdaccio/pull/60)) +- Prevent the server from crashing if a repo is accessed that the user does not have access to ([@crowebird](https://github.com/crowebird) in [#58](https://github.com/verdaccio/verdaccio/pull/58)) +- Hook system, for integration into things like slack +- Register entry partial even if custom template is provided ([@plitex](https://github.com/plitex) in [#46](https://github.com/verdaccio/verdaccio/pull/46)) +- Rename process to verdaccio ([@juanpicado](https://github.com/juanpicado) in [#57](https://github.com/verdaccio/verdaccio/pull/57)) + diff --git a/package.json b/package.json index 2fdba054b..1a7e20f4d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "verdaccio", - "version": "2.0.1", + "version": "2.1.0", "description": "Private npm repository server", "author": { "name": "Alex Kocharin",