Fixing GUI to respond to server-side layout changes.
Change-Id: Ida1052d6bec4a92d29774ede47942410db189732
diff --git a/core/api/src/main/java/org/onosproject/net/config/basics/BasicElementConfig.java b/core/api/src/main/java/org/onosproject/net/config/basics/BasicElementConfig.java
index 1cb00dc..0504624 100644
--- a/core/api/src/main/java/org/onosproject/net/config/basics/BasicElementConfig.java
+++ b/core/api/src/main/java/org/onosproject/net/config/basics/BasicElementConfig.java
@@ -84,8 +84,10 @@
protected static final double ZERO_THRESHOLD = Double.MIN_VALUE * 2.0;
private static final double DEFAULT_COORD = 0.0;
- private static final String LOC_TYPE_GEO = "geo";
- private static final String LOC_TYPE_GRID = "grid";
+
+ public static final String LOC_TYPE_GEO = "geo";
+ public static final String LOC_TYPE_GRID = "grid";
+ public static final String LOC_TYPE_NONE = "none";
private static final int NAME_MAX_LENGTH = 256;
private static final int UI_TYPE_MAX_LENGTH = 128;
@@ -137,23 +139,29 @@
/**
* Returns the location type (geo or grid) for the element in
- * the Topology View. If not set, returns the default of "geo".
+ * the Topology View. If not set, the type will be determined implicitly
+ * by latitude being set ("geo") or gridX being set ("grid");
+ * otherwise returns the default of "none".
*
* @return location type (string)
*/
public String locType() {
- return get(LOC_TYPE, LOC_TYPE_GEO);
+ String l = get(LATITUDE, null);
+ String x = get(GRID_X, null);
+ String def = l != null ? LOC_TYPE_GEO : (x != null ? LOC_TYPE_GRID : LOC_TYPE_NONE);
+ return get(LOC_TYPE, def);
}
/**
* Sets the location type (geo or grid) for the element in
- * the Topology View. If null is passsed, it will default to "geo".
+ * the Topology View. If null is passed, it will default to "geo".
*
* @param locType the UI type; null for default
* @return self
*/
public BasicElementConfig locType(String locType) {
- String lt = LOC_TYPE_GRID.equals(locType) ? LOC_TYPE_GRID : LOC_TYPE_GEO;
+ String lt = Objects.equals(LOC_TYPE_GRID, locType) || Objects.equals(LOC_TYPE_GEO, locType)
+ ? locType : LOC_TYPE_NONE;
return (BasicElementConfig) setOrClear(LOC_TYPE, lt);
}
diff --git a/core/api/src/test/java/org/onosproject/net/config/basics/BasicElementConfigTest.java b/core/api/src/test/java/org/onosproject/net/config/basics/BasicElementConfigTest.java
index 0d65eb9..f2e4b99 100644
--- a/core/api/src/test/java/org/onosproject/net/config/basics/BasicElementConfigTest.java
+++ b/core/api/src/test/java/org/onosproject/net/config/basics/BasicElementConfigTest.java
@@ -32,8 +32,8 @@
private static final ObjectMapper MAPPER = new ObjectMapper();
private static final String E1 = "e1";
- private static final String GEO = "geo";
- private static final String GRID = "grid";
+ private static final String GEO = BasicElementConfig.LOC_TYPE_GEO;
+ private static final String GRID = BasicElementConfig.LOC_TYPE_GRID;
public static final ImmutableSet<String> ROLES = ImmutableSet.of("spine", "primary");
// concrete subclass of abstract class we are testing
@@ -128,7 +128,7 @@
@Test
public void defaultLocationType() {
print(cfg);
- assertEquals("not geo", GEO, cfg.locType());
+ assertEquals("not none", BasicElementConfig.LOC_TYPE_NONE, cfg.locType());
}
@Test
@@ -149,7 +149,7 @@
public void otherLocationType() {
cfg.locType("foobar");
print(cfg);
- assertEquals("not geo", GEO, cfg.locType());
+ assertEquals("not none", BasicElementConfig.LOC_TYPE_NONE, cfg.locType());
}
@Test
diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/BasicElementOperator.java b/core/net/src/main/java/org/onosproject/net/device/impl/BasicElementOperator.java
index 09a154d..29333e6 100644
--- a/core/net/src/main/java/org/onosproject/net/device/impl/BasicElementOperator.java
+++ b/core/net/src/main/java/org/onosproject/net/device/impl/BasicElementOperator.java
@@ -21,6 +21,8 @@
import org.onosproject.net.config.ConfigOperator;
import org.onosproject.net.config.basics.BasicElementConfig;
+import java.util.Objects;
+
/**
* Abstract base implementation for element operators.
*/
@@ -46,12 +48,18 @@
if (cfg.locType() != null) {
builder.set(AnnotationKeys.LOC_TYPE, cfg.locType());
}
- if (cfg.geoCoordsSet()) {
+
+ if (Objects.equals(cfg.locType(), BasicElementConfig.LOC_TYPE_NONE)) {
+ builder.remove(AnnotationKeys.GRID_X).remove(AnnotationKeys.GRID_Y);
+ builder.remove(AnnotationKeys.LATITUDE).remove(AnnotationKeys.LONGITUDE);
+ } else if (cfg.geoCoordsSet()) {
builder.set(AnnotationKeys.LATITUDE, Double.toString(cfg.latitude()));
builder.set(AnnotationKeys.LONGITUDE, Double.toString(cfg.longitude()));
+ builder.remove(AnnotationKeys.GRID_X).remove(AnnotationKeys.GRID_Y);
} else if (cfg.gridCoordsSet()) {
builder.set(AnnotationKeys.GRID_Y, Double.toString(cfg.gridY()));
builder.set(AnnotationKeys.GRID_X, Double.toString(cfg.gridX()));
+ builder.remove(AnnotationKeys.LATITUDE).remove(AnnotationKeys.LONGITUDE);
}
if (cfg.rackAddress() != null) {
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
index 7027fc2..60fa17a 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
@@ -60,12 +60,15 @@
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import static com.google.common.base.Strings.isNullOrEmpty;
import static org.onosproject.net.PortNumber.portNumber;
+import static org.onosproject.net.config.basics.BasicElementConfig.LOC_TYPE_GEO;
+import static org.onosproject.net.config.basics.BasicElementConfig.LOC_TYPE_GRID;
import static org.onosproject.ui.topo.TopoConstants.CoreButtons;
import static org.onosproject.ui.topo.TopoConstants.Properties.DEVICES;
import static org.onosproject.ui.topo.TopoConstants.Properties.FLOWS;
@@ -196,6 +199,13 @@
return Collections.unmodifiableMap(metaUi);
}
+ /**
+ * Clears any meta-ui information.
+ */
+ public static void clearMetaUi() {
+ metaUi.clear();
+ }
+
private static final String LION_TOPO = "core.view.Topo";
private static final Set<String> REQ_LION_BUNDLES = ImmutableSet.of(
@@ -310,9 +320,10 @@
payload.set("labels", labels("", name, device.id().toString()));
payload.set("props", props(device.annotations()));
- addGeoLocation(device, payload);
- addGridLocation(device, payload);
- addMetaUi(device.id().toString(), payload);
+
+ if (!addGeoLocation(device, payload) && !addGridLocation(device, payload)) {
+ addMetaUi(device.id().toString(), payload);
+ }
String type = DEVICE_EVENT.get(event.type());
return JsonUtils.envelope(type, payload);
@@ -357,9 +368,10 @@
payload.set("labels", labels(nameForHost(host), ip, host.mac().toString(), ""));
payload.set("props", props(host.annotations()));
- addGeoLocation(host, payload);
- addGridLocation(host, payload);
- addMetaUi(host.id().toString(), payload);
+
+ if (!addGeoLocation(host, payload) && !addGridLocation(host, payload)) {
+ addMetaUi(host.id().toString(), payload);
+ }
String type = HOST_EVENT.get(event.type());
return JsonUtils.envelope(type, payload);
@@ -408,53 +420,57 @@
}
// Adds a geo location JSON to the specified payload object.
- private void addGeoLocation(Annotated annotated, ObjectNode payload) {
+ private boolean addGeoLocation(Annotated annotated, ObjectNode payload) {
Annotations annotations = annotated.annotations();
- if (annotations == null) {
- return;
- }
+ if (annotations != null) {
+ String locType = annotations.value(AnnotationKeys.LOC_TYPE);
+ String slat = annotations.value(AnnotationKeys.LATITUDE);
+ String slng = annotations.value(AnnotationKeys.LONGITUDE);
+ boolean validLat = slat != null && !slat.equals(NO_GEO_VALUE);
+ boolean validLng = slng != null && !slng.equals(NO_GEO_VALUE);
- String slat = annotations.value(AnnotationKeys.LATITUDE);
- String slng = annotations.value(AnnotationKeys.LONGITUDE);
- boolean validLat = slat != null && !slat.equals(NO_GEO_VALUE);
- boolean validLng = slng != null && !slng.equals(NO_GEO_VALUE);
- if (validLat && validLng) {
- try {
- double lat = Double.parseDouble(slat);
- double lng = Double.parseDouble(slng);
- ObjectNode loc = objectNode()
- .put("locType", "geo")
- .put("latOrY", lat)
- .put("longOrX", lng);
- payload.set("location", loc);
- } catch (NumberFormatException e) {
- log.warn("Invalid geo data: latitude={}, longitude={}", slat, slng);
+ if (Objects.equals(locType, LOC_TYPE_GEO) && validLat && validLng) {
+ try {
+ double lat = Double.parseDouble(slat);
+ double lng = Double.parseDouble(slng);
+ ObjectNode loc = objectNode()
+ .put("locType", "geo")
+ .put("latOrY", lat)
+ .put("longOrX", lng);
+ payload.set("location", loc);
+ return true;
+ } catch (NumberFormatException e) {
+ log.warn("Invalid geo data: latitude={}, longitude={}", slat, slng);
+ }
}
}
+ return false;
}
// Adds a grid location JSON to the specified payload object.
- private void addGridLocation(Annotated annotated, ObjectNode payload) {
+ private boolean addGridLocation(Annotated annotated, ObjectNode payload) {
Annotations annotations = annotated.annotations();
- if (annotations == null) {
- return;
- }
+ if (annotations != null) {
+ String locType = annotations.value(AnnotationKeys.LOC_TYPE);
+ String xs = annotations.value(AnnotationKeys.GRID_X);
+ String ys = annotations.value(AnnotationKeys.GRID_Y);
- String xs = annotations.value(AnnotationKeys.GRID_X);
- String ys = annotations.value(AnnotationKeys.GRID_Y);
- if (xs != null && ys != null) {
- try {
- double x = Double.parseDouble(xs);
- double y = Double.parseDouble(ys);
- ObjectNode loc = objectNode()
- .put("locType", "grid")
- .put("latOrY", y)
- .put("longOrX", x);
- payload.set("location", loc);
- } catch (NumberFormatException e) {
- log.warn("Invalid grid data: x={}, y={}", xs, ys);
+ if (Objects.equals(locType, LOC_TYPE_GRID) && xs != null && ys != null) {
+ try {
+ double x = Double.parseDouble(xs);
+ double y = Double.parseDouble(ys);
+ ObjectNode loc = objectNode()
+ .put("locType", "grid")
+ .put("latOrY", y)
+ .put("longOrX", x);
+ payload.set("location", loc);
+ return true;
+ } catch (NumberFormatException e) {
+ log.warn("Invalid grid data: x={}, y={}", xs, ys);
+ }
}
}
+ return false;
}
// Updates meta UI information for the specified object.
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiClearMetaCommand.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiClearMetaCommand.java
new file mode 100644
index 0000000..ecbd82a
--- /dev/null
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/cli/UiClearMetaCommand.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2017-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.onosproject.ui.impl.topo.cli;
+
+import org.apache.karaf.shell.commands.Command;
+import org.onosproject.cli.AbstractShellCommand;
+import org.onosproject.ui.impl.TopologyViewMessageHandlerBase;
+
+/**
+ * Clears meta-UI data for topology view.
+ */
+@Command(scope = "onos", name = "ui-clear-meta",
+ description = "Clears meta-UI data for topology view")
+public class UiClearMetaCommand extends AbstractShellCommand {
+
+ @Override
+ protected void execute() {
+ TopologyViewMessageHandlerBase.clearMetaUi();
+ }
+}
diff --git a/web/gui/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/web/gui/src/main/resources/OSGI-INF/blueprint/shell-config.xml
index 4bc2b55..19abddd 100644
--- a/web/gui/src/main/resources/OSGI-INF/blueprint/shell-config.xml
+++ b/web/gui/src/main/resources/OSGI-INF/blueprint/shell-config.xml
@@ -43,6 +43,9 @@
<command>
<action class="org.onosproject.ui.impl.topo.cli.UiGeoMapListCommand"/>
</command>
+ <command>
+ <action class="org.onosproject.ui.impl.topo.cli.UiClearMetaCommand"/>
+ </command>
</command-bundle>
<!--<bean id="macIDCompleter" class="org.onosproject.dhcp.cli.MacIdCompleter"/>-->
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
index 04b552c..44ed953 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.js
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -527,6 +527,11 @@
ps.setPrefs('topo_prefs', prefsState);
}
+ function applyPreferences(evt) {
+ if (ps.getPrefs('topo_prefs', null)) {
+ restoreConfigFromPrefs();
+ }
+ }
function restoreConfigFromPrefs() {
// NOTE: toolbar will have set this for us..
@@ -545,6 +550,7 @@
togglePorts(prefsState.porthl);
toggleMap(prefsState.bg);
toggleSprites(prefsState.spr);
+ ttbs.setToolbar(prefsState.toolbar);
t3s.setDevLabIndex(prefsState.dlbls);
t3s.setHostLabIndex(prefsState.hlbls);
flash.enable(true);
@@ -696,6 +702,8 @@
svg.attr(fs.windowSize(mast.mastHeight()));
dim = [svg.attr('width'), svg.attr('height')];
+ ps.addListener(applyPreferences);
+
setUpKeys();
setUpToolbar();
setUpDefs();
diff --git a/web/gui/src/main/webapp/app/view/topo/topoForce.js b/web/gui/src/main/webapp/app/view/topo/topoForce.js
index 6f77bed..b7cc07c 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoForce.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoForce.js
@@ -111,6 +111,13 @@
// ==========================
// === EVENT HANDLERS
+ function mergeNodeData(o, n) {
+ angular.extend(o, n);
+ if (!n.location) {
+ delete o.location;
+ }
+ }
+
function addDevice(data) {
var id = data.id,
d;
@@ -138,15 +145,17 @@
if (d) {
wasOnline = d.online;
- angular.extend(d, data);
+ mergeNodeData(d, data);
if (tms.positionNode(d, true)) {
sendUpdateMeta(d);
}
updateNodes();
+ tick();
if (wasOnline !== d.online) {
tms.findAttachedLinks(d.id).forEach(restyleLinkElement);
updateOfflineVisibility(d);
}
+ fStart();
}
}
@@ -187,11 +196,13 @@
var id = data.id,
d = lu[id];
if (d) {
- angular.extend(d, data);
+ mergeNodeData(d, data);
if (tms.positionNode(d, true)) {
sendUpdateMeta(d);
}
updateNodes();
+ tick();
+ fStart();
}
}
@@ -726,6 +737,7 @@
// exiting node specifics:
exiting.filter('.host').each(td3.hostExit);
exiting.filter('.device').each(td3.deviceExit);
+ tick();
}
// ==========================
diff --git a/web/gui/src/main/webapp/app/view/topo/topoModel.js b/web/gui/src/main/webapp/app/view/topo/topoModel.js
index 6adf1f3..1084b52 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoModel.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoModel.js
@@ -78,20 +78,20 @@
// if the device contains explicit LONG/LAT data, use that to position
if (setLongLat(node)) {
// indicate we want to update cached meta data...
- return true;
+ return false;
}
// else if we have [x,y] cached in meta data, use that...
- if (x !== undefined && y !== undefined) {
+ if (x != undefined && y != undefined) {
node.fixed = true;
node.px = node.x = x;
node.py = node.y = y;
- return;
+ return true;
}
// if this is a node update (not a node add).. skip randomizer
- if (forUpdate) {
- return;
+ if (forUpdate && node.x != undefined && node.y != undefined) {
+ return false;
}
// Note: Placing incoming unpinned nodes at exactly the same point
@@ -120,21 +120,27 @@
return d || rand();
}
+ node.fixed = false;
xy = (node.class === 'host') ? near(getDevice(node.cp)) : rand();
angular.extend(node, xy);
+ return false;
}
function setLongLat(node) {
var loc = node.location,
coord;
- if (loc) {
+ if (!loc || loc.locType === 'none') {
+ node.fixed = false;
+
+ } else if (loc) {
coord = loc.locType === 'geo' ? coordFromLngLat(loc) : coordFromXY(loc);
node.fixed = true;
node.px = node.x = coord[0];
node.py = node.y = coord[1];
return true;
}
+ return false;
}
function resetAllLocations() {
diff --git a/web/gui/src/main/webapp/app/view/topo/topoToolbar.js b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
index 8b37002..2552123 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoToolbar.js
@@ -304,6 +304,14 @@
persistTopoPrefs('toolbar');
}
+ function setToolbar(state) {
+ if (state) {
+ toolbar.show();
+ } else {
+ toolbar.hide();
+ }
+ }
+
function selectOverlay(ovid) {
var idx = ovIndex[defaultOverlay] || 0,
pidx = (ovid === null) ? 0 : ovIndex[ovid] || -1;
@@ -339,6 +347,7 @@
destroyToolbar: destroyToolbar,
keyListener: keyListener,
toggleToolbar: toggleToolbar,
+ setToolbar: setToolbar,
selectOverlay: selectOverlay,
defaultPrefs: defaultPrefsState,
fnkey: fnkey,
diff --git a/web/gui/src/main/webapp/tests/package-lock.json b/web/gui/src/main/webapp/tests/package-lock.json
index 4eb860d..112765d 100644
--- a/web/gui/src/main/webapp/tests/package-lock.json
+++ b/web/gui/src/main/webapp/tests/package-lock.json
@@ -2,6 +2,7 @@
"name": "Onos-GUI-tests",
"version": "1.0.0",
"lockfileVersion": 1,
+ "requires": true,
"dependencies": {
"bower": {
"version": "1.8.0",
@@ -12,12 +13,17 @@
"debug": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw="
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
},
"jasmine-core": {
"version": "2.6.4",
@@ -30,6 +36,31 @@
"resolved": "https://registry.npmjs.org/karma/-/karma-0.13.22.tgz",
"integrity": "sha1-B3ULG9Bj1+fnuRvNLmNU2PKqh0Q=",
"dev": true,
+ "requires": {
+ "batch": "0.5.3",
+ "bluebird": "2.11.0",
+ "body-parser": "1.17.2",
+ "chokidar": "1.7.0",
+ "colors": "1.1.2",
+ "connect": "3.6.2",
+ "core-js": "2.4.1",
+ "di": "0.0.1",
+ "dom-serialize": "2.2.1",
+ "expand-braces": "0.1.2",
+ "glob": "7.1.2",
+ "graceful-fs": "4.1.11",
+ "http-proxy": "1.16.2",
+ "isbinaryfile": "3.0.2",
+ "lodash": "3.10.1",
+ "log4js": "0.6.38",
+ "mime": "1.3.6",
+ "minimatch": "3.0.4",
+ "optimist": "0.6.1",
+ "rimraf": "2.6.1",
+ "socket.io": "1.7.4",
+ "source-map": "0.5.6",
+ "useragent": "2.2.1"
+ },
"dependencies": {
"batch": {
"version": "0.5.3",
@@ -48,6 +79,18 @@
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.17.2.tgz",
"integrity": "sha1-+IkqvI+eYn1Crtr7yma/WrmRBO4=",
"dev": true,
+ "requires": {
+ "bytes": "2.4.0",
+ "content-type": "1.0.2",
+ "debug": "2.6.7",
+ "depd": "1.1.0",
+ "http-errors": "1.6.1",
+ "iconv-lite": "0.4.15",
+ "on-finished": "2.3.0",
+ "qs": "6.4.0",
+ "raw-body": "2.2.0",
+ "type-is": "1.6.15"
+ },
"dependencies": {
"bytes": {
"version": "2.4.0",
@@ -66,6 +109,9 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
"integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
"dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
"dependencies": {
"ms": {
"version": "2.0.0",
@@ -86,6 +132,12 @@
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
"integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=",
"dev": true,
+ "requires": {
+ "depd": "1.1.0",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
+ "statuses": "1.3.1"
+ },
"dependencies": {
"inherits": {
"version": "2.0.3",
@@ -118,6 +170,9 @@
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ },
"dependencies": {
"ee-first": {
"version": "1.1.1",
@@ -138,6 +193,11 @@
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.2.0.tgz",
"integrity": "sha1-mUl2z2pQlqQRYoQEkvC9xdbn+5Y=",
"dev": true,
+ "requires": {
+ "bytes": "2.4.0",
+ "iconv-lite": "0.4.15",
+ "unpipe": "1.0.0"
+ },
"dependencies": {
"unpipe": {
"version": "1.0.0",
@@ -152,6 +212,10 @@
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
"integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
"dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.15"
+ },
"dependencies": {
"media-typer": {
"version": "0.3.0",
@@ -164,6 +228,9 @@
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
"integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
"dev": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ },
"dependencies": {
"mime-db": {
"version": "1.27.0",
@@ -182,12 +249,27 @@
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
"dev": true,
+ "requires": {
+ "anymatch": "1.3.0",
+ "async-each": "1.0.1",
+ "fsevents": "1.1.2",
+ "glob-parent": "2.0.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "2.0.1",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.1.0"
+ },
"dependencies": {
"anymatch": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
"integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=",
"dev": true,
+ "requires": {
+ "arrify": "1.0.1",
+ "micromatch": "2.3.11"
+ },
"dependencies": {
"arrify": {
"version": "1.0.1",
@@ -200,12 +282,30 @@
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
"dev": true,
+ "requires": {
+ "arr-diff": "2.0.0",
+ "array-unique": "0.2.1",
+ "braces": "1.8.5",
+ "expand-brackets": "0.1.5",
+ "extglob": "0.3.2",
+ "filename-regex": "2.0.1",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1",
+ "kind-of": "3.2.2",
+ "normalize-path": "2.1.1",
+ "object.omit": "2.0.1",
+ "parse-glob": "3.0.4",
+ "regex-cache": "0.4.3"
+ },
"dependencies": {
"arr-diff": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"dev": true,
+ "requires": {
+ "arr-flatten": "1.1.0"
+ },
"dependencies": {
"arr-flatten": {
"version": "1.1.0",
@@ -226,30 +326,51 @@
"resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
"dev": true,
+ "requires": {
+ "expand-range": "1.8.2",
+ "preserve": "0.2.0",
+ "repeat-element": "1.1.2"
+ },
"dependencies": {
"expand-range": {
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"dev": true,
+ "requires": {
+ "fill-range": "2.2.3"
+ },
"dependencies": {
"fill-range": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
"integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
"dev": true,
+ "requires": {
+ "is-number": "2.1.0",
+ "isobject": "2.1.0",
+ "randomatic": "1.1.7",
+ "repeat-element": "1.1.2",
+ "repeat-string": "1.6.1"
+ },
"dependencies": {
"is-number": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ }
},
"isobject": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"dev": true,
+ "requires": {
+ "isarray": "1.0.0"
+ },
"dependencies": {
"isarray": {
"version": "1.0.0",
@@ -264,18 +385,28 @@
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz",
"integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=",
"dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
"dependencies": {
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ },
"dependencies": {
"is-buffer": {
"version": "1.1.5",
@@ -292,6 +423,9 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ },
"dependencies": {
"is-buffer": {
"version": "1.1.5",
@@ -332,6 +466,9 @@
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
+ "requires": {
+ "is-posix-bracket": "0.1.1"
+ },
"dependencies": {
"is-posix-bracket": {
"version": "0.1.1",
@@ -345,7 +482,10 @@
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ }
},
"filename-regex": {
"version": "2.0.1",
@@ -364,6 +504,9 @@
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ },
"dependencies": {
"is-buffer": {
"version": "1.1.5",
@@ -378,6 +521,9 @@
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.0.2"
+ },
"dependencies": {
"remove-trailing-separator": {
"version": "1.0.2",
@@ -392,12 +538,19 @@
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
"dev": true,
+ "requires": {
+ "for-own": "0.1.5",
+ "is-extendable": "0.1.1"
+ },
"dependencies": {
"for-own": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
"dev": true,
+ "requires": {
+ "for-in": "1.0.2"
+ },
"dependencies": {
"for-in": {
"version": "1.0.2",
@@ -420,12 +573,22 @@
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
"dev": true,
+ "requires": {
+ "glob-base": "0.3.0",
+ "is-dotfile": "1.0.3",
+ "is-extglob": "1.0.0",
+ "is-glob": "2.0.1"
+ },
"dependencies": {
"glob-base": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glob-parent": "2.0.0",
+ "is-glob": "2.0.1"
+ }
},
"is-dotfile": {
"version": "1.0.3",
@@ -440,12 +603,19 @@
"resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
"integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=",
"dev": true,
+ "requires": {
+ "is-equal-shallow": "0.1.3",
+ "is-primitive": "2.0.0"
+ },
"dependencies": {
"is-equal-shallow": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-primitive": "2.0.0"
+ }
},
"is-primitive": {
"version": "2.0.0",
@@ -471,6 +641,10 @@
"integrity": "sha1-MoK3E/s62A7eDp/PRhG1qm/AM/Q=",
"dev": true,
"optional": true,
+ "requires": {
+ "nan": "2.6.2",
+ "node-pre-gyp": "0.6.36"
+ },
"dependencies": {
"abbrev": {
"version": "1.1.0",
@@ -484,7 +658,11 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "co": "4.6.0",
+ "json-stable-stringify": "1.0.1"
+ }
},
"ansi-regex": {
"version": "2.1.1",
@@ -504,7 +682,11 @@
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
"integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "delegates": "1.0.0",
+ "readable-stream": "2.2.9"
+ }
},
"asn1": {
"version": "0.2.3",
@@ -552,25 +734,38 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
},
"block-stream": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
},
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
},
"brace-expansion": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz",
"integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "balanced-match": "0.4.2",
+ "concat-map": "0.0.1"
+ }
},
"buffer-shims": {
"version": "1.0.0",
@@ -602,7 +797,10 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ }
},
"concat-map": {
"version": "0.0.1",
@@ -627,7 +825,10 @@
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "boom": "2.10.1"
+ }
},
"dashdash": {
"version": "1.14.1",
@@ -635,6 +836,9 @@
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -650,7 +854,10 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
},
"deep-extend": {
"version": "0.4.2",
@@ -677,7 +884,10 @@
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
},
"extend": {
"version": "3.0.1",
@@ -704,7 +914,12 @@
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.15"
+ }
},
"fs.realpath": {
"version": "1.0.0",
@@ -716,21 +931,42 @@
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "inherits": "2.0.3",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.1"
+ }
},
"fstream-ignore": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
"integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "fstream": "1.0.11",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4"
+ }
},
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "aproba": "1.1.1",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
},
"getpass": {
"version": "0.1.7",
@@ -738,6 +974,9 @@
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"optional": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -752,7 +991,15 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
},
"graceful-fs": {
"version": "4.1.11",
@@ -772,7 +1019,11 @@
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "ajv": "4.11.8",
+ "har-schema": "1.0.5"
+ }
},
"has-unicode": {
"version": "2.0.1",
@@ -786,7 +1037,13 @@
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ }
},
"hoek": {
"version": "2.16.3",
@@ -799,13 +1056,22 @@
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.0",
+ "sshpk": "1.13.0"
+ }
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
},
"inherits": {
"version": "2.0.3",
@@ -824,7 +1090,10 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
},
"is-typedarray": {
"version": "1.0.0",
@@ -851,7 +1120,10 @@
"resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
"integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
},
"jsbn": {
"version": "0.1.1",
@@ -872,7 +1144,10 @@
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "jsonify": "0.0.0"
+ }
},
"json-stringify-safe": {
"version": "5.0.1",
@@ -894,6 +1169,12 @@
"integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
"dev": true,
"optional": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.0.2",
+ "json-schema": "0.2.3",
+ "verror": "1.3.6"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -914,13 +1195,19 @@
"version": "2.1.15",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
"integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ }
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true
+ "dev": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
},
"minimist": {
"version": "0.0.8",
@@ -932,7 +1219,10 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
},
"ms": {
"version": "2.0.0",
@@ -953,21 +1243,42 @@
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz",
"integrity": "sha1-22BBEst04NR3VU6bUFsXq936t4Y=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "mkdirp": "0.5.1",
+ "nopt": "4.0.1",
+ "npmlog": "4.1.0",
+ "rc": "1.2.1",
+ "request": "2.81.0",
+ "rimraf": "2.6.1",
+ "semver": "5.3.0",
+ "tar": "2.2.1",
+ "tar-pack": "3.4.0"
+ }
},
"nopt": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.0",
+ "osenv": "0.1.4"
+ }
},
"npmlog": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz",
"integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "are-we-there-yet": "1.1.4",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
+ }
},
"number-is-nan": {
"version": "1.0.1",
@@ -993,7 +1304,10 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
},
"os-homedir": {
"version": "1.0.2",
@@ -1014,7 +1328,11 @@
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
"integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
},
"path-is-absolute": {
"version": "1.0.1",
@@ -1055,6 +1373,12 @@
"integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
"dev": true,
"optional": true,
+ "requires": {
+ "deep-extend": "0.4.2",
+ "ini": "1.3.4",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
"dependencies": {
"minimist": {
"version": "1.2.0",
@@ -1069,20 +1393,56 @@
"version": "2.2.9",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
"integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "buffer-shims": "1.0.0",
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "1.0.1",
+ "util-deprecate": "1.0.2"
+ }
},
"request": {
"version": "2.81.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "aws4": "1.6.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "2.1.4",
+ "har-validator": "4.2.1",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.15",
+ "oauth-sign": "0.8.2",
+ "performance-now": "0.2.0",
+ "qs": "6.4.0",
+ "safe-buffer": "5.0.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.3.2",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.0.1"
+ }
},
"rimraf": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
"integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
},
"safe-buffer": {
"version": "5.0.1",
@@ -1116,7 +1476,10 @@
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
},
"sshpk": {
"version": "1.13.0",
@@ -1124,6 +1487,17 @@
"integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=",
"dev": true,
"optional": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jodid25519": "1.0.2",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -1134,17 +1508,25 @@
}
}
},
- "string_decoder": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
- "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
- "dev": true
- },
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
},
"stringstream": {
"version": "0.0.5",
@@ -1157,7 +1539,10 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
},
"strip-json-comments": {
"version": "2.0.1",
@@ -1170,28 +1555,49 @@
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "block-stream": "0.0.9",
+ "fstream": "1.0.11",
+ "inherits": "2.0.3"
+ }
},
"tar-pack": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz",
"integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "debug": "2.6.8",
+ "fstream": "1.0.11",
+ "fstream-ignore": "1.0.5",
+ "once": "1.4.0",
+ "readable-stream": "2.2.9",
+ "rimraf": "2.6.1",
+ "tar": "2.2.1",
+ "uid-number": "0.0.6"
+ }
},
"tough-cookie": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
"integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "punycode": "1.4.1"
+ }
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "safe-buffer": "5.0.1"
+ }
},
"tweetnacl": {
"version": "0.14.5",
@@ -1225,14 +1631,20 @@
"resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
"integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "extsprintf": "1.0.2"
+ }
},
"wide-align": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
"integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
},
"wrappy": {
"version": "1.0.2",
@@ -1246,7 +1658,10 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "is-glob": "2.0.1"
+ }
},
"inherits": {
"version": "2.0.3",
@@ -1259,6 +1674,9 @@
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
"dev": true,
+ "requires": {
+ "binary-extensions": "1.8.0"
+ },
"dependencies": {
"binary-extensions": {
"version": "1.8.0",
@@ -1273,6 +1691,9 @@
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
+ "requires": {
+ "is-extglob": "1.0.0"
+ },
"dependencies": {
"is-extglob": {
"version": "1.0.0",
@@ -1293,12 +1714,27 @@
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
"integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
"dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "minimatch": "3.0.4",
+ "readable-stream": "2.3.3",
+ "set-immediate-shim": "1.0.1"
+ },
"dependencies": {
"readable-stream": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
"dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "safe-buffer": "5.1.1",
+ "string_decoder": "1.0.3",
+ "util-deprecate": "1.0.2"
+ },
"dependencies": {
"core-util-is": {
"version": "1.0.2",
@@ -1328,7 +1764,10 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.1"
+ }
},
"util-deprecate": {
"version": "1.0.2",
@@ -1359,12 +1798,21 @@
"resolved": "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz",
"integrity": "sha1-aU6NIGgb/kkCgsiriGvpjwn0L+c=",
"dev": true,
+ "requires": {
+ "debug": "2.6.7",
+ "finalhandler": "1.0.3",
+ "parseurl": "1.3.1",
+ "utils-merge": "1.0.0"
+ },
"dependencies": {
"debug": {
"version": "2.6.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
"integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=",
"dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
"dependencies": {
"ms": {
"version": "2.0.0",
@@ -1379,6 +1827,15 @@
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz",
"integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=",
"dev": true,
+ "requires": {
+ "debug": "2.6.7",
+ "encodeurl": "1.0.1",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.1",
+ "statuses": "1.3.1",
+ "unpipe": "1.0.0"
+ },
"dependencies": {
"encodeurl": {
"version": "1.0.1",
@@ -1397,6 +1854,9 @@
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ },
"dependencies": {
"ee-first": {
"version": "1.1.1",
@@ -1451,6 +1911,12 @@
"resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
"integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
"dev": true,
+ "requires": {
+ "custom-event": "1.0.1",
+ "ent": "2.2.0",
+ "extend": "3.0.1",
+ "void-elements": "2.0.1"
+ },
"dependencies": {
"custom-event": {
"version": "1.0.1",
@@ -1483,6 +1949,11 @@
"resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
"integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
"dev": true,
+ "requires": {
+ "array-slice": "0.2.3",
+ "array-unique": "0.2.1",
+ "braces": "0.1.5"
+ },
"dependencies": {
"array-slice": {
"version": "0.2.3",
@@ -1501,12 +1972,19 @@
"resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
"integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
"dev": true,
+ "requires": {
+ "expand-range": "0.1.1"
+ },
"dependencies": {
"expand-range": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
"integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
"dev": true,
+ "requires": {
+ "is-number": "0.1.1",
+ "repeat-string": "0.2.2"
+ },
"dependencies": {
"is-number": {
"version": "0.1.1",
@@ -1531,6 +2009,14 @@
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
"dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ },
"dependencies": {
"fs.realpath": {
"version": "1.0.0",
@@ -1543,6 +2029,10 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ },
"dependencies": {
"wrappy": {
"version": "1.0.2",
@@ -1563,6 +2053,9 @@
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ },
"dependencies": {
"wrappy": {
"version": "1.0.2",
@@ -1591,6 +2084,10 @@
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
"integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
"dev": true,
+ "requires": {
+ "eventemitter3": "1.2.0",
+ "requires-port": "1.0.0"
+ },
"dependencies": {
"eventemitter3": {
"version": "1.2.0",
@@ -1623,12 +2120,22 @@
"resolved": "https://registry.npmjs.com/log4js/-/log4js-0.6.38.tgz",
"integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
"dev": true,
+ "requires": {
+ "readable-stream": "1.0.34",
+ "semver": "4.3.6"
+ },
"dependencies": {
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "0.0.1",
+ "string_decoder": "0.10.31"
+ },
"dependencies": {
"core-util-is": {
"version": "1.0.2",
@@ -1675,12 +2182,19 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
"dependencies": {
"brace-expansion": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
"dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
"dependencies": {
"balanced-match": {
"version": "1.0.0",
@@ -1703,6 +2217,10 @@
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
+ "requires": {
+ "minimist": "0.0.10",
+ "wordwrap": "0.0.3"
+ },
"dependencies": {
"minimist": {
"version": "0.0.10",
@@ -1722,19 +2240,34 @@
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
"integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ }
},
"socket.io": {
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.4.tgz",
"integrity": "sha1-L37O3DORvy1cc+KR/iM+bjTU3QA=",
"dev": true,
+ "requires": {
+ "debug": "2.3.3",
+ "engine.io": "1.8.4",
+ "has-binary": "0.1.7",
+ "object-assign": "4.1.0",
+ "socket.io-adapter": "0.5.0",
+ "socket.io-client": "1.7.4",
+ "socket.io-parser": "2.3.1"
+ },
"dependencies": {
"debug": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
"integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
"dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ },
"dependencies": {
"ms": {
"version": "0.7.2",
@@ -1749,18 +2282,33 @@
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.4.tgz",
"integrity": "sha1-d7zhK4Dl1gQpM3/sOw2vaR68kAM=",
"dev": true,
+ "requires": {
+ "accepts": "1.3.3",
+ "base64id": "1.0.0",
+ "cookie": "0.3.1",
+ "debug": "2.3.3",
+ "engine.io-parser": "1.3.2",
+ "ws": "1.1.4"
+ },
"dependencies": {
"accepts": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
"integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
"dev": true,
+ "requires": {
+ "mime-types": "2.1.15",
+ "negotiator": "0.6.1"
+ },
"dependencies": {
"mime-types": {
"version": "2.1.15",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
"integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
"dev": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ },
"dependencies": {
"mime-db": {
"version": "1.27.0",
@@ -1795,6 +2343,14 @@
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
"integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
"dev": true,
+ "requires": {
+ "after": "0.8.2",
+ "arraybuffer.slice": "0.0.6",
+ "base64-arraybuffer": "0.1.5",
+ "blob": "0.0.4",
+ "has-binary": "0.1.7",
+ "wtf-8": "1.0.0"
+ },
"dependencies": {
"after": {
"version": "0.8.2",
@@ -1833,6 +2389,10 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.4.tgz",
"integrity": "sha1-V/QNA2gy5fUFVmKjl8Tedu1mv2E=",
"dev": true,
+ "requires": {
+ "options": "0.0.6",
+ "ultron": "1.0.2"
+ },
"dependencies": {
"options": {
"version": "0.0.6",
@@ -1855,6 +2415,9 @@
"resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
"integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
"dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ },
"dependencies": {
"isarray": {
"version": "0.0.1",
@@ -1874,13 +2437,30 @@
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
"integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "debug": "2.3.3",
+ "socket.io-parser": "2.3.1"
+ }
},
"socket.io-client": {
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.4.tgz",
"integrity": "sha1-7J+CA1btme9tNX8HVtZIcXvdQoE=",
"dev": true,
+ "requires": {
+ "backo2": "1.0.2",
+ "component-bind": "1.0.0",
+ "component-emitter": "1.2.1",
+ "debug": "2.3.3",
+ "engine.io-client": "1.8.4",
+ "has-binary": "0.1.7",
+ "indexof": "0.0.1",
+ "object-component": "0.0.3",
+ "parseuri": "0.0.5",
+ "socket.io-parser": "2.3.1",
+ "to-array": "0.1.4"
+ },
"dependencies": {
"backo2": {
"version": "1.0.2",
@@ -1905,6 +2485,20 @@
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.4.tgz",
"integrity": "sha1-n+hd7iWFPKa6viW9KtaHEIY+kcI=",
"dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "component-inherit": "0.0.3",
+ "debug": "2.3.3",
+ "engine.io-parser": "1.3.2",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "parsejson": "0.0.3",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "ws": "1.1.2",
+ "xmlhttprequest-ssl": "1.5.3",
+ "yeast": "0.1.2"
+ },
"dependencies": {
"component-inherit": {
"version": "0.0.3",
@@ -1917,6 +2511,14 @@
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
"integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
"dev": true,
+ "requires": {
+ "after": "0.8.2",
+ "arraybuffer.slice": "0.0.6",
+ "base64-arraybuffer": "0.1.5",
+ "blob": "0.0.4",
+ "has-binary": "0.1.7",
+ "wtf-8": "1.0.0"
+ },
"dependencies": {
"after": {
"version": "0.8.2",
@@ -1961,12 +2563,18 @@
"resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
"integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
"dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ },
"dependencies": {
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
"dev": true,
+ "requires": {
+ "callsite": "1.0.0"
+ },
"dependencies": {
"callsite": {
"version": "1.0.0",
@@ -1983,12 +2591,18 @@
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
"dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ },
"dependencies": {
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
"dev": true,
+ "requires": {
+ "callsite": "1.0.0"
+ },
"dependencies": {
"callsite": {
"version": "1.0.0",
@@ -2005,6 +2619,10 @@
"resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
"integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
"dev": true,
+ "requires": {
+ "options": "0.0.6",
+ "ultron": "1.0.2"
+ },
"dependencies": {
"options": {
"version": "0.0.6",
@@ -2051,12 +2669,18 @@
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
"dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ },
"dependencies": {
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
"dev": true,
+ "requires": {
+ "callsite": "1.0.0"
+ },
"dependencies": {
"callsite": {
"version": "1.0.0",
@@ -2081,6 +2705,12 @@
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
"integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
"dev": true,
+ "requires": {
+ "component-emitter": "1.1.2",
+ "debug": "2.2.0",
+ "isarray": "0.0.1",
+ "json3": "3.3.2"
+ },
"dependencies": {
"component-emitter": {
"version": "1.1.2",
@@ -2093,6 +2723,9 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true,
+ "requires": {
+ "ms": "0.7.1"
+ },
"dependencies": {
"ms": {
"version": "0.7.1",
@@ -2129,6 +2762,10 @@
"resolved": "https://registry.npmjs.org/useragent/-/useragent-2.2.1.tgz",
"integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=",
"dev": true,
+ "requires": {
+ "lru-cache": "2.2.4",
+ "tmp": "0.0.31"
+ },
"dependencies": {
"lru-cache": {
"version": "2.2.4",
@@ -2141,6 +2778,9 @@
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
"integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
"dev": true,
+ "requires": {
+ "os-tmpdir": "1.0.2"
+ },
"dependencies": {
"os-tmpdir": {
"version": "1.0.2",
@@ -2159,24 +2799,60 @@
"resolved": "https://registry.npmjs.org/karma-babel-preprocessor/-/karma-babel-preprocessor-6.0.1.tgz",
"integrity": "sha1-euHT5klQ2+EfQht0BAqwj7WmbCE=",
"dev": true,
+ "requires": {
+ "babel-core": "6.25.0"
+ },
"dependencies": {
"babel-core": {
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz",
"integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=",
"dev": true,
+ "requires": {
+ "babel-code-frame": "6.22.0",
+ "babel-generator": "6.25.0",
+ "babel-helpers": "6.24.1",
+ "babel-messages": "6.23.0",
+ "babel-register": "6.24.1",
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.25.0",
+ "babel-traverse": "6.25.0",
+ "babel-types": "6.25.0",
+ "babylon": "6.17.4",
+ "convert-source-map": "1.5.0",
+ "debug": "2.6.8",
+ "json5": "0.5.1",
+ "lodash": "4.17.4",
+ "minimatch": "3.0.4",
+ "path-is-absolute": "1.0.1",
+ "private": "0.1.7",
+ "slash": "1.0.0",
+ "source-map": "0.5.6"
+ },
"dependencies": {
"babel-code-frame": {
"version": "6.22.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
"integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=",
"dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ },
"dependencies": {
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ },
"dependencies": {
"ansi-styles": {
"version": "2.2.1",
@@ -2195,6 +2871,9 @@
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
@@ -2209,6 +2888,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
@@ -2245,24 +2927,43 @@
"resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz",
"integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=",
"dev": true,
+ "requires": {
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.25.0",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.4",
+ "source-map": "0.5.6",
+ "trim-right": "1.0.1"
+ },
"dependencies": {
"detect-indent": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
"dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ },
"dependencies": {
"repeating": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
+ "requires": {
+ "is-finite": "1.0.2"
+ },
"dependencies": {
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ },
"dependencies": {
"number-is-nan": {
"version": "1.0.1",
@@ -2294,19 +2995,35 @@
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-template": "6.25.0"
+ }
},
"babel-messages": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0"
+ }
},
"babel-register": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz",
"integrity": "sha1-fhDhOi9xBlvfrVoXh7pFvKbe118=",
"dev": true,
+ "requires": {
+ "babel-core": "6.25.0",
+ "babel-runtime": "6.23.0",
+ "core-js": "2.4.1",
+ "home-or-tmp": "2.0.0",
+ "lodash": "4.17.4",
+ "mkdirp": "0.5.1",
+ "source-map-support": "0.4.15"
+ },
"dependencies": {
"core-js": {
"version": "2.4.1",
@@ -2319,6 +3036,10 @@
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
"dev": true,
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ },
"dependencies": {
"os-homedir": {
"version": "1.0.2",
@@ -2339,6 +3060,9 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
"dependencies": {
"minimist": {
"version": "0.0.8",
@@ -2352,7 +3076,10 @@
"version": "0.4.15",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz",
"integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.6"
+ }
}
}
},
@@ -2361,6 +3088,10 @@
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
"integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
"dev": true,
+ "requires": {
+ "core-js": "2.4.1",
+ "regenerator-runtime": "0.10.5"
+ },
"dependencies": {
"core-js": {
"version": "2.4.1",
@@ -2380,13 +3111,31 @@
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz",
"integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "babel-traverse": "6.25.0",
+ "babel-types": "6.25.0",
+ "babylon": "6.17.4",
+ "lodash": "4.17.4"
+ }
},
"babel-traverse": {
"version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
"integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=",
"dev": true,
+ "requires": {
+ "babel-code-frame": "6.22.0",
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.23.0",
+ "babel-types": "6.25.0",
+ "babylon": "6.17.4",
+ "debug": "2.6.8",
+ "globals": "9.18.0",
+ "invariant": "2.2.2",
+ "lodash": "4.17.4"
+ },
"dependencies": {
"globals": {
"version": "9.18.0",
@@ -2399,12 +3148,18 @@
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
"integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
"dev": true,
+ "requires": {
+ "loose-envify": "1.3.1"
+ },
"dependencies": {
"loose-envify": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
"dev": true,
+ "requires": {
+ "js-tokens": "3.0.2"
+ },
"dependencies": {
"js-tokens": {
"version": "3.0.2",
@@ -2423,6 +3178,12 @@
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.25.0.tgz",
"integrity": "sha1-cK+ySNVmDl0Y+BHZHIMDtUE0oY4=",
"dev": true,
+ "requires": {
+ "babel-runtime": "6.23.0",
+ "esutils": "2.0.2",
+ "lodash": "4.17.4",
+ "to-fast-properties": "1.0.3"
+ },
"dependencies": {
"esutils": {
"version": "2.0.2",
@@ -2455,6 +3216,9 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ },
"dependencies": {
"ms": {
"version": "2.0.0",
@@ -2481,12 +3245,19 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
"dependencies": {
"brace-expansion": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
"dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
"dependencies": {
"balanced-match": {
"version": "1.0.0",
@@ -2537,12 +3308,19 @@
"resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.2.3.tgz",
"integrity": "sha1-TG1wDRY6nTTGGO/YeRi+SeekqMk=",
"dev": true,
+ "requires": {
+ "fs-access": "1.0.1",
+ "which": "1.2.14"
+ },
"dependencies": {
"fs-access": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
"integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
"dev": true,
+ "requires": {
+ "null-check": "1.0.0"
+ },
"dependencies": {
"null-check": {
"version": "1.0.0",
@@ -2557,6 +3335,9 @@
"resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
"integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
"dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ },
"dependencies": {
"isexe": {
"version": "2.0.0",
@@ -2573,12 +3354,22 @@
"resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-0.5.5.tgz",
"integrity": "sha1-sNWLECXVnVxmICYxhvHVj11TSMU=",
"dev": true,
+ "requires": {
+ "dateformat": "1.0.12",
+ "istanbul": "0.4.5",
+ "minimatch": "3.0.4",
+ "source-map": "0.5.6"
+ },
"dependencies": {
"dateformat": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
"integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
"dev": true,
+ "requires": {
+ "get-stdin": "4.0.1",
+ "meow": "3.7.0"
+ },
"dependencies": {
"get-stdin": {
"version": "4.0.1",
@@ -2591,12 +3382,28 @@
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
+ "requires": {
+ "camelcase-keys": "2.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.4.0",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
+ },
"dependencies": {
"camelcase-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
+ "requires": {
+ "camelcase": "2.1.1",
+ "map-obj": "1.0.1"
+ },
"dependencies": {
"camelcase": {
"version": "2.1.1",
@@ -2617,12 +3424,19 @@
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
"dev": true,
+ "requires": {
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
+ },
"dependencies": {
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
"dev": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ },
"dependencies": {
"array-find-index": {
"version": "1.0.2",
@@ -2657,6 +3471,12 @@
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
"dev": true,
+ "requires": {
+ "hosted-git-info": "2.5.0",
+ "is-builtin-module": "1.0.0",
+ "semver": "5.3.0",
+ "validate-npm-package-license": "3.0.1"
+ },
"dependencies": {
"hosted-git-info": {
"version": "2.5.0",
@@ -2669,6 +3489,9 @@
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
+ "requires": {
+ "builtin-modules": "1.1.1"
+ },
"dependencies": {
"builtin-modules": {
"version": "1.1.1",
@@ -2689,12 +3512,19 @@
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
"integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=",
"dev": true,
+ "requires": {
+ "spdx-correct": "1.0.2",
+ "spdx-expression-parse": "1.0.4"
+ },
"dependencies": {
"spdx-correct": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
"integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=",
"dev": true,
+ "requires": {
+ "spdx-license-ids": "1.2.2"
+ },
"dependencies": {
"spdx-license-ids": {
"version": "1.2.2",
@@ -2725,24 +3555,38 @@
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
+ "requires": {
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ },
"dependencies": {
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ },
"dependencies": {
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ },
"dependencies": {
"pinkie": {
"version": "2.0.4",
@@ -2759,12 +3603,24 @@
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
+ "requires": {
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.4.0",
+ "path-type": "1.1.0"
+ },
"dependencies": {
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ },
"dependencies": {
"graceful-fs": {
"version": "4.1.11",
@@ -2777,12 +3633,18 @@
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
+ "requires": {
+ "error-ex": "1.3.1"
+ },
"dependencies": {
"error-ex": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
"dev": true,
+ "requires": {
+ "is-arrayish": "0.2.1"
+ },
"dependencies": {
"is-arrayish": {
"version": "0.2.1",
@@ -2805,6 +3667,9 @@
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ },
"dependencies": {
"pinkie": {
"version": "2.0.4",
@@ -2819,6 +3684,9 @@
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
+ "requires": {
+ "is-utf8": "0.2.1"
+ },
"dependencies": {
"is-utf8": {
"version": "0.2.1",
@@ -2835,6 +3703,11 @@
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ },
"dependencies": {
"graceful-fs": {
"version": "4.1.11",
@@ -2853,6 +3726,9 @@
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ },
"dependencies": {
"pinkie": {
"version": "2.0.4",
@@ -2873,24 +3749,37 @@
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
"dev": true,
+ "requires": {
+ "indent-string": "2.1.0",
+ "strip-indent": "1.0.1"
+ },
"dependencies": {
"indent-string": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ },
"dependencies": {
"repeating": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
+ "requires": {
+ "is-finite": "1.0.2"
+ },
"dependencies": {
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ },
"dependencies": {
"number-is-nan": {
"version": "1.0.1",
@@ -2908,7 +3797,10 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "get-stdin": "4.0.1"
+ }
}
}
},
@@ -2927,6 +3819,22 @@
"resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
"integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
"dev": true,
+ "requires": {
+ "abbrev": "1.0.9",
+ "async": "1.5.2",
+ "escodegen": "1.8.1",
+ "esprima": "2.7.3",
+ "glob": "5.0.15",
+ "handlebars": "4.0.10",
+ "js-yaml": "3.9.0",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "once": "1.4.0",
+ "resolve": "1.1.7",
+ "supports-color": "3.2.3",
+ "which": "1.2.14",
+ "wordwrap": "1.0.0"
+ },
"dependencies": {
"abbrev": {
"version": "1.0.9",
@@ -2945,6 +3853,13 @@
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
"integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
+ "requires": {
+ "esprima": "2.7.3",
+ "estraverse": "1.9.3",
+ "esutils": "2.0.2",
+ "optionator": "0.8.2",
+ "source-map": "0.2.0"
+ },
"dependencies": {
"estraverse": {
"version": "1.9.3",
@@ -2963,6 +3878,14 @@
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
"dev": true,
+ "requires": {
+ "deep-is": "0.1.3",
+ "fast-levenshtein": "2.0.6",
+ "levn": "0.3.0",
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2",
+ "wordwrap": "1.0.0"
+ },
"dependencies": {
"deep-is": {
"version": "0.1.3",
@@ -2980,7 +3903,11 @@
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2",
+ "type-check": "0.3.2"
+ }
},
"prelude-ls": {
"version": "1.1.2",
@@ -2992,7 +3919,10 @@
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "prelude-ls": "1.1.2"
+ }
}
}
},
@@ -3002,6 +3932,9 @@
"integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"dev": true,
"optional": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ },
"dependencies": {
"amdefine": {
"version": "1.0.1",
@@ -3025,12 +3958,23 @@
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
"dev": true,
+ "requires": {
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ },
"dependencies": {
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ },
"dependencies": {
"wrappy": {
"version": "1.0.2",
@@ -3059,12 +4003,22 @@
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz",
"integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=",
"dev": true,
+ "requires": {
+ "async": "1.5.2",
+ "optimist": "0.6.1",
+ "source-map": "0.4.4",
+ "uglify-js": "2.8.29"
+ },
"dependencies": {
"optimist": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
+ "requires": {
+ "minimist": "0.0.10",
+ "wordwrap": "0.0.3"
+ },
"dependencies": {
"minimist": {
"version": "0.0.10",
@@ -3085,6 +4039,9 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ },
"dependencies": {
"amdefine": {
"version": "1.0.1",
@@ -3100,6 +4057,11 @@
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
"optional": true,
+ "requires": {
+ "source-map": "0.5.6",
+ "uglify-to-browserify": "1.0.2",
+ "yargs": "3.10.0"
+ },
"dependencies": {
"source-map": {
"version": "0.5.6",
@@ -3121,6 +4083,12 @@
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"optional": true,
+ "requires": {
+ "camelcase": "1.2.1",
+ "cliui": "2.1.0",
+ "decamelize": "1.2.0",
+ "window-size": "0.1.0"
+ },
"dependencies": {
"camelcase": {
"version": "1.2.1",
@@ -3135,6 +4103,11 @@
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
"optional": true,
+ "requires": {
+ "center-align": "0.1.3",
+ "right-align": "0.1.3",
+ "wordwrap": "0.0.2"
+ },
"dependencies": {
"center-align": {
"version": "0.1.3",
@@ -3142,6 +4115,10 @@
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
"dev": true,
"optional": true,
+ "requires": {
+ "align-text": "0.1.4",
+ "lazy-cache": "1.0.4"
+ },
"dependencies": {
"align-text": {
"version": "0.1.4",
@@ -3149,6 +4126,11 @@
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"optional": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
@@ -3156,6 +4138,9 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"optional": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ },
"dependencies": {
"is-buffer": {
"version": "1.1.5",
@@ -3197,6 +4182,9 @@
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
"dev": true,
"optional": true,
+ "requires": {
+ "align-text": "0.1.4"
+ },
"dependencies": {
"align-text": {
"version": "0.1.4",
@@ -3204,6 +4192,11 @@
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"optional": true,
+ "requires": {
+ "kind-of": "3.2.2",
+ "longest": "1.0.1",
+ "repeat-string": "1.6.1"
+ },
"dependencies": {
"kind-of": {
"version": "3.2.2",
@@ -3211,6 +4204,9 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"optional": true,
+ "requires": {
+ "is-buffer": "1.1.5"
+ },
"dependencies": {
"is-buffer": {
"version": "1.1.5",
@@ -3273,12 +4269,19 @@
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.9.0.tgz",
"integrity": "sha1-T/u/JcKsljuCmdx02n43QN4cGM4=",
"dev": true,
+ "requires": {
+ "argparse": "1.0.9",
+ "esprima": "4.0.0"
+ },
"dependencies": {
"argparse": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
"integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
"dev": true,
+ "requires": {
+ "sprintf-js": "1.0.3"
+ },
"dependencies": {
"sprintf-js": {
"version": "1.0.3",
@@ -3301,6 +4304,9 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
"dependencies": {
"minimist": {
"version": "0.0.8",
@@ -3314,13 +4320,19 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "abbrev": "1.0.9"
+ }
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ },
"dependencies": {
"wrappy": {
"version": "1.0.2",
@@ -3341,6 +4353,9 @@
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
"dev": true,
+ "requires": {
+ "has-flag": "1.0.0"
+ },
"dependencies": {
"has-flag": {
"version": "1.0.0",
@@ -3355,6 +4370,9 @@
"resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
"integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
"dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ },
"dependencies": {
"isexe": {
"version": "2.0.0",
@@ -3377,12 +4395,19 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
"dependencies": {
"brace-expansion": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
"dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
"dependencies": {
"balanced-match": {
"version": "1.0.0",
@@ -3419,6 +4444,10 @@
"resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-0.4.2.tgz",
"integrity": "sha1-SSojZyj+TJKqz0GfzQEQpDJ+nX8=",
"dev": true,
+ "requires": {
+ "path-is-absolute": "1.0.1",
+ "xmlbuilder": "3.1.0"
+ },
"dependencies": {
"path-is-absolute": {
"version": "1.0.1",
@@ -3431,6 +4460,9 @@
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",
"integrity": "sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE=",
"dev": true,
+ "requires": {
+ "lodash": "3.10.1"
+ },
"dependencies": {
"lodash": {
"version": "3.10.1",
@@ -3447,12 +4479,23 @@
"resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-1.3.0.tgz",
"integrity": "sha1-r2pGwIqcVcf9OUw6WqJhetoVhKU=",
"dev": true,
+ "requires": {
+ "chalk": "1.1.1",
+ "karma": "0.13.22"
+ },
"dependencies": {
"chalk": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz",
"integrity": "sha1-UJr7ZwZudJn36zU1x3RFdyri0Bk=",
"dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ },
"dependencies": {
"ansi-styles": {
"version": "2.2.1",
@@ -3471,6 +4514,9 @@
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
@@ -3485,6 +4531,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
@@ -3515,6 +4564,9 @@
"resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.2.3.tgz",
"integrity": "sha1-d/aCQ/rXhSxbMhvPnWkfEiPMCAk=",
"dev": true,
+ "requires": {
+ "lodash": "3.10.1"
+ },
"dependencies": {
"lodash": {
"version": "3.10.1",
@@ -3527,30 +4579,53 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
},
"nan": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz",
- "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY="
+ "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=",
+ "dev": true
},
"phantomjs": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/phantomjs/-/phantomjs-2.1.7.tgz",
"integrity": "sha1-xpEPZ5NcNyhbYRQyn8LyfV8+MTQ=",
"dev": true,
+ "requires": {
+ "extract-zip": "1.5.0",
+ "fs-extra": "0.26.7",
+ "hasha": "2.2.0",
+ "kew": "0.7.0",
+ "progress": "1.1.8",
+ "request": "2.67.0",
+ "request-progress": "2.0.1",
+ "which": "1.2.14"
+ },
"dependencies": {
"extract-zip": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz",
"integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ=",
"dev": true,
+ "requires": {
+ "concat-stream": "1.5.0",
+ "debug": "0.7.4",
+ "mkdirp": "0.5.0",
+ "yauzl": "2.4.1"
+ },
"dependencies": {
"concat-stream": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
"integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE=",
"dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "readable-stream": "2.0.6",
+ "typedarray": "0.0.6"
+ },
"dependencies": {
"inherits": {
"version": "2.0.3",
@@ -3563,6 +4638,14 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.2"
+ },
"dependencies": {
"core-util-is": {
"version": "1.0.2",
@@ -3615,6 +4698,9 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
"integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=",
"dev": true,
+ "requires": {
+ "minimist": "0.0.8"
+ },
"dependencies": {
"minimist": {
"version": "0.0.8",
@@ -3629,12 +4715,18 @@
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
"integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
"dev": true,
+ "requires": {
+ "fd-slicer": "1.0.1"
+ },
"dependencies": {
"fd-slicer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
"integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
"dev": true,
+ "requires": {
+ "pend": "1.2.0"
+ },
"dependencies": {
"pend": {
"version": "1.2.0",
@@ -3653,6 +4745,13 @@
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
"integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=",
"dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11",
+ "jsonfile": "2.4.0",
+ "klaw": "1.3.1",
+ "path-is-absolute": "1.0.1",
+ "rimraf": "2.6.1"
+ },
"dependencies": {
"graceful-fs": {
"version": "4.1.11",
@@ -3664,13 +4763,19 @@
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
},
"klaw": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
"integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "graceful-fs": "4.1.11"
+ }
},
"path-is-absolute": {
"version": "1.0.1",
@@ -3683,12 +4788,23 @@
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
"integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
"dev": true,
+ "requires": {
+ "glob": "7.1.2"
+ },
"dependencies": {
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
"dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ },
"dependencies": {
"fs.realpath": {
"version": "1.0.0",
@@ -3701,6 +4817,10 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ },
"dependencies": {
"wrappy": {
"version": "1.0.2",
@@ -3721,12 +4841,19 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"dev": true,
+ "requires": {
+ "brace-expansion": "1.1.8"
+ },
"dependencies": {
"brace-expansion": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
"dev": true,
+ "requires": {
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
+ },
"dependencies": {
"balanced-match": {
"version": "1.0.0",
@@ -3749,6 +4876,9 @@
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ },
"dependencies": {
"wrappy": {
"version": "1.0.2",
@@ -3769,6 +4899,10 @@
"resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
"integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
"dev": true,
+ "requires": {
+ "is-stream": "1.1.0",
+ "pinkie-promise": "2.0.1"
+ },
"dependencies": {
"is-stream": {
"version": "1.1.0",
@@ -3781,6 +4915,9 @@
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ },
"dependencies": {
"pinkie": {
"version": "2.0.4",
@@ -3809,6 +4946,28 @@
"resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz",
"integrity": "sha1-ivdHgOK/EeoK6aqWXBHxGv0nJ0I=",
"dev": true,
+ "requires": {
+ "aws-sign2": "0.6.0",
+ "bl": "1.0.3",
+ "caseless": "0.11.0",
+ "combined-stream": "1.0.5",
+ "extend": "3.0.1",
+ "forever-agent": "0.6.1",
+ "form-data": "1.0.1",
+ "har-validator": "2.0.6",
+ "hawk": "3.1.3",
+ "http-signature": "1.1.1",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.15",
+ "node-uuid": "1.4.8",
+ "oauth-sign": "0.8.2",
+ "qs": "5.2.1",
+ "stringstream": "0.0.5",
+ "tough-cookie": "2.2.2",
+ "tunnel-agent": "0.4.3"
+ },
"dependencies": {
"aws-sign2": {
"version": "0.6.0",
@@ -3821,12 +4980,23 @@
"resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz",
"integrity": "sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4=",
"dev": true,
+ "requires": {
+ "readable-stream": "2.0.6"
+ },
"dependencies": {
"readable-stream": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
"dev": true,
+ "requires": {
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "1.0.7",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.2"
+ },
"dependencies": {
"core-util-is": {
"version": "1.0.2",
@@ -3879,6 +5049,9 @@
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
"dev": true,
+ "requires": {
+ "delayed-stream": "1.0.0"
+ },
"dependencies": {
"delayed-stream": {
"version": "1.0.0",
@@ -3905,12 +5078,20 @@
"resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
"integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=",
"dev": true,
+ "requires": {
+ "async": "2.5.0",
+ "combined-stream": "1.0.5",
+ "mime-types": "2.1.15"
+ },
"dependencies": {
"async": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
"integrity": "sha1-hDGQ/WtzV6C54clW7d3V7IRitU0=",
"dev": true,
+ "requires": {
+ "lodash": "4.17.4"
+ },
"dependencies": {
"lodash": {
"version": "4.17.4",
@@ -3927,12 +5108,25 @@
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
"integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
"dev": true,
+ "requires": {
+ "chalk": "1.1.3",
+ "commander": "2.11.0",
+ "is-my-json-valid": "2.16.0",
+ "pinkie-promise": "2.0.1"
+ },
"dependencies": {
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ },
"dependencies": {
"ansi-styles": {
"version": "2.2.1",
@@ -3951,6 +5145,9 @@
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
@@ -3965,6 +5162,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ },
"dependencies": {
"ansi-regex": {
"version": "2.1.1",
@@ -3993,6 +5193,12 @@
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz",
"integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=",
"dev": true,
+ "requires": {
+ "generate-function": "2.0.0",
+ "generate-object-property": "1.2.0",
+ "jsonpointer": "4.0.1",
+ "xtend": "4.0.1"
+ },
"dependencies": {
"generate-function": {
"version": "2.0.0",
@@ -4005,6 +5211,9 @@
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
"dev": true,
+ "requires": {
+ "is-property": "1.0.2"
+ },
"dependencies": {
"is-property": {
"version": "1.0.2",
@@ -4033,6 +5242,9 @@
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
+ "requires": {
+ "pinkie": "2.0.4"
+ },
"dependencies": {
"pinkie": {
"version": "2.0.4",
@@ -4049,18 +5261,30 @@
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
+ "requires": {
+ "boom": "2.10.1",
+ "cryptiles": "2.0.5",
+ "hoek": "2.16.3",
+ "sntp": "1.0.9"
+ },
"dependencies": {
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
},
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "boom": "2.10.1"
+ }
},
"hoek": {
"version": "2.16.3",
@@ -4072,7 +5296,10 @@
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "hoek": "2.16.3"
+ }
}
}
},
@@ -4081,6 +5308,11 @@
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
+ "requires": {
+ "assert-plus": "0.2.0",
+ "jsprim": "1.4.0",
+ "sshpk": "1.13.1"
+ },
"dependencies": {
"assert-plus": {
"version": "0.2.0",
@@ -4093,6 +5325,12 @@
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
"integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
"dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.0.2",
+ "json-schema": "0.2.3",
+ "verror": "1.3.6"
+ },
"dependencies": {
"assert-plus": {
"version": "1.0.0",
@@ -4116,7 +5354,10 @@
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
"integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "extsprintf": "1.0.2"
+ }
}
}
},
@@ -4125,6 +5366,16 @@
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
"dev": true,
+ "requires": {
+ "asn1": "0.2.3",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.1",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.1",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "tweetnacl": "0.14.5"
+ },
"dependencies": {
"asn1": {
"version": "0.2.3",
@@ -4143,26 +5394,38 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "tweetnacl": "0.14.5"
+ }
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
},
"ecc-jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
- "optional": true
+ "optional": true,
+ "requires": {
+ "jsbn": "0.1.1"
+ }
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
},
"jsbn": {
"version": "0.1.1",
@@ -4205,6 +5468,9 @@
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
"integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
"dev": true,
+ "requires": {
+ "mime-db": "1.27.0"
+ },
"dependencies": {
"mime-db": {
"version": "1.27.0",
@@ -4257,6 +5523,9 @@
"resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
"integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
"dev": true,
+ "requires": {
+ "throttleit": "1.0.0"
+ },
"dependencies": {
"throttleit": {
"version": "1.0.0",
@@ -4271,6 +5540,9 @@
"resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
"integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
"dev": true,
+ "requires": {
+ "isexe": "2.0.0"
+ },
"dependencies": {
"isexe": {
"version": "2.0.0",
@@ -4285,17 +5557,29 @@
"typedarray-to-buffer": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz",
- "integrity": "sha1-EBezLZhP9VbroQD1AViauhrOLgQ="
+ "integrity": "sha1-EBezLZhP9VbroQD1AViauhrOLgQ=",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "1.0.0"
+ }
},
"websocket": {
"version": "1.0.24",
"resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.24.tgz",
- "integrity": "sha1-dJA+dfJUW2suHeFCW8HJBZF6GJA="
+ "integrity": "sha1-dJA+dfJUW2suHeFCW8HJBZF6GJA=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.8",
+ "nan": "2.7.0",
+ "typedarray-to-buffer": "3.1.2",
+ "yaeti": "0.0.6"
+ }
},
"yaeti": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
+ "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=",
+ "dev": true
}
}
}