Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRebecca Turner <me@re-becca.org>2016-03-16 03:48:18 +0300
committerRebecca Turner <me@re-becca.org>2016-03-17 23:03:31 +0300
commit32f2bd0e26116db253e619d67c4feae1de3ad2c2 (patch)
treeb32a23577eaf2a5295517d7cbfd90703a5340324 /node_modules/npmlog
parent8defb0f7b3ebdbe15c9ef5036052c10eda7e3161 (diff)
npmlog@2.0.3
Bring in substantial performance improvements from `are-we-there-yet`. Credit: @iarna
Diffstat (limited to 'node_modules/npmlog')
-rw-r--r--node_modules/npmlog/log.js5
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/CHANGES.md19
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/README.md14
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/index.js136
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/package.json41
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/test/lib/test-event.js29
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js87
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js137
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js66
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/tracker-base.js11
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js107
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js35
-rw-r--r--node_modules/npmlog/node_modules/are-we-there-yet/tracker.js30
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/LICENSE (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/LICENSE)0
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/README.md (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/README.md)0
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/index.js (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/index.js)0
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/package.json (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/package.json)0
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/LICENSE (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/LICENSE)0
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/README.md (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/README.md)4
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/index.js (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/index.js)6
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/package.json (renamed from node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/package.json)20
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/LICENSE23
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/README.md18
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/index.js215
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/package.json109
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE23
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md18
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js164
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json108
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/LICENSE23
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/README.md18
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/index.js215
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/package.json109
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE23
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md18
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js164
-rw-r--r--node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json108
-rw-r--r--node_modules/npmlog/package.json51
-rw-r--r--node_modules/npmlog/test/progress.js33
39 files changed, 1840 insertions, 347 deletions
diff --git a/node_modules/npmlog/log.js b/node_modules/npmlog/log.js
index d70004d2e..8d781f173 100644
--- a/node_modules/npmlog/log.js
+++ b/node_modules/npmlog/log.js
@@ -100,9 +100,10 @@ log.clearProgress = function () {
this.gauge.hide()
}
-log.showProgress = function (name) {
+log.showProgress = function (name, completed) {
if (!this.progressEnabled) return
- this.gauge.show(name, this.tracker.completed())
+ if (completed == null) completed = this.tracker.completed()
+ this.gauge.show(name, completed)
}.bind(log) // bind for use in tracker's on-change listener
// temporarily stop emitting, but don't drop
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/CHANGES.md b/node_modules/npmlog/node_modules/are-we-there-yet/CHANGES.md
new file mode 100644
index 000000000..e990b86dd
--- /dev/null
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/CHANGES.md
@@ -0,0 +1,19 @@
+Hi, figured we could actually use a changelog now:
+
+## 1.1.1 2016-01-29
+
+* Fix a typo in stream completion tracker
+
+## 1.1.0 2016-01-29
+
+* Rewrote completion percent computation to be low impact– no more walking a
+ tree of completion groups every time we need this info. Previously, with
+ medium sized tree of completion groups, even a relatively modest number of
+ calls to the top level `completed()` method would result in absurd numbers
+ of calls overall as it walked down the tree. We now, instead, keep track as
+ we bubble up changes, so the computation is limited to when data changes and
+ to the depth of that one branch, instead of _every_ node. (Plus, we were already
+ incurring _this_ cost, since we already bubbled out changes.)
+* Moved different tracker types out to their own files.
+* Made tests test for TOO MANY events too.
+* Standarized the source code formatting
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/README.md b/node_modules/npmlog/node_modules/are-we-there-yet/README.md
index ef2476e79..c41d39229 100644
--- a/node_modules/npmlog/node_modules/are-we-there-yet/README.md
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/README.md
@@ -62,8 +62,18 @@ This will result in one or more `change` events being emitted.
Events
======
-All tracker objects emit `change` events with an argument of the name of the
-thing changing.
+All tracker objects emit `change` events with the following arguments:
+
+```
+function (name, completed, tracker)
+```
+
+`name` is the name of the tracker that originally emitted the event,
+or if it didn't have one, the first containing tracker group that had one.
+
+`completed` is the percent complete (as returned by `tracker.completed()` method).
+
+`tracker` is the tracker object that you are listening for events on.
TrackerGroup
============
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/index.js b/node_modules/npmlog/node_modules/are-we-there-yet/index.js
index 9e7711935..57d8743fd 100644
--- a/node_modules/npmlog/node_modules/are-we-there-yet/index.js
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/index.js
@@ -1,132 +1,4 @@
-"use strict"
-var stream = require("readable-stream")
-var EventEmitter = require("events").EventEmitter
-var util = require("util")
-var delegate = require("delegates")
-
-function noteChange (trackerGroup) {
- return function (name) {
- trackerGroup.emit('change', name || trackerGroup.name);
- }
-}
-
-var TrackerGroup = exports.TrackerGroup = function (name) {
- EventEmitter.call(this)
- this.name = name
- this.trackGroup = []
- this.totalWeight = 0
- this.noteChange = noteChange(this)
-}
-util.inherits(TrackerGroup, EventEmitter)
-
-TrackerGroup.prototype.completed = function () {
- if (this.trackGroup.length==0) return 0
- var valPerWeight = 1 / this.totalWeight
- var completed = 0
- for (var i = 0, len = this.trackGroup.length; i < len; i++){
- var group = this.trackGroup[i];
- completed += valPerWeight * group.weight * group.completed()
- }
- return completed
-}
-
-TrackerGroup.prototype.addUnit = function (unit, weight, noChange) {
- unit.weight = weight || 1
- this.totalWeight += unit.weight
- this.trackGroup.push(unit)
- // Bubble events back up
- unit.on("change", this.noteChange)
- if (! noChange) this.emit("change", this.name)
- return unit
-}
-
-TrackerGroup.prototype.newGroup = function (name, weight) {
- return this.addUnit(new TrackerGroup(name), weight)
-}
-
-TrackerGroup.prototype.newItem = function (name, todo, weight) {
- return this.addUnit(new Tracker(name, todo), weight)
-}
-
-TrackerGroup.prototype.newStream = function (name, todo, weight) {
- return this.addUnit(new TrackerStream(name, todo), weight)
-}
-
-TrackerGroup.prototype.finish = function () {
- if (! this.trackGroup.length) this.addUnit(new Tracker(), 1, true)
- for (var i = 0, len = this.trackGroup.length; i < len; i++) {
- var group = this.trackGroup[i]
- group.removeListener("change", this.noteChange)
- group.finish()
- }
- this.emit("change", this.name)
-}
-
-var buffer = " "
-TrackerGroup.prototype.debug = function (depth) {
- depth = depth || 0
- var indent = depth ? buffer.substr(0,depth) : ""
- var output = indent + (this.name||"top") + ": " + this.completed() + "\n"
- this.trackGroup.forEach(function(T) {
- if (T instanceof TrackerGroup) {
- output += T.debug(depth + 1)
- }
- else {
- output += indent + " " + T.name + ": " + T.completed() + "\n"
- }
- })
- return output
-}
-
-var Tracker = exports.Tracker = function (name,todo) {
- EventEmitter.call(this)
- this.name = name
- this.workDone = 0
- this.workTodo = todo || 0
-}
-util.inherits(Tracker, EventEmitter)
-
-Tracker.prototype.completed = function () {
- return this.workTodo === 0 ? 0 : this.workDone / this.workTodo
-}
-
-Tracker.prototype.addWork = function (work) {
- this.workTodo += work
- this.emit("change", this.name)
-}
-
-Tracker.prototype.completeWork = function (work) {
- this.workDone += work
- if (this.workDone > this.workTodo) this.workDone = this.workTodo
- this.emit("change", this.name)
-}
-
-Tracker.prototype.finish = function () {
- this.workTodo = this.workDone = 1
- this.emit("change", this.name)
-}
-
-
-var TrackerStream = exports.TrackerStream = function (name, size, options) {
- stream.Transform.call(this, options)
- this.tracker = new Tracker(name, size)
- this.name = name
- var self = this
- this.tracker.on("change", function (name) { self.emit("change", name) })
-}
-util.inherits(TrackerStream, stream.Transform)
-
-TrackerStream.prototype._transform = function (data, encoding, cb) {
- this.tracker.completeWork(data.length ? data.length : 1)
- this.push(data)
- cb()
-}
-
-TrackerStream.prototype._flush = function (cb) {
- this.tracker.finish()
- cb()
-}
-
-delegate(TrackerStream.prototype, "tracker")
- .method("completed")
- .method("addWork")
+'use strict'
+exports.TrackerGroup = require('./tracker-group.js')
+exports.Tracker = require('./tracker.js')
+exports.TrackerStream = require('./tracker-stream.js')
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/package.json b/node_modules/npmlog/node_modules/are-we-there-yet/package.json
index fa2d7c62e..eb2dea38b 100644
--- a/node_modules/npmlog/node_modules/are-we-there-yet/package.json
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/package.json
@@ -1,36 +1,40 @@
{
"_args": [
[
- "are-we-there-yet@~1.0.6",
+ "are-we-there-yet@~1.1.2",
"/Users/rebecca/code/npm/node_modules/npmlog"
]
],
- "_from": "are-we-there-yet@>=1.0.6 <1.1.0",
- "_id": "are-we-there-yet@1.0.6",
+ "_from": "are-we-there-yet@>=1.1.2 <1.2.0",
+ "_id": "are-we-there-yet@1.1.2",
"_inCache": true,
"_installable": true,
"_location": "/npmlog/are-we-there-yet",
- "_nodeVersion": "5.4.0",
+ "_nodeVersion": "4.2.2",
+ "_npmOperationalInternal": {
+ "host": "packages-13-west.internal.npmjs.com",
+ "tmp": "tmp/are-we-there-yet-1.1.2.tgz_1458084397358_0.15847722673788667"
+ },
"_npmUser": {
"email": "me@re-becca.org",
"name": "iarna"
},
- "_npmVersion": "3.6.0",
+ "_npmVersion": "3.8.1",
"_phantomChildren": {},
"_requested": {
"name": "are-we-there-yet",
- "raw": "are-we-there-yet@~1.0.6",
- "rawSpec": "~1.0.6",
+ "raw": "are-we-there-yet@~1.1.2",
+ "rawSpec": "~1.1.2",
"scope": null,
- "spec": ">=1.0.6 <1.1.0",
+ "spec": ">=1.1.2 <1.2.0",
"type": "range"
},
"_requiredBy": [
"/npmlog"
],
- "_shasum": "a2d28c93102aa6cc96245a26cb954de06ec53f0c",
+ "_shasum": "80e470e95a084794fe1899262c5667c6e88de1b3",
"_shrinkwrap": null,
- "_spec": "are-we-there-yet@~1.0.6",
+ "_spec": "are-we-there-yet@~1.1.2",
"_where": "/Users/rebecca/code/npm/node_modules/npmlog",
"author": {
"name": "Rebecca Turner",
@@ -45,21 +49,22 @@
},
"description": "Keep track of the overall completion of many dispirate processes",
"devDependencies": {
- "tap": "^5.2.0"
+ "standard": "^6.0.8",
+ "tap": "^5.7.0"
},
"directories": {},
"dist": {
- "shasum": "a2d28c93102aa6cc96245a26cb954de06ec53f0c",
- "tarball": "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz"
+ "shasum": "80e470e95a084794fe1899262c5667c6e88de1b3",
+ "tarball": "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz"
},
- "gitHead": "5f19c8b6f9c5afb8b0b17308cb9d66f7027ae526",
+ "gitHead": "dd5706e2204cb681e78031d0ffe156ed4cc75823",
"homepage": "https://github.com/iarna/are-we-there-yet",
"license": "ISC",
"main": "index.js",
"maintainers": [
{
- "name": "iarna",
- "email": "me@re-becca.org"
+ "email": "me@re-becca.org",
+ "name": "iarna"
}
],
"name": "are-we-there-yet",
@@ -70,7 +75,7 @@
"url": "git+https://github.com/iarna/are-we-there-yet.git"
},
"scripts": {
- "test": "tap test/*.js"
+ "test": "standard && tap test/*.js"
},
- "version": "1.0.6"
+ "version": "1.1.2"
}
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/test/lib/test-event.js b/node_modules/npmlog/node_modules/are-we-there-yet/test/lib/test-event.js
new file mode 100644
index 000000000..2aa7c05c5
--- /dev/null
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/test/lib/test-event.js
@@ -0,0 +1,29 @@
+'use strict'
+var util = require('util')
+
+module.exports = function (obj, event, next) {
+ var timeout = setTimeout(gotTimeout, 10)
+ obj.once(event, gotResult)
+
+ function gotTimeout () {
+ obj.removeListener(event, gotResult)
+ next(new Error('Timeout listening for ' + event))
+ }
+ var result = []
+ function gotResult () {
+ result = Array.prototype.slice.call(arguments)
+ clearTimeout(timeout)
+ timeout = setTimeout(gotNoMoreResults, 10)
+ obj.once(event, gotTooManyResults)
+ }
+ function gotNoMoreResults () {
+ obj.removeListener(event, gotTooManyResults)
+ var args = [null].concat(result)
+ next.apply(null, args)
+ }
+ function gotTooManyResults () {
+ var secondResult = Array.prototype.slice.call(arguments)
+ clearTimeout(timeout)
+ next(new Error('Got too many results, first ' + util.inspect(result) + ' and then ' + util.inspect(secondResult)))
+ }
+}
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js b/node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js
index 18c31c32c..374c7739d 100644
--- a/node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js
@@ -1,56 +1,57 @@
-"use strict"
-var test = require("tap").test
-var Tracker = require("../index.js").Tracker
-
-var timeoutError = new Error("timeout")
-var testEvent = function (obj,event,next) {
- var timeout = setTimeout(function(){
- obj.removeListener(event, eventHandler)
- next(timeoutError)
- }, 10)
- var eventHandler = function () {
- var args = Array.prototype.slice.call(arguments)
- args.unshift(null)
- clearTimeout(timeout)
- next.apply(null, args)
- }
- obj.once(event, eventHandler)
-}
+'use strict'
+var test = require('tap').test
+var Tracker = require('../index.js').Tracker
+
+var testEvent = require('./lib/test-event.js')
-test("Tracker", function (t) {
- t.plan(10)
+var name = 'test'
- var name = "test"
- var track = new Tracker(name)
+test('initialization', function (t) {
+ var simple = new Tracker(name)
- t.is(track.completed(), 0, "Nothing todo is 0 completion")
+ t.is(simple.completed(), 0, 'Nothing todo is 0 completion')
+ t.done()
+})
- var todo = 100
+var track
+var todo = 100
+test('completion', function (t) {
track = new Tracker(name, todo)
- t.is(track.completed(), 0, "Nothing done is 0 completion")
+ t.is(track.completed(), 0, 'Nothing done is 0 completion')
- testEvent(track, "change", afterCompleteWork)
- track.completeWork(100)
- function afterCompleteWork(er, onChangeName) {
- t.is(er, null, "completeWork: on change event fired")
- t.is(onChangeName, name, "completeWork: on change emits the correct name")
- }
- t.is(track.completed(), 1, "completeWork: 100% completed")
+ testEvent(track, 'change', afterCompleteWork)
+
+ track.completeWork(todo)
+ t.is(track.completed(), 1, 'completeWork: 100% completed')
- testEvent(track, "change", afterAddWork)
- track.addWork(100)
- function afterAddWork(er, onChangeName) {
- t.is(er, null, "addWork: on change event fired")
- t.is(onChangeName, name, "addWork: on change emits the correct name")
+ function afterCompleteWork (er, onChangeName) {
+ t.is(er, null, 'completeWork: on change event fired')
+ t.is(onChangeName, name, 'completeWork: on change emits the correct name')
+ t.done()
}
- t.is(track.completed(), 0.5, "addWork: 50% completed")
+})
+test('add more work', function (t) {
+ testEvent(track, 'change', afterAddWork)
+ track.addWork(todo)
+ t.is(track.completed(), 0.5, 'addWork: 50% completed')
+ function afterAddWork (er, onChangeName) {
+ t.is(er, null, 'addWork: on change event fired')
+ t.is(onChangeName, name, 'addWork: on change emits the correct name')
+ t.done()
+ }
+})
+test('complete more work', function (t) {
track.completeWork(200)
- t.is(track.completed(), 1, "completeWork: Over completion is still only 100% complete")
+ t.is(track.completed(), 1, 'completeWork: Over completion is still only 100% complete')
+ t.done()
+})
- track = new Tracker(name, todo)
- track.completeWork(50)
- track.finish()
- t.is(track.completed(), 1, "finish: Explicitly finishing moves to 100%")
+test('finish is always 100%', function (t) {
+ var finishtest = new Tracker(name, todo)
+ finishtest.completeWork(50)
+ finishtest.finish()
+ t.is(finishtest.completed(), 1, 'finish: Explicitly finishing moves to 100%')
+ t.done()
})
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js b/node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js
index a64e121c0..799a7670b 100644
--- a/node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js
@@ -1,87 +1,96 @@
-"use strict"
-var test = require("tap").test
-var Tracker = require("../index.js").Tracker
-var TrackerGroup = require("../index.js").TrackerGroup
+'use strict'
+var test = require('tap').test
+var TrackerGroup = require('../index.js').TrackerGroup
+var testEvent = require('./lib/test-event.js')
-var timeoutError = new Error("timeout")
-var testEvent = function (obj,event,next) {
- var timeout = setTimeout(function(){
- obj.removeListener(event, eventHandler)
- next(timeoutError)
- }, 10)
- var eventHandler = function () {
- var args = Array.prototype.slice.call(arguments)
- args.unshift(null)
- clearTimeout(timeout)
- next.apply(null, args)
- }
- obj.once(event, eventHandler)
-}
-
-test("TrackerGroup", function (t) {
- var name = "test"
+test('TrackerGroup', function (t) {
+ var name = 'test'
var track = new TrackerGroup(name)
- t.is(track.completed(), 0, "Nothing todo is 0 completion")
- testEvent(track, "change", afterFinishEmpty)
+ t.is(track.completed(), 0, 'Nothing todo is 0 completion')
+ testEvent(track, 'change', afterFinishEmpty)
track.finish()
var a, b
- function afterFinishEmpty(er, onChangeName) {
- t.is(er, null, "finishEmpty: on change event fired")
- t.is(onChangeName, name, "finishEmpty: on change emits the correct name")
- t.is(track.completed(), 1, "finishEmpty: Finishing an empty group actually finishes it")
+ function afterFinishEmpty (er, onChangeName, completion) {
+ t.is(er, null, 'finishEmpty: on change event fired')
+ t.is(onChangeName, name, 'finishEmpty: on change emits the correct name')
+ t.is(completion, 1, 'finishEmpty: passed through completion was correct')
+ t.is(track.completed(), 1, 'finishEmpty: Finishing an empty group actually finishes it')
track = new TrackerGroup(name)
- a = track.newItem("a", 10, 1)
- b = track.newItem("b", 10, 1)
- t.is(track.completed(), 0, "Initially empty")
- testEvent(track, "change", afterCompleteWork)
+ a = track.newItem('a', 10, 1)
+ b = track.newItem('b', 10, 1)
+ t.is(track.completed(), 0, 'Initially empty')
+ testEvent(track, 'change', afterCompleteWork)
a.completeWork(5)
}
- function afterCompleteWork(er, onChangeName) {
- t.is(er, null, "on change event fired")
- t.is(onChangeName, "a", "on change emits the correct name")
- t.is(track.completed(), 0.25, "Complete half of one is a quarter overall")
- testEvent(track, "change", afterFinishAll)
+ function afterCompleteWork (er, onChangeName, completion) {
+ t.is(er, null, 'on change event fired')
+ t.is(onChangeName, 'a', 'on change emits the correct name')
+ t.is(completion, 0.25, 'Complete half of one is a quarter overall')
+ t.is(track.completed(), 0.25, 'Complete half of one is a quarter overall')
+ testEvent(track, 'change', afterFinishAll)
track.finish()
}
- function afterFinishAll(er, onChangeName) {
- t.is(er, null, "finishAll: on change event fired")
- t.is(onChangeName, name, "finishAll: on change emits the correct name")
- t.is(track.completed(), 1, "Finishing everything ")
-
+ function afterFinishAll (er, onChangeName, completion) {
+ t.is(er, null, 'finishAll: on change event fired')
+ t.is(onChangeName, name, 'finishAll: on change emits the correct name')
+ t.is(completion, 1, 'Finishing everything ')
+ t.is(track.completed(), 1, 'Finishing everything ')
+
track = new TrackerGroup(name)
- a = track.newItem("a", 10, 2)
- b = track.newItem("b", 10, 1)
- t.is(track.completed(), 0, "weighted: Initially empty")
- testEvent(track, "change", afterWeightedCompleteWork)
+ a = track.newItem('a', 10, 2)
+ b = track.newItem('b', 10, 1)
+ t.is(track.completed(), 0, 'weighted: Initially empty')
+ testEvent(track, 'change', afterWeightedCompleteWork)
a.completeWork(5)
}
- function afterWeightedCompleteWork(er, onChangeName) {
- t.is(er, null, "weighted: on change event fired")
- t.is(onChangeName, "a", "weighted: on change emits the correct name")
- t.is(Math.round(track.completed()*100), 33, "weighted: Complete half of double weighted")
- testEvent(track, "change", afterWeightedFinishAll)
+ function afterWeightedCompleteWork (er, onChangeName, completion) {
+ t.is(er, null, 'weighted: on change event fired')
+ t.is(onChangeName, 'a', 'weighted: on change emits the correct name')
+ t.is(Math.floor(completion * 100), 33, 'weighted: Complete half of double weighted')
+ t.is(Math.floor(track.completed() * 100), 33, 'weighted: Complete half of double weighted')
+ testEvent(track, 'change', afterWeightedFinishAll)
track.finish()
}
- function afterWeightedFinishAll(er, onChangeName) {
- t.is(er, null, "weightedFinishAll: on change event fired")
- t.is(onChangeName, name, "weightedFinishAll: on change emits the correct name")
- t.is(track.completed(), 1, "weightedFinishaAll: Finishing everything ")
-
+ function afterWeightedFinishAll (er, onChangeName, completion) {
+ t.is(er, null, 'weightedFinishAll: on change event fired')
+ t.is(onChangeName, name, 'weightedFinishAll: on change emits the correct name')
+ t.is(completion, 1, 'weightedFinishaAll: Finishing everything ')
+ t.is(track.completed(), 1, 'weightedFinishaAll: Finishing everything ')
+
track = new TrackerGroup(name)
- a = track.newGroup("a", 10)
- b = track.newGroup("b", 10)
- var a1 = a.newItem("a.1",10)
+ a = track.newGroup('a', 10)
+ b = track.newGroup('b', 10)
+ var a1 = a.newItem('a.1', 10)
a1.completeWork(5)
- t.is(track.completed(), 0.25, "nested: Initially quarter done")
- testEvent(track, "change", afterNestedComplete)
+ t.is(track.completed(), 0.25, 'nested: Initially quarter done')
+ testEvent(track, 'change', afterNestedComplete)
b.finish()
}
- function afterNestedComplete(er, onChangeName) {
- t.is(er, null, "nestedComplete: on change event fired")
- t.is(onChangeName, "b", "nestedComplete: on change emits the correct name")
- t.is(track.completed(), 0.75, "nestedComplete: Finishing everything ")
+ function afterNestedComplete (er, onChangeName, completion) {
+ t.is(er, null, 'nestedComplete: on change event fired')
+ t.is(onChangeName, 'b', 'nestedComplete: on change emits the correct name')
+ t.is(completion, 0.75, 'nestedComplete: Finishing everything ')
+ t.is(track.completed(), 0.75, 'nestedComplete: Finishing everything ')
t.end()
}
})
+
+test('cycles', function (t) {
+ var track = new TrackerGroup('top')
+ testCycle(track, track)
+ var layer1 = track.newGroup('layer1')
+ testCycle(layer1, track)
+ t.end()
+
+ function testCycle (addTo, toAdd) {
+ try {
+ addTo.addUnit(toAdd)
+ t.fail(toAdd.name)
+ } catch (ex) {
+ console.log(ex)
+ t.pass(toAdd.name)
+ }
+ }
+})
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js b/node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js
index 72b604309..65f04b037 100644
--- a/node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js
@@ -1,65 +1,51 @@
-"use strict"
-var test = require("tap").test
-var util = require("util")
-var stream = require("readable-stream")
-var TrackerStream = require("../index.js").TrackerStream
-
-var timeoutError = new Error("timeout")
-var testEvent = function (obj,event,next) {
- var timeout = setTimeout(function(){
- obj.removeListener(event, eventHandler)
- next(timeoutError)
- }, 10)
- var eventHandler = function () {
- var args = Array.prototype.slice.call(arguments)
- args.unshift(null)
- clearTimeout(timeout)
- next.apply(null, args)
- }
- obj.once(event, eventHandler)
-}
+'use strict'
+var test = require('tap').test
+var util = require('util')
+var stream = require('readable-stream')
+var TrackerStream = require('../index.js').TrackerStream
+var testEvent = require('./lib/test-event.js')
var Sink = function () {
- stream.Writable.apply(this,arguments)
+ stream.Writable.apply(this, arguments)
}
util.inherits(Sink, stream.Writable)
Sink.prototype._write = function (data, encoding, cb) {
cb()
}
-test("TrackerStream", function (t) {
+test('TrackerStream', function (t) {
t.plan(9)
- var name = "test"
+ var name = 'test'
var track = new TrackerStream(name)
- t.is(track.completed(), 0, "Nothing todo is 0 completion")
+ t.is(track.completed(), 0, 'Nothing todo is 0 completion')
var todo = 10
track = new TrackerStream(name, todo)
- t.is(track.completed(), 0, "Nothing done is 0 completion")
+ t.is(track.completed(), 0, 'Nothing done is 0 completion')
track.pipe(new Sink())
- testEvent(track, "change", afterCompleteWork)
- track.write("0123456789")
- function afterCompleteWork(er, onChangeName) {
- t.is(er, null, "write: on change event fired")
- t.is(onChangeName, name, "write: on change emits the correct name")
- t.is(track.completed(), 1, "write: 100% completed")
+ testEvent(track, 'change', afterCompleteWork)
+ track.write('0123456789')
+ function afterCompleteWork (er, onChangeName) {
+ t.is(er, null, 'write: on change event fired')
+ t.is(onChangeName, name, 'write: on change emits the correct name')
+ t.is(track.completed(), 1, 'write: 100% completed')
- testEvent(track, "change", afterAddWork)
+ testEvent(track, 'change', afterAddWork)
track.addWork(10)
}
- function afterAddWork(er, onChangeName) {
- t.is(er, null, "addWork: on change event fired")
- t.is(track.completed(), 0.5, "addWork: 50% completed")
+ function afterAddWork (er, onChangeName) {
+ t.is(er, null, 'addWork: on change event fired')
+ t.is(track.completed(), 0.5, 'addWork: 50% completed')
- testEvent(track, "change", afterAllWork)
- track.write("ABCDEFGHIJKLMNOPQRST")
+ testEvent(track, 'change', afterAllWork)
+ track.write('ABCDEFGHIJKLMNOPQRST')
}
- function afterAllWork(er) {
- t.is(er, null, "allWork: on change event fired")
- t.is(track.completed(), 1, "allWork: 100% completed")
+ function afterAllWork (er) {
+ t.is(er, null, 'allWork: on change event fired')
+ t.is(track.completed(), 1, 'allWork: 100% completed')
}
})
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/tracker-base.js b/node_modules/npmlog/node_modules/are-we-there-yet/tracker-base.js
new file mode 100644
index 000000000..6f4368755
--- /dev/null
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/tracker-base.js
@@ -0,0 +1,11 @@
+'use strict'
+var EventEmitter = require('events').EventEmitter
+var util = require('util')
+
+var trackerId = 0
+var TrackerBase = module.exports = function (name) {
+ EventEmitter.call(this)
+ this.id = ++trackerId
+ this.name = name
+}
+util.inherits(TrackerBase, EventEmitter)
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js b/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js
new file mode 100644
index 000000000..9759e1226
--- /dev/null
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js
@@ -0,0 +1,107 @@
+'use strict'
+var util = require('util')
+var TrackerBase = require('./tracker-base.js')
+var Tracker = require('./tracker.js')
+var TrackerStream = require('./tracker-stream.js')
+
+var TrackerGroup = module.exports = function (name) {
+ TrackerBase.call(this, name)
+ this.parentGroup = null
+ this.trackers = []
+ this.completion = {}
+ this.weight = {}
+ this.totalWeight = 0
+ this.finished = false
+ this.bubbleChange = bubbleChange(this)
+}
+util.inherits(TrackerGroup, TrackerBase)
+
+function bubbleChange (trackerGroup) {
+ return function (name, completed, tracker) {
+ trackerGroup.completion[tracker.id] = completed
+ if (trackerGroup.finished) return
+ trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup)
+ }
+}
+
+TrackerGroup.prototype.nameInTree = function () {
+ var names = []
+ var from = this
+ while (from) {
+ names.unshift(from.name)
+ from = from.parentGroup
+ }
+ return names.join('/')
+}
+
+TrackerGroup.prototype.addUnit = function (unit, weight) {
+ if (unit.addUnit) {
+ var toTest = this
+ while (toTest) {
+ if (unit === toTest) {
+ throw new Error(
+ 'Attempted to add tracker group ' +
+ unit.name + ' to tree that already includes it ' +
+ this.nameInTree(this))
+ }
+ toTest = toTest.parentGroup
+ }
+ unit.parentGroup = this
+ }
+ this.weight[unit.id] = weight || 1
+ this.totalWeight += this.weight[unit.id]
+ this.trackers.push(unit)
+ this.completion[unit.id] = unit.completed()
+ unit.on('change', this.bubbleChange)
+ if (!this.finished) this.emit('change', unit.name, this.completion[unit.id], unit)
+ return unit
+}
+
+TrackerGroup.prototype.completed = function () {
+ if (this.trackers.length === 0) return 0
+ var valPerWeight = 1 / this.totalWeight
+ var completed = 0
+ for (var ii = 0; ii < this.trackers.length; ii++) {
+ var trackerId = this.trackers[ii].id
+ completed += valPerWeight * this.weight[trackerId] * this.completion[trackerId]
+ }
+ return completed
+}
+
+TrackerGroup.prototype.newGroup = function (name, weight) {
+ return this.addUnit(new TrackerGroup(name), weight)
+}
+
+TrackerGroup.prototype.newItem = function (name, todo, weight) {
+ return this.addUnit(new Tracker(name, todo), weight)
+}
+
+TrackerGroup.prototype.newStream = function (name, todo, weight) {
+ return this.addUnit(new TrackerStream(name, todo), weight)
+}
+
+TrackerGroup.prototype.finish = function () {
+ this.finished = true
+ if (!this.trackers.length) this.addUnit(new Tracker(), 1, true)
+ for (var ii = 0; ii < this.trackers.length; ii++) {
+ var tracker = this.trackers[ii]
+ tracker.finish()
+ tracker.removeListener('change', this.bubbleChange)
+ }
+ this.emit('change', this.name, 1, this)
+}
+
+var buffer = ' '
+TrackerGroup.prototype.debug = function (depth) {
+ depth = depth || 0
+ var indent = depth ? buffer.substr(0, depth) : ''
+ var output = indent + (this.name || 'top') + ': ' + this.completed() + '\n'
+ this.trackers.forEach(function (tracker) {
+ if (tracker instanceof TrackerGroup) {
+ output += tracker.debug(depth + 1)
+ } else {
+ output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\n'
+ }
+ })
+ return output
+}
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js b/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js
new file mode 100644
index 000000000..fb9598ed4
--- /dev/null
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/tracker-stream.js
@@ -0,0 +1,35 @@
+'use strict'
+var util = require('util')
+var stream = require('readable-stream')
+var delegate = require('delegates')
+var Tracker = require('./tracker.js')
+
+var TrackerStream = module.exports = function (name, size, options) {
+ stream.Transform.call(this, options)
+ this.tracker = new Tracker(name, size)
+ this.name = name
+ this.id = this.tracker.id
+ this.tracker.on('change', delegateChange(this))
+}
+util.inherits(TrackerStream, stream.Transform)
+
+function delegateChange (trackerStream) {
+ return function (name, completion, tracker) {
+ trackerStream.emit('change', name, completion, trackerStream)
+ }
+}
+
+TrackerStream.prototype._transform = function (data, encoding, cb) {
+ this.tracker.completeWork(data.length ? data.length : 1)
+ this.push(data)
+ cb()
+}
+
+TrackerStream.prototype._flush = function (cb) {
+ this.tracker.finish()
+ cb()
+}
+
+delegate(TrackerStream.prototype, 'tracker')
+ .method('completed')
+ .method('addWork')
diff --git a/node_modules/npmlog/node_modules/are-we-there-yet/tracker.js b/node_modules/npmlog/node_modules/are-we-there-yet/tracker.js
new file mode 100644
index 000000000..68c2339b4
--- /dev/null
+++ b/node_modules/npmlog/node_modules/are-we-there-yet/tracker.js
@@ -0,0 +1,30 @@
+'use strict'
+var util = require('util')
+var TrackerBase = require('./tracker-base.js')
+
+var Tracker = module.exports = function (name, todo) {
+ TrackerBase.call(this, name)
+ this.workDone = 0
+ this.workTodo = todo || 0
+}
+util.inherits(Tracker, TrackerBase)
+
+Tracker.prototype.completed = function () {
+ return this.workTodo === 0 ? 0 : this.workDone / this.workTodo
+}
+
+Tracker.prototype.addWork = function (work) {
+ this.workTodo += work
+ this.emit('change', this.name, this.completed(), this)
+}
+
+Tracker.prototype.completeWork = function (work) {
+ this.workDone += work
+ if (this.workDone > this.workTodo) this.workDone = this.workTodo
+ this.emit('change', this.name, this.completed(), this)
+}
+
+Tracker.prototype.finish = function () {
+ this.workTodo = this.workDone = 1
+ this.emit('change', this.name, 1, this)
+}
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/LICENSE b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/LICENSE
index bcbe13d67..bcbe13d67 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/LICENSE
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/LICENSE
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/README.md b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/README.md
index 33b447cd5..33b447cd5 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/README.md
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/README.md
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/index.js b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/index.js
index 7a54e8571..7a54e8571 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/index.js
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/index.js
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/package.json b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/package.json
index b9946dcdb..b9946dcdb 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.repeat/package.json
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.repeat/package.json
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/LICENSE b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/LICENSE
index bcbe13d67..bcbe13d67 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/LICENSE
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/LICENSE
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/README.md b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/README.md
index 43ecedc64..b3858fd68 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/README.md
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/README.md
@@ -1,4 +1,4 @@
-# lodash.tostring v4.1.1
+# lodash.tostring v4.1.2
The [lodash](https://lodash.com/) method `_.toString` exported as a [Node.js](https://nodejs.org/) module.
@@ -15,4 +15,4 @@ In Node.js:
var toString = require('lodash.tostring');
```
-See the [documentation](https://lodash.com/docs#toString) or [package source](https://github.com/lodash/lodash/blob/4.1.1-npm-packages/lodash.tostring) for more details.
+See the [documentation](https://lodash.com/docs#toString) or [package source](https://github.com/lodash/lodash/blob/4.1.2-npm-packages/lodash.tostring) for more details.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/index.js b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/index.js
index 4f170c263..5c0e3e2b9 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/index.js
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/index.js
@@ -1,5 +1,5 @@
/**
- * lodash 4.1.1 (Custom Build) <https://lodash.com/>
+ * lodash 4.1.2 (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="npm" -o ./`
* Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
@@ -76,7 +76,7 @@ var Symbol = root.Symbol;
/** Used to convert symbols to primitives and strings. */
var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = Symbol ? symbolProto.toString : undefined;
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
/**
* Checks if `value` is object-like. A value is object-like if it's not `null`
@@ -155,7 +155,7 @@ function toString(value) {
return '';
}
if (isSymbol(value)) {
- return Symbol ? symbolToString.call(value) : '';
+ return symbolToString ? symbolToString.call(value) : '';
}
var result = (value + '');
return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/package.json b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/package.json
index 69ed0ec5a..8ee1a5043 100644
--- a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.tostring/package.json
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/package.json
@@ -6,20 +6,20 @@
]
],
"_from": "lodash.tostring@>=4.0.0 <5.0.0",
- "_id": "lodash.tostring@4.1.1",
+ "_id": "lodash.tostring@4.1.2",
"_inCache": true,
"_installable": true,
"_location": "/npmlog/gauge/lodash.pad/lodash.tostring",
"_nodeVersion": "5.5.0",
"_npmOperationalInternal": {
- "host": "packages-5-east.internal.npmjs.com",
- "tmp": "tmp/lodash.tostring-4.1.1.tgz_1455615700788_0.9025743275415152"
+ "host": "packages-13-west.internal.npmjs.com",
+ "tmp": "tmp/lodash.tostring-4.1.2.tgz_1456896853027_0.8195764778647572"
},
"_npmUser": {
"email": "john.david.dalton@gmail.com",
"name": "jdalton"
},
- "_npmVersion": "2.14.18",
+ "_npmVersion": "2.14.17",
"_phantomChildren": {},
"_requested": {
"name": "lodash.tostring",
@@ -33,8 +33,8 @@
"/npmlog/gauge/lodash.pad",
"/npmlog/gauge/lodash.pad/lodash.repeat"
],
- "_resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.1.tgz",
- "_shasum": "3be312fb394ef045ab26351340bdaa799b0d5129",
+ "_resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz",
+ "_shasum": "7d326a5cf64da4298f2fd35b688d848267535288",
"_shrinkwrap": null,
"_spec": "lodash.tostring@^4.0.0",
"_where": "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad",
@@ -53,7 +53,7 @@
"url": "http://allyoucanleet.com/"
},
{
- "email": "blaine@iceddev.com",
+ "email": "blaine.bublitz@gmail.com",
"name": "Blaine Bublitz",
"url": "https://github.com/phated"
},
@@ -68,8 +68,8 @@
"devDependencies": {},
"directories": {},
"dist": {
- "shasum": "3be312fb394ef045ab26351340bdaa799b0d5129",
- "tarball": "http://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.1.tgz"
+ "shasum": "7d326a5cf64da4298f2fd35b688d848267535288",
+ "tarball": "http://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz"
},
"homepage": "https://lodash.com/",
"icon": "https://lodash.com/icon.svg",
@@ -102,5 +102,5 @@
"scripts": {
"test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
},
- "version": "4.1.1"
+ "version": "4.1.2"
}
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/LICENSE b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/LICENSE
new file mode 100644
index 000000000..bcbe13d67
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/LICENSE
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/README.md b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/README.md
new file mode 100644
index 000000000..33b447cd5
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/README.md
@@ -0,0 +1,18 @@
+# lodash.repeat v4.0.0
+
+The [lodash](https://lodash.com/) method `_.repeat` exported as a [Node.js](https://nodejs.org/) module.
+
+## Installation
+
+Using npm:
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.repeat
+```
+
+In Node.js:
+```js
+var repeat = require('lodash.repeat');
+```
+
+See the [documentation](https://lodash.com/docs#repeat) or [package source](https://github.com/lodash/lodash/blob/4.0.0-npm-packages/lodash.repeat) for more details.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/index.js b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/index.js
new file mode 100644
index 000000000..7a54e8571
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/index.js
@@ -0,0 +1,215 @@
+/**
+ * lodash 4.0.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var toString = require('lodash.tostring');
+
+/** Used as references for various `Number` constants. */
+var INFINITY = 1 / 0,
+ MAX_SAFE_INTEGER = 9007199254740991,
+ MAX_INTEGER = 1.7976931348623157e+308,
+ NAN = 0 / 0;
+
+/** `Object#toString` result references. */
+var funcTag = '[object Function]',
+ genTag = '[object GeneratorFunction]';
+
+/** Used to match leading and trailing whitespace. */
+var reTrim = /^\s+|\s+$/g;
+
+/** Used to detect bad signed hexadecimal string values. */
+var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+/** Used to detect binary string values. */
+var reIsBinary = /^0b[01]+$/i;
+
+/** Used to detect octal string values. */
+var reIsOctal = /^0o[0-7]+$/i;
+
+/** Built-in method references without a dependency on `root`. */
+var freeParseInt = parseInt;
+
+/** Used for built-in method references. */
+var objectProto = Object.prototype;
+
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var objectToString = objectProto.toString;
+
+/* Built-in method references for those with the same name as other `lodash` methods. */
+var nativeFloor = Math.floor;
+
+/**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */
+function isFunction(value) {
+ // The use of `Object#toString` avoids issues with the `typeof` operator
+ // in Safari 8 which returns 'object' for typed array constructors, and
+ // PhantomJS 1.9 which returns 'function' for `NodeList` instances.
+ var tag = isObject(value) ? objectToString.call(value) : '';
+ return tag == funcTag || tag == genTag;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+function isObject(value) {
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+/**
+ * Converts `value` to an integer.
+ *
+ * **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {number} Returns the converted integer.
+ * @example
+ *
+ * _.toInteger(3);
+ * // => 3
+ *
+ * _.toInteger(Number.MIN_VALUE);
+ * // => 0
+ *
+ * _.toInteger(Infinity);
+ * // => 1.7976931348623157e+308
+ *
+ * _.toInteger('3');
+ * // => 3
+ */
+function toInteger(value) {
+ if (!value) {
+ return value === 0 ? value : 0;
+ }
+ value = toNumber(value);
+ if (value === INFINITY || value === -INFINITY) {
+ var sign = (value < 0 ? -1 : 1);
+ return sign * MAX_INTEGER;
+ }
+ var remainder = value % 1;
+ return value === value ? (remainder ? value - remainder : value) : 0;
+}
+
+/**
+ * Converts `value` to a number.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {number} Returns the number.
+ * @example
+ *
+ * _.toNumber(3);
+ * // => 3
+ *
+ * _.toNumber(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toNumber(Infinity);
+ * // => Infinity
+ *
+ * _.toNumber('3');
+ * // => 3
+ */
+function toNumber(value) {
+ if (isObject(value)) {
+ var other = isFunction(value.valueOf) ? value.valueOf() : value;
+ value = isObject(other) ? (other + '') : other;
+ }
+ if (typeof value != 'string') {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, '');
+ var isBinary = reIsBinary.test(value);
+ return (isBinary || reIsOctal.test(value))
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+ : (reIsBadHex.test(value) ? NAN : +value);
+}
+
+/**
+ * Repeats the given string `n` times.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to repeat.
+ * @param {number} [n=0] The number of times to repeat the string.
+ * @returns {string} Returns the repeated string.
+ * @example
+ *
+ * _.repeat('*', 3);
+ * // => '***'
+ *
+ * _.repeat('abc', 2);
+ * // => 'abcabc'
+ *
+ * _.repeat('abc', 0);
+ * // => ''
+ */
+function repeat(string, n) {
+ string = toString(string);
+ n = toInteger(n);
+
+ var result = '';
+ if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
+ return result;
+ }
+ // Leverage the exponentiation by squaring algorithm for a faster repeat.
+ // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
+ do {
+ if (n % 2) {
+ result += string;
+ }
+ n = nativeFloor(n / 2);
+ string += string;
+ } while (n);
+
+ return result;
+}
+
+module.exports = repeat;
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/package.json b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/package.json
new file mode 100644
index 000000000..e98ee4125
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.repeat/package.json
@@ -0,0 +1,109 @@
+{
+ "_args": [
+ [
+ "lodash.repeat@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
+ ],
+ [
+ "lodash.repeat@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend"
+ ]
+ ],
+ "_from": "lodash.repeat@>=4.0.0 <5.0.0",
+ "_id": "lodash.repeat@4.0.0",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/npmlog/gauge/lodash.padend/lodash.repeat",
+ "_nodeVersion": "5.5.0",
+ "_npmOperationalInternal": {
+ "host": "packages-9-west.internal.npmjs.com",
+ "tmp": "tmp/lodash.repeat-4.0.0.tgz_1455602646227_0.7481637196615338"
+ },
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.14.18",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.repeat",
+ "raw": "lodash.repeat@^4.0.0",
+ "rawSpec": "^4.0.0",
+ "scope": null,
+ "spec": ">=4.0.0 <5.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/npmlog/gauge/lodash.padend"
+ ],
+ "_shrinkwrap": null,
+ "_spec": "lodash.repeat@^4.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "email": "blaine@iceddev.com",
+ "name": "Blaine Bublitz",
+ "url": "https://github.com/phated"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "Mathias Bynens",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash.tostring": "^4.0.0"
+ },
+ "description": "The lodash method `_.repeat` exported as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "aaf570b2ab0bfb0dda6d6e93291d54b30b1f7d22",
+ "tarball": "http://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.0.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash-modularized",
+ "repeat"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "mathias"
+ },
+ {
+ "email": "blaine@iceddev.com",
+ "name": "phated"
+ }
+ ],
+ "name": "lodash.repeat",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "4.0.0"
+}
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE
new file mode 100644
index 000000000..bcbe13d67
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md
new file mode 100644
index 000000000..b3858fd68
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md
@@ -0,0 +1,18 @@
+# lodash.tostring v4.1.2
+
+The [lodash](https://lodash.com/) method `_.toString` exported as a [Node.js](https://nodejs.org/) module.
+
+## Installation
+
+Using npm:
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.tostring
+```
+
+In Node.js:
+```js
+var toString = require('lodash.tostring');
+```
+
+See the [documentation](https://lodash.com/docs#toString) or [package source](https://github.com/lodash/lodash/blob/4.1.2-npm-packages/lodash.tostring) for more details.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js
new file mode 100644
index 000000000..5c0e3e2b9
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js
@@ -0,0 +1,164 @@
+/**
+ * lodash 4.1.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/** Used as references for various `Number` constants. */
+var INFINITY = 1 / 0;
+
+/** `Object#toString` result references. */
+var symbolTag = '[object Symbol]';
+
+/** Used to determine if values are of the language type `Object`. */
+var objectTypes = {
+ 'function': true,
+ 'object': true
+};
+
+/** Detect free variable `exports`. */
+var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
+ ? exports
+ : undefined;
+
+/** Detect free variable `module`. */
+var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
+ ? module
+ : undefined;
+
+/** Detect free variable `global` from Node.js. */
+var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
+
+/** Detect free variable `self`. */
+var freeSelf = checkGlobal(objectTypes[typeof self] && self);
+
+/** Detect free variable `window`. */
+var freeWindow = checkGlobal(objectTypes[typeof window] && window);
+
+/** Detect `this` as the global object. */
+var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
+
+/**
+ * Used as a reference to the global object.
+ *
+ * The `this` value is used if it's the global object to avoid Greasemonkey's
+ * restricted `window` object, otherwise the `window` object is used.
+ */
+var root = freeGlobal ||
+ ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
+ freeSelf || thisGlobal || Function('return this')();
+
+/**
+ * Checks if `value` is a global object.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {null|Object} Returns `value` if it's a global object, else `null`.
+ */
+function checkGlobal(value) {
+ return (value && value.Object === Object) ? value : null;
+}
+
+/** Used for built-in method references. */
+var objectProto = Object.prototype;
+
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var objectToString = objectProto.toString;
+
+/** Built-in value references. */
+var Symbol = root.Symbol;
+
+/** Used to convert symbols to primitives and strings. */
+var symbolProto = Symbol ? Symbol.prototype : undefined,
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
+
+/**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+function isSymbol(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
+}
+
+/**
+ * Converts `value` to a string if it's not one. An empty string is returned
+ * for `null` and `undefined` values. The sign of `-0` is preserved.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ * @example
+ *
+ * _.toString(null);
+ * // => ''
+ *
+ * _.toString(-0);
+ * // => '-0'
+ *
+ * _.toString([1, 2, 3]);
+ * // => '1,2,3'
+ */
+function toString(value) {
+ // Exit early for strings to avoid a performance hit in some environments.
+ if (typeof value == 'string') {
+ return value;
+ }
+ if (value == null) {
+ return '';
+ }
+ if (isSymbol(value)) {
+ return symbolToString ? symbolToString.call(value) : '';
+ }
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
+}
+
+module.exports = toString;
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json
new file mode 100644
index 000000000..61501df10
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json
@@ -0,0 +1,108 @@
+{
+ "_args": [
+ [
+ "lodash.tostring@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
+ ],
+ [
+ "lodash.tostring@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend"
+ ]
+ ],
+ "_from": "lodash.tostring@>=4.0.0 <5.0.0",
+ "_id": "lodash.tostring@4.1.2",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/npmlog/gauge/lodash.padend/lodash.tostring",
+ "_nodeVersion": "5.5.0",
+ "_npmOperationalInternal": {
+ "host": "packages-13-west.internal.npmjs.com",
+ "tmp": "tmp/lodash.tostring-4.1.2.tgz_1456896853027_0.8195764778647572"
+ },
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.14.17",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.tostring",
+ "raw": "lodash.tostring@^4.0.0",
+ "rawSpec": "^4.0.0",
+ "scope": null,
+ "spec": ">=4.0.0 <5.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/npmlog/gauge/lodash.padend",
+ "/npmlog/gauge/lodash.padend/lodash.repeat"
+ ],
+ "_shrinkwrap": null,
+ "_spec": "lodash.tostring@^4.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "email": "blaine.bublitz@gmail.com",
+ "name": "Blaine Bublitz",
+ "url": "https://github.com/phated"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "Mathias Bynens",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The lodash method `_.toString` exported as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "7d326a5cf64da4298f2fd35b688d848267535288",
+ "tarball": "http://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash-modularized",
+ "tostring"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "mathias"
+ },
+ {
+ "email": "blaine.bublitz@gmail.com",
+ "name": "phated"
+ }
+ ],
+ "name": "lodash.tostring",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "4.1.2"
+}
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/LICENSE b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/LICENSE
new file mode 100644
index 000000000..bcbe13d67
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/LICENSE
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/README.md b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/README.md
new file mode 100644
index 000000000..33b447cd5
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/README.md
@@ -0,0 +1,18 @@
+# lodash.repeat v4.0.0
+
+The [lodash](https://lodash.com/) method `_.repeat` exported as a [Node.js](https://nodejs.org/) module.
+
+## Installation
+
+Using npm:
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.repeat
+```
+
+In Node.js:
+```js
+var repeat = require('lodash.repeat');
+```
+
+See the [documentation](https://lodash.com/docs#repeat) or [package source](https://github.com/lodash/lodash/blob/4.0.0-npm-packages/lodash.repeat) for more details.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/index.js b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/index.js
new file mode 100644
index 000000000..7a54e8571
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/index.js
@@ -0,0 +1,215 @@
+/**
+ * lodash 4.0.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var toString = require('lodash.tostring');
+
+/** Used as references for various `Number` constants. */
+var INFINITY = 1 / 0,
+ MAX_SAFE_INTEGER = 9007199254740991,
+ MAX_INTEGER = 1.7976931348623157e+308,
+ NAN = 0 / 0;
+
+/** `Object#toString` result references. */
+var funcTag = '[object Function]',
+ genTag = '[object GeneratorFunction]';
+
+/** Used to match leading and trailing whitespace. */
+var reTrim = /^\s+|\s+$/g;
+
+/** Used to detect bad signed hexadecimal string values. */
+var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+/** Used to detect binary string values. */
+var reIsBinary = /^0b[01]+$/i;
+
+/** Used to detect octal string values. */
+var reIsOctal = /^0o[0-7]+$/i;
+
+/** Built-in method references without a dependency on `root`. */
+var freeParseInt = parseInt;
+
+/** Used for built-in method references. */
+var objectProto = Object.prototype;
+
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var objectToString = objectProto.toString;
+
+/* Built-in method references for those with the same name as other `lodash` methods. */
+var nativeFloor = Math.floor;
+
+/**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */
+function isFunction(value) {
+ // The use of `Object#toString` avoids issues with the `typeof` operator
+ // in Safari 8 which returns 'object' for typed array constructors, and
+ // PhantomJS 1.9 which returns 'function' for `NodeList` instances.
+ var tag = isObject(value) ? objectToString.call(value) : '';
+ return tag == funcTag || tag == genTag;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+function isObject(value) {
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+/**
+ * Converts `value` to an integer.
+ *
+ * **Note:** This function is loosely based on [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to convert.
+ * @returns {number} Returns the converted integer.
+ * @example
+ *
+ * _.toInteger(3);
+ * // => 3
+ *
+ * _.toInteger(Number.MIN_VALUE);
+ * // => 0
+ *
+ * _.toInteger(Infinity);
+ * // => 1.7976931348623157e+308
+ *
+ * _.toInteger('3');
+ * // => 3
+ */
+function toInteger(value) {
+ if (!value) {
+ return value === 0 ? value : 0;
+ }
+ value = toNumber(value);
+ if (value === INFINITY || value === -INFINITY) {
+ var sign = (value < 0 ? -1 : 1);
+ return sign * MAX_INTEGER;
+ }
+ var remainder = value % 1;
+ return value === value ? (remainder ? value - remainder : value) : 0;
+}
+
+/**
+ * Converts `value` to a number.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {number} Returns the number.
+ * @example
+ *
+ * _.toNumber(3);
+ * // => 3
+ *
+ * _.toNumber(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toNumber(Infinity);
+ * // => Infinity
+ *
+ * _.toNumber('3');
+ * // => 3
+ */
+function toNumber(value) {
+ if (isObject(value)) {
+ var other = isFunction(value.valueOf) ? value.valueOf() : value;
+ value = isObject(other) ? (other + '') : other;
+ }
+ if (typeof value != 'string') {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, '');
+ var isBinary = reIsBinary.test(value);
+ return (isBinary || reIsOctal.test(value))
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+ : (reIsBadHex.test(value) ? NAN : +value);
+}
+
+/**
+ * Repeats the given string `n` times.
+ *
+ * @static
+ * @memberOf _
+ * @category String
+ * @param {string} [string=''] The string to repeat.
+ * @param {number} [n=0] The number of times to repeat the string.
+ * @returns {string} Returns the repeated string.
+ * @example
+ *
+ * _.repeat('*', 3);
+ * // => '***'
+ *
+ * _.repeat('abc', 2);
+ * // => 'abcabc'
+ *
+ * _.repeat('abc', 0);
+ * // => ''
+ */
+function repeat(string, n) {
+ string = toString(string);
+ n = toInteger(n);
+
+ var result = '';
+ if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
+ return result;
+ }
+ // Leverage the exponentiation by squaring algorithm for a faster repeat.
+ // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
+ do {
+ if (n % 2) {
+ result += string;
+ }
+ n = nativeFloor(n / 2);
+ string += string;
+ } while (n);
+
+ return result;
+}
+
+module.exports = repeat;
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/package.json b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/package.json
new file mode 100644
index 000000000..8bb2966c4
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.repeat/package.json
@@ -0,0 +1,109 @@
+{
+ "_args": [
+ [
+ "lodash.repeat@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
+ ],
+ [
+ "lodash.repeat@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart"
+ ]
+ ],
+ "_from": "lodash.repeat@>=4.0.0 <5.0.0",
+ "_id": "lodash.repeat@4.0.0",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/npmlog/gauge/lodash.padstart/lodash.repeat",
+ "_nodeVersion": "5.5.0",
+ "_npmOperationalInternal": {
+ "host": "packages-9-west.internal.npmjs.com",
+ "tmp": "tmp/lodash.repeat-4.0.0.tgz_1455602646227_0.7481637196615338"
+ },
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.14.18",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.repeat",
+ "raw": "lodash.repeat@^4.0.0",
+ "rawSpec": "^4.0.0",
+ "scope": null,
+ "spec": ">=4.0.0 <5.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/npmlog/gauge/lodash.padstart"
+ ],
+ "_shrinkwrap": null,
+ "_spec": "lodash.repeat@^4.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "email": "blaine@iceddev.com",
+ "name": "Blaine Bublitz",
+ "url": "https://github.com/phated"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "Mathias Bynens",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash.tostring": "^4.0.0"
+ },
+ "description": "The lodash method `_.repeat` exported as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "aaf570b2ab0bfb0dda6d6e93291d54b30b1f7d22",
+ "tarball": "http://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.0.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash-modularized",
+ "repeat"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "mathias"
+ },
+ {
+ "email": "blaine@iceddev.com",
+ "name": "phated"
+ }
+ ],
+ "name": "lodash.repeat",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "4.0.0"
+}
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE
new file mode 100644
index 000000000..bcbe13d67
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md
new file mode 100644
index 000000000..b3858fd68
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md
@@ -0,0 +1,18 @@
+# lodash.tostring v4.1.2
+
+The [lodash](https://lodash.com/) method `_.toString` exported as a [Node.js](https://nodejs.org/) module.
+
+## Installation
+
+Using npm:
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.tostring
+```
+
+In Node.js:
+```js
+var toString = require('lodash.tostring');
+```
+
+See the [documentation](https://lodash.com/docs#toString) or [package source](https://github.com/lodash/lodash/blob/4.1.2-npm-packages/lodash.tostring) for more details.
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js
new file mode 100644
index 000000000..5c0e3e2b9
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js
@@ -0,0 +1,164 @@
+/**
+ * lodash 4.1.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/** Used as references for various `Number` constants. */
+var INFINITY = 1 / 0;
+
+/** `Object#toString` result references. */
+var symbolTag = '[object Symbol]';
+
+/** Used to determine if values are of the language type `Object`. */
+var objectTypes = {
+ 'function': true,
+ 'object': true
+};
+
+/** Detect free variable `exports`. */
+var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
+ ? exports
+ : undefined;
+
+/** Detect free variable `module`. */
+var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
+ ? module
+ : undefined;
+
+/** Detect free variable `global` from Node.js. */
+var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
+
+/** Detect free variable `self`. */
+var freeSelf = checkGlobal(objectTypes[typeof self] && self);
+
+/** Detect free variable `window`. */
+var freeWindow = checkGlobal(objectTypes[typeof window] && window);
+
+/** Detect `this` as the global object. */
+var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
+
+/**
+ * Used as a reference to the global object.
+ *
+ * The `this` value is used if it's the global object to avoid Greasemonkey's
+ * restricted `window` object, otherwise the `window` object is used.
+ */
+var root = freeGlobal ||
+ ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
+ freeSelf || thisGlobal || Function('return this')();
+
+/**
+ * Checks if `value` is a global object.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {null|Object} Returns `value` if it's a global object, else `null`.
+ */
+function checkGlobal(value) {
+ return (value && value.Object === Object) ? value : null;
+}
+
+/** Used for built-in method references. */
+var objectProto = Object.prototype;
+
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var objectToString = objectProto.toString;
+
+/** Built-in value references. */
+var Symbol = root.Symbol;
+
+/** Used to convert symbols to primitives and strings. */
+var symbolProto = Symbol ? Symbol.prototype : undefined,
+ symbolToString = symbolProto ? symbolProto.toString : undefined;
+
+/**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+function isSymbol(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
+}
+
+/**
+ * Converts `value` to a string if it's not one. An empty string is returned
+ * for `null` and `undefined` values. The sign of `-0` is preserved.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ * @example
+ *
+ * _.toString(null);
+ * // => ''
+ *
+ * _.toString(-0);
+ * // => '-0'
+ *
+ * _.toString([1, 2, 3]);
+ * // => '1,2,3'
+ */
+function toString(value) {
+ // Exit early for strings to avoid a performance hit in some environments.
+ if (typeof value == 'string') {
+ return value;
+ }
+ if (value == null) {
+ return '';
+ }
+ if (isSymbol(value)) {
+ return symbolToString ? symbolToString.call(value) : '';
+ }
+ var result = (value + '');
+ return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
+}
+
+module.exports = toString;
diff --git a/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json
new file mode 100644
index 000000000..a50df30e2
--- /dev/null
+++ b/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json
@@ -0,0 +1,108 @@
+{
+ "_args": [
+ [
+ "lodash.tostring@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
+ ],
+ [
+ "lodash.tostring@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart"
+ ]
+ ],
+ "_from": "lodash.tostring@>=4.0.0 <5.0.0",
+ "_id": "lodash.tostring@4.1.2",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/npmlog/gauge/lodash.padstart/lodash.tostring",
+ "_nodeVersion": "5.5.0",
+ "_npmOperationalInternal": {
+ "host": "packages-13-west.internal.npmjs.com",
+ "tmp": "tmp/lodash.tostring-4.1.2.tgz_1456896853027_0.8195764778647572"
+ },
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.14.17",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.tostring",
+ "raw": "lodash.tostring@^4.0.0",
+ "rawSpec": "^4.0.0",
+ "scope": null,
+ "spec": ">=4.0.0 <5.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/npmlog/gauge/lodash.padstart",
+ "/npmlog/gauge/lodash.padstart/lodash.repeat"
+ ],
+ "_shrinkwrap": null,
+ "_spec": "lodash.tostring@^4.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "email": "blaine.bublitz@gmail.com",
+ "name": "Blaine Bublitz",
+ "url": "https://github.com/phated"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "Mathias Bynens",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The lodash method `_.toString` exported as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "7d326a5cf64da4298f2fd35b688d848267535288",
+ "tarball": "http://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash-modularized",
+ "tostring"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ {
+ "email": "mathias@qiwi.be",
+ "name": "mathias"
+ },
+ {
+ "email": "blaine.bublitz@gmail.com",
+ "name": "phated"
+ }
+ ],
+ "name": "lodash.tostring",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "4.1.2"
+}
diff --git a/node_modules/npmlog/package.json b/node_modules/npmlog/package.json
index a4ddff989..153145ab0 100644
--- a/node_modules/npmlog/package.json
+++ b/node_modules/npmlog/package.json
@@ -1,40 +1,45 @@
{
"_args": [
[
- "npmlog@~2.0.0",
+ "npmlog@~2.0.2",
"/Users/rebecca/code/npm"
]
],
- "_from": "npmlog@>=2.0.0 <2.1.0",
- "_id": "npmlog@2.0.2",
+ "_from": "npmlog@>=2.0.2 <2.1.0",
+ "_id": "npmlog@2.0.3",
"_inCache": true,
"_installable": true,
"_location": "/npmlog",
- "_nodeVersion": "5.4.0",
+ "_nodeVersion": "4.2.2",
+ "_npmOperationalInternal": {
+ "host": "packages-13-west.internal.npmjs.com",
+ "tmp": "tmp/npmlog-2.0.3.tgz_1458089035965_0.5096880353521556"
+ },
"_npmUser": {
"email": "me@re-becca.org",
"name": "iarna"
},
- "_npmVersion": "3.6.0",
+ "_npmVersion": "3.8.1",
"_phantomChildren": {
"has-unicode": "2.0.0",
- "readable-stream": "2.0.5"
+ "readable-stream": "2.0.6"
},
"_requested": {
"name": "npmlog",
- "raw": "npmlog@~2.0.0",
- "rawSpec": "~2.0.0",
+ "raw": "npmlog@~2.0.2",
+ "rawSpec": "~2.0.2",
"scope": null,
- "spec": ">=2.0.0 <2.1.0",
+ "spec": ">=2.0.2 <2.1.0",
"type": "range"
},
"_requiredBy": [
"/",
+ "/node-gyp",
"/npm-registry-client"
],
- "_shasum": "d0470238b9697b7c3c4d16bdea65a00b12a464ab",
+ "_shasum": "020f99351f0c02e399c674ba256e7c4d3b3dd298",
"_shrinkwrap": null,
- "_spec": "npmlog@~2.0.0",
+ "_spec": "npmlog@~2.0.2",
"_where": "/Users/rebecca/code/npm",
"author": {
"email": "i@izs.me",
@@ -46,34 +51,34 @@
},
"dependencies": {
"ansi": "~0.3.1",
- "are-we-there-yet": "~1.0.6",
+ "are-we-there-yet": "~1.1.2",
"gauge": "~1.2.5"
},
"description": "logger for npm",
"devDependencies": {
- "tap": "~5.1.2"
+ "tap": "~5.7.0"
},
"directories": {},
"dist": {
- "shasum": "d0470238b9697b7c3c4d16bdea65a00b12a464ab",
- "tarball": "http://registry.npmjs.org/npmlog/-/npmlog-2.0.2.tgz"
+ "shasum": "020f99351f0c02e399c674ba256e7c4d3b3dd298",
+ "tarball": "http://registry.npmjs.org/npmlog/-/npmlog-2.0.3.tgz"
},
- "gitHead": "79dc582bf1ce4d2010454d89738a0a4dbd113be9",
+ "gitHead": "9dfe26296118ceb5443e76f347f256c35e7ca999",
"homepage": "https://github.com/npm/npmlog#readme",
"license": "ISC",
"main": "log.js",
"maintainers": [
{
- "name": "iarna",
- "email": "me@re-becca.org"
+ "email": "me@re-becca.org",
+ "name": "iarna"
},
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
},
{
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
}
],
"name": "npmlog",
@@ -86,5 +91,5 @@
"scripts": {
"test": "tap test/*.js"
},
- "version": "2.0.2"
+ "version": "2.0.3"
}
diff --git a/node_modules/npmlog/test/progress.js b/node_modules/npmlog/test/progress.js
index 97b13ded2..68dca2afc 100644
--- a/node_modules/npmlog/test/progress.js
+++ b/node_modules/npmlog/test/progress.js
@@ -1,6 +1,7 @@
'use strict'
var test = require('tap').test
+var Progress = require('are-we-there-yet')
var log = require('../log.js')
var actions = []
@@ -38,9 +39,18 @@ function didActions(t, msg, output) {
actions = []
}
+function resetTracker() {
+ log.disableProgress()
+ log.tracker = new Progress.TrackerGroup()
+ log.enableProgress()
+ actions = []
+}
test('enableProgress', function (t) {
t.plan(6)
+ resetTracker()
+ log.disableProgress()
+ actions = []
log.enableProgress()
didActions(t, 'enableProgress', [ [ 'enable' ], [ 'show', undefined, 0 ] ])
log.enableProgress()
@@ -49,6 +59,7 @@ test('enableProgress', function (t) {
test('disableProgress', function (t) {
t.plan(4)
+ resetTracker()
log.disableProgress()
didActions(t, 'disableProgress', [ [ 'hide' ], [ 'disable' ] ])
log.disableProgress()
@@ -57,6 +68,9 @@ test('disableProgress', function (t) {
test('showProgress', function (t) {
t.plan(5)
+ resetTracker()
+ log.disableProgress()
+ actions = []
log.showProgress('foo')
didActions(t, 'showProgress disabled', [])
log.enableProgress()
@@ -67,6 +81,7 @@ test('showProgress', function (t) {
test('clearProgress', function (t) {
t.plan(3)
+ resetTracker()
log.clearProgress()
didActions(t, 'clearProgress', [ [ 'hide' ] ])
log.disableProgress()
@@ -77,10 +92,10 @@ test('clearProgress', function (t) {
test("newItem", function (t) {
t.plan(12)
- log.enableProgress()
+ resetTracker()
actions = []
var a = log.newItem("test", 10)
- didActions(t, "newItem", [ [ 'show', undefined, 0 ] ])
+ didActions(t, "newItem", [ [ 'show', 'test', 0 ] ])
a.completeWork(5)
didActions(t, "newItem:completeWork", [ [ 'show', 'test', 0.5 ] ])
a.finish()
@@ -90,24 +105,26 @@ test("newItem", function (t) {
// test that log objects proxy through. And test that completion status filters up
test("newGroup", function (t) {
t.plan(23)
+ resetTracker()
var a = log.newGroup("newGroup")
- didActions(t, "newGroup", [ [ 'show', undefined, 0.5 ] ])
+ didActions(t, 'newGroup', [[ 'show', 'newGroup', 0 ]])
a.warn("test", "this is a test")
- didActions(t, "newGroup:warn", [ [ 'pulse', 'test' ], [ 'hide' ], [ 'show', undefined, 0.5 ] ])
+ didActions(t, "newGroup:warn", [ [ 'pulse', 'test' ], [ 'hide' ], [ 'show', undefined, 0 ] ])
var b = a.newItem("newGroup2", 10)
- didActions(t, "newGroup:newItem", [ [ 'show', 'newGroup', 0.5 ] ])
+ didActions(t, "newGroup:newItem", [ [ 'show', 'newGroup2', 0 ] ])
b.completeWork(5)
- didActions(t, "newGroup:completeWork", [ [ 'show', 'newGroup2', 0.75 ] ])
+ didActions(t, "newGroup:completeWork", [ [ 'show', 'newGroup2', 0.5] ])
a.finish()
didActions(t, "newGroup:finish", [ [ 'show', 'newGroup', 1 ] ])
})
test("newStream", function (t) {
t.plan(13)
+ resetTracker()
var a = log.newStream("newStream", 10)
- didActions(t, "newStream", [ [ 'show', undefined, 0.6666666666666666 ] ])
+ didActions(t, "newStream", [ [ 'show', 'newStream', 0 ] ])
a.write("abcde")
- didActions(t, "newStream", [ [ 'show', 'newStream', 0.8333333333333333 ] ])
+ didActions(t, "newStream", [ [ 'show', 'newStream', 0.5 ] ])
a.write("fghij")
didActions(t, "newStream", [ [ 'show', 'newStream', 1 ] ])
t.is(log.tracker.completed(), 1, "Overall completion")