Mobrovac has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/393034 )

Change subject: Update from upstream to a362a7a130fb71ad9d4c5090a75d86bae3727ca4
......................................................................

Update from upstream to a362a7a130fb71ad9d4c5090a75d86bae3727ca4

Change-Id: I1360033bd9ad910d1fd064d6ed6942b0fa3d6bfc
---
M .travis.yml
M Dockerfile
M LICENSE.md
M README.md
M package.json
M src/auth.js
M src/error_handler.js
M src/renderer.js
M src/server.js
D test/fixtures/acid2.png
M test/fixtures/example.pdf
M test/fixtures/example.png
M test/integration.js
M yarn.lock
14 files changed, 766 insertions(+), 660 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/electron-render 
refs/changes/34/393034/1

diff --git a/.travis.yml b/.travis.yml
index ce339ad..d18c7b8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,11 @@
 language: node_js
 sudo: required
 
+cache:
+  yarn: true
+  directories:
+    - node_modules
+
 services:
   - docker
 
@@ -8,7 +13,11 @@
   - REPO=msokk/electron-render-service RENDERER_ACCESS_KEY=secret 
CONCURRENCY=1 WINDOW_WIDTH=1024 WINDOW_HEIGHT=768 
ELECTRON_ENABLE_STACK_DUMPING=true ELECTRON_ENABLE_LOGGING=true
 
 node_js:
-  - "6.1.0"
+  - "8.9.1"
+
+before_install:
+  - "curl -o- -L https://yarnpkg.com/install.sh | bash"
+  - "export PATH=$HOME/.yarn/bin:$PATH"
 
 before_script:
   - "mkdir -p ~/.docker && echo $DOCKER_AUTH > ~/.docker/config.json"
diff --git a/Dockerfile b/Dockerfile
index 0c61ee9..16f7494 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@
 MAINTAINER Mihkel Sokk <mihkels...@gmail.com>
 
 ENV RENDERER_ACCESS_KEY=changeme CONCURRENCY=1 WINDOW_WIDTH=1024 
WINDOW_HEIGHT=768 NODE_ENV=production \
-    ELECTRON_VERSION=1.6.2 ELECTRON_ENABLE_STACK_DUMPING=true 
ELECTRON_ENABLE_LOGGING=true
+    ELECTRON_VERSION=1.7.9 ELECTRON_ENABLE_STACK_DUMPING=true 
ELECTRON_ENABLE_LOGGING=true
 
 WORKDIR /app
 
@@ -12,7 +12,7 @@
 
     # Install the packages needed to run Electron
 RUN sed -i 's/main/main contrib/g' /etc/apt/sources.list && \
-    curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
+    curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
     apt-get upgrade -y && \
     apt-get install -y unzip xvfb libgtk2.0-0 ttf-mscorefonts-installer 
libnotify4 libgconf2-4 libxss1 libnss3 dbus-x11 && \
 
diff --git a/LICENSE.md b/LICENSE.md
index cc1fd39..ac02625 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
 The MIT License (MIT)
 
-Copyright (c) 2016 Mihkel Sokk <mihkels...@gmail.com>
+Copyright (c) 2017 Mihkel Sokk <mihkels...@gmail.com>
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index e0ed06d..4e05d6c 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,7 @@
 
 > NB: Set bigger shared memory size `--shm-size=Xm` (default: `64m`) if 
 > dealing with very heavy pages.
 
+> Docker Swarm needs extra configuration to work - [`--shm-size` is not 
implemented](https://github.com/moby/moby/issues/26714) use `--mount 
type=tmpfs,dst=/dev/shm,tmpfs-size=134217728 ` instead and blank hostname `-e 
HOSTNAME=`.
 
 
 ## Installation on Debian with Node.js
diff --git a/package.json b/package.json
index 60103c8..cbd87e6 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "electron-render-service",
-  "version": "0.10.0",
+  "version": "0.11.0",
   "description": "Microservice for rendering PDF/PNG/JPEG from HTML with 
Electron",
   "bin": {
     "electron-render-service": "./bin/electron-render-service.js"
@@ -8,7 +8,7 @@
   "scripts": {
     "start": "electron src/server.js",
     "lint": "eslint src",
-    "test": "electron node_modules/.bin/_mocha"
+    "test": "electron node_modules/.bin/_mocha --exit"
   },
   "keywords": [
     "electron",
@@ -27,19 +27,19 @@
     "url": "https://github.com/msokk/electron-render-service.git";
   },
   "dependencies": {
-    "async": "^2.1.5",
-    "electron": "^1.6.2",
-    "express": "^4.15.2",
-    "express-validator": "^3.1.2",
-    "morgan": "^1.8.1",
+    "async": "^2.6.0",
+    "electron": "^1.7.9",
+    "express": "^4.16.2",
+    "express-validator": "^4.3.0",
+    "morgan": "^1.9.0",
     "response-time": "^2.3.2",
     "retry": "^0.10.1"
   },
   "devDependencies": {
-    "eslint": "^3.17.1",
-    "eslint-config-airbnb-base": "^11.1.1",
-    "eslint-plugin-import": "^2.2.0",
-    "mocha": "^3.2.0",
+    "eslint": "^4.11.0",
+    "eslint-config-airbnb-base": "^12.1.0",
+    "eslint-plugin-import": "^2.8.0",
+    "mocha": "^4.0.1",
     "supertest": "^3.0.0"
   },
   "deploy": {
diff --git a/src/auth.js b/src/auth.js
index c790850..d479402 100644
--- a/src/auth.js
+++ b/src/auth.js
@@ -27,7 +27,7 @@
     });
   }
 
-  /* eslint-disable no-param-reassign */
+  /* eslint-disable no-param-reassign, prefer-destructuring */
   req.keyLabel = key[0];
   return next();
 };
diff --git a/src/error_handler.js b/src/error_handler.js
index 47c8d21..dadccbb 100644
--- a/src/error_handler.js
+++ b/src/error_handler.js
@@ -18,22 +18,17 @@
 function handleLoadingError(currentUrl, event, code, desc, url) {
   switch (code) {
     case -102:
-      return Promise.reject(new RendererError(
-        'CONNECTION_REFUSED', 'Connection attempt was refused.'));
+      return Promise.reject(new RendererError('CONNECTION_REFUSED', 
'Connection attempt was refused.'));
     case -105:
-      return Promise.reject(new RendererError(
-        'NAME_NOT_RESOLVED', 'The host name could not be resolved.'));
+      return Promise.reject(new RendererError('NAME_NOT_RESOLVED', 'The host 
name could not be resolved.'));
     case -137:
-      return Promise.reject(new RendererError(
-        'NAME_RESOLUTION_FAILED', 'Hostname resolution failed (DNS).'));
+      return Promise.reject(new RendererError('NAME_RESOLUTION_FAILED', 
'Hostname resolution failed (DNS).'));
     case -300:
       return Promise.reject(new RendererError('INVALID_URL', 'The URL is 
invalid.'));
     case -501:
-      return Promise.reject(new RendererError(
-        'INSECURE_RESPONSE', 'The server\'s response was insecure (e.g. there 
was a cert error).'));
+      return Promise.reject(new RendererError('INSECURE_RESPONSE', 'The 
server\'s response was insecure (e.g. there was a cert error).'));
     case -6:
-      return Promise.reject(new RendererError(
-        'FILE_NOT_FOUND', 'The file or directory cannot be found.'));
+      return Promise.reject(new RendererError('FILE_NOT_FOUND', 'The file or 
directory cannot be found.'));
     case -3:
       // Subresource fails to load, render page anyway
       if (currentUrl !== url) {
diff --git a/src/renderer.js b/src/renderer.js
index b5be1df..7e50640 100644
--- a/src/renderer.js
+++ b/src/renderer.js
@@ -58,7 +58,9 @@
 /**
  * Render image png/jpeg
  */
-function renderImage({ type, quality, browserWidth, browserHeight, 
clippingRect }, done) {
+function renderImage({
+  type, quality, browserWidth, browserHeight, clippingRect,
+}, done) {
   const handleCapture = image => done(null, type === 'png' ? image.toPng() : 
image.toJpeg(quality));
 
   if (clippingRect) {
@@ -152,6 +154,7 @@
       blinkFeatures: 'OverlayScrollbars', // Slimmer scrollbars
       allowDisplayingInsecureContent: true, // Show http content on https site
       allowRunningInsecureContent: true, // Run JS, CSS from http urls
+      nodeIntegration: false, // Disable exposing of Node.js symbols to DOM
     },
   });
 
diff --git a/src/server.js b/src/server.js
index c12f421..60a8326 100644
--- a/src/server.js
+++ b/src/server.js
@@ -12,7 +12,9 @@
 
 const WindowPool = require('./window_pool');
 const auth = require('./auth');
-const { printUsage, printBootMessage, handleErrors, setContentDisposition } = 
require('./util');
+const {
+  printUsage, printBootMessage, handleErrors, setContentDisposition,
+} = require('./util');
 
 const HOSTNAME = process.env.HOSTNAME || '0.0.0.0';
 const PORT = process.env.PORT || 3000;
@@ -34,7 +36,7 @@
 
 app.post(/^\/(pdf|png|jpeg)/, auth, (req, res, next) => {
   const tmpFile = path.join('/tmp/', `${(new 
Date()).toUTCString()}-${process.pid}-${
-      ((Math.random() * 0x100000000) + 1).toString(36)}.html`);
+    ((Math.random() * 0x100000000) + 1).toString(36)}.html`);
 
   const writeStream = fs.createWriteStream(tmpFile);
   req.pipe(writeStream);
@@ -101,10 +103,12 @@
   }
 
   if (!res.locals.tmpFile && !(req.query.url && 
req.query.url.match(/^https?:\/\/.+$/i))) {
-    res.status(400).send({ input_errors: [{
-      param: 'url',
-      msg: 'Please provide url or send HTML via POST',
-    }] });
+    res.status(400).send({
+      input_errors: [{
+        param: 'url',
+        msg: 'Please provide url or send HTML via POST',
+      }],
+    });
     return;
   }
 
@@ -114,8 +118,10 @@
   req.sanitize('removePrintMedia').toBoolean(true);
   req.sanitize('delay').toInt(10);
 
-  const { pageSize = 'A4', marginsType = 0, printBackground = true, landscape 
= false,
-    removePrintMedia = false, delay = 0, waitForText = false } = req.query;
+  const {
+    pageSize = 'A4', marginsType = 0, printBackground = true, landscape = 
false,
+    removePrintMedia = false, delay = 0, waitForText = false,
+  } = req.query;
   const url = (res.locals.tmpFile ? `file://${res.locals.tmpFile}` : 
req.query.url);
 
   req.app.pool.enqueue({
@@ -164,10 +170,11 @@
   });
 
   if (!res.locals.tmpFile && !(req.query.url && 
req.query.url.match(/^https?:\/\/.+$/i))) {
-    res.status(400).send({ input_errors: [{
-      param: 'url',
-      msg: 'Please provide url or send HTML via POST',
-    }],
+    res.status(400).send({
+      input_errors: [{
+        param: 'url',
+        msg: 'Please provide url or send HTML via POST',
+      }],
     });
     return;
   }
@@ -198,8 +205,10 @@
     req.sanitize('clippingRect.height').toInt(10);
   }
 
-  const { quality = 80, delay, waitForText, clippingRect,
-    browserWidth = WINDOW_WIDTH, browserHeight = WINDOW_HEIGHT } = req.query;
+  const {
+    quality = 80, delay, waitForText, clippingRect,
+    browserWidth = WINDOW_WIDTH, browserHeight = WINDOW_HEIGHT,
+  } = req.query;
   const url = (res.locals.tmpFile ? `file://${res.locals.tmpFile}` : 
req.query.url);
 
   req.app.pool.enqueue({
diff --git a/test/fixtures/acid2.png b/test/fixtures/acid2.png
deleted file mode 100644
index 1ff438e..0000000
--- a/test/fixtures/acid2.png
+++ /dev/null
Binary files differ
diff --git a/test/fixtures/example.pdf b/test/fixtures/example.pdf
index a49b9e6..7a0f3f8 100644
--- a/test/fixtures/example.pdf
+++ b/test/fixtures/example.pdf
Binary files differ
diff --git a/test/fixtures/example.png b/test/fixtures/example.png
index bd846c6..2abdb67 100644
--- a/test/fixtures/example.png
+++ b/test/fixtures/example.png
Binary files differ
diff --git a/test/integration.js b/test/integration.js
index 344fc99..c47cd9d 100644
--- a/test/integration.js
+++ b/test/integration.js
@@ -57,29 +57,6 @@
         })
         .end(done);
     });
-
-    it('should render valid png from http://acid2.acidtests.org/#top', 
function renderPng(done) {
-      this.timeout(5000);
-      this.slow(10000);
-
-      request.get('/png')
-        .query({ accessKey: process.env.RENDERER_ACCESS_KEY, url: 
'http://acid2.acidtests.org/#top', delay: 1 })
-        .expect((res) => {
-          if (res.statusCode !== 200) {
-            throw new Error(`Invalid response code: 
${res.statusCode}\n${res.body}`);
-          }
-
-          const acidPngPath = path.join(fixturePath, 'acid2.png');
-          const fixture = fs.readFileSync(acidPngPath);
-
-          if (res.body.compare(fixture) === 0) return;
-
-          fs.writeFileSync('./acid2_failed.png', res.body);
-          execSync('curl --upload-file ./acid2_failed.png 
https://transfer.sh/acid2_failed.png', { stdio: 'inherit' });
-          throw new Error(`${acidPngPath} does not match rendered screenshot`);
-        })
-        .end(done);
-    });
   });
 
   describe('GET /pdf', () => {
diff --git a/yarn.lock b/yarn.lock
index 9f3faa4..b2af5b8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,13 +2,9 @@
 # yarn lockfile v1
 
 
-"@types/bluebird@~3.0.36":
-  version "3.0.37"
-  resolved 
"https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.0.37.tgz#2e76b394aa9bea40d04241a31c0887a260283388";
-
 "@types/express-serve-static-core@*":
-  version "4.0.40"
-  resolved 
"https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.40.tgz#168e82978bffc81ee7737bc60728d64733a4f37b";
+  version "4.0.45"
+  resolved 
"https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.0.45.tgz#71bb1f87d7187482d0d8851f5b294458e1c78667";
   dependencies:
     "@types/node" "*"
 
@@ -23,9 +19,9 @@
   version "0.0.29"
   resolved 
"https://registry.yarnpkg.com/@types/mime/-/mime-0.0.29.tgz#fbcfd330573b912ef59eeee14602bface630754b";
 
-"@types/node@*":
-  version "7.0.5"
-  resolved 
"https://registry.yarnpkg.com/@types/node/-/node-7.0.5.tgz#96a0f0a618b7b606f1ec547403c00650210bfbb7";
+"@types/node@*", "@types/node@^7.0.18":
+  version "7.0.27"
+  resolved 
"https://registry.yarnpkg.com/@types/node/-/node-7.0.27.tgz#ba5e1a87aca2b4f5817289615ffe56472927687e";
 
 "@types/serve-static@*":
   version "1.7.31"
@@ -34,11 +30,11 @@
     "@types/express-serve-static-core" "*"
     "@types/mime" "*"
 
-accepts@~1.3.3:
-  version "1.3.3"
-  resolved 
"https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca";
+accepts@~1.3.4:
+  version "1.3.4"
+  resolved 
"https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f";
   dependencies:
-    mime-types "~2.1.11"
+    mime-types "~2.1.16"
     negotiator "0.6.1"
 
 acorn-jsx@^3.0.0:
@@ -47,36 +43,55 @@
   dependencies:
     acorn "^3.0.4"
 
-acorn@4.0.4:
-  version "4.0.4"
-  resolved 
"https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a";
-
 acorn@^3.0.4:
   version "3.3.0"
   resolved 
"https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+
+acorn@^5.2.1:
+  version "5.2.1"
+  resolved 
"https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7";
 
 ajv-keywords@^1.0.0:
   version "1.5.1"
   resolved 
"https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c";
 
-ajv@^4.7.0:
-  version "4.11.3"
-  resolved 
"https://registry.yarnpkg.com/ajv/-/ajv-4.11.3.tgz#ce30bdb90d1254f762c75af915fb3a63e7183d22";
+ajv@^4.7.0, ajv@^4.9.1:
+  version "4.11.8"
+  resolved 
"https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536";
   dependencies:
     co "^4.6.0"
     json-stable-stringify "^1.0.1"
 
-ansi-escapes@^1.1.0:
-  version "1.4.0"
-  resolved 
"https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e";
+ajv@^5.3.0:
+  version "5.3.0"
+  resolved 
"https://registry.yarnpkg.com/ajv/-/ajv-5.3.0.tgz#4414ff74a50879c208ee5fdc826e32c303549eda";
+  dependencies:
+    co "^4.6.0"
+    fast-deep-equal "^1.0.0"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.3.0"
+
+ansi-escapes@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b";
 
 ansi-regex@^2.0.0:
   version "2.1.1"
   resolved 
"https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
 
+ansi-regex@^3.0.0:
+  version "3.0.0"
+  resolved 
"https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998";
+
 ansi-styles@^2.2.1:
   version "2.2.1"
   resolved 
"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe";
+
+ansi-styles@^3.1.0:
+  version "3.2.0"
+  resolved 
"https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88";
+  dependencies:
+    color-convert "^1.9.0"
 
 argparse@^1.0.7:
   version "1.0.9"
@@ -110,17 +125,17 @@
   version "0.2.3"
   resolved 
"https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86";
 
+assert-plus@1.0.0, assert-plus@^1.0.0:
+  version "1.0.0"
+  resolved 
"https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+
 assert-plus@^0.2.0:
   version "0.2.0"
   resolved 
"https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234";
 
-assert-plus@^1.0.0:
-  version "1.0.0"
-  resolved 
"https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
-
-async@^2.1.5:
-  version "2.1.5"
-  resolved 
"https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc";
+async@^2.6.0:
+  version "2.6.0"
+  resolved 
"https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4";
   dependencies:
     lodash "^4.14.0"
 
@@ -136,7 +151,7 @@
   version "1.6.0"
   resolved 
"https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e";
 
-babel-code-frame@^6.16.0:
+babel-code-frame@^6.22.0:
   version "6.22.0"
   resolved 
"https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4";
   dependencies:
@@ -148,9 +163,11 @@
   version "0.4.2"
   resolved 
"https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838";
 
-basic-auth@~1.1.0:
-  version "1.1.0"
-  resolved 
"https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884";
+basic-auth@~2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.0.tgz#015db3f353e02e56377755f962742e8981e7bbba";
+  dependencies:
+    safe-buffer "5.1.1"
 
 bcrypt-pbkdf@^1.0.0:
   version "1.0.1"
@@ -158,9 +175,20 @@
   dependencies:
     tweetnacl "^0.14.3"
 
-bluebird@^3.4.0:
-  version "3.4.7"
-  resolved 
"https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3";
+body-parser@1.18.2:
+  version "1.18.2"
+  resolved 
"https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454";
+  dependencies:
+    bytes "3.0.0"
+    content-type "~1.0.4"
+    debug "2.6.9"
+    depd "~1.1.1"
+    http-errors "~1.6.2"
+    iconv-lite "0.4.19"
+    on-finished "~2.3.0"
+    qs "6.5.1"
+    raw-body "2.3.2"
+    type-is "~1.6.15"
 
 boom@2.x.x:
   version "2.10.1"
@@ -168,9 +196,9 @@
   dependencies:
     hoek "2.x.x"
 
-brace-expansion@^1.0.0:
-  version "1.1.6"
-  resolved 
"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9";
+brace-expansion@^1.1.7:
+  version "1.1.7"
+  resolved 
"https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59";
   dependencies:
     balanced-match "^0.4.1"
     concat-map "0.0.1"
@@ -179,13 +207,13 @@
   version "1.3.0"
   resolved 
"https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f";
 
-buffer-shims@^1.0.0:
-  version "1.0.0"
-  resolved 
"https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51";
-
 builtin-modules@^1.0.0, builtin-modules@^1.1.1:
   version "1.1.1"
   resolved 
"https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f";
+
+bytes@3.0.0:
+  version "3.0.0"
+  resolved 
"https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048";
 
 caller-path@^0.1.0:
   version "0.1.0"
@@ -208,11 +236,11 @@
   version "2.1.1"
   resolved 
"https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
 
-caseless@~0.11.0:
-  version "0.11.0"
-  resolved 
"https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7";
+caseless@~0.12.0:
+  version "0.12.0"
+  resolved 
"https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc";
 
-chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1:
   version "1.1.3"
   resolved 
"https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98";
   dependencies:
@@ -222,15 +250,23 @@
     strip-ansi "^3.0.0"
     supports-color "^2.0.0"
 
+chalk@^2.1.0:
+  version "2.1.0"
+  resolved 
"https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e";
+  dependencies:
+    ansi-styles "^3.1.0"
+    escape-string-regexp "^1.0.5"
+    supports-color "^4.0.0"
+
 circular-json@^0.3.1:
   version "0.3.1"
   resolved 
"https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d";
 
-cli-cursor@^1.0.1:
-  version "1.0.2"
-  resolved 
"https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987";
+cli-cursor@^2.1.0:
+  version "2.1.0"
+  resolved 
"https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5";
   dependencies:
-    restore-cursor "^1.0.1"
+    restore-cursor "^2.0.0"
 
 cli-width@^2.0.0:
   version "2.1.0"
@@ -244,17 +280,25 @@
   version "1.1.0"
   resolved 
"https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
 
+color-convert@^1.9.0:
+  version "1.9.0"
+  resolved 
"https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a";
+  dependencies:
+    color-name "^1.1.1"
+
+color-name@^1.1.1:
+  version "1.1.3"
+  resolved 
"https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25";
+
 combined-stream@^1.0.5, combined-stream@~1.0.5:
   version "1.0.5"
   resolved 
"https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009";
   dependencies:
     delayed-stream "~1.0.0"
 
-commander@2.9.0, commander@^2.9.0:
-  version "2.9.0"
-  resolved 
"https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4";
-  dependencies:
-    graceful-readlink ">= 1.0.0"
+commander@2.11.0:
+  version "2.11.0"
+  resolved 
"https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563";
 
 component-emitter@^1.2.0:
   version "1.2.1"
@@ -264,13 +308,13 @@
   version "0.0.1"
   resolved 
"https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b";
 
-concat-stream@1.5.0, concat-stream@^1.4.6:
-  version "1.5.0"
-  resolved 
"https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611";
+concat-stream@1.6.0, concat-stream@^1.6.0:
+  version "1.6.0"
+  resolved 
"https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7";
   dependencies:
-    inherits "~2.0.1"
-    readable-stream "~2.0.0"
-    typedarray "~0.0.5"
+    inherits "^2.0.3"
+    readable-stream "^2.2.2"
+    typedarray "^0.0.6"
 
 contains-path@^0.1.0:
   version "0.1.0"
@@ -280,9 +324,9 @@
   version "0.5.2"
   resolved 
"https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4";
 
-content-type@~1.0.2:
-  version "1.0.2"
-  resolved 
"https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed";
+content-type@~1.0.4:
+  version "1.0.4"
+  resolved 
"https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
 
 cookie-signature@1.0.6:
   version "1.0.6"
@@ -293,12 +337,20 @@
   resolved 
"https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
 
 cookiejar@^2.0.6:
-  version "2.1.0"
-  resolved 
"https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.0.tgz#86549689539b6d0e269b6637a304be508194d898";
+  version "2.1.1"
+  resolved 
"https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.1.tgz#41ad57b1b555951ec171412a81942b1e8200d34a";
 
 core-util-is@~1.0.0:
   version "1.0.2"
   resolved 
"https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+
+cross-spawn@^5.1.0:
+  version "5.1.0"
+  resolved 
"https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+  dependencies:
+    lru-cache "^4.0.1"
+    shebang-command "^1.2.0"
+    which "^1.2.9"
 
 cryptiles@2.x.x:
   version "2.0.5"
@@ -312,21 +364,11 @@
   dependencies:
     array-find-index "^1.0.1"
 
-d@^0.1.1, d@~0.1.1:
-  version "0.1.1"
-  resolved 
"https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309";
-  dependencies:
-    es5-ext "~0.10.2"
-
 dashdash@^1.12.0:
   version "1.14.1"
   resolved 
"https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
   dependencies:
     assert-plus "^1.0.0"
-
-debug@0.7.4:
-  version "0.7.4"
-  resolved 
"https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39";
 
 debug@2.2.0:
   version "2.2.0"
@@ -334,19 +376,31 @@
   dependencies:
     ms "0.7.1"
 
-debug@2.6.1, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0:
-  version "2.6.1"
-  resolved 
"https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351";
+debug@2.6.9:
+  version "2.6.9"
+  resolved 
"https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f";
   dependencies:
-    ms "0.7.2"
+    ms "2.0.0"
+
+debug@3.1.0, debug@^3.0.1:
+  version "3.1.0"
+  resolved 
"https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261";
+  dependencies:
+    ms "2.0.0"
+
+debug@^2.1.3, debug@^2.2.0, debug@^2.6.8:
+  version "2.6.8"
+  resolved 
"https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc";
+  dependencies:
+    ms "2.0.0"
 
 decamelize@^1.1.2:
   version "1.2.0"
   resolved 
"https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290";
 
 deep-extend@~0.4.0:
-  version "0.4.1"
-  resolved 
"https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253";
+  version "0.4.2"
+  resolved 
"https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f";
 
 deep-is@~0.1.3:
   version "0.1.3"
@@ -368,7 +422,11 @@
   version "1.0.0"
   resolved 
"https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619";
 
-depd@1.1.0, depd@~1.1.0:
+depd@1.1.1, depd@~1.1.1:
+  version "1.1.1"
+  resolved 
"https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359";
+
+depd@~1.1.0:
   version "1.1.0"
   resolved 
"https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3";
 
@@ -376,13 +434,20 @@
   version "1.0.4"
   resolved 
"https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80";
 
-diff@1.4.0:
-  version "1.4.0"
-  resolved 
"https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf";
+diff@3.3.1:
+  version "3.3.1"
+  resolved 
"https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75";
 
-doctrine@1.5.0, doctrine@^1.2.2:
+doctrine@1.5.0:
   version "1.5.0"
   resolved 
"https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa";
+  dependencies:
+    esutils "^2.0.2"
+    isarray "^1.0.0"
+
+doctrine@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63";
   dependencies:
     esutils "^2.0.2"
     isarray "^1.0.0"
@@ -411,10 +476,11 @@
     semver "^5.3.0"
     sumchecker "^1.2.0"
 
-electron@^1.6.2:
-  version "1.6.3"
-  resolved 
"https://registry.yarnpkg.com/electron/-/electron-1.6.3.tgz#95fc62899e50838563fa768baa2011ea860d04b1";
+electron@^1.7.9:
+  version "1.7.9"
+  resolved 
"https://registry.yarnpkg.com/electron/-/electron-1.7.9.tgz#add54e9f8f83ed02f6519ec10135f698b19336cf";
   dependencies:
+    "@types/node" "^7.0.18"
     electron-download "^3.0.1"
     extract-zip "^1.0.3"
 
@@ -423,66 +489,14 @@
   resolved 
"https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20";
 
 error-ex@^1.2.0:
-  version "1.3.0"
-  resolved 
"https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
+  version "1.3.1"
+  resolved 
"https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc";
   dependencies:
     is-arrayish "^0.2.1"
 
-es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, 
es5-ext@~0.10.7:
-  version "0.10.12"
-  resolved 
"https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047";
-  dependencies:
-    es6-iterator "2"
-    es6-symbol "~3.1"
-
-es6-iterator@2:
-  version "2.0.0"
-  resolved 
"https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac";
-  dependencies:
-    d "^0.1.1"
-    es5-ext "^0.10.7"
-    es6-symbol "3"
-
-es6-map@^0.1.3:
-  version "0.1.4"
-  resolved 
"https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897";
-  dependencies:
-    d "~0.1.1"
-    es5-ext "~0.10.11"
-    es6-iterator "2"
-    es6-set "~0.1.3"
-    es6-symbol "~3.1.0"
-    event-emitter "~0.3.4"
-
 es6-promise@^4.0.5:
-  version "4.0.5"
-  resolved 
"https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42";
-
-es6-set@~0.1.3:
-  version "0.1.4"
-  resolved 
"https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8";
-  dependencies:
-    d "~0.1.1"
-    es5-ext "~0.10.11"
-    es6-iterator "2"
-    es6-symbol "3"
-    event-emitter "~0.3.4"
-
-es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0:
-  version "3.1.0"
-  resolved 
"https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa";
-  dependencies:
-    d "~0.1.1"
-    es5-ext "~0.10.11"
-
-es6-weak-map@^2.0.1:
-  version "2.0.1"
-  resolved 
"https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81";
-  dependencies:
-    d "^0.1.1"
-    es5-ext "^0.10.8"
-    es6-iterator "2"
-    es6-symbol "3"
+  version "4.1.0"
+  resolved 
"https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.1.0.tgz#dda03ca8f9f89bc597e689842929de7ba8cebdf0";
 
 escape-html@~1.0.3:
   version "1.0.3"
@@ -492,98 +506,110 @@
   version "1.0.5"
   resolved 
"https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
 
-escope@^3.6.0:
-  version "3.6.0"
-  resolved 
"https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3";
+eslint-config-airbnb-base@^12.1.0:
+  version "12.1.0"
+  resolved 
"https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz#386441e54a12ccd957b0a92564a4bafebd747944";
   dependencies:
-    es6-map "^0.1.3"
-    es6-weak-map "^2.0.1"
-    esrecurse "^4.1.0"
-    estraverse "^4.1.1"
+    eslint-restricted-globals "^0.1.1"
 
-eslint-config-airbnb-base@^11.1.1:
-  version "11.1.1"
-  resolved 
"https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.1.1.tgz#61e9e89e4eb89f474f6913ac817be9fbb59063e0";
-
-eslint-import-resolver-node@^0.2.0:
-  version "0.2.3"
-  resolved 
"https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c";
+eslint-import-resolver-node@^0.3.1:
+  version "0.3.1"
+  resolved 
"https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc";
   dependencies:
-    debug "^2.2.0"
-    object-assign "^4.0.1"
-    resolve "^1.1.6"
+    debug "^2.6.8"
+    resolve "^1.2.0"
 
-eslint-module-utils@^2.0.0:
-  version "2.0.0"
-  resolved 
"https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce";
+eslint-module-utils@^2.1.1:
+  version "2.1.1"
+  resolved 
"https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449";
   dependencies:
-    debug "2.2.0"
+    debug "^2.6.8"
     pkg-dir "^1.0.0"
 
-eslint-plugin-import@^2.2.0:
-  version "2.2.0"
-  resolved 
"https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e";
+eslint-plugin-import@^2.8.0:
+  version "2.8.0"
+  resolved 
"https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894";
   dependencies:
     builtin-modules "^1.1.1"
     contains-path "^0.1.0"
-    debug "^2.2.0"
+    debug "^2.6.8"
     doctrine "1.5.0"
-    eslint-import-resolver-node "^0.2.0"
-    eslint-module-utils "^2.0.0"
+    eslint-import-resolver-node "^0.3.1"
+    eslint-module-utils "^2.1.1"
     has "^1.0.1"
     lodash.cond "^4.3.0"
     minimatch "^3.0.3"
-    pkg-up "^1.0.0"
+    read-pkg-up "^2.0.0"
 
-eslint@^3.17.1:
-  version "3.17.1"
-  resolved 
"https://registry.yarnpkg.com/eslint/-/eslint-3.17.1.tgz#b80ae12d9c406d858406fccda627afce33ea10ea";
+eslint-restricted-globals@^0.1.1:
+  version "0.1.1"
+  resolved 
"https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7";
+
+eslint-scope@^3.7.1:
+  version "3.7.1"
+  resolved 
"https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8";
   dependencies:
-    babel-code-frame "^6.16.0"
-    chalk "^1.1.3"
-    concat-stream "^1.4.6"
-    debug "^2.1.1"
-    doctrine "^1.2.2"
-    escope "^3.6.0"
-    espree "^3.4.0"
+    esrecurse "^4.1.0"
+    estraverse "^4.1.1"
+
+eslint@^4.11.0:
+  version "4.11.0"
+  resolved 
"https://registry.yarnpkg.com/eslint/-/eslint-4.11.0.tgz#39a8c82bc0a3783adf5a39fa27fdd9d36fac9a34";
+  dependencies:
+    ajv "^5.3.0"
+    babel-code-frame "^6.22.0"
+    chalk "^2.1.0"
+    concat-stream "^1.6.0"
+    cross-spawn "^5.1.0"
+    debug "^3.0.1"
+    doctrine "^2.0.0"
+    eslint-scope "^3.7.1"
+    espree "^3.5.2"
+    esquery "^1.0.0"
     estraverse "^4.2.0"
     esutils "^2.0.2"
     file-entry-cache "^2.0.0"
-    glob "^7.0.3"
-    globals "^9.14.0"
-    ignore "^3.2.0"
+    functional-red-black-tree "^1.0.1"
+    glob "^7.1.2"
+    globals "^9.17.0"
+    ignore "^3.3.3"
     imurmurhash "^0.1.4"
-    inquirer "^0.12.0"
-    is-my-json-valid "^2.10.0"
+    inquirer "^3.0.6"
     is-resolvable "^1.0.0"
-    js-yaml "^3.5.1"
-    json-stable-stringify "^1.0.0"
+    js-yaml "^3.9.1"
+    json-stable-stringify-without-jsonify "^1.0.1"
     levn "^0.3.0"
-    lodash "^4.0.0"
-    mkdirp "^0.5.0"
+    lodash "^4.17.4"
+    minimatch "^3.0.2"
+    mkdirp "^0.5.1"
     natural-compare "^1.4.0"
     optionator "^0.8.2"
-    path-is-inside "^1.0.1"
-    pluralize "^1.2.1"
-    progress "^1.1.8"
-    require-uncached "^1.0.2"
-    shelljs "^0.7.5"
-    strip-bom "^3.0.0"
+    path-is-inside "^1.0.2"
+    pluralize "^7.0.0"
+    progress "^2.0.0"
+    require-uncached "^1.0.3"
+    semver "^5.3.0"
+    strip-ansi "^4.0.0"
     strip-json-comments "~2.0.1"
-    table "^3.7.8"
+    table "^4.0.1"
     text-table "~0.2.0"
-    user-home "^2.0.0"
 
-espree@^3.4.0:
-  version "3.4.0"
-  resolved 
"https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d";
+espree@^3.5.2:
+  version "3.5.2"
+  resolved 
"https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca";
   dependencies:
-    acorn "4.0.4"
+    acorn "^5.2.1"
     acorn-jsx "^3.0.0"
 
-esprima@^3.1.1:
-  version "3.1.3"
-  resolved 
"https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633";
+esprima@^4.0.0:
+  version "4.0.0"
+  resolved 
"https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804";
+
+esquery@^1.0.0:
+  version "1.0.0"
+  resolved 
"https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa";
+  dependencies:
+    estraverse "^4.0.0"
 
 esrecurse@^4.1.0:
   version "4.1.0"
@@ -592,7 +618,7 @@
     estraverse "~4.1.0"
     object-assign "^4.0.1"
 
-estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0:
   version "4.2.0"
   resolved 
"https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13";
 
@@ -604,80 +630,85 @@
   version "2.0.2"
   resolved 
"https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
 
-etag@~1.8.0:
-  version "1.8.0"
-  resolved 
"https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051";
+etag@~1.8.1:
+  version "1.8.1"
+  resolved 
"https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887";
 
-event-emitter@~0.3.4:
-  version "0.3.4"
-  resolved 
"https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5";
+express-validator@^4.3.0:
+  version "4.3.0"
+  resolved 
"https://registry.yarnpkg.com/express-validator/-/express-validator-4.3.0.tgz#60218a5778c59d5e778b89ae4e00b76f8510ef78";
   dependencies:
-    d "~0.1.1"
-    es5-ext "~0.10.7"
-
-exit-hook@^1.0.0:
-  version "1.1.1"
-  resolved 
"https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8";
-
-express-validator@^3.1.2:
-  version "3.1.2"
-  resolved 
"https://registry.yarnpkg.com/express-validator/-/express-validator-3.1.2.tgz#bae23dfa11191398d5fcada3dd7c54f28428195a";
-  dependencies:
-    "@types/bluebird" "~3.0.36"
     "@types/express" "~4.0.34"
-    bluebird "^3.4.0"
     lodash "^4.16.0"
-    validator "~6.2.0"
+    validator "~8.2.0"
 
-express@^4.15.2:
-  version "4.15.2"
-  resolved 
"https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35";
+express@^4.16.2:
+  version "4.16.2"
+  resolved 
"https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c";
   dependencies:
-    accepts "~1.3.3"
+    accepts "~1.3.4"
     array-flatten "1.1.1"
+    body-parser "1.18.2"
     content-disposition "0.5.2"
-    content-type "~1.0.2"
+    content-type "~1.0.4"
     cookie "0.3.1"
     cookie-signature "1.0.6"
-    debug "2.6.1"
-    depd "~1.1.0"
+    debug "2.6.9"
+    depd "~1.1.1"
     encodeurl "~1.0.1"
     escape-html "~1.0.3"
-    etag "~1.8.0"
-    finalhandler "~1.0.0"
-    fresh "0.5.0"
+    etag "~1.8.1"
+    finalhandler "1.1.0"
+    fresh "0.5.2"
     merge-descriptors "1.0.1"
     methods "~1.1.2"
     on-finished "~2.3.0"
-    parseurl "~1.3.1"
+    parseurl "~1.3.2"
     path-to-regexp "0.1.7"
-    proxy-addr "~1.1.3"
-    qs "6.4.0"
+    proxy-addr "~2.0.2"
+    qs "6.5.1"
     range-parser "~1.2.0"
-    send "0.15.1"
-    serve-static "1.12.1"
-    setprototypeof "1.0.3"
+    safe-buffer "5.1.1"
+    send "0.16.1"
+    serve-static "1.13.1"
+    setprototypeof "1.1.0"
     statuses "~1.3.1"
-    type-is "~1.6.14"
-    utils-merge "1.0.0"
-    vary "~1.1.0"
+    type-is "~1.6.15"
+    utils-merge "1.0.1"
+    vary "~1.1.2"
 
 extend@^3.0.0, extend@~3.0.0:
-  version "3.0.0"
-  resolved 
"https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+  version "3.0.1"
+  resolved 
"https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
+
+external-editor@^2.0.4:
+  version "2.0.4"
+  resolved 
"https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972";
+  dependencies:
+    iconv-lite "^0.4.17"
+    jschardet "^1.4.2"
+    tmp "^0.0.31"
 
 extract-zip@^1.0.3:
-  version "1.6.0"
-  resolved 
"https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.0.tgz#7f400c9607ea866ecab7aa6d54fb978eeb11621a";
+  version "1.6.5"
+  resolved 
"https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.5.tgz#99a06735b6ea20ea9b705d779acffcc87cff0440";
   dependencies:
-    concat-stream "1.5.0"
-    debug "0.7.4"
+    concat-stream "1.6.0"
+    debug "2.2.0"
     mkdirp "0.5.0"
     yauzl "2.4.1"
 
 extsprintf@1.0.2:
   version "1.0.2"
   resolved 
"https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550";
+
+fast-deep-equal@^1.0.0:
+  version "1.0.0"
+  resolved 
"https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff";
+
+fast-json-stable-stringify@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2";
 
 fast-levenshtein@~2.0.4:
   version "2.0.6"
@@ -689,12 +720,11 @@
   dependencies:
     pend "~1.2.0"
 
-figures@^1.3.5:
-  version "1.7.0"
-  resolved 
"https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
+figures@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
   dependencies:
     escape-string-regexp "^1.0.5"
-    object-assign "^4.1.0"
 
 file-entry-cache@^2.0.0:
   version "2.0.0"
@@ -703,15 +733,15 @@
     flat-cache "^1.2.1"
     object-assign "^4.0.1"
 
-finalhandler@~1.0.0:
-  version "1.0.0"
-  resolved 
"https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.0.tgz#b5691c2c0912092f18ac23e9416bde5cd7dc6755";
+finalhandler@1.1.0:
+  version "1.1.0"
+  resolved 
"https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5";
   dependencies:
-    debug "2.6.1"
+    debug "2.6.9"
     encodeurl "~1.0.1"
     escape-html "~1.0.3"
     on-finished "~2.3.0"
-    parseurl "~1.3.1"
+    parseurl "~1.3.2"
     statuses "~1.3.1"
     unpipe "~1.0.0"
 
@@ -721,6 +751,12 @@
   dependencies:
     path-exists "^2.0.0"
     pinkie-promise "^2.0.0"
+
+find-up@^2.0.0:
+  version "2.1.0"
+  resolved 
"https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+  dependencies:
+    locate-path "^2.0.0"
 
 flat-cache@^1.2.1:
   version "1.2.2"
@@ -736,8 +772,8 @@
   resolved 
"https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
 
 form-data@^2.1.1, form-data@~2.1.1:
-  version "2.1.2"
-  resolved 
"https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4";
+  version "2.1.4"
+  resolved 
"https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1";
   dependencies:
     asynckit "^0.4.0"
     combined-stream "^1.0.5"
@@ -747,13 +783,13 @@
   version "1.1.1"
   resolved 
"https://registry.yarnpkg.com/formidable/-/formidable-1.1.1.tgz#96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9";
 
-forwarded@~0.1.0:
-  version "0.1.0"
-  resolved 
"https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363";
+forwarded@~0.1.2:
+  version "0.1.2"
+  resolved 
"https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84";
 
-fresh@0.5.0:
-  version "0.5.0"
-  resolved 
"https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e";
+fresh@0.5.2:
+  version "0.5.2"
+  resolved 
"https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7";
 
 fs-extra@^0.30.0:
   version "0.30.0"
@@ -773,29 +809,34 @@
   version "1.1.0"
   resolved 
"https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771";
 
-generate-function@^2.0.0:
-  version "2.0.0"
-  resolved 
"https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74";
-
-generate-object-property@^1.1.0:
-  version "1.2.0"
-  resolved 
"https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0";
-  dependencies:
-    is-property "^1.0.0"
+functional-red-black-tree@^1.0.1:
+  version "1.0.1"
+  resolved 
"https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
 
 get-stdin@^4.0.1:
   version "4.0.1"
   resolved 
"https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe";
 
 getpass@^0.1.1:
-  version "0.1.6"
-  resolved 
"https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6";
+  version "0.1.7"
+  resolved 
"https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
   dependencies:
     assert-plus "^1.0.0"
 
-glob@7.0.5, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
-  version "7.0.5"
-  resolved 
"https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95";
+glob@7.1.2, glob@^7.1.2:
+  version "7.1.2"
+  resolved 
"https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15";
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.4"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+glob@^7.0.3, glob@^7.0.5:
+  version "7.1.1"
+  resolved 
"https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8";
   dependencies:
     fs.realpath "^1.0.0"
     inflight "^1.0.4"
@@ -804,9 +845,9 @@
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-globals@^9.14.0:
-  version "9.16.0"
-  resolved 
"https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80";
+globals@^9.17.0:
+  version "9.18.0"
+  resolved 
"https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a";
 
 globby@^5.0.0:
   version "5.0.0"
@@ -823,22 +864,20 @@
   version "4.1.11"
   resolved 
"https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
 
-"graceful-readlink@>= 1.0.0":
-  version "1.0.1"
-  resolved 
"https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+growl@1.10.3:
+  version "1.10.3"
+  resolved 
"https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f";
 
-growl@1.9.2:
-  version "1.9.2"
-  resolved 
"https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f";
+har-schema@^1.0.5:
+  version "1.0.5"
+  resolved 
"https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e";
 
-har-validator@~2.0.6:
-  version "2.0.6"
-  resolved 
"https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
+har-validator@~4.2.1:
+  version "4.2.1"
+  resolved 
"https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a";
   dependencies:
-    chalk "^1.1.1"
-    commander "^2.9.0"
-    is-my-json-valid "^2.12.4"
-    pinkie-promise "^2.0.0"
+    ajv "^4.9.1"
+    har-schema "^1.0.5"
 
 has-ansi@^2.0.0:
   version "2.0.0"
@@ -846,9 +885,9 @@
   dependencies:
     ansi-regex "^2.0.0"
 
-has-flag@^1.0.0:
-  version "1.0.0"
-  resolved 
"https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa";
+has-flag@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51";
 
 has@^1.0.1:
   version "1.0.1"
@@ -865,23 +904,27 @@
     hoek "2.x.x"
     sntp "1.x.x"
 
+he@1.1.1:
+  version "1.1.1"
+  resolved 
"https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd";
+
 hoek@2.x.x:
   version "2.16.3"
   resolved 
"https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
 
 home-path@^1.0.1:
-  version "1.0.3"
-  resolved 
"https://registry.yarnpkg.com/home-path/-/home-path-1.0.3.tgz#9ece59fec3f032e6d10b5434fee264df4c2de32f";
+  version "1.0.5"
+  resolved 
"https://registry.yarnpkg.com/home-path/-/home-path-1.0.5.tgz#788b29815b12d53bacf575648476e6f9041d133f";
 
 hosted-git-info@^2.1.4:
-  version "2.2.0"
-  resolved 
"https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.2.0.tgz#7a0d097863d886c0fabbdcd37bf1758d8becf8a5";
+  version "2.4.2"
+  resolved 
"https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67";
 
-http-errors@~1.6.1:
-  version "1.6.1"
-  resolved 
"https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257";
+http-errors@1.6.2, http-errors@~1.6.2:
+  version "1.6.2"
+  resolved 
"https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736";
   dependencies:
-    depd "1.1.0"
+    depd "1.1.1"
     inherits "2.0.3"
     setprototypeof "1.0.3"
     statuses ">= 1.3.1 < 2"
@@ -894,9 +937,17 @@
     jsprim "^1.2.2"
     sshpk "^1.7.0"
 
-ignore@^3.2.0:
-  version "3.2.4"
-  resolved 
"https://registry.yarnpkg.com/ignore/-/ignore-3.2.4.tgz#4055e03596729a8fabe45a43c100ad5ed815c4e8";
+iconv-lite@0.4.19:
+  version "0.4.19"
+  resolved 
"https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b";
+
+iconv-lite@^0.4.17:
+  version "0.4.18"
+  resolved 
"https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2";
+
+ignore@^3.3.3:
+  version "3.3.3"
+  resolved 
"https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d";
 
 imurmurhash@^0.1.4:
   version "0.1.4"
@@ -915,7 +966,7 @@
     once "^1.3.0"
     wrappy "1"
 
-inherits@2, inherits@2.0.3, inherits@~2.0.1:
+inherits@2, inherits@2.0.3, inherits@^2.0.3, inherits@~2.0.1:
   version "2.0.3"
   resolved 
"https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de";
 
@@ -923,31 +974,28 @@
   version "1.3.4"
   resolved 
"https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e";
 
-inquirer@^0.12.0:
-  version "0.12.0"
-  resolved 
"https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+inquirer@^3.0.6:
+  version "3.1.1"
+  resolved 
"https://registry.yarnpkg.com/inquirer/-/inquirer-3.1.1.tgz#87621c4fba4072f48a8dd71c9f9df6f100b2d534";
   dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
+    ansi-escapes "^2.0.0"
     chalk "^1.0.0"
-    cli-cursor "^1.0.1"
+    cli-cursor "^2.1.0"
     cli-width "^2.0.0"
-    figures "^1.3.5"
+    external-editor "^2.0.4"
+    figures "^2.0.0"
     lodash "^4.3.0"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    string-width "^1.0.1"
+    mute-stream "0.0.7"
+    run-async "^2.2.0"
+    rx-lite "^4.0.8"
+    rx-lite-aggregates "^4.0.8"
+    string-width "^2.0.0"
     strip-ansi "^3.0.0"
     through "^2.3.6"
 
-interpret@^1.0.0:
-  version "1.0.1"
-  resolved 
"https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c";
-
-ipaddr.js@1.2.0:
-  version "1.2.0"
-  resolved 
"https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.2.0.tgz#8aba49c9192799585bdd643e0ccb50e8ae777ba4";
+ipaddr.js@1.5.2:
+  version "1.5.2"
+  resolved 
"https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0";
 
 is-arrayish@^0.2.1:
   version "0.2.1"
@@ -975,15 +1023,6 @@
   version "2.0.0"
   resolved 
"https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f";
 
-is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4:
-  version "2.16.0"
-  resolved 
"https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693";
-  dependencies:
-    generate-function "^2.0.0"
-    generate-object-property "^1.1.0"
-    jsonpointer "^4.0.0"
-    xtend "^4.0.0"
-
 is-path-cwd@^1.0.0:
   version "1.0.0"
   resolved 
"https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d";
@@ -1000,9 +1039,9 @@
   dependencies:
     path-is-inside "^1.0.1"
 
-is-property@^1.0.0:
-  version "1.0.2"
-  resolved 
"https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84";
+is-promise@^2.1.0:
+  version "2.1.0"
+  resolved 
"https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
 
 is-resolvable@^1.0.0:
   version "1.0.0"
@@ -1026,6 +1065,10 @@
   version "1.0.0"
   resolved 
"https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11";
 
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+
 isstream@~0.1.2:
   version "0.1.2"
   resolved 
"https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a";
@@ -1040,22 +1083,34 @@
   version "3.0.1"
   resolved 
"https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7";
 
-js-yaml@^3.5.1:
-  version "3.8.2"
-  resolved 
"https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.2.tgz#02d3e2c0f6beab20248d412c352203827d786721";
+js-yaml@^3.9.1:
+  version "3.9.1"
+  resolved 
"https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0";
   dependencies:
     argparse "^1.0.7"
-    esprima "^3.1.1"
+    esprima "^4.0.0"
 
 jsbn@~0.1.0:
   version "0.1.1"
   resolved 
"https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
 
+jschardet@^1.4.2:
+  version "1.4.2"
+  resolved 
"https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a";
+
+json-schema-traverse@^0.3.0:
+  version "0.3.1"
+  resolved 
"https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340";
+
 json-schema@0.2.3:
   version "0.2.3"
   resolved 
"https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13";
 
-json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
+json-stable-stringify-without-jsonify@^1.0.1:
+  version "1.0.1"
+  resolved 
"https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651";
+
+json-stable-stringify@^1.0.1:
   version "1.0.1"
   resolved 
"https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af";
   dependencies:
@@ -1064,10 +1119,6 @@
 json-stringify-safe@~5.0.1:
   version "5.0.1"
   resolved 
"https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-
-json3@3.3.2:
-  version "3.3.2"
-  resolved 
"https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1";
 
 jsonfile@^2.1.0:
   version "2.4.0"
@@ -1079,14 +1130,11 @@
   version "0.0.0"
   resolved 
"https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
 
-jsonpointer@^4.0.0:
-  version "4.0.1"
-  resolved 
"https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
-
 jsprim@^1.2.2:
-  version "1.3.1"
-  resolved 
"https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252";
+  version "1.4.0"
+  resolved 
"https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918";
   dependencies:
+    assert-plus "1.0.0"
     extsprintf "1.0.2"
     json-schema "0.2.3"
     verror "1.3.6"
@@ -1114,58 +1162,27 @@
     pinkie-promise "^2.0.0"
     strip-bom "^2.0.0"
 
-lodash._baseassign@^3.0.0:
-  version "3.2.0"
-  resolved 
"https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e";
+load-json-file@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8";
   dependencies:
-    lodash._basecopy "^3.0.0"
-    lodash.keys "^3.0.0"
+    graceful-fs "^4.1.2"
+    parse-json "^2.2.0"
+    pify "^2.0.0"
+    strip-bom "^3.0.0"
 
-lodash._basecopy@^3.0.0:
-  version "3.0.1"
-  resolved 
"https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36";
-
-lodash._basecreate@^3.0.0:
-  version "3.0.3"
-  resolved 
"https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821";
-
-lodash._getnative@^3.0.0:
-  version "3.9.1"
-  resolved 
"https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5";
-
-lodash._isiterateecall@^3.0.0:
-  version "3.0.9"
-  resolved 
"https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c";
+locate-path@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+  dependencies:
+    p-locate "^2.0.0"
+    path-exists "^3.0.0"
 
 lodash.cond@^4.3.0:
   version "4.5.2"
   resolved 
"https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5";
 
-lodash.create@3.1.1:
-  version "3.1.1"
-  resolved 
"https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7";
-  dependencies:
-    lodash._baseassign "^3.0.0"
-    lodash._basecreate "^3.0.0"
-    lodash._isiterateecall "^3.0.0"
-
-lodash.isarguments@^3.0.0:
-  version "3.1.0"
-  resolved 
"https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a";
-
-lodash.isarray@^3.0.0:
-  version "3.0.4"
-  resolved 
"https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55";
-
-lodash.keys@^3.0.0:
-  version "3.1.2"
-  resolved 
"https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a";
-  dependencies:
-    lodash._getnative "^3.0.0"
-    lodash.isarguments "^3.0.0"
-    lodash.isarray "^3.0.0"
-
-lodash@^4.0.0, lodash@^4.14.0, lodash@^4.16.0, lodash@^4.3.0:
+lodash@^4.0.0, lodash@^4.14.0, lodash@^4.16.0, lodash@^4.17.4, lodash@^4.3.0:
   version "4.17.4"
   resolved 
"https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae";
 
@@ -1175,6 +1192,13 @@
   dependencies:
     currently-unhandled "^0.4.1"
     signal-exit "^3.0.0"
+
+lru-cache@^4.0.1:
+  version "4.1.1"
+  resolved 
"https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55";
+  dependencies:
+    pseudomap "^1.0.2"
+    yallist "^2.1.2"
 
 map-obj@^1.0.0, map-obj@^1.0.1:
   version "1.0.1"
@@ -1207,25 +1231,43 @@
   version "1.1.2"
   resolved 
"https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee";
 
-mime-db@~1.26.0:
-  version "1.26.0"
-  resolved 
"https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff";
+mime-db@~1.27.0:
+  version "1.27.0"
+  resolved 
"https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1";
 
-mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.13, mime-types@~2.1.7:
-  version "2.1.14"
-  resolved 
"https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee";
+mime-db@~1.30.0:
+  version "1.30.0"
+  resolved 
"https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01";
+
+mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.7:
+  version "2.1.15"
+  resolved 
"https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed";
   dependencies:
-    mime-db "~1.26.0"
+    mime-db "~1.27.0"
 
-mime@1.3.4, mime@^1.3.4:
+mime-types@~2.1.16:
+  version "2.1.17"
+  resolved 
"https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a";
+  dependencies:
+    mime-db "~1.30.0"
+
+mime@1.4.1:
+  version "1.4.1"
+  resolved 
"https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6";
+
+mime@^1.3.4:
   version "1.3.4"
   resolved 
"https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
 
-minimatch@^3.0.2, minimatch@^3.0.3:
-  version "3.0.3"
-  resolved 
"https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774";
+mimic-fn@^1.0.0:
+  version "1.1.0"
+  resolved 
"https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18";
+
+minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4:
+  version "3.0.4"
+  resolved 
"https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083";
   dependencies:
-    brace-expansion "^1.0.0"
+    brace-expansion "^1.1.7"
 
 minimist@0.0.8:
   version "0.0.8"
@@ -1241,35 +1283,34 @@
   dependencies:
     minimist "0.0.8"
 
-mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1:
+mkdirp@0.5.1, mkdirp@^0.5.1:
   version "0.5.1"
   resolved 
"https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903";
   dependencies:
     minimist "0.0.8"
 
-mocha@^3.2.0:
-  version "3.2.0"
-  resolved 
"https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3";
+mocha@^4.0.1:
+  version "4.0.1"
+  resolved 
"https://registry.yarnpkg.com/mocha/-/mocha-4.0.1.tgz#0aee5a95cf69a4618820f5e51fa31717117daf1b";
   dependencies:
     browser-stdout "1.3.0"
-    commander "2.9.0"
-    debug "2.2.0"
-    diff "1.4.0"
+    commander "2.11.0"
+    debug "3.1.0"
+    diff "3.3.1"
     escape-string-regexp "1.0.5"
-    glob "7.0.5"
-    growl "1.9.2"
-    json3 "3.3.2"
-    lodash.create "3.1.1"
+    glob "7.1.2"
+    growl "1.10.3"
+    he "1.1.1"
     mkdirp "0.5.1"
-    supports-color "3.1.2"
+    supports-color "4.4.0"
 
-morgan@^1.8.1:
-  version "1.8.1"
-  resolved 
"https://registry.yarnpkg.com/morgan/-/morgan-1.8.1.tgz#f93023d3887bd27b78dfd6023cea7892ee27a4b1";
+morgan@^1.9.0:
+  version "1.9.0"
+  resolved 
"https://registry.yarnpkg.com/morgan/-/morgan-1.9.0.tgz#d01fa6c65859b76fcf31b3cb53a3821a311d8051";
   dependencies:
-    basic-auth "~1.1.0"
-    debug "2.6.1"
-    depd "~1.1.0"
+    basic-auth "~2.0.0"
+    debug "2.6.9"
+    depd "~1.1.1"
     on-finished "~2.3.0"
     on-headers "~1.0.1"
 
@@ -1277,13 +1318,13 @@
   version "0.7.1"
   resolved 
"https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098";
 
-ms@0.7.2:
-  version "0.7.2"
-  resolved 
"https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765";
+ms@2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8";
 
-mute-stream@0.0.5:
-  version "0.0.5"
-  resolved 
"https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+mute-stream@0.0.7:
+  version "0.0.7"
+  resolved 
"https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
 
 natural-compare@^1.4.0:
   version "1.4.0"
@@ -1294,8 +1335,8 @@
   resolved 
"https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9";
 
 normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
-  version "2.3.5"
-  resolved 
"https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df";
+  version "2.3.8"
+  resolved 
"https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb";
   dependencies:
     hosted-git-info "^2.1.4"
     is-builtin-module "^1.0.0"
@@ -1322,7 +1363,7 @@
   version "0.8.2"
   resolved 
"https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
 
-object-assign@^4.0.1, object-assign@^4.1.0:
+object-assign@^4.0.1:
   version "4.1.1"
   resolved 
"https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863";
 
@@ -1346,9 +1387,11 @@
   dependencies:
     wrappy "1"
 
-onetime@^1.0.0:
-  version "1.1.0"
-  resolved 
"https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
+onetime@^2.0.0:
+  version "2.0.1"
+  resolved 
"https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4";
+  dependencies:
+    mimic-fn "^1.0.0"
 
 optionator@^0.8.2:
   version "0.8.2"
@@ -1361,9 +1404,19 @@
     type-check "~0.3.2"
     wordwrap "~1.0.0"
 
-os-homedir@^1.0.0:
+os-tmpdir@~1.0.1:
   version "1.0.2"
-  resolved 
"https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+  resolved 
"https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274";
+
+p-limit@^1.1.0:
+  version "1.1.0"
+  resolved 
"https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc";
+
+p-locate@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+  dependencies:
+    p-limit "^1.1.0"
 
 parse-json@^2.2.0:
   version "2.2.0"
@@ -1371,9 +1424,9 @@
   dependencies:
     error-ex "^1.2.0"
 
-parseurl@~1.3.1:
-  version "1.3.1"
-  resolved 
"https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56";
+parseurl@~1.3.2:
+  version "1.3.2"
+  resolved 
"https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3";
 
 path-exists@^2.0.0, path-exists@^2.1.0:
   version "2.1.0"
@@ -1381,11 +1434,15 @@
   dependencies:
     pinkie-promise "^2.0.0"
 
+path-exists@^3.0.0:
+  version "3.0.0"
+  resolved 
"https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+
 path-is-absolute@^1.0.0:
   version "1.0.1"
   resolved 
"https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
 
-path-is-inside@^1.0.1:
+path-is-inside@^1.0.1, path-is-inside@^1.0.2:
   version "1.0.2"
   resolved 
"https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53";
 
@@ -1405,9 +1462,19 @@
     pify "^2.0.0"
     pinkie-promise "^2.0.0"
 
+path-type@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73";
+  dependencies:
+    pify "^2.0.0"
+
 pend@~1.2.0:
   version "1.2.0"
   resolved 
"https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50";
+
+performance-now@^0.2.0:
+  version "0.2.0"
+  resolved 
"https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
 
 pify@^2.0.0:
   version "2.3.0"
@@ -1429,15 +1496,9 @@
   dependencies:
     find-up "^1.0.0"
 
-pkg-up@^1.0.0:
-  version "1.0.0"
-  resolved 
"https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26";
-  dependencies:
-    find-up "^1.0.0"
-
-pluralize@^1.2.1:
-  version "1.2.1"
-  resolved 
"https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45";
+pluralize@^7.0.0:
+  version "7.0.0"
+  resolved 
"https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777";
 
 prelude-ls@~1.1.2:
   version "1.1.2"
@@ -1461,36 +1522,49 @@
     speedometer "~0.1.2"
     through2 "~0.2.3"
 
-progress@^1.1.8:
-  version "1.1.8"
-  resolved 
"https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+progress@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f";
 
-proxy-addr@~1.1.3:
-  version "1.1.3"
-  resolved 
"https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.3.tgz#dc97502f5722e888467b3fa2297a7b1ff47df074";
+proxy-addr@~2.0.2:
+  version "2.0.2"
+  resolved 
"https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec";
   dependencies:
-    forwarded "~0.1.0"
-    ipaddr.js "1.2.0"
+    forwarded "~0.1.2"
+    ipaddr.js "1.5.2"
+
+pseudomap@^1.0.2:
+  version "1.0.2"
+  resolved 
"https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3";
 
 punycode@^1.4.1:
   version "1.4.1"
   resolved 
"https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
 
-qs@6.4.0:
+qs@6.5.1:
+  version "6.5.1"
+  resolved 
"https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8";
+
+qs@^6.1.0, qs@~6.4.0:
   version "6.4.0"
   resolved 
"https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
-
-qs@^6.1.0, qs@~6.3.0:
-  version "6.3.1"
-  resolved 
"https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d";
 
 range-parser@~1.2.0:
   version "1.2.0"
   resolved 
"https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e";
 
+raw-body@2.3.2:
+  version "2.3.2"
+  resolved 
"https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89";
+  dependencies:
+    bytes "3.0.0"
+    http-errors "1.6.2"
+    iconv-lite "0.4.19"
+    unpipe "1.0.0"
+
 rc@^1.1.2:
-  version "1.1.7"
-  resolved 
"https://registry.yarnpkg.com/rc/-/rc-1.1.7.tgz#c5ea564bb07aff9fd3a5b32e906c1d3a65940fea";
+  version "1.2.1"
+  resolved 
"https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95";
   dependencies:
     deep-extend "~0.4.0"
     ini "~1.3.0"
@@ -1504,6 +1578,13 @@
     find-up "^1.0.0"
     read-pkg "^1.0.0"
 
+read-pkg-up@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+  dependencies:
+    find-up "^2.0.0"
+    read-pkg "^2.0.0"
+
 read-pkg@^1.0.0:
   version "1.1.0"
   resolved 
"https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
@@ -1512,16 +1593,24 @@
     normalize-package-data "^2.3.2"
     path-type "^1.0.0"
 
-readable-stream@^2.0.5:
-  version "2.2.3"
-  resolved 
"https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.3.tgz#9cf49463985df016c8ae8813097a9293a9b33729";
+read-pkg@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
   dependencies:
-    buffer-shims "^1.0.0"
+    load-json-file "^2.0.0"
+    normalize-package-data "^2.3.2"
+    path-type "^2.0.0"
+
+readable-stream@^2.0.5, readable-stream@^2.2.2:
+  version "2.2.10"
+  resolved 
"https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.10.tgz#effe72bb7c884c0dd335e2379d526196d9d011ee";
+  dependencies:
     core-util-is "~1.0.0"
     inherits "~2.0.1"
     isarray "~1.0.0"
     process-nextick-args "~1.0.6"
-    string_decoder "~0.10.x"
+    safe-buffer "^5.0.1"
+    string_decoder "~1.0.0"
     util-deprecate "~1.0.1"
 
 readable-stream@~1.1.9:
@@ -1532,31 +1621,6 @@
     inherits "~2.0.1"
     isarray "0.0.1"
     string_decoder "~0.10.x"
-
-readable-stream@~2.0.0:
-  version "2.0.6"
-  resolved 
"https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e";
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "~1.0.0"
-    process-nextick-args "~1.0.6"
-    string_decoder "~0.10.x"
-    util-deprecate "~1.0.1"
-
-readline2@^1.0.1:
-  version "1.0.1"
-  resolved 
"https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35";
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    mute-stream "0.0.5"
-
-rechoir@^0.6.2:
-  version "0.6.2"
-  resolved 
"https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384";
-  dependencies:
-    resolve "^1.1.6"
 
 redent@^1.0.0:
   version "1.0.0"
@@ -1572,17 +1636,17 @@
     is-finite "^1.0.0"
 
 request@^2.45.0:
-  version "2.79.0"
-  resolved 
"https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de";
+  version "2.81.0"
+  resolved 
"https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0";
   dependencies:
     aws-sign2 "~0.6.0"
     aws4 "^1.2.1"
-    caseless "~0.11.0"
+    caseless "~0.12.0"
     combined-stream "~1.0.5"
     extend "~3.0.0"
     forever-agent "~0.6.1"
     form-data "~2.1.1"
-    har-validator "~2.0.6"
+    har-validator "~4.2.1"
     hawk "~3.1.3"
     http-signature "~1.1.0"
     is-typedarray "~1.0.0"
@@ -1590,13 +1654,15 @@
     json-stringify-safe "~5.0.1"
     mime-types "~2.1.7"
     oauth-sign "~0.8.1"
-    qs "~6.3.0"
+    performance-now "^0.2.0"
+    qs "~6.4.0"
+    safe-buffer "^5.0.1"
     stringstream "~0.0.4"
     tough-cookie "~2.3.0"
-    tunnel-agent "~0.4.1"
+    tunnel-agent "^0.6.0"
     uuid "^3.0.0"
 
-require-uncached@^1.0.2:
+require-uncached@^1.0.3:
   version "1.0.3"
   resolved 
"https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3";
   dependencies:
@@ -1607,9 +1673,9 @@
   version "1.0.1"
   resolved 
"https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
 
-resolve@^1.1.6:
-  version "1.3.2"
-  resolved 
"https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235";
+resolve@^1.2.0:
+  version "1.4.0"
+  resolved 
"https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86";
   dependencies:
     path-parse "^1.0.5"
 
@@ -1620,12 +1686,12 @@
     depd "~1.1.0"
     on-headers "~1.0.1"
 
-restore-cursor@^1.0.1:
-  version "1.0.1"
-  resolved 
"https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541";
+restore-cursor@^2.0.0:
+  version "2.0.0"
+  resolved 
"https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf";
   dependencies:
-    exit-hook "^1.0.0"
-    onetime "^1.0.0"
+    onetime "^2.0.0"
+    signal-exit "^3.0.2"
 
 retry@^0.10.1:
   version "0.10.1"
@@ -1637,60 +1703,80 @@
   dependencies:
     glob "^7.0.5"
 
-run-async@^0.1.0:
-  version "0.1.0"
-  resolved 
"https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389";
+run-async@^2.2.0:
+  version "2.3.0"
+  resolved 
"https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
   dependencies:
-    once "^1.3.0"
+    is-promise "^2.1.0"
 
-rx-lite@^3.1.2:
-  version "3.1.2"
-  resolved 
"https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102";
+rx-lite-aggregates@^4.0.8:
+  version "4.0.8"
+  resolved 
"https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be";
+  dependencies:
+    rx-lite "*"
+
+rx-lite@*, rx-lite@^4.0.8:
+  version "4.0.8"
+  resolved 
"https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444";
+
+safe-buffer@5.1.1:
+  version "5.1.1"
+  resolved 
"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853";
+
+safe-buffer@^5.0.1:
+  version "5.1.0"
+  resolved 
"https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223";
 
 "semver@2 || 3 || 4 || 5", semver@^5.3.0:
   version "5.3.0"
   resolved 
"https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
 
-send@0.15.1:
-  version "0.15.1"
-  resolved 
"https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f";
+send@0.16.1:
+  version "0.16.1"
+  resolved 
"https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3";
   dependencies:
-    debug "2.6.1"
-    depd "~1.1.0"
+    debug "2.6.9"
+    depd "~1.1.1"
     destroy "~1.0.4"
     encodeurl "~1.0.1"
     escape-html "~1.0.3"
-    etag "~1.8.0"
-    fresh "0.5.0"
-    http-errors "~1.6.1"
-    mime "1.3.4"
-    ms "0.7.2"
+    etag "~1.8.1"
+    fresh "0.5.2"
+    http-errors "~1.6.2"
+    mime "1.4.1"
+    ms "2.0.0"
     on-finished "~2.3.0"
     range-parser "~1.2.0"
     statuses "~1.3.1"
 
-serve-static@1.12.1:
-  version "1.12.1"
-  resolved 
"https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039";
+serve-static@1.13.1:
+  version "1.13.1"
+  resolved 
"https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719";
   dependencies:
     encodeurl "~1.0.1"
     escape-html "~1.0.3"
-    parseurl "~1.3.1"
-    send "0.15.1"
+    parseurl "~1.3.2"
+    send "0.16.1"
 
 setprototypeof@1.0.3:
   version "1.0.3"
   resolved 
"https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04";
 
-shelljs@^0.7.5:
-  version "0.7.6"
-  resolved 
"https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad";
-  dependencies:
-    glob "^7.0.0"
-    interpret "^1.0.0"
-    rechoir "^0.6.2"
+setprototypeof@1.1.0:
+  version "1.1.0"
+  resolved 
"https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656";
 
-signal-exit@^3.0.0:
+shebang-command@^1.2.0:
+  version "1.2.0"
+  resolved 
"https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea";
+  dependencies:
+    shebang-regex "^1.0.0"
+
+shebang-regex@^1.0.0:
+  version "1.0.0"
+  resolved 
"https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3";
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
   version "3.0.2"
   resolved 
"https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d";
 
@@ -1733,8 +1819,8 @@
   resolved 
"https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c";
 
 sshpk@^1.7.0:
-  version "1.11.0"
-  resolved 
"https://registry.yarnpkg.com/sshpk/-/sshpk-1.11.0.tgz#2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77";
+  version "1.13.0"
+  resolved 
"https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c";
   dependencies:
     asn1 "~0.2.3"
     assert-plus "^1.0.0"
@@ -1770,6 +1856,12 @@
   version "0.10.31"
   resolved 
"https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94";
 
+string_decoder@~1.0.0:
+  version "1.0.1"
+  resolved 
"https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98";
+  dependencies:
+    safe-buffer "^5.0.1"
+
 stringstream@~0.0.4:
   version "0.0.5"
   resolved 
"https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878";
@@ -1779,6 +1871,12 @@
   resolved 
"https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
   dependencies:
     ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+  version "4.0.0"
+  resolved 
"https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f";
+  dependencies:
+    ansi-regex "^3.0.0"
 
 strip-bom@^2.0.0:
   version "2.0.0"
@@ -1801,15 +1899,15 @@
   resolved 
"https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a";
 
 sumchecker@^1.2.0:
-  version "1.3.0"
-  resolved 
"https://registry.yarnpkg.com/sumchecker/-/sumchecker-1.3.0.tgz#6e3004d7bf3b5ad5567abf13a828946d8a19911b";
+  version "1.3.1"
+  resolved 
"https://registry.yarnpkg.com/sumchecker/-/sumchecker-1.3.1.tgz#79bb3b4456dd04f18ebdbc0d703a1d1daec5105d";
   dependencies:
     debug "^2.2.0"
     es6-promise "^4.0.5"
 
 superagent@^3.0.0:
-  version "3.5.0"
-  resolved 
"https://registry.yarnpkg.com/superagent/-/superagent-3.5.0.tgz#56872b8e1ee6de994035ada2e53266899af95a6d";
+  version "3.5.2"
+  resolved 
"https://registry.yarnpkg.com/superagent/-/superagent-3.5.2.tgz#3361a3971567504c351063abeaae0faa23dbf3f8";
   dependencies:
     component-emitter "^1.2.0"
     cookiejar "^2.0.6"
@@ -1829,19 +1927,25 @@
     methods "~1.1.2"
     superagent "^3.0.0"
 
-supports-color@3.1.2:
-  version "3.1.2"
-  resolved 
"https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5";
+supports-color@4.4.0:
+  version "4.4.0"
+  resolved 
"https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e";
   dependencies:
-    has-flag "^1.0.0"
+    has-flag "^2.0.0"
 
 supports-color@^2.0.0:
   version "2.0.0"
   resolved 
"https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7";
 
-table@^3.7.8:
-  version "3.8.3"
-  resolved 
"https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f";
+supports-color@^4.0.0:
+  version "4.2.1"
+  resolved 
"https://registry.yarnpkg.com/supports-color/-/supports-color-4.2.1.tgz#65a4bb2631e90e02420dba5554c375a4754bb836";
+  dependencies:
+    has-flag "^2.0.0"
+
+table@^4.0.1:
+  version "4.0.1"
+  resolved 
"https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435";
   dependencies:
     ajv "^4.7.0"
     ajv-keywords "^1.0.0"
@@ -1869,6 +1973,12 @@
   version "2.3.8"
   resolved 
"https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
 
+tmp@^0.0.31:
+  version "0.0.31"
+  resolved 
"https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7";
+  dependencies:
+    os-tmpdir "~1.0.1"
+
 tough-cookie@~2.3.0:
   version "2.3.2"
   resolved 
"https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a";
@@ -1883,9 +1993,11 @@
   version "1.0.3"
   resolved 
"https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb";
 
-tunnel-agent@~0.4.1:
-  version "0.4.3"
-  resolved 
"https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb";
+tunnel-agent@^0.6.0:
+  version "0.6.0"
+  resolved 
"https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd";
+  dependencies:
+    safe-buffer "^5.0.1"
 
 tweetnacl@^0.14.3, tweetnacl@~0.14.0:
   version "0.14.5"
@@ -1897,34 +2009,28 @@
   dependencies:
     prelude-ls "~1.1.2"
 
-type-is@~1.6.14:
-  version "1.6.14"
-  resolved 
"https://registry.yarnpkg.com/type-is/-/type-is-1.6.14.tgz#e219639c17ded1ca0789092dd54a03826b817cb2";
+type-is@~1.6.15:
+  version "1.6.15"
+  resolved 
"https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410";
   dependencies:
     media-typer "0.3.0"
-    mime-types "~2.1.13"
+    mime-types "~2.1.15"
 
-typedarray@~0.0.5:
+typedarray@^0.0.6:
   version "0.0.6"
   resolved 
"https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777";
 
-unpipe@~1.0.0:
+unpipe@1.0.0, unpipe@~1.0.0:
   version "1.0.0"
   resolved 
"https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec";
-
-user-home@^2.0.0:
-  version "2.0.0"
-  resolved 
"https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
-  dependencies:
-    os-homedir "^1.0.0"
 
 util-deprecate@~1.0.1:
   version "1.0.2"
   resolved 
"https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf";
 
-utils-merge@1.0.0:
-  version "1.0.0"
-  resolved 
"https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8";
+utils-merge@1.0.1:
+  version "1.0.1"
+  resolved 
"https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713";
 
 uuid@^3.0.0:
   version "3.0.1"
@@ -1937,19 +2043,25 @@
     spdx-correct "~1.0.0"
     spdx-expression-parse "~1.0.0"
 
-validator@~6.2.0:
-  version "6.2.1"
-  resolved 
"https://registry.yarnpkg.com/validator/-/validator-6.2.1.tgz#bc575b78d15beb2e338a665ba9530c7f409ef667";
+validator@~8.2.0:
+  version "8.2.0"
+  resolved 
"https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9";
 
-vary@~1.1.0:
-  version "1.1.0"
-  resolved 
"https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140";
+vary@~1.1.2:
+  version "1.1.2"
+  resolved 
"https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc";
 
 verror@1.3.6:
   version "1.3.6"
   resolved 
"https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c";
   dependencies:
     extsprintf "1.0.2"
+
+which@^1.2.9:
+  version "1.3.0"
+  resolved 
"https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a";
+  dependencies:
+    isexe "^2.0.0"
 
 wordwrap@~1.0.0:
   version "1.0.0"
@@ -1965,16 +2077,16 @@
   dependencies:
     mkdirp "^0.5.1"
 
-xtend@^4.0.0:
-  version "4.0.1"
-  resolved 
"https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af";
-
 xtend@~2.1.1:
   version "2.1.2"
   resolved 
"https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
   dependencies:
     object-keys "~0.4.0"
 
+yallist@^2.1.2:
+  version "2.1.2"
+  resolved 
"https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52";
+
 yauzl@2.4.1:
   version "2.4.1"
   resolved 
"https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005";

-- 
To view, visit https://gerrit.wikimedia.org/r/393034
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1360033bd9ad910d1fd064d6ed6942b0fa3d6bfc
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/electron-render
Gerrit-Branch: master
Gerrit-Owner: Mobrovac <mobro...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to