diff --git a/lib/manager/resolve.js b/lib/manager/resolve.js
index 9c94b56ba3cf4e44c5a83db06ff586c1ebe27637..22be5b70386db436e69961b60aedeab8444a3832 100644
--- a/lib/manager/resolve.js
+++ b/lib/manager/resolve.js
@@ -146,6 +146,17 @@ async function resolvePackageFiles(config) {
         );
         packageFile.packageLock = packageLockFileName;
       }
+      const shrinkwrapFileName = upath.join(
+        path.dirname(packageFile.packageFile),
+        'shrinkwrap.yaml'
+      );
+      if (fileList.includes(shrinkwrapFileName)) {
+        logger.debug(
+          { packageFile: packageFile.packageFile },
+          'Found shrinkwrap.yaml'
+        );
+        packageFile.shrinkwrapYaml = shrinkwrapFileName;
+      }
       return packageFile;
     } else if (packageFile.packageFile.endsWith('package.js')) {
       // meteor
diff --git a/lib/workers/branch/lock-files.js b/lib/workers/branch/lock-files.js
index 87b63262637a99fb990511383abc5f78d1f39251..b015ef137eefe3f5c7fc59ef8a00ac0c7a97f09b 100644
--- a/lib/workers/branch/lock-files.js
+++ b/lib/workers/branch/lock-files.js
@@ -3,10 +3,12 @@ const path = require('path');
 const upath = require('upath');
 const npm = require('./npm');
 const yarn = require('./yarn');
+const pnpm = require('./pnpm');
 
 module.exports = {
   hasPackageLock,
   hasYarnLock,
+  hasShrinkwrapYaml,
   determineLockFileDirs,
   writeExistingFiles,
   writeUpdatedPackageFiles,
@@ -45,9 +47,26 @@ function hasYarnLock(config, packageFile) {
   throw new Error(`hasYarnLock cannot find ${packageFile}`);
 }
 
+function hasShrinkwrapYaml(config, packageFile) {
+  logger.trace(
+    { packageFiles: config.packageFiles, packageFile },
+    'hasShrinkwrapYaml'
+  );
+  for (const p of config.packageFiles) {
+    if (p.packageFile === packageFile) {
+      if (p.shrinkwrapYaml) {
+        return true;
+      }
+      return false;
+    }
+  }
+  throw new Error(`hasShrinkwrapYaml cannot find ${packageFile}`);
+}
+
 function determineLockFileDirs(config) {
   const packageLockFileDirs = [];
   const yarnLockFileDirs = [];
+  const shrinkwrapYamlDirs = [];
 
   for (const upgrade of config.upgrades) {
     if (upgrade.type === 'lockFileMaintenance') {
@@ -60,8 +79,11 @@ function determineLockFileDirs(config) {
         if (packageFile.packageLock) {
           packageLockFileDirs.push(dirname);
         }
+        if (packageFile.shrinkwrapYaml) {
+          shrinkwrapYamlDirs.push(dirname);
+        }
       }
-      return { packageLockFileDirs, yarnLockFileDirs };
+      return { packageLockFileDirs, yarnLockFileDirs, shrinkwrapYamlDirs };
     }
   }
 
@@ -72,6 +94,9 @@ function determineLockFileDirs(config) {
     if (module.exports.hasPackageLock(config, packageFile.name)) {
       packageLockFileDirs.push(path.dirname(packageFile.name));
     }
+    if (module.exports.hasShrinkwrapYaml(config, packageFile.name)) {
+      shrinkwrapYamlDirs.push(path.dirname(packageFile.name));
+    }
   }
 
   // If yarn workspaces are in use, then we need to generate yarn.lock from the workspaces dir
@@ -87,7 +112,7 @@ function determineLockFileDirs(config) {
     }
   }
 
-  return { yarnLockFileDirs, packageLockFileDirs };
+  return { yarnLockFileDirs, packageLockFileDirs, shrinkwrapYamlDirs };
 }
 
 async function writeExistingFiles(config) {
@@ -197,6 +222,20 @@ async function writeExistingFiles(config) {
     } else {
       await fs.remove(upath.join(basedir, 'yarn.lock'));
     }
+    // TODO: Update the below with this once https://github.com/pnpm/pnpm/issues/992 is fixed
+    const pnpmBug992 = true;
+    // istanbul ignore next
+    if (
+      packageFile.shrinkwrapYaml &&
+      config.type !== 'lockFileMaintenance' &&
+      !pnpmBug992
+    ) {
+      logger.debug(`Writing shrinkwrap.yaml to ${basedir}`);
+      const shrinkwrap = await platform.getFile(packageFile.shrinkwrapYaml);
+      await fs.outputFile(upath.join(basedir, 'shrinkwrap.yaml'), shrinkwrap);
+    } else {
+      await fs.remove(upath.join(basedir, 'shrinkwrap.yaml'));
+    }
   }
 }
 
@@ -316,5 +355,34 @@ async function getUpdatedLockFiles(config) {
       }
     }
   }
+
+  for (const lockFileDir of dirs.shrinkwrapYamlDirs) {
+    logger.debug(`Generating shrinkwrap.yaml for ${lockFileDir}`);
+    const lockFileName = upath.join(lockFileDir, 'shrinkwrap.yaml');
+    const res = await pnpm.generateLockFile(
+      upath.join(config.tmpDir.path, lockFileDir)
+    );
+    if (res.error) {
+      lockFileErrors.push({
+        lockFile: lockFileName,
+        stderr: res.stderr,
+      });
+    } else {
+      const existingContent = await platform.getFile(
+        lockFileName,
+        config.parentBranch
+      );
+      if (res.lockFile !== existingContent) {
+        logger.debug('shrinkwrap.yaml needs updating');
+        updatedLockFiles.push({
+          name: lockFileName,
+          contents: res.lockFile,
+        });
+      } else {
+        logger.debug("shrinkwrap.yaml hasn't changed");
+      }
+    }
+  }
+
   return { lockFileErrors, updatedLockFiles };
 }
diff --git a/lib/workers/branch/pnpm.js b/lib/workers/branch/pnpm.js
new file mode 100644
index 0000000000000000000000000000000000000000..1032c10c286ab20c67bfb4b4d1c3281086c88a3c
--- /dev/null
+++ b/lib/workers/branch/pnpm.js
@@ -0,0 +1,85 @@
+const fs = require('fs-extra');
+const upath = require('upath');
+const { getInstalledPath } = require('get-installed-path');
+const { exec } = require('child-process-promise');
+
+module.exports = {
+  generateLockFile,
+};
+
+async function generateLockFile(tmpDir) {
+  logger.debug(`Spawning pnpm install to create ${tmpDir}/shrinkwrap.yaml`);
+  let lockFile = null;
+  let stdout;
+  let stderr;
+  try {
+    const startTime = process.hrtime();
+    let cmd;
+    try {
+      // See if renovate is installed locally
+      const installedPath = upath.join(
+        await getInstalledPath('pnpm', {
+          local: true,
+        }),
+        'lib/bin/pnpm.js'
+      );
+      cmd = `node ${installedPath}`;
+    } catch (localerr) {
+      logger.debug('No locally installed pnpm found');
+      // Look inside globally installed renovate
+      try {
+        const renovateLocation = await getInstalledPath('renovate');
+        const installedPath = upath.join(
+          await getInstalledPath('pnpm', {
+            local: true,
+            cwd: renovateLocation,
+          }),
+          'lib/bin/pnpm.js'
+        );
+        cmd = `node ${installedPath}`;
+      } catch (nestederr) {
+        logger.debug('Could not find globally nested pnpm');
+        // look for global pnpm
+        try {
+          const installedPath = upath.join(
+            await getInstalledPath('pnpm'),
+            'lib/bin/pnpm.js'
+          );
+          cmd = `node ${installedPath}`;
+        } catch (globalerr) {
+          logger.warn('Could not find globally installed pnpm');
+          cmd = 'pnpm';
+        }
+      }
+    }
+    logger.debug(`Using pnpm: ${cmd}`);
+    cmd += ' install';
+    cmd += ' --shrinkwrap-only';
+    cmd += ' --ignore-scripts';
+    cmd += ' --ignore-pnpmfile';
+    // TODO: Switch to native util.promisify once using only node 8
+    ({ stdout, stderr } = await exec(cmd, {
+      cwd: tmpDir,
+      shell: true,
+      env: { NODE_ENV: 'dev', PATH: process.env.PATH },
+    }));
+    logger.debug(`pnpm stdout:\n${stdout}`);
+    logger.debug(`pnpm stderr:\n${stderr}`);
+    const duration = process.hrtime(startTime);
+    const seconds = Math.round(duration[0] + duration[1] / 1e9);
+    lockFile = await fs.readFile(upath.join(tmpDir, 'shrinkwrap.yaml'), 'utf8');
+    logger.info(
+      { seconds, type: 'shrinkwrap.yaml', stdout, stderr },
+      'Generated lockfile'
+    );
+  } catch (err) /* istanbul ignore next */ {
+    logger.info(
+      {
+        err,
+      },
+      'pnpm install error'
+    );
+    return { error: true, stderr: err.stderr };
+  }
+  return { lockFile };
+}
diff --git a/package.json b/package.json
index c30069c61cca8b43a222af6e451af1693c58b421..8552502c5a650c5a638203784393774a19b1efce 100644
--- a/package.json
+++ b/package.json
@@ -71,6 +71,7 @@
     "npm": "5.6.0",
     "openpgp": "2.6.1",
     "parse-link-header": "1.0.1",
+    "pnpm": "1.29.1",
     "registry-auth-token": "3.3.1",
     "root-require": "0.3.1",
     "semver": "5.4.1",
diff --git a/test/manager/__snapshots__/resolve.spec.js.snap b/test/manager/__snapshots__/resolve.spec.js.snap
index b14173ffc3320bb890a929664da619cb6ff05656..5e0d3a2296d5381defd2c29d16022c514bbb2825 100644
--- a/test/manager/__snapshots__/resolve.spec.js.snap
+++ b/test/manager/__snapshots__/resolve.spec.js.snap
@@ -14,6 +14,7 @@ Array [
     "npmrc": "npmrc",
     "packageFile": "package.json",
     "packageLock": "package-lock.json",
+    "shrinkwrapYaml": "shrinkwrap.yaml",
     "yarnLock": "yarn.lock",
     "yarnrc": "yarnrc",
   },
diff --git a/test/manager/resolve.spec.js b/test/manager/resolve.spec.js
index 7a640caef6e5261efcc512c549f97ceee9ad8d81..77594fa7a5186fc4d7ac039c3cad675340b8ffb1 100644
--- a/test/manager/resolve.spec.js
+++ b/test/manager/resolve.spec.js
@@ -71,6 +71,7 @@ describe('manager/resolve', () => {
       platform.getFileList.mockReturnValueOnce([
         'yarn.lock',
         'package-lock.json',
+        'shrinkwrap.yaml',
       ]);
       platform.getFile.mockReturnValueOnce('{"name": "package.json"}');
       platform.getFile.mockReturnValueOnce('npmrc');
diff --git a/test/workers/branch/__snapshots__/lock-files.spec.js.snap b/test/workers/branch/__snapshots__/lock-files.spec.js.snap
index 52fd35ca2d4352b8c1dab5894818d220b3d4b2a9..9358c8bb29953a8205c606ec2f72ab8a58823aaf 100644
--- a/test/workers/branch/__snapshots__/lock-files.spec.js.snap
+++ b/test/workers/branch/__snapshots__/lock-files.spec.js.snap
@@ -5,6 +5,9 @@ Object {
   "packageLockFileDirs": Array [
     "backend",
   ],
+  "shrinkwrapYamlDirs": Array [
+    "frontend",
+  ],
   "yarnLockFileDirs": Array [
     ".",
   ],
@@ -16,6 +19,9 @@ Object {
   "packageLockFileDirs": Array [
     "backend",
   ],
+  "shrinkwrapYamlDirs": Array [
+    "frontend",
+  ],
   "yarnLockFileDirs": Array [
     ".",
   ],
@@ -25,6 +31,7 @@ Object {
 exports[`workers/branch/lock-files determineLockFileDirs returns root directory if using yarn workspaces 1`] = `
 Object {
   "packageLockFileDirs": Array [],
+  "shrinkwrapYamlDirs": Array [],
   "yarnLockFileDirs": Array [
     ".",
   ],
diff --git a/test/workers/branch/lock-files.spec.js b/test/workers/branch/lock-files.spec.js
index 2dba3d0d95d961c86df1f40817c1dcfda6591715..7aa0eda61f309afc21d8ebfdb1801923837505bf 100644
--- a/test/workers/branch/lock-files.spec.js
+++ b/test/workers/branch/lock-files.spec.js
@@ -5,10 +5,12 @@ const upath = require('upath');
 
 const npm = require('../../../lib/workers/branch/npm');
 const yarn = require('../../../lib/workers/branch/yarn');
+const pnpm = require('../../../lib/workers/branch/pnpm');
 
 const {
   hasPackageLock,
   hasYarnLock,
+  hasShrinkwrapYaml,
   determineLockFileDirs,
   writeExistingFiles,
   writeUpdatedPackageFiles,
@@ -110,6 +112,53 @@ describe('workers/branch/lock-files', () => {
       expect(e).toBeDefined();
     });
   });
+  describe('hasShrinkWrapYaml', () => {
+    let config;
+    beforeEach(() => {
+      config = {
+        ...defaultConfig,
+      };
+    });
+    it('returns true if found and true', () => {
+      config.packageFiles = [
+        {
+          packageFile: 'package.json',
+          shrinkwrapYaml: 'some shrinkwrap',
+        },
+      ];
+      expect(hasShrinkwrapYaml(config, 'package.json')).toBe(true);
+    });
+    it('returns false if found and false', () => {
+      config.packageFiles = [
+        {
+          packageFile: 'package.json',
+          shrinkwrapYaml: 'some shrinkwrap',
+        },
+        {
+          packageFile: 'backend/package.json',
+        },
+      ];
+      expect(hasShrinkwrapYaml(config, 'backend/package.json')).toBe(false);
+    });
+    it('throws error if not found', () => {
+      config.packageFiles = [
+        {
+          packageFile: 'package.json',
+          shrinkwrapYaml: 'some package lock',
+        },
+        {
+          packageFile: 'backend/package.json',
+        },
+      ];
+      let e;
+      try {
+        hasShrinkwrapYaml(config, 'frontend/package.json');
+      } catch (err) {
+        e = err;
+      }
+      expect(e).toBeDefined();
+    });
+  });
   describe('determineLockFileDirs', () => {
     let config;
     beforeEach(() => {
@@ -124,6 +173,10 @@ describe('workers/branch/lock-files', () => {
             packageFile: 'backend/package.json',
             packageLock: 'some package lock',
           },
+          {
+            packageFile: 'frontend/package.json',
+            shrinkwrapYaml: 'some package lock',
+          },
         ],
       };
     });
@@ -143,6 +196,10 @@ describe('workers/branch/lock-files', () => {
           name: 'backend/package.json',
           contents: 'some contents',
         },
+        {
+          name: 'frontend/package.json',
+          contents: 'some contents',
+        },
       ];
       const res = determineLockFileDirs(config);
       expect(res).toMatchSnapshot();
@@ -207,7 +264,7 @@ describe('workers/branch/lock-files', () => {
       ];
       await writeExistingFiles(config);
       expect(fs.outputFile.mock.calls).toHaveLength(6);
-      expect(fs.remove.mock.calls).toHaveLength(4);
+      expect(fs.remove.mock.calls).toHaveLength(6);
     });
     it('writes package.json of local lib', async () => {
       const renoPath = upath.join(__dirname, '../../../');
@@ -230,7 +287,7 @@ describe('workers/branch/lock-files', () => {
       platform.getFile.mockReturnValue('some lock file contents');
       await writeExistingFiles(config);
       expect(fs.outputFile.mock.calls).toHaveLength(4);
-      expect(fs.remove.mock.calls).toHaveLength(0);
+      expect(fs.remove.mock.calls).toHaveLength(1);
     });
     it('Try to write package.json of local lib, but file not found', async () => {
       const renoPath = upath.join(__dirname, '../../../');
@@ -253,7 +310,7 @@ describe('workers/branch/lock-files', () => {
       platform.getFile.mockReturnValue(null);
       await writeExistingFiles(config);
       expect(fs.outputFile.mock.calls).toHaveLength(3);
-      expect(fs.remove.mock.calls).toHaveLength(0);
+      expect(fs.remove.mock.calls).toHaveLength(1);
     });
     it('detect malicious intent (error config in package.json) local lib is not in the repo', async () => {
       const renoPath = upath.join(__dirname, '../../../');
@@ -276,7 +333,7 @@ describe('workers/branch/lock-files', () => {
       platform.getFile.mockReturnValue(null);
       await writeExistingFiles(config);
       expect(fs.outputFile.mock.calls).toHaveLength(3);
-      expect(fs.remove.mock.calls).toHaveLength(0);
+      expect(fs.remove.mock.calls).toHaveLength(1);
     });
   });
   describe('writeUpdatedPackageFiles', () => {
@@ -336,6 +393,10 @@ describe('workers/branch/lock-files', () => {
       yarn.generateLockFile.mockReturnValue({
         lockFile: 'some lock file contents',
       });
+      pnpm.generateLockFile = jest.fn();
+      pnpm.generateLockFile.mockReturnValue({
+        lockFile: 'some lock file contents',
+      });
       lockFiles.determineLockFileDirs = jest.fn();
     });
     afterEach(() => {
@@ -353,6 +414,7 @@ describe('workers/branch/lock-files', () => {
       lockFiles.determineLockFileDirs.mockReturnValueOnce({
         packageLockFileDirs: [],
         yarnLockFileDirs: [],
+        shrinkwrapYamlDirs: [],
       });
       const res = await getUpdatedLockFiles(config);
       expect(res).toMatchSnapshot();
@@ -363,6 +425,7 @@ describe('workers/branch/lock-files', () => {
       lockFiles.determineLockFileDirs.mockReturnValueOnce({
         packageLockFileDirs: ['a', 'b'],
         yarnLockFileDirs: ['c', 'd'],
+        shrinkwrapYamlDirs: ['e'],
       });
       const res = await getUpdatedLockFiles(config);
       expect(res).toMatchSnapshot();
@@ -370,17 +433,19 @@ describe('workers/branch/lock-files', () => {
       expect(res.updatedLockFiles).toHaveLength(0);
       expect(npm.generateLockFile.mock.calls).toHaveLength(2);
       expect(yarn.generateLockFile.mock.calls).toHaveLength(2);
-      expect(platform.getFile.mock.calls).toHaveLength(4);
+      expect(platform.getFile.mock.calls).toHaveLength(5);
     });
     it('sets error if receiving null', async () => {
       lockFiles.determineLockFileDirs.mockReturnValueOnce({
         packageLockFileDirs: ['a', 'b'],
         yarnLockFileDirs: ['c', 'd'],
+        shrinkwrapYamlDirs: ['e'],
       });
       npm.generateLockFile.mockReturnValueOnce({ error: true });
       yarn.generateLockFile.mockReturnValueOnce({ error: true });
+      pnpm.generateLockFile.mockReturnValueOnce({ error: true });
       const res = await getUpdatedLockFiles(config);
-      expect(res.lockFileErrors).toHaveLength(2);
+      expect(res.lockFileErrors).toHaveLength(3);
       expect(res.updatedLockFiles).toHaveLength(0);
       expect(npm.generateLockFile.mock.calls).toHaveLength(2);
       expect(yarn.generateLockFile.mock.calls).toHaveLength(2);
@@ -390,15 +455,17 @@ describe('workers/branch/lock-files', () => {
       lockFiles.determineLockFileDirs.mockReturnValueOnce({
         packageLockFileDirs: ['a', 'b'],
         yarnLockFileDirs: ['c', 'd'],
+        shrinkwrapYamlDirs: ['e'],
       });
       npm.generateLockFile.mockReturnValueOnce('some new lock file contents');
       yarn.generateLockFile.mockReturnValueOnce('some new lock file contents');
+      pnpm.generateLockFile.mockReturnValueOnce('some new lock file contents');
       const res = await getUpdatedLockFiles(config);
       expect(res.lockFileErrors).toHaveLength(0);
-      expect(res.updatedLockFiles).toHaveLength(2);
+      expect(res.updatedLockFiles).toHaveLength(3);
       expect(npm.generateLockFile.mock.calls).toHaveLength(2);
       expect(yarn.generateLockFile.mock.calls).toHaveLength(2);
-      expect(platform.getFile.mock.calls).toHaveLength(4);
+      expect(platform.getFile.mock.calls).toHaveLength(5);
     });
   });
 });
diff --git a/test/workers/branch/pnpm.spec.js b/test/workers/branch/pnpm.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..9464873b6026d108f7998ad3f5595a44750b1cd8
--- /dev/null
+++ b/test/workers/branch/pnpm.spec.js
@@ -0,0 +1,95 @@
+const pnpmHelper = require('../../../lib/workers/branch/pnpm');
+
+const { getInstalledPath } = require('get-installed-path');
+
+jest.mock('fs-extra');
+jest.mock('child-process-promise');
+jest.mock('get-installed-path');
+
+getInstalledPath.mockImplementation(() => null);
+
+const fs = require('fs-extra');
+const { exec } = require('child-process-promise');
+
+describe('generateLockFile', () => {
+  it('generates lock files', async () => {
+    getInstalledPath.mockReturnValueOnce('node_modules/pnpm');
+    exec.mockReturnValueOnce({
+      stdout: '',
+      stderror: '',
+    });
+    fs.readFile = jest.fn(() => 'package-lock-contents');
+    const res = await pnpmHelper.generateLockFile('some-dir');
+    expect(fs.readFile.mock.calls.length).toEqual(1);
+    expect(res.lockFile).toEqual('package-lock-contents');
+  });
+  it('catches errors', async () => {
+    getInstalledPath.mockReturnValueOnce('node_modules/pnpm');
+    exec.mockReturnValueOnce({
+      stdout: '',
+      stderror: 'some-error',
+    });
+    fs.readFile = jest.fn(() => {
+      throw new Error('not found');
+    });
+    const res = await pnpmHelper.generateLockFile('some-dir');
+    expect(fs.readFile.mock.calls.length).toEqual(1);
+    expect(res.error).toBe(true);
+    expect(res.lockFile).not.toBeDefined();
+  });
+  it('finds pnpm embedded in renovate', async () => {
+    getInstalledPath.mockImplementationOnce(() => {
+      throw new Error('not found');
+    });
+    getInstalledPath.mockImplementationOnce(() => '/node_modules/renovate');
+    getInstalledPath.mockImplementationOnce(
+      () => '/node_modules/renovate/node_modules/pnpm'
+    );
+    exec.mockReturnValueOnce({
+      stdout: '',
+      stderror: '',
+    });
+    fs.readFile = jest.fn(() => 'package-lock-contents');
+    const res = await pnpmHelper.generateLockFile('some-dir');
+    expect(fs.readFile.mock.calls.length).toEqual(1);
+    expect(res.lockFile).toEqual('package-lock-contents');
+  });
+  it('finds pnpm globally', async () => {
+    getInstalledPath.mockImplementationOnce(() => {
+      throw new Error('not found');
+    });
+    getInstalledPath.mockImplementationOnce(() => '/node_modules/renovate');
+    getInstalledPath.mockImplementationOnce(() => {
+      throw new Error('not found');
+    });
+    getInstalledPath.mockImplementationOnce(() => '/node_modules/pnpm');
+    exec.mockReturnValueOnce({
+      stdout: '',
+      stderror: '',
+    });
+    fs.readFile = jest.fn(() => 'package-lock-contents');
+    const res = await pnpmHelper.generateLockFile('some-dir');
+    expect(fs.readFile.mock.calls.length).toEqual(1);
+    expect(res.lockFile).toEqual('package-lock-contents');
+  });
+  it('uses fallback pnpm', async () => {
+    getInstalledPath.mockImplementationOnce(() => {
+      throw new Error('not found');
+    });
+    getInstalledPath.mockImplementationOnce(() => '/node_modules/renovate');
+    getInstalledPath.mockImplementationOnce(() => {
+      throw new Error('not found');
+    });
+    getInstalledPath.mockImplementationOnce(() => {
+      throw new Error('not found');
+    });
+    exec.mockReturnValueOnce({
+      stdout: '',
+      stderror: '',
+    });
+    fs.readFile = jest.fn(() => 'package-lock-contents');
+    const res = await pnpmHelper.generateLockFile('some-dir');
+    expect(fs.readFile.mock.calls.length).toEqual(1);
+    expect(res.lockFile).toEqual('package-lock-contents');
+  });
+});
diff --git a/yarn.lock b/yarn.lock
index 77976134b18851226a4e7650041583c7e301acdd..9d21d499c1f25a07d7cea760ae4e48e6b7accc07 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,6 +10,191 @@
     esutils "^2.0.2"
     js-tokens "^3.0.0"
 
+"@most/multicast@^1.2.5":
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/@most/multicast/-/multicast-1.3.0.tgz#e01574840df634478ac3fabd164c6e830fb3b966"
+  dependencies:
+    "@most/prelude" "^1.4.0"
+
+"@most/prelude@^1.4.0":
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/@most/prelude/-/prelude-1.7.0.tgz#0956ed464ad03e7fc95143eac0c6dd028498d975"
+
+"@pnpm/check-package@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/check-package/-/check-package-1.0.0.tgz#c72ef13965b88d37d9b35eaa6990334488693df5"
+  dependencies:
+    "@types/load-json-file" "^2.0.7"
+    dint "^2.0.0"
+    load-json-file "^4.0.0"
+
+"@pnpm/default-fetcher@^0.3.2":
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/@pnpm/default-fetcher/-/default-fetcher-0.3.2.tgz#fe3da9d05224626d1d100cffe19c8804322efcc1"
+  dependencies:
+    "@pnpm/git-fetcher" "^0.2.0"
+    "@pnpm/tarball-fetcher" "^0.3.2"
+
+"@pnpm/default-resolver@^0.1.0":
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/@pnpm/default-resolver/-/default-resolver-0.1.2.tgz#2dff0c4ee4d5d5f31e1c6099074d547cca761820"
+  dependencies:
+    "@pnpm/git-resolver" "^0.3.0"
+    "@pnpm/local-resolver" "^0.1.0"
+    "@pnpm/npm-resolver" "^0.3.11"
+    "@pnpm/tarball-resolver" "^0.1.0"
+
+"@pnpm/fs-locker@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/fs-locker/-/fs-locker-1.0.0.tgz#a0078005fb8eedd763a91b50624d8ea72331f3b3"
+  dependencies:
+    "@types/node" "^8.0.57"
+    mkdirp-promise "^5.0.1"
+    proper-lockfile "^2.0.1"
+
+"@pnpm/git-fetcher@^0.2.0":
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/git-fetcher/-/git-fetcher-0.2.0.tgz#9bd561a1ed93562125bba0fcb224e42d296469dd"
+  dependencies:
+    "@types/node" "^8.0.53"
+    dint "^2.0.0"
+    execa "^0.8.0"
+    rimraf-then "^1.0.1"
+
+"@pnpm/git-resolver@^0.3.0":
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/git-resolver/-/git-resolver-0.3.0.tgz#9e338dab9d5c1e39f8a822354fbc0e830e90b1df"
+  dependencies:
+    "@types/node" "^8.0.53"
+    got "^8.0.1"
+    graceful-git "^1.0.1"
+    hosted-git-info "^2.5.0"
+    normalize-ssh "^1.0.0"
+
+"@pnpm/local-resolver@^0.1.0":
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/@pnpm/local-resolver/-/local-resolver-0.1.1.tgz#7af27dad49744b50bc5b4698cb29a7aeb6b63db0"
+  dependencies:
+    "@pnpm/types" "^1.1.0"
+    "@types/node" "^9.3.0"
+    normalize-path "^2.1.1"
+    osenv "^0.1.4"
+    read-package-json "^2.0.12"
+    util.promisify "^1.0.0"
+
+"@pnpm/logger@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/logger/-/logger-1.0.0.tgz#45554aacae465ce230a0a7c1282c32d7ad3d73ef"
+  dependencies:
+    "@types/node" "^8.0.51"
+    bole "^3.0.2"
+    ndjson "^1.5.0"
+
+"@pnpm/npm-resolver@^0.3.0", "@pnpm/npm-resolver@^0.3.11":
+  version "0.3.11"
+  resolved "https://registry.yarnpkg.com/@pnpm/npm-resolver/-/npm-resolver-0.3.11.tgz#5b0b23c523da0cdafb77f3d7531d6cde9d94fdf8"
+  dependencies:
+    "@pnpm/types" "^1.2.0"
+    "@types/load-json-file" "^2.0.7"
+    "@types/mem" "^1.1.2"
+    "@types/node" "^9.3.0"
+    "@types/semver" "^5.4.0"
+    "@types/write-json-file" "^2.2.1"
+    credentials-by-uri "^1.0.0"
+    encode-registry "^1.1.0"
+    fetch-from-npm-registry "^0.1.0"
+    load-json-file "^4.0.0"
+    mem "^3.0.0"
+    p-limit "^1.1.0"
+    semver "^5.4.1"
+    ssri "^5.0.0"
+    version-selector-type "^2.0.0"
+    write-json-file "^2.3.0"
+
+"@pnpm/outdated@^0.2.4":
+  version "0.2.4"
+  resolved "https://registry.yarnpkg.com/@pnpm/outdated/-/outdated-0.2.4.tgz#8c8b32cc491d830c98fbdf6b011cb6dd85804438"
+  dependencies:
+    "@pnpm/npm-resolver" "^0.3.0"
+    "@types/node" "^9.3.0"
+    dependency-path "^1.2.0"
+    package-store "^0.14.0"
+    pnpm-shrinkwrap "^5.0.0"
+
+"@pnpm/package-requester@^0.6.0", "@pnpm/package-requester@^0.6.1", "@pnpm/package-requester@^0.6.2":
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/@pnpm/package-requester/-/package-requester-0.6.3.tgz#7b8b0aff5752a0cf52a296c79d180b613bb52d47"
+  dependencies:
+    "@pnpm/check-package" "^1.0.0"
+    "@pnpm/pkgid-to-filename" "^1.0.0"
+    "@pnpm/types" "^1.3.0"
+    "@types/load-json-file" "^2.0.7"
+    "@types/mz" "^0.0.32"
+    "@types/p-queue" "^1.1.0"
+    "@types/write-json-file" "^2.2.1"
+    load-json-file "^4.0.0"
+    mkdirp-promise "^5.0.1"
+    mz "^2.7.0"
+    p-limit "^1.1.0"
+    p-queue "^2.3.0"
+    path-exists "^3.0.0"
+    read-package-json "^2.0.12"
+    rename-overwrite "^1.0.0"
+    rimraf-then "^1.0.1"
+    symlink-dir "^1.1.0"
+    unpack-stream "^3.0.0"
+    util.promisify "^1.0.0"
+    write-json-file "^2.3.0"
+
+"@pnpm/pkgid-to-filename@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/pkgid-to-filename/-/pkgid-to-filename-1.0.0.tgz#47cbd1c4a15f72faa189662549adcac1e3677bf7"
+  dependencies:
+    normalize-path "^2.1.1"
+
+"@pnpm/server@^0.6.0":
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/@pnpm/server/-/server-0.6.1.tgz#deac8323ec1a935e36d3ec04aadb2efc4f736a7f"
+  dependencies:
+    "@pnpm/package-requester" "^0.6.1"
+    "@types/got" "^7.1.6"
+    "@types/node" "^9.3.0"
+    "@types/p-limit" "^1.1.1"
+    "@types/uuid" "^3.4.3"
+    got "^8.0.1"
+    p-limit "^1.1.0"
+    package-store "^0.14.0"
+    uuid "^3.1.0"
+
+"@pnpm/tarball-fetcher@^0.3.2":
+  version "0.3.3"
+  resolved "https://registry.yarnpkg.com/@pnpm/tarball-fetcher/-/tarball-fetcher-0.3.3.tgz#19a8cbfb2a82e7e71eec65ed418d3ff638f99695"
+  dependencies:
+    "@types/mem" "^1.1.2"
+    "@types/mz" "^0.0.32"
+    "@types/node" "^8.0.53"
+    "@types/retry" "^0.10.2"
+    credentials-by-uri "^1.0.0"
+    fetch-from-npm-registry "^0.1.0"
+    fs-write-stream-atomic "^1.0.10"
+    graceful-fs "^4.1.11"
+    mem "^3.0.0"
+    mkdirp-promise "^5.0.1"
+    mz "^2.7.0"
+    retry "^0.10.1"
+    ssri "^5.0.0"
+    unpack-stream "^3.0.0"
+
+"@pnpm/tarball-resolver@^0.1.0":
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/tarball-resolver/-/tarball-resolver-0.1.0.tgz#db21d116c48fdfb0b90ad6b033361fe26b24b44b"
+  dependencies:
+    parse-npm-tarball-url "^1.0.1"
+
+"@pnpm/types@^1.1.0", "@pnpm/types@^1.2.0", "@pnpm/types@^1.3.0", "@pnpm/types@^1.5.0", "@pnpm/types@^1.7.0":
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/@pnpm/types/-/types-1.7.0.tgz#9d66a8bed3fabcd80f288b3e7884b7418b05b5a9"
+
 "@semantic-release/commit-analyzer@^5.0.0":
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/@semantic-release/commit-analyzer/-/commit-analyzer-5.0.0.tgz#767a2055b5cd0a67421b1d504f3ca7db97055c42"
@@ -84,10 +269,146 @@
   version "0.7.0"
   resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
 
+"@types/archy@^0.0.31":
+  version "0.0.31"
+  resolved "https://registry.yarnpkg.com/@types/archy/-/archy-0.0.31.tgz#01650a4641e7e1d11dbd64eda42eec9a2f829c7f"
+
+"@types/byline@^4.2.31":
+  version "4.2.31"
+  resolved "https://registry.yarnpkg.com/@types/byline/-/byline-4.2.31.tgz#0e61fcb9c03e047d21c4496554c7116297ab60cd"
+  dependencies:
+    "@types/node" "*"
+
+"@types/chalk@^0.4.31":
+  version "0.4.31"
+  resolved "https://registry.yarnpkg.com/@types/chalk/-/chalk-0.4.31.tgz#a31d74241a6b1edbb973cf36d97a2896834a51f9"
+
+"@types/common-tags@^1.2.5":
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/@types/common-tags/-/common-tags-1.4.0.tgz#28c1be61e352dde38936018984e2885caef087c1"
+
+"@types/get-port@^3.2.0":
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/@types/get-port/-/get-port-3.2.0.tgz#f9e0a11443cc21336470185eae3dfba4495d29bc"
+
+"@types/got@^7.1.6":
+  version "7.1.6"
+  resolved "https://registry.yarnpkg.com/@types/got/-/got-7.1.6.tgz#6d7b32baa10ed3da9f6d894727b2e13a65d536e7"
+  dependencies:
+    "@types/node" "*"
+
+"@types/load-json-file@^2.0.5", "@types/load-json-file@^2.0.7":
+  version "2.0.7"
+  resolved "https://registry.yarnpkg.com/@types/load-json-file/-/load-json-file-2.0.7.tgz#c887826f5230b7507d5230994d26315c6776be06"
+
+"@types/mem@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@types/mem/-/mem-1.1.2.tgz#e3c8b095f2f2563b518f0aad59df9fe6a8b82065"
+
+"@types/mz@0.0.32", "@types/mz@^0.0.32":
+  version "0.0.32"
+  resolved "https://registry.yarnpkg.com/@types/mz/-/mz-0.0.32.tgz#e8248b4e41424c052edc1725dd33650c313a3659"
+  dependencies:
+    "@types/node" "*"
+
 "@types/node@*":
   version "8.5.2"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5"
 
+"@types/node@^7.0.0":
+  version "7.0.52"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.52.tgz#8990d3350375542b0c21a83cd0331e6a8fc86716"
+
+"@types/node@^8.0.12", "@types/node@^8.0.33", "@types/node@^8.0.51", "@types/node@^8.0.53", "@types/node@^8.0.57", "@types/node@^8.0.7", "@types/node@^8.5.0":
+  version "8.5.8"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.8.tgz#92509422653f10e9c0ac18d87e0610b39f9821c7"
+
+"@types/node@^9.3.0":
+  version "9.3.0"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-9.3.0.tgz#3a129cda7c4e5df2409702626892cb4b96546dd5"
+
+"@types/nopt@^3.0.29":
+  version "3.0.29"
+  resolved "https://registry.yarnpkg.com/@types/nopt/-/nopt-3.0.29.tgz#f19df3db4c97ee1459a2740028320a71d70964ce"
+
+"@types/npm@^2.0.28":
+  version "2.0.29"
+  resolved "https://registry.yarnpkg.com/@types/npm/-/npm-2.0.29.tgz#013a2789d6b11039ebf8ee7a4b5dafed4350461c"
+  dependencies:
+    "@types/node" "*"
+
+"@types/p-limit@^1.1.1":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@types/p-limit/-/p-limit-1.1.1.tgz#7b0b64e61f4f2de994c2ae0b6a52a989328c2b12"
+
+"@types/p-queue@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@types/p-queue/-/p-queue-1.1.0.tgz#7c8ddac385ca9e1ae8bb3f7a8814fccaae61b60e"
+
+"@types/p-series@^1.0.0":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@types/p-series/-/p-series-1.0.1.tgz#2c85cd17f1c388cb9cc307f538622380f41dad67"
+
+"@types/ramda@^0.25.0", "@types/ramda@^0.25.12", "@types/ramda@^0.25.6", "@types/ramda@^0.25.8":
+  version "0.25.15"
+  resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.25.15.tgz#a28311e9617ce467567fe6a0b1065013aa1dd8d7"
+
+"@types/rc@^0.0.1":
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/@types/rc/-/rc-0.0.1.tgz#1f5b8a1b3b1ac6d1fee137c53fac5fa0f28ae0d7"
+
+"@types/retry@^0.10.2":
+  version "0.10.2"
+  resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.10.2.tgz#bd1740c4ad51966609b058803ee6874577848b37"
+
+"@types/semver@^5.3.30", "@types/semver@^5.3.31", "@types/semver@^5.3.32", "@types/semver@^5.4.0":
+  version "5.4.0"
+  resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.4.0.tgz#f3658535af7f1f502acd6da7daf405ffeb1f7ee4"
+
+"@types/update-notifier@^1.0.0":
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/@types/update-notifier/-/update-notifier-1.0.2.tgz#7a9269a38545bfd90155aac1350669a19f8ecb4a"
+
+"@types/uuid@^3.4.3":
+  version "3.4.3"
+  resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.3.tgz#121ace265f5569ce40f4f6d0ff78a338c732a754"
+  dependencies:
+    "@types/node" "*"
+
+"@types/write-json-file@^2.2.1":
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/@types/write-json-file/-/write-json-file-2.2.1.tgz#74155aaccbb0d532be21f9d66bebc4ea875a5a62"
+
+"@zkochan/cmd-shim@^2.2.4":
+  version "2.2.4"
+  resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-2.2.4.tgz#5730a936491219d88487e92d12c6c3bdb16c3c6e"
+  dependencies:
+    is-windows "^1.0.0"
+    mkdirp-promise "^5.0.1"
+    mz "^2.5.0"
+
+"@zkochan/libnpx@^9.6.1":
+  version "9.6.1"
+  resolved "https://registry.yarnpkg.com/@zkochan/libnpx/-/libnpx-9.6.1.tgz#64884214ec2717c60d967ce082e988ede8a0613a"
+  dependencies:
+    dotenv "^4.0.0"
+    npm-package-arg "^5.1.2"
+    rimraf "^2.6.1"
+    safe-buffer "^5.1.0"
+    update-notifier "^2.2.0"
+    which "^1.2.14"
+    y18n "^3.2.1"
+    yargs "^8.0.2"
+
+"@zkochan/npm-package-arg@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@zkochan/npm-package-arg/-/npm-package-arg-1.0.0.tgz#51f8623e4d697bca311007f0180c190aabb6efe7"
+  dependencies:
+    hosted-git-info "^2.5.0"
+    osenv "^0.1.4"
+    semver "^5.4.1"
+    validate-npm-package-name "^3.0.0"
+
 JSONStream@^1.0.4, JSONStream@~1.3.1:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a"
@@ -182,6 +503,10 @@ ansi-align@^2.0.0:
   dependencies:
     string-width "^2.0.0"
 
+ansi-escapes@^1.1.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
+
 ansi-escapes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
@@ -216,6 +541,10 @@ ansistyles@~0.1.3:
   version "0.1.3"
   resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539"
 
+any-promise@^1.0.0, any-promise@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
+
 anymatch@^1.3.0:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
@@ -233,7 +562,7 @@ aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2, aproba@~1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
 
-archy@~1.0.0:
+archy@^1.0.0, archy@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
 
@@ -276,10 +605,21 @@ array-find-index@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
 
+array-flatten@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296"
+
 array-ify@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
 
+array-includes@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d"
+  dependencies:
+    define-properties "^1.1.2"
+    es-abstract "^1.7.0"
+
 array-union@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
@@ -298,6 +638,12 @@ arrify@^1.0.0, arrify@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
 
+as-table@^1.0.31:
+  version "1.0.31"
+  resolved "https://registry.yarnpkg.com/as-table/-/as-table-1.0.31.tgz#d00180024ecbb6d1a747150df751d3716aea8166"
+  dependencies:
+    printable-characters "^1.0.37"
+
 asap@^2.0.0:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
@@ -507,6 +853,10 @@ balanced-match@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
 
+base64-js@0.0.8:
+  version "0.0.8"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978"
+
 base64url@2.0.0, base64url@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb"
@@ -528,16 +878,33 @@ bin-links@^1.1.0:
     graceful-fs "^4.1.11"
     slide "^1.1.6"
 
+bindings@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7"
+
+bl@^1.0.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e"
+  dependencies:
+    readable-stream "^2.0.5"
+
 block-stream@*:
   version "0.0.9"
   resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
   dependencies:
     inherits "~2.0.0"
 
-bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.1:
+bluebird@^3.5.0, bluebird@^3.5.1, bluebird@~3.5.0, bluebird@~3.5.1:
   version "3.5.1"
   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
 
+bole@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/bole/-/bole-3.0.2.tgz#bc8a483ca94049da9b837c1ad11cdfebee6e0514"
+  dependencies:
+    fast-safe-stringify "~1.1.0"
+    individual "~3.0.0"
+
 boom@2.x.x:
   version "2.10.1"
   resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
@@ -556,6 +923,18 @@ boom@5.x.x:
   dependencies:
     hoek "4.x.x"
 
+boxen@^1.0.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
+  dependencies:
+    ansi-align "^2.0.0"
+    camelcase "^4.0.0"
+    chalk "^2.0.1"
+    cli-boxes "^1.0.0"
+    string-width "^2.0.0"
+    term-size "^1.2.0"
+    widest-line "^2.0.0"
+
 boxen@^1.2.1:
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.2.2.tgz#3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5"
@@ -593,6 +972,12 @@ browser-resolve@^1.11.2:
   dependencies:
     resolve "1.1.7"
 
+browserify-zlib@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
+  dependencies:
+    pako "~0.2.0"
+
 bser@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -603,6 +988,14 @@ buffer-equal-constant-time@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
 
+buffer@^3.0.1:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb"
+  dependencies:
+    base64-js "0.0.8"
+    ieee754 "^1.1.4"
+    isarray "^1.0.0"
+
 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"
@@ -624,6 +1017,16 @@ byline@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
 
+bzip2-maybe@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/bzip2-maybe/-/bzip2-maybe-1.0.0.tgz#c9aef7008a6b943cbe99cc617125eb4bd478296b"
+  dependencies:
+    is-bzip2 "^1.0.0"
+    peek-stream "^1.1.1"
+    pumpify "^1.3.5"
+    through2 "^2.0.1"
+    unbzip2-stream "^1.0.9"
+
 cacache@10.0.2:
   version "10.0.2"
   resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.2.tgz#105a93a162bbedf3a25da42e1939ed99ffb145f8"
@@ -678,6 +1081,24 @@ cacache@^9.2.9:
     unique-filename "^1.1.0"
     y18n "^3.2.1"
 
+cacache@~9.2.9:
+  version "9.2.9"
+  resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.2.9.tgz#f9d7ffe039851ec94c28290662afa4dd4bb9e8dd"
+  dependencies:
+    bluebird "^3.5.0"
+    chownr "^1.0.1"
+    glob "^7.1.2"
+    graceful-fs "^4.1.11"
+    lru-cache "^4.1.1"
+    mississippi "^1.3.0"
+    mkdirp "^0.5.1"
+    move-concurrently "^1.0.1"
+    promise-inflight "^1.0.1"
+    rimraf "^2.6.1"
+    ssri "^4.1.6"
+    unique-filename "^1.1.0"
+    y18n "^3.2.1"
+
 cacheable-request@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.1.tgz#aa205ee287eae520950fec3dc71c5f41ee5550dd"
@@ -772,7 +1193,7 @@ chai@4.1.2:
     deep-eql "^0.1.3"
     type-detect "^1.0.0"
 
-chalk@1.1.3, chalk@^1.1.1, chalk@^1.1.3:
+chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
   dependencies:
@@ -782,7 +1203,7 @@ chalk@1.1.3, chalk@^1.1.1, chalk@^1.1.3:
     strip-ansi "^3.0.0"
     supports-color "^2.0.0"
 
-chalk@2.3.0, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0:
+chalk@2.3.0, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.2.0, chalk@^2.3.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
   dependencies:
@@ -837,7 +1258,7 @@ cli-boxes@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
 
-cli-cursor@^2.1.0:
+cli-cursor@^2.0.0, cli-cursor@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
   dependencies:
@@ -961,6 +1382,12 @@ commander@^2.9.0:
   version "2.11.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
 
+common-tags@^1.4.0:
+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.7.2.tgz#24d9768c63d253a56ecff93845b44b4df1d52771"
+  dependencies:
+    babel-runtime "^6.26.0"
+
 compare-func@^1.3.1:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648"
@@ -1106,6 +1533,12 @@ create-error-class@^3.0.0:
   dependencies:
     capture-stack-trace "^1.0.0"
 
+credentials-by-uri@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/credentials-by-uri/-/credentials-by-uri-1.0.0.tgz#69b3a1ad59802322dae3adbe1323c7dab98c4869"
+  dependencies:
+    nerf-dart "^1.0.0"
+
 cross-env@5.1.3:
   version "5.1.3"
   resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.3.tgz#f8ae18faac87692b0a8b4d2f7000d4ec3a85dfd7"
@@ -1120,7 +1553,7 @@ cross-spawn@^4.0.2:
     lru-cache "^4.0.1"
     which "^1.2.9"
 
-cross-spawn@^5.0.1, cross-spawn@^5.1.0:
+cross-spawn@^5.0.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
   dependencies:
@@ -1176,6 +1609,12 @@ dashdash@^1.12.0:
   dependencies:
     assert-plus "^1.0.0"
 
+data-uri-to-buffer@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-2.0.0.tgz#0ba23671727349828c32cfafddea411908d13d23"
+  dependencies:
+    "@types/node" "^8.0.7"
+
 dateformat@^1.0.11:
   version "1.0.12"
   resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9"
@@ -1207,6 +1646,14 @@ decode-uri-component@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
 
+decompress-maybe@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/decompress-maybe/-/decompress-maybe-1.0.0.tgz#adfe78c66cc069e64e824bd1405b85e75e6d1cbb"
+  dependencies:
+    bzip2-maybe "^1.0.0"
+    gunzip-maybe "^1.3.1"
+    pumpify "^1.3.5"
+
 decompress-response@^3.2.0, decompress-response@^3.3.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
@@ -1286,7 +1733,25 @@ delegates@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
 
-detect-indent@5.0.0, detect-indent@~5.0.0:
+dependencies-hierarchy@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/dependencies-hierarchy/-/dependencies-hierarchy-2.0.1.tgz#6c759df3390c64bd5407a40079b543d12c0a82da"
+  dependencies:
+    "@types/node" "^9.3.0"
+    "@types/semver" "^5.3.32"
+    dependency-path "^1.0.0"
+    pnpm-shrinkwrap "^5.0.0"
+    semver "^5.3.0"
+
+dependency-path@^1.0.0, dependency-path@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/dependency-path/-/dependency-path-1.2.0.tgz#8914352778f3500f1ab55d0b456c7b20711694ee"
+  dependencies:
+    "@types/semver" "^5.4.0"
+    encode-registry "^1.0.0"
+    semver "^5.4.1"
+
+detect-indent@5.0.0, detect-indent@^5.0.0, detect-indent@~5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
 
@@ -1315,6 +1780,16 @@ diff@^3.2.0:
   version "3.4.0"
   resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c"
 
+dint@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/dint/-/dint-2.0.0.tgz#79429a99147d1a630b85f6bdfc079e3ff7c7dceb"
+  dependencies:
+    graceful-fs "^4.1.11"
+    mz "^2.7.0"
+    p-every "^1.0.2"
+    p-limit "^1.1.0"
+    ssri "^5.0.0"
+
 dir-glob@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034"
@@ -1355,6 +1830,27 @@ dotenv@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
 
+drive-by-path@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/drive-by-path/-/drive-by-path-1.0.0.tgz#8f0b3c62be2b43a9a8dae40047e605db6490c79e"
+  dependencies:
+    is-subdir "^1.0.2"
+    once "^1.4.0"
+    ramda "^0.24.1"
+    util.promisify "^1.0.0"
+  optionalDependencies:
+    drivelist "^5.2.4"
+
+drivelist@^5.2.4:
+  version "5.2.12"
+  resolved "https://registry.yarnpkg.com/drivelist/-/drivelist-5.2.12.tgz#9a85d03dd4f9604f9e80e2fe45073c0385f40446"
+  dependencies:
+    bindings "^1.3.0"
+    debug "^3.1.0"
+    js-yaml "^3.10.0"
+    nan "^2.8.0"
+    prebuild-install "^2.4.1"
+
 dtrace-provider@~0.8:
   version "0.8.5"
   resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.5.tgz#98ebba221afac46e1c39fd36858d8f9367524b92"
@@ -1380,6 +1876,15 @@ duplexify@^3.1.2, duplexify@^3.4.2:
     readable-stream "^2.0.0"
     stream-shift "^1.0.0"
 
+duplexify@^3.5.0, duplexify@^3.5.3:
+  version "3.5.3"
+  resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.3.tgz#8b5818800df92fd0125b27ab896491912858243e"
+  dependencies:
+    end-of-stream "^1.0.0"
+    inherits "^2.0.1"
+    readable-stream "^2.0.0"
+    stream-shift "^1.0.0"
+
 ecc-jsbn@~0.1.1:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
@@ -1401,6 +1906,12 @@ email-addresses@3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.0.1.tgz#c1fc20c189e7f96d4012d375db5feaccdd24391c"
 
+encode-registry@^1.0.0, encode-registry@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/encode-registry/-/encode-registry-1.1.0.tgz#9b5b751392095a25f5a7d1bc2b2f7dd895d3bea7"
+  dependencies:
+    mem "^3.0.0"
+
 encoding@^0.1.11:
   version "0.1.12"
   resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
@@ -1429,7 +1940,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
   dependencies:
     is-arrayish "^0.2.1"
 
-es-abstract@^1.5.1:
+es-abstract@^1.5.1, es-abstract@^1.7.0:
   version "1.10.0"
   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
   dependencies:
@@ -1660,6 +2171,10 @@ expand-range@^1.8.1:
   dependencies:
     fill-range "^2.1.0"
 
+expand-template@^1.0.2:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-1.1.0.tgz#e09efba977bf98f9ee0ed25abd0c692e02aec3fc"
+
 expand-tilde@^2.0.0, expand-tilde@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
@@ -1711,12 +2226,23 @@ fast-levenshtein@~2.0.4:
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
 
+fast-safe-stringify@~1.1.0:
+  version "1.1.13"
+  resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-1.1.13.tgz#a01e9cd9c9e491715c98a75a42d5f0bbd107ff76"
+
 fb-watchman@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
   dependencies:
     bser "^2.0.0"
 
+fetch-from-npm-registry@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/fetch-from-npm-registry/-/fetch-from-npm-registry-0.1.0.tgz#a571049006ef8eeab3b9140f45499196d4927f8e"
+  dependencies:
+    "@types/node" "^8.0.57"
+    make-fetch-happen "^2.6.0"
+
 figures@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
@@ -1755,6 +2281,15 @@ find-npm-prefix@~1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf"
 
+find-packages@^2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/find-packages/-/find-packages-2.1.2.tgz#1b830fd775a98a72e00b93dd1caa22a8959d9e24"
+  dependencies:
+    "@types/node" "^8.0.33"
+    globby "^7.1.1"
+    p-filter "^1.0.0"
+    read-pkg "^3.0.0"
+
 find-up@^1.0.0:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -1953,6 +2488,23 @@ get-installed-path@4.0.8:
   dependencies:
     global-modules "1.0.0"
 
+get-npm-tarball-url@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/get-npm-tarball-url/-/get-npm-tarball-url-2.0.1.tgz#43c15223c35096e3e4068d8a6c6747bbdfc23462"
+  dependencies:
+    normalize-registry-url "^1.0.0"
+
+get-port@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
+
+get-source@^1.0.24:
+  version "1.0.24"
+  resolved "https://registry.yarnpkg.com/get-source/-/get-source-1.0.24.tgz#898dcc7b5592adba02e8bb82b8d2cda60cdae5c5"
+  dependencies:
+    data-uri-to-buffer "^2.0.0"
+    source-map "^0.6.0"
+
 get-stdin@^4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
@@ -2012,6 +2564,10 @@ git-url-parse@^7.0.1:
   dependencies:
     git-up "^2.0.0"
 
+github-from-package@0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
+
 github-url-from-git@1.5.0, github-url-from-git@^1.5.0:
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.5.0.tgz#f985fedcc0a9aa579dc88d7aff068d55cc6251a0"
@@ -2224,14 +2780,39 @@ got@^8.0.1:
     url-parse-lax "^3.0.0"
     url-to-options "^1.0.1"
 
-graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@~4.1.11:
+graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@~4.1.11:
   version "4.1.11"
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
 
-growly@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
-
+graceful-git@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/graceful-git/-/graceful-git-1.0.1.tgz#cf89d9d88e103eea17d84de15d4caa63d1df539a"
+  dependencies:
+    execa "^0.8.0"
+    retry "^0.10.1"
+
+graph-sequencer@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/graph-sequencer/-/graph-sequencer-2.0.0.tgz#bfb809b8af584f6f5287cdce507a30d4aea6ee70"
+  dependencies:
+    array-flatten "^2.1.1"
+    array-includes "^3.0.3"
+
+growly@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
+
+gunzip-maybe@^1.3.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz#39c72ed89d1b49ba708e18776500488902a52027"
+  dependencies:
+    browserify-zlib "^0.1.4"
+    is-deflate "^1.0.0"
+    is-gzip "^1.0.0"
+    peek-stream "^1.1.0"
+    pumpify "^1.3.3"
+    through2 "^2.0.3"
+
 handlebars@4.0.11:
   version "4.0.11"
   resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
@@ -2414,6 +2995,10 @@ iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13:
   version "0.4.19"
   resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
 
+ieee754@^1.1.4:
+  version "1.1.8"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+
 iferr@^0.1.5, iferr@~0.1.5:
   version "0.1.5"
   resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
@@ -2455,6 +3040,10 @@ indent-string@^2.1.0:
   dependencies:
     repeating "^2.0.0"
 
+individual@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/individual/-/individual-3.0.0.tgz#e7ca4f85f8957b018734f285750dc22ec2f9862d"
+
 inflight@^1.0.4, inflight@~1.0.6:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
@@ -2541,6 +3130,10 @@ is-builtin-module@^1.0.0:
   dependencies:
     builtin-modules "^1.0.0"
 
+is-bzip2@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc"
+
 is-callable@^1.1.1, is-callable@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
@@ -2561,6 +3154,10 @@ is-date-object@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
 
+is-deflate@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14"
+
 is-directory@^0.3.1:
   version "0.3.1"
   resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
@@ -2609,6 +3206,18 @@ is-glob@^2.0.0, is-glob@^2.0.1:
   dependencies:
     is-extglob "^1.0.0"
 
+is-gzip@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83"
+
+is-inner-link@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/is-inner-link/-/is-inner-link-2.0.2.tgz#d356345d87f17c6100ac0c422aa1a51045248f48"
+  dependencies:
+    graceful-fs "^4.1.11"
+    is-subdir "^1.0.0"
+    resolve-link-target "^1.0.0"
+
 is-installed-globally@^0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80"
@@ -2715,6 +3324,12 @@ is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
 
+is-subdir@^1.0.0, is-subdir@^1.0.1, is-subdir@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-subdir/-/is-subdir-1.0.2.tgz#28cd419f66d91403ca8181ab55257687d99562de"
+  dependencies:
+    is-windows "^1.0.0"
+
 is-subset@^0.1.1:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
@@ -3087,7 +3702,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
 
-js-yaml@3.10.0, js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1:
+js-yaml@3.10.0, js-yaml@^3.10.0, js-yaml@^3.6.1, js-yaml@^3.7.0, js-yaml@^3.8.1, js-yaml@^3.8.4, js-yaml@^3.9.0, js-yaml@^3.9.1:
   version "3.10.0"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
   dependencies:
@@ -3175,6 +3790,12 @@ json-stringify-safe@^5.0.1, 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"
 
+json2yaml@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/json2yaml/-/json2yaml-1.1.0.tgz#5414d907f9816586b80c513ec2e3aeb2ab819a6c"
+  dependencies:
+    remedial "1.x"
+
 json5@^0.5.1:
   version "0.5.1"
   resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
@@ -3295,6 +3916,19 @@ levn@^0.3.0, levn@~0.3.0:
     prelude-ls "~1.1.2"
     type-check "~0.3.2"
 
+libnpx@~9.6.0:
+  version "9.6.0"
+  resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-9.6.0.tgz#c441ddd698b043bd8e8dc78384fa8eb7d77991e5"
+  dependencies:
+    dotenv "^4.0.0"
+    npm-package-arg "^5.1.2"
+    rimraf "^2.6.1"
+    safe-buffer "^5.1.0"
+    update-notifier "^2.2.0"
+    which "^1.2.14"
+    y18n "^3.2.1"
+    yargs "^8.0.2"
+
 libnpx@~9.7.1:
   version "9.7.1"
   resolved "https://registry.yarnpkg.com/libnpx/-/libnpx-9.7.1.tgz#55300b5e119bd47b714be9704ca0696ffb18b025"
@@ -3336,6 +3970,15 @@ load-json-file@^4.0.0:
     pify "^3.0.0"
     strip-bom "^3.0.0"
 
+load-yaml-file@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.1.0.tgz#f680066e691b3eeb45017672e4a3956af5b83b89"
+  dependencies:
+    graceful-fs "^4.1.5"
+    js-yaml "^3.6.1"
+    pify "^2.3.0"
+    strip-bom "^3.0.0"
+
 locate-path@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@@ -3513,6 +4156,14 @@ lodash@^3.10.1:
   version "3.10.1"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
 
+log-update@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708"
+  dependencies:
+    ansi-escapes "^3.0.0"
+    cli-cursor "^2.0.0"
+    wrap-ansi "^3.0.1"
+
 longest@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
@@ -3523,7 +4174,7 @@ loose-envify@^1.0.0:
   dependencies:
     js-tokens "^3.0.0"
 
-loud-rejection@^1.0.0:
+loud-rejection@^1.0.0, loud-rejection@^1.6.0:
   version "1.6.0"
   resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
   dependencies:
@@ -3547,6 +4198,22 @@ make-dir@^1.0.0:
   dependencies:
     pify "^3.0.0"
 
+make-fetch-happen@^2.4.13, make-fetch-happen@^2.6.0:
+  version "2.6.0"
+  resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38"
+  dependencies:
+    agentkeepalive "^3.3.0"
+    cacache "^10.0.0"
+    http-cache-semantics "^3.8.0"
+    http-proxy-agent "^2.0.0"
+    https-proxy-agent "^2.1.0"
+    lru-cache "^4.1.1"
+    mississippi "^1.2.0"
+    node-fetch-npm "^2.0.2"
+    promise-retry "^1.1.1"
+    socks-proxy-agent "^3.0.1"
+    ssri "^5.0.0"
+
 make-fetch-happen@^2.5.0:
   version "2.5.0"
   resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.5.0.tgz#08c22d499f4f30111addba79fe87c98cf01b6bc8"
@@ -3563,22 +4230,6 @@ make-fetch-happen@^2.5.0:
     socks-proxy-agent "^3.0.0"
     ssri "^4.1.6"
 
-make-fetch-happen@^2.6.0:
-  version "2.6.0"
-  resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38"
-  dependencies:
-    agentkeepalive "^3.3.0"
-    cacache "^10.0.0"
-    http-cache-semantics "^3.8.0"
-    http-proxy-agent "^2.0.0"
-    https-proxy-agent "^2.1.0"
-    lru-cache "^4.1.1"
-    mississippi "^1.2.0"
-    node-fetch-npm "^2.0.2"
-    promise-retry "^1.1.1"
-    socks-proxy-agent "^3.0.1"
-    ssri "^5.0.0"
-
 makeerror@1.0.x:
   version "1.0.11"
   resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -3613,6 +4264,13 @@ mem@^1.1.0:
   dependencies:
     mimic-fn "^1.0.0"
 
+mem@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/mem/-/mem-3.0.0.tgz#84e58ad4dfbdf5d105b26b6548a398b2b3aa8a21"
+  dependencies:
+    mimic-fn "^1.0.0"
+    p-is-promise "^1.1.0"
+
 meow@^3.1.0, meow@^3.3.0:
   version "3.7.0"
   resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
@@ -3708,6 +4366,12 @@ minizlib@^1.0.4:
   dependencies:
     minipass "^2.2.1"
 
+minizlib@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
+  dependencies:
+    minipass "^2.2.1"
+
 mississippi@^1.2.0, mississippi@^1.3.0, mississippi@~1.3.0:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.0.tgz#d201583eb12327e3c5c1642a404a9cacf94e34f5"
@@ -3723,7 +4387,13 @@ mississippi@^1.2.0, mississippi@^1.3.0, mississippi@~1.3.0:
     stream-each "^1.1.0"
     through2 "^2.0.0"
 
-"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp-promise@^5.0.0, mkdirp-promise@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1"
+  dependencies:
+    mkdirp "*"
+
+mkdirp@*, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
   version "0.5.1"
   resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
   dependencies:
@@ -3755,7 +4425,19 @@ moment@2.20.1:
   version "2.19.1"
   resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.1.tgz#56da1a2d1cbf01d38b7e1afc31c10bcfa1929167"
 
-move-concurrently@^1.0.1:
+most-last@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/most-last/-/most-last-1.0.0.tgz#4e3f0b289c24cf90b9d8384676de90a26e376171"
+
+most@^1.7.2:
+  version "1.7.2"
+  resolved "https://registry.yarnpkg.com/most/-/most-1.7.2.tgz#3f8b8bf0e4410ad8490b3599ea3777fca964a1c4"
+  dependencies:
+    "@most/multicast" "^1.2.5"
+    "@most/prelude" "^1.4.0"
+    symbol-observable "^1.0.2"
+
+move-concurrently@^1.0.1, move-concurrently@~1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
   dependencies:
@@ -3782,18 +4464,39 @@ mv@~2:
     ncp "~2.0.0"
     rimraf "~2.4.0"
 
+mz@^2.4.0, mz@^2.5.0, mz@^2.6.0, mz@^2.7.0:
+  version "2.7.0"
+  resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
+  dependencies:
+    any-promise "^1.0.0"
+    object-assign "^4.0.1"
+    thenify-all "^1.0.0"
+
 nan@^2.3.0, nan@^2.3.3:
   version "2.7.0"
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46"
 
+nan@^2.8.0:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
+
 natural-compare@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
 
-ncp@~2.0.0:
+ncp@^2.0.0, ncp@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
 
+ndjson@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-1.5.0.tgz#ae603b36b134bcec347b452422b0bf98d5832ec8"
+  dependencies:
+    json-stringify-safe "^5.0.1"
+    minimist "^1.2.0"
+    split2 "^2.1.0"
+    through2 "^2.0.3"
+
 nerf-dart@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a"
@@ -3812,6 +4515,12 @@ nock@9.1.6:
     qs "^6.5.1"
     semver "^5.3.0"
 
+node-abi@^2.1.1:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.1.2.tgz#4da6caceb6685fcd31e7dd1994ef6bb7d0a9c0b2"
+  dependencies:
+    semver "^5.4.1"
+
 node-emoji@^1.4.1:
   version "1.8.1"
   resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826"
@@ -3833,7 +4542,7 @@ node-fetch@^1.3.3:
     encoding "^0.1.11"
     is-stream "^1.0.1"
 
-node-gyp@^3.6.2:
+node-gyp@^3.6.2, node-gyp@~3.6.2:
   version "3.6.2"
   resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60"
   dependencies:
@@ -3890,6 +4599,10 @@ node-version@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/node-version/-/node-version-1.1.0.tgz#f437d7ba407e65e2c4eaef8887b1718ba523d4f0"
 
+noop-logger@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
+
 "nopt@2 || 3":
   version "3.0.6"
   resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
@@ -3912,12 +4625,23 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package-
     semver "2 || 3 || 4 || 5"
     validate-npm-package-license "^3.0.1"
 
-normalize-path@^2.0.0, normalize-path@^2.0.1:
+normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
   dependencies:
     remove-trailing-separator "^1.0.1"
 
+normalize-registry-url@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/normalize-registry-url/-/normalize-registry-url-1.0.0.tgz#f75d2c48373da780c76f1f0eeb6382c06e784d13"
+
+normalize-ssh@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/normalize-ssh/-/normalize-ssh-1.0.0.tgz#22a8308fa7cd932bdb49af74ecac644cf4a6196b"
+  dependencies:
+    is-ssh "^1.3.0"
+    parse-url "^1.3.5"
+
 normalize-url@1.9.1:
   version "1.9.1"
   resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
@@ -3927,6 +4651,105 @@ normalize-url@1.9.1:
     query-string "^4.1.0"
     sort-keys "^1.0.0"
 
+not-bundled-npm@^5.4.2:
+  version "5.5.1"
+  resolved "https://registry.yarnpkg.com/not-bundled-npm/-/not-bundled-npm-5.5.1.tgz#ae162b11263541fe74e4630612f8f55257d96c57"
+  dependencies:
+    JSONStream "~1.3.1"
+    abbrev "~1.1.1"
+    ansi-regex "~3.0.0"
+    ansicolors "~0.3.2"
+    ansistyles "~0.1.3"
+    aproba "~1.2.0"
+    archy "~1.0.0"
+    bluebird "~3.5.0"
+    cacache "~9.2.9"
+    call-limit "~1.1.0"
+    chownr "~1.0.1"
+    cli-table2 "~0.2.0"
+    cmd-shim "~2.0.2"
+    columnify "~1.5.4"
+    config-chain "~1.1.11"
+    detect-indent "~5.0.0"
+    dezalgo "~1.0.3"
+    editor "~1.0.0"
+    fs-vacuum "~1.2.10"
+    fs-write-stream-atomic "~1.0.10"
+    glob "~7.1.2"
+    graceful-fs "~4.1.11"
+    has-unicode "~2.0.1"
+    hosted-git-info "~2.5.0"
+    iferr "~0.1.5"
+    inflight "~1.0.6"
+    inherits "~2.0.3"
+    ini "~1.3.4"
+    init-package-json "~1.10.1"
+    is-cidr "~1.0.0"
+    lazy-property "~1.0.0"
+    libnpx "~9.6.0"
+    lockfile "~1.0.3"
+    lodash._baseuniq "~4.6.0"
+    lodash.clonedeep "~4.5.0"
+    lodash.union "~4.6.0"
+    lodash.uniq "~4.5.0"
+    lodash.without "~4.4.0"
+    lru-cache "~4.1.1"
+    meant "~1.0.1"
+    mississippi "~1.3.0"
+    mkdirp "~0.5.1"
+    move-concurrently "~1.0.1"
+    node-gyp "~3.6.2"
+    nopt "~4.0.1"
+    normalize-package-data "~2.4.0"
+    npm-cache-filename "~1.0.2"
+    npm-install-checks "~3.0.0"
+    npm-lifecycle "~1.0.3"
+    npm-package-arg "~5.1.2"
+    npm-packlist "~1.1.9"
+    npm-profile "~2.0.4"
+    npm-registry-client "~8.5.0"
+    npm-user-validate "~1.0.0"
+    npmlog "~4.1.2"
+    once "~1.4.0"
+    opener "~1.4.3"
+    osenv "~0.1.4"
+    pacote "~6.0.2"
+    path-is-inside "~1.0.2"
+    promise-inflight "~1.0.1"
+    qrcode-terminal "~0.11.0"
+    query-string "~5.0.0"
+    qw "~1.0.1"
+    read "~1.0.7"
+    read-cmd-shim "~1.0.1"
+    read-installed "~4.0.3"
+    read-package-json "~2.0.12"
+    read-package-tree "~5.1.6"
+    readable-stream "~2.3.3"
+    request "~2.83.0"
+    retry "~0.10.1"
+    rimraf "~2.6.2"
+    safe-buffer "~5.1.1"
+    semver "~5.4.1"
+    sha "~2.0.1"
+    slide "~1.1.6"
+    sorted-object "~2.0.1"
+    sorted-union-stream "~2.1.3"
+    ssri "~4.1.6"
+    strip-ansi "~4.0.0"
+    tar "~4.0.1"
+    text-table "~0.2.0"
+    uid-number "0.0.6"
+    umask "~1.1.0"
+    unique-filename "~1.1.0"
+    unpipe "~1.0.0"
+    update-notifier "~2.2.0"
+    uuid "~3.1.0"
+    validate-npm-package-name "~3.0.0"
+    which "~1.3.0"
+    worker-farm "~1.5.0"
+    wrappy "~1.0.2"
+    write-file-atomic "~2.1.0"
+
 npm-bundled@^1.0.1:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
@@ -3948,7 +4771,7 @@ npm-install-checks@~3.0.0:
   dependencies:
     semver "^2.3.0 || 3.x || 4 || 5"
 
-npm-lifecycle@~2.0.0:
+npm-lifecycle@^2.0.0, npm-lifecycle@~2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-2.0.0.tgz#d66fba59e7098dbb5862df66c0d81ed75108f1c6"
   dependencies:
@@ -3961,7 +4784,17 @@ npm-lifecycle@~2.0.0:
     umask "^1.1.0"
     which "^1.3.0"
 
-"npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0", "npm-package-arg@^4.0.0 || ^5.0.0", npm-package-arg@^5.1.2:
+npm-lifecycle@~1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-1.0.3.tgz#4cd60543247dbba631281e48ce665ffd52380cce"
+  dependencies:
+    graceful-fs "^4.1.11"
+    slide "^1.1.6"
+    uid-number "0.0.6"
+    umask "^1.1.0"
+    which "^1.3.0"
+
+"npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0", "npm-package-arg@^4.0.0 || ^5.0.0", npm-package-arg@^5.1.2, npm-package-arg@~5.1.2:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37"
   dependencies:
@@ -3979,13 +4812,20 @@ npm-package-arg@^6.0.0, npm-package-arg@~6.0.0:
     semver "^5.4.1"
     validate-npm-package-name "^3.0.0"
 
-npm-packlist@^1.1.10, npm-packlist@~1.1.10:
+npm-packlist@^1.1.10, npm-packlist@^1.1.6, npm-packlist@~1.1.10, npm-packlist@~1.1.9:
   version "1.1.10"
   resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
   dependencies:
     ignore-walk "^3.0.1"
     npm-bundled "^1.0.1"
 
+npm-pick-manifest@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz#a5ee6510c1fe7221c0bc0414e70924c14045f7e8"
+  dependencies:
+    npm-package-arg "^5.1.2"
+    semver "^5.3.0"
+
 npm-pick-manifest@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-2.1.0.tgz#dc381bdd670c35d81655e1d5a94aa3dd4d87fce5"
@@ -3993,7 +4833,7 @@ npm-pick-manifest@^2.1.0:
     npm-package-arg "^6.0.0"
     semver "^5.4.1"
 
-npm-profile@~2.0.5:
+npm-profile@~2.0.4, npm-profile@~2.0.5:
   version "2.0.5"
   resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-2.0.5.tgz#0e61b8f1611bd19d1eeff5e3d5c82e557da3b9d7"
   dependencies:
@@ -4128,7 +4968,7 @@ npm@5.6.0:
     wrappy "~1.0.2"
     write-file-atomic "~2.1.0"
 
-"npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.2, npmlog@~4.1.2:
+"npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.1, npmlog@^4.0.2, npmlog@~4.1.2:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
   dependencies:
@@ -4171,6 +5011,14 @@ object.omit@^2.0.0:
     for-own "^0.1.4"
     is-extendable "^0.1.1"
 
+observatory@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/observatory/-/observatory-1.0.0.tgz#2baa606e8299e6866914ec9c8a4db6a41136e59b"
+  dependencies:
+    ansi-escapes "^1.1.0"
+    chalk "^1.1.1"
+    lodash "^3.10.1"
+
 once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, once@~1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -4212,7 +5060,7 @@ optionator@^0.8.1, optionator@^0.8.2:
     type-check "~0.3.2"
     wordwrap "~1.0.0"
 
-os-homedir@^1.0.0:
+os-homedir@^1.0.0, os-homedir@^1.0.1, os-homedir@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
 
@@ -4243,6 +5091,18 @@ p-defer@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
 
+p-every@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/p-every/-/p-every-1.0.2.tgz#4e01d85c23da19ed71a4afba319bdb4d94c85e00"
+  dependencies:
+    p-map "^1.1.1"
+
+p-filter@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-1.0.0.tgz#629d317150209c8fd508ba137713ef4bb920e9db"
+  dependencies:
+    p-map "^1.0.0"
+
 p-finally@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
@@ -4261,6 +5121,14 @@ p-locate@^2.0.0:
   dependencies:
     p-limit "^1.1.0"
 
+p-map@^1.0.0, p-map@^1.1.1:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
+
+p-queue@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.3.0.tgz#65d55e71bc1500fc413122da98ae457ff8a7c038"
+
 p-reduce@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
@@ -4271,6 +5139,12 @@ p-retry@^1.0.0:
   dependencies:
     retry "^0.10.0"
 
+p-series@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/p-series/-/p-series-1.0.0.tgz#7ec9e7b4406cc32066298a6f9860e55e91b36e07"
+  dependencies:
+    p-reduce "^1.0.0"
+
 p-timeout@^1.1.1:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.0.tgz#9820f99434c5817868b4f34809ee5291660d5b6c"
@@ -4298,6 +5172,33 @@ package-json@^4.0.0:
     registry-url "^3.0.3"
     semver "^5.1.0"
 
+package-store@^0.14.0:
+  version "0.14.0"
+  resolved "https://registry.yarnpkg.com/package-store/-/package-store-0.14.0.tgz#c5f64d6b26082e3ab1932580e945273fd6bbae79"
+  dependencies:
+    "@pnpm/fs-locker" "^1.0.0"
+    "@pnpm/package-requester" "^0.6.2"
+    "@pnpm/types" "^1.3.0"
+    "@types/load-json-file" "^2.0.5"
+    "@types/mz" "^0.0.32"
+    "@types/node" "^9.3.0"
+    "@types/ramda" "^0.25.0"
+    drive-by-path "^1.0.0"
+    encode-registry "^1.1.0"
+    load-json-file "^4.0.0"
+    mkdirp-promise "^5.0.1"
+    mz "^2.7.0"
+    ncp "^2.0.0"
+    os-homedir "^1.0.2"
+    p-filter "^1.0.0"
+    p-limit "^1.1.0"
+    path-absolute "^1.0.0"
+    path-exists "^3.0.0"
+    ramda "^0.25.0"
+    rimraf-then "^1.0.1"
+    util.promisify "^1.0.0"
+    write-json-file "^2.2.0"
+
 packpath@~0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/packpath/-/packpath-0.1.0.tgz#a521534222dfeaa9c612ef0c640ec399149ecdd8"
@@ -4329,6 +5230,36 @@ pacote@^7.0.2:
     unique-filename "^1.1.0"
     which "^1.3.0"
 
+pacote@~6.0.2:
+  version "6.0.4"
+  resolved "https://registry.yarnpkg.com/pacote/-/pacote-6.0.4.tgz#9384c4ca9a9dbbaa625bfbe653e0330eeaa1427b"
+  dependencies:
+    bluebird "^3.5.0"
+    cacache "^9.2.9"
+    glob "^7.1.2"
+    lru-cache "^4.1.1"
+    make-fetch-happen "^2.4.13"
+    minimatch "^3.0.4"
+    mississippi "^1.2.0"
+    normalize-package-data "^2.4.0"
+    npm-package-arg "^5.1.2"
+    npm-packlist "^1.1.6"
+    npm-pick-manifest "^1.0.4"
+    osenv "^0.1.4"
+    promise-inflight "^1.0.1"
+    promise-retry "^1.1.1"
+    protoduck "^4.0.0"
+    safe-buffer "^5.1.1"
+    semver "^5.4.1"
+    ssri "^4.1.6"
+    tar "^4.0.0"
+    unique-filename "^1.1.0"
+    which "^1.3.0"
+
+pako@~0.2.0:
+  version "0.2.9"
+  resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
+
 parallel-transform@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
@@ -4375,11 +5306,18 @@ parse-link-header@1.0.1:
   dependencies:
     xtend "~4.0.1"
 
+parse-npm-tarball-url@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/parse-npm-tarball-url/-/parse-npm-tarball-url-1.0.2.tgz#9229c2a798167c7d2cc648f36295786e4b205ae1"
+  dependencies:
+    "@types/node" "^8.0.12"
+    semver-regex "^1.0.0"
+
 parse-passwd@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
 
-parse-url@^1.3.0:
+parse-url@^1.3.0, parse-url@^1.3.5:
   version "1.3.11"
   resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-1.3.11.tgz#57c15428ab8a892b1f43869645c711d0e144b554"
   dependencies:
@@ -4392,6 +5330,12 @@ parse5@^3.0.2:
   dependencies:
     "@types/node" "*"
 
+path-absolute@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/path-absolute/-/path-absolute-1.0.0.tgz#acd40bc439b0987facf3cd3f37648482d2bbe3a8"
+  dependencies:
+    os-homedir "^1.0.2"
+
 path-exists@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
@@ -4414,6 +5358,10 @@ path-key@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
 
+path-name@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/path-name/-/path-name-1.0.0.tgz#8ca063a63de7982dfa95760edaffd10214494f24"
+
 path-parse@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
@@ -4442,6 +5390,13 @@ pathval@^1.0.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
 
+peek-stream@^1.1.0, peek-stream@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.2.tgz#97eb76365bcfd8c89e287f55c8b69d4c3e9bcc52"
+  dependencies:
+    duplexify "^3.5.0"
+    through2 "^2.0.3"
+
 performance-now@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
@@ -4450,7 +5405,7 @@ performance-now@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
 
-pify@^2.0.0:
+pify@^2.0.0, pify@^2.3.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
 
@@ -4480,6 +5435,17 @@ pkg-dir@^2.0.0:
   dependencies:
     find-up "^2.1.0"
 
+pkgs-graph@^2.0.0-0:
+  version "2.0.0-0"
+  resolved "https://registry.yarnpkg.com/pkgs-graph/-/pkgs-graph-2.0.0-0.tgz#f87f390fa6f70cefff46cf502a212197a7b93940"
+  dependencies:
+    "@types/node" "^8.5.0"
+    "@types/ramda" "^0.25.8"
+    "@types/semver" "^5.3.31"
+    npm-package-arg "^6.0.0"
+    ramda "^0.25.0"
+    semver "^5.3.0"
+
 pluralize@^7.0.0:
   version "7.0.0"
   resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
@@ -4488,6 +5454,144 @@ pn@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/pn/-/pn-1.0.0.tgz#1cf5a30b0d806cd18f88fc41a6b5d4ad615b3ba9"
 
+pnpm-default-reporter@^0.11.6:
+  version "0.11.6"
+  resolved "https://registry.yarnpkg.com/pnpm-default-reporter/-/pnpm-default-reporter-0.11.6.tgz#fd4e8ee8bafe47eaed9f64edd45e37c0c07e3a8a"
+  dependencies:
+    "@types/common-tags" "^1.2.5"
+    "@types/node" "^8.0.51"
+    "@types/ramda" "^0.25.6"
+    "@types/semver" "^5.4.0"
+    chalk "^2.2.0"
+    common-tags "^1.4.0"
+    log-update "^2.3.0"
+    most "^1.7.2"
+    most-last "^1.0.0"
+    ndjson "^1.5.0"
+    pretty-bytes "^4.0.2"
+    ramda "^0.25.0"
+    semver "^5.4.1"
+    stacktracey "^1.2.87"
+    zen-push "^0.2.1"
+
+pnpm-file-reporter@^0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/pnpm-file-reporter/-/pnpm-file-reporter-0.0.1.tgz#f7c3e2164c5cc955a0b3ed661314e6357b3f2e63"
+  dependencies:
+    "@types/chalk" "^0.4.31"
+    "@types/node" "^7.0.0"
+    chalk "^1.1.3"
+    json2yaml "^1.1.0"
+    ndjson "^1.5.0"
+    observatory "^1.0.0"
+    pnpm-logger "^0.0.0"
+
+pnpm-install-checks@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/pnpm-install-checks/-/pnpm-install-checks-1.1.0.tgz#741d9979762fdfad93f3e469deb4a814d3430008"
+  dependencies:
+    semver "^2.3.0 || 3.x || 4 || 5"
+
+pnpm-list@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/pnpm-list/-/pnpm-list-2.0.1.tgz#39c4ad7c06c2b127f81c9378b29c3671850ba0e1"
+  dependencies:
+    "@types/archy" "^0.0.31"
+    "@types/node" "^9.3.0"
+    "@types/ramda" "^0.25.0"
+    archy "^1.0.0"
+    chalk "^2.3.0"
+    dependencies-hierarchy "^2.0.0"
+    npm-package-arg "^6.0.0"
+    p-limit "^1.1.0"
+    ramda "^0.25.0"
+    read-package-json "^2.0.12"
+    thenify "^3.3.0"
+
+pnpm-logger@^0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/pnpm-logger/-/pnpm-logger-0.0.0.tgz#28701b97618a1fc32d2fee1bf410746588bb1a85"
+  dependencies:
+    bole "^3.0.2"
+
+pnpm-shrinkwrap@^5.0.0, pnpm-shrinkwrap@^5.1.0:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/pnpm-shrinkwrap/-/pnpm-shrinkwrap-5.1.1.tgz#753557157006c14631ce3834b8f277c2729ed338"
+  dependencies:
+    "@types/node" "^9.3.0"
+    "@types/ramda" "^0.25.12"
+    dependency-path "^1.0.0"
+    js-yaml "^3.8.4"
+    load-yaml-file "^0.1.0"
+    mkdirp-promise "^5.0.1"
+    ramda "^0.25.0"
+    rimraf-then "^1.0.1"
+    thenify "^3.3.0"
+    write-file-atomic "^2.1.0"
+
+pnpm@1.29.1:
+  version "1.29.1"
+  resolved "https://registry.yarnpkg.com/pnpm/-/pnpm-1.29.1.tgz#dd41fe2678ce54e571beafec35d89bc64b1e2412"
+  dependencies:
+    "@pnpm/default-fetcher" "^0.3.2"
+    "@pnpm/default-resolver" "^0.1.0"
+    "@pnpm/logger" "^1.0.0"
+    "@pnpm/outdated" "^0.2.4"
+    "@pnpm/server" "^0.6.0"
+    "@pnpm/types" "^1.5.0"
+    "@types/get-port" "^3.2.0"
+    "@types/write-json-file" "^2.2.1"
+    "@zkochan/libnpx" "^9.6.1"
+    byline "^5.0.0"
+    camelcase "^4.1.0"
+    chalk "^2.2.0"
+    common-tags "^1.4.0"
+    cross-spawn "^5.0.0"
+    find-packages "^2.1.2"
+    get-port "^3.2.0"
+    graceful-fs "^4.1.11"
+    graph-sequencer "^2.0.0"
+    is-ci "^1.0.10"
+    is-windows "^1.0.1"
+    load-json-file "^4.0.0"
+    loud-rejection "^1.6.0"
+    mkdirp-promise "^5.0.1"
+    nopt "^4.0.1"
+    not-bundled-npm "^5.4.2"
+    p-limit "^1.1.0"
+    package-store "^0.14.0"
+    path-name "^1.0.0"
+    pkgs-graph "^2.0.0-0"
+    pnpm-default-reporter "^0.11.6"
+    pnpm-file-reporter "^0.0.1"
+    pnpm-list "^2.0.0"
+    ramda "^0.25.0"
+    signal-exit "^3.0.2"
+    strip-color "^0.1.0"
+    supi "^0.11.2"
+    text-table "^0.2.0"
+    update-notifier "^2.1.0"
+    write-json-file "^2.3.0"
+
+prebuild-install@^2.4.1:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.4.1.tgz#c28ba1d1eedc17fbd6b3229a657ffc0fba479b49"
+  dependencies:
+    expand-template "^1.0.2"
+    github-from-package "0.0.0"
+    minimist "^1.2.0"
+    mkdirp "^0.5.1"
+    node-abi "^2.1.1"
+    noop-logger "^0.1.1"
+    npmlog "^4.0.1"
+    os-homedir "^1.0.1"
+    pump "^1.0.1"
+    rc "^1.1.6"
+    simple-get "^1.4.2"
+    tar-fs "^1.13.0"
+    tunnel-agent "^0.6.0"
+    xtend "4.0.1"
+
 prelude-ls@~1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
@@ -4508,6 +5612,10 @@ prettier@1.10.2:
   version "1.10.2"
   resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.10.2.tgz#1af8356d1842276a99a5b5529c82dd9e9ad3cc93"
 
+pretty-bytes@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9"
+
 pretty-format@^22.1.0:
   version "22.1.0"
   resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.1.0.tgz#2277605b40ed4529ae4db51ff62f4be817647914"
@@ -4515,6 +5623,10 @@ pretty-format@^22.1.0:
     ansi-regex "^3.0.0"
     ansi-styles "^3.2.0"
 
+printable-characters@^1.0.37:
+  version "1.0.38"
+  resolved "https://registry.yarnpkg.com/printable-characters/-/printable-characters-1.0.38.tgz#76ef84accfd7f8366fb7138fb92466a916d599bc"
+
 private@^0.1.7:
   version "0.1.8"
   resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -4552,6 +5664,13 @@ propagate@0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/propagate/-/propagate-0.4.0.tgz#f3fcca0a6fe06736a7ba572966069617c130b481"
 
+proper-lockfile@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-2.0.1.tgz#159fb06193d32003f4b3691dd2ec1a634aa80d1d"
+  dependencies:
+    graceful-fs "^4.1.2"
+    retry "^0.10.0"
+
 proto-list@~1.2.1:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
@@ -4585,6 +5704,20 @@ pump@^1.0.0:
     end-of-stream "^1.1.0"
     once "^1.3.1"
 
+pump@^1.0.1:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954"
+  dependencies:
+    end-of-stream "^1.1.0"
+    once "^1.3.1"
+
+pump@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.0.tgz#7946da1c8d622b098e2ceb2d3476582470829c9d"
+  dependencies:
+    end-of-stream "^1.1.0"
+    once "^1.3.1"
+
 pumpify@^1.3.3:
   version "1.3.5"
   resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.3.5.tgz#1b671c619940abcaeac0ad0e3a3c164be760993b"
@@ -4593,6 +5726,14 @@ pumpify@^1.3.3:
     inherits "^2.0.1"
     pump "^1.0.0"
 
+pumpify@^1.3.5:
+  version "1.3.6"
+  resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.3.6.tgz#00d40e5ded0a3bf1e0788b1c0cf426a42882ab64"
+  dependencies:
+    duplexify "^3.5.3"
+    inherits "^2.0.3"
+    pump "^2.0.0"
+
 punycode@^1.4.1:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
@@ -4632,7 +5773,7 @@ query-string@^4.1.0:
     object-assign "^4.1.0"
     strict-uri-encode "^1.0.0"
 
-query-string@~5.0.1:
+query-string@~5.0.0, query-string@~5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.0.1.tgz#6e2b86fe0e08aef682ecbe86e85834765402bd88"
   dependencies:
@@ -4644,6 +5785,14 @@ qw@~1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/qw/-/qw-1.0.1.tgz#efbfdc740f9ad054304426acb183412cc8b996d4"
 
+ramda@^0.24.1:
+  version "0.24.1"
+  resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857"
+
+ramda@^0.25.0:
+  version "0.25.0"
+  resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9"
+
 randomatic@^1.1.3:
   version "1.1.7"
   resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
@@ -4679,7 +5828,7 @@ read-installed@~4.0.3:
   optionalDependencies:
     graceful-fs "^4.1.2"
 
-"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@~2.0.12:
+"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.12, read-package-json@^2.0.5, read-package-json@~2.0.12:
   version "2.0.12"
   resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.12.tgz#68ea45f98b3741cb6e10ae3bbd42a605026a6951"
   dependencies:
@@ -4751,7 +5900,7 @@ read@1, read@~1.0.1, read@~1.0.7:
   dependencies:
     mute-stream "~0.0.4"
 
-"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@~2.3.3:
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@~2.3.3:
   version "2.3.3"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
   dependencies:
@@ -4823,10 +5972,33 @@ registry-url@^3.0.3:
   dependencies:
     rc "^1.0.1"
 
+remedial@1.x:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.7.tgz#d6674413a65676007be00dd400980987b2c300c1"
+
+remove-all-except-outer-links@^1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/remove-all-except-outer-links/-/remove-all-except-outer-links-1.0.3.tgz#2da874829d9ba82c6a0458927d26548565ebb385"
+  dependencies:
+    is-subdir "^1.0.0"
+    mz "^2.6.0"
+    p-filter "^1.0.0"
+    resolve-link-target "^1.0.0"
+    rimraf-then "^1.0.1"
+
 remove-trailing-separator@^1.0.1:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
 
+rename-overwrite@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/rename-overwrite/-/rename-overwrite-1.0.0.tgz#b45a74ceb93d1073e31c5b701c428de5796523d8"
+  dependencies:
+    graceful-fs "^4.1.11"
+    rimraf "^2.6.1"
+    thenify "^3.3.0"
+    timeout-then "^1.1.0"
+
 repeat-element@^1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
@@ -4841,6 +6013,10 @@ repeating@^2.0.0:
   dependencies:
     is-finite "^1.0.0"
 
+replace-string@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/replace-string/-/replace-string-1.1.0.tgz#87062117f823fe5800c306bacb2cfa359b935fea"
+
 request-promise-core@1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6"
@@ -4978,6 +6154,12 @@ resolve-from@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
 
+resolve-link-target@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/resolve-link-target/-/resolve-link-target-1.0.1.tgz#dd3bd8cf6c884467f4116742472ab4e79ed0dbe8"
+  dependencies:
+    graceful-fs "^4.1.11"
+
 resolve@1.1.7:
   version "1.1.7"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
@@ -5001,7 +6183,7 @@ restore-cursor@^2.0.0:
     onetime "^2.0.0"
     signal-exit "^3.0.2"
 
-retry@^0.10.0, retry@~0.10.1:
+retry@^0.10.0, retry@^0.10.1, retry@~0.10.1:
   version "0.10.1"
   resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
 
@@ -5011,6 +6193,13 @@ right-align@^0.1.1:
   dependencies:
     align-text "^0.1.1"
 
+rimraf-then@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/rimraf-then/-/rimraf-then-1.0.1.tgz#bd4458a79eb561b7548aaec0ac3753ef429fe70b"
+  dependencies:
+    any-promise "^1.3.0"
+    rimraf "2"
+
 rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@~2.6.2:
   version "2.6.2"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
@@ -5108,6 +6297,10 @@ semver-diff@^2.0.0:
   dependencies:
     semver "^5.0.3"
 
+semver-regex@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
+
 semver-stable@2.0.4:
   version "2.0.4"
   resolved "https://registry.yarnpkg.com/semver-stable/-/semver-stable-2.0.4.tgz#47be279f68a224b5873470029be04155926eaab8"
@@ -5161,6 +6354,14 @@ 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"
 
+simple-get@^1.4.2:
+  version "1.4.3"
+  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-1.4.3.tgz#e9755eda407e96da40c5e5158c9ea37b33becbeb"
+  dependencies:
+    once "^1.3.1"
+    unzip-response "^1.0.0"
+    xtend "^4.0.0"
+
 slash@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
@@ -5211,6 +6412,12 @@ sort-keys@^1.0.0:
   dependencies:
     is-plain-obj "^1.0.0"
 
+sort-keys@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128"
+  dependencies:
+    is-plain-obj "^1.0.0"
+
 sorted-object@~2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc"
@@ -5272,7 +6479,7 @@ split2@^1.0.0:
   dependencies:
     through2 "~2.0.0"
 
-split2@^2.0.0:
+split2@^2.0.0, split2@^2.1.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493"
   dependencies:
@@ -5308,7 +6515,7 @@ sshpk@^1.7.0:
     jsbn "~0.1.0"
     tweetnacl "~0.14.0"
 
-ssri@^4.1.2, ssri@^4.1.6:
+ssri@^4.1.2, ssri@^4.1.6, ssri@~4.1.6:
   version "4.1.6"
   resolved "https://registry.yarnpkg.com/ssri/-/ssri-4.1.6.tgz#0cb49b6ac84457e7bdd466cb730c3cb623e9a25b"
   dependencies:
@@ -5324,6 +6531,13 @@ stack-utils@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620"
 
+stacktracey@^1.2.87:
+  version "1.2.100"
+  resolved "https://registry.yarnpkg.com/stacktracey/-/stacktracey-1.2.100.tgz#9e32c7a7fa643eaf69a8f9572361339a8afb6b59"
+  dependencies:
+    as-table "^1.0.31"
+    get-source "^1.0.24"
+
 stealthy-require@^1.1.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
@@ -5415,6 +6629,10 @@ strip-bom@^2.0.0:
   dependencies:
     is-utf8 "^0.2.0"
 
+strip-color@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b"
+
 strip-eof@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -5429,6 +6647,72 @@ strip-json-comments@~2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
 
+supi@^0.11.2:
+  version "0.11.2"
+  resolved "https://registry.yarnpkg.com/supi/-/supi-0.11.2.tgz#af888882f36c23b093c0d07d590de3cea8f354d2"
+  dependencies:
+    "@pnpm/check-package" "^1.0.0"
+    "@pnpm/fs-locker" "^1.0.0"
+    "@pnpm/package-requester" "^0.6.0"
+    "@pnpm/pkgid-to-filename" "^1.0.0"
+    "@pnpm/types" "^1.7.0"
+    "@types/byline" "^4.2.31"
+    "@types/common-tags" "^1.2.5"
+    "@types/load-json-file" "^2.0.5"
+    "@types/mz" "^0.0.32"
+    "@types/node" "^9.3.0"
+    "@types/nopt" "^3.0.29"
+    "@types/npm" "^2.0.28"
+    "@types/p-series" "^1.0.0"
+    "@types/ramda" "^0.25.8"
+    "@types/rc" "^0.0.1"
+    "@types/semver" "^5.3.30"
+    "@types/update-notifier" "^1.0.0"
+    "@zkochan/cmd-shim" "^2.2.4"
+    "@zkochan/npm-package-arg" "^1.0.0"
+    arr-flatten "^1.0.1"
+    byline "^5.0.0"
+    common-tags "^1.4.0"
+    cross-spawn "^5.0.0"
+    dependency-path "^1.2.0"
+    encode-registry "^1.0.0"
+    execa "^0.8.0"
+    get-npm-tarball-url "^2.0.0"
+    graceful-fs "^4.1.11"
+    is-ci "^1.0.10"
+    is-inner-link "^2.0.0"
+    is-subdir "^1.0.1"
+    is-windows "^1.0.0"
+    load-json-file "^4.0.0"
+    load-yaml-file "^0.1.0"
+    mkdirp-promise "^5.0.1"
+    mz "^2.7.0"
+    normalize-path "^2.1.1"
+    normalize-registry-url "^1.0.0"
+    npm-lifecycle "^2.0.0"
+    os-homedir "^1.0.2"
+    p-filter "^1.0.0"
+    p-limit "^1.1.0"
+    p-series "^1.0.0"
+    package-store "^0.14.0"
+    path-absolute "^1.0.0"
+    path-exists "^3.0.0"
+    path-name "^1.0.0"
+    pnpm-install-checks "^1.1.0"
+    pnpm-shrinkwrap "^5.1.0"
+    ramda "^0.25.0"
+    read-package-json "^2.0.5"
+    remove-all-except-outer-links "^1.0.0"
+    replace-string "^1.1.0"
+    rimraf-then "^1.0.1"
+    semver "^5.3.0"
+    symlink-dir "^1.1.0"
+    thenify "^3.3.0"
+    validate-npm-package-name "^3.0.0"
+    version-selector-type "^2.0.0"
+    write-pkg "^3.1.0"
+    write-yaml-file "^1.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"
@@ -5445,10 +6729,25 @@ supports-color@^4.0.0:
   dependencies:
     has-flag "^2.0.0"
 
+symbol-observable@^1.0.2:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.1.0.tgz#5c68fd8d54115d9dfb72a84720549222e8db9b32"
+
 symbol-tree@^3.2.1:
   version "3.2.2"
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
 
+symlink-dir@^1.1.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/symlink-dir/-/symlink-dir-1.1.2.tgz#eb367da33401e9c6e95b1ca87efd921cef369852"
+  dependencies:
+    "@types/mz" "0.0.32"
+    "@types/node" "^9.3.0"
+    graceful-fs "^4.1.11"
+    is-windows "^1.0.0"
+    mkdirp-promise "^5.0.0"
+    mz "^2.4.0"
+
 table@^4.0.1:
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
@@ -5460,6 +6759,15 @@ table@^4.0.1:
     slice-ansi "1.0.0"
     string-width "^2.1.1"
 
+tar-fs@^1.13.0, tar-fs@^1.14.0:
+  version "1.16.0"
+  resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.0.tgz#e877a25acbcc51d8c790da1c57c9cf439817b896"
+  dependencies:
+    chownr "^1.0.1"
+    mkdirp "^0.5.1"
+    pump "^1.0.0"
+    tar-stream "^1.1.2"
+
 tar-pack@^3.4.0:
   version "3.4.1"
   resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"
@@ -5473,6 +6781,15 @@ tar-pack@^3.4.0:
     tar "^2.2.1"
     uid-number "^0.0.6"
 
+tar-stream@^1.1.2:
+  version "1.5.5"
+  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55"
+  dependencies:
+    bl "^1.0.0"
+    end-of-stream "^1.0.0"
+    readable-stream "^2.0.0"
+    xtend "^4.0.0"
+
 tar@^2.0.0, tar@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
@@ -5481,6 +6798,17 @@ tar@^2.0.0, tar@^2.2.1:
     fstream "^1.0.2"
     inherits "2"
 
+tar@^4.0.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-4.2.0.tgz#7e2bdadf55a4a04bf64a9d2680b4455e7c61d45e"
+  dependencies:
+    chownr "^1.0.1"
+    fs-minipass "^1.2.3"
+    minipass "^2.2.1"
+    minizlib "^1.1.0"
+    mkdirp "^0.5.0"
+    yallist "^3.0.2"
+
 tar@^4.0.2:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/tar/-/tar-4.1.1.tgz#82fab90e34ac7575f925084de66cc0d2b4a4e040"
@@ -5492,6 +6820,16 @@ tar@^4.0.2:
     mkdirp "^0.5.0"
     yallist "^3.0.2"
 
+tar@~4.0.1:
+  version "4.0.2"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-4.0.2.tgz#e8e22bf3eec330e5c616d415a698395e294e8fad"
+  dependencies:
+    chownr "^1.0.1"
+    minipass "^2.2.1"
+    minizlib "^1.0.4"
+    mkdirp "^0.5.0"
+    yallist "^3.0.2"
+
 term-size@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
@@ -5512,10 +6850,22 @@ text-extensions@^1.0.0:
   version "1.7.0"
   resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.7.0.tgz#faaaba2625ed746d568a23e4d0aacd9bf08a8b39"
 
-text-table@~0.2.0:
+text-table@^0.2.0, text-table@~0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
 
+thenify-all@^1.0.0:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
+  dependencies:
+    thenify ">= 3.1.0 < 4"
+
+"thenify@>= 3.1.0 < 4", thenify@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839"
+  dependencies:
+    any-promise "^1.0.0"
+
 throat@^4.0.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
@@ -5526,7 +6876,7 @@ through2-concurrent@^1.1.0:
   dependencies:
     through2 "^2.0.0"
 
-through2@^2.0.0, through2@^2.0.2, through2@~2.0.0:
+through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@~2.0.0:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
   dependencies:
@@ -5541,6 +6891,12 @@ timed-out@^4.0.0, timed-out@^4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
 
+timeout-then@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/timeout-then/-/timeout-then-1.1.0.tgz#0145b06070159c17e2146fd292b01a1bd81e5fbc"
+  dependencies:
+    any-promise "^1.3.0"
+
 tmp-promise@1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-1.0.4.tgz#cfe2131b78392992e756d8692a059dc4b48be7ac"
@@ -5672,6 +7028,13 @@ umask@^1.1.0, umask@~1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d"
 
+unbzip2-stream@^1.0.9:
+  version "1.2.5"
+  resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47"
+  dependencies:
+    buffer "^3.0.1"
+    through "^2.3.6"
+
 underscore@1.8.3, underscore@^1.8.3:
   version "1.8.3"
   resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022"
@@ -5698,10 +7061,23 @@ universalify@^0.1.0:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
 
+unpack-stream@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/unpack-stream/-/unpack-stream-3.0.1.tgz#e6e31965eb356e1e6971660cf11e6309645020e1"
+  dependencies:
+    "@types/node" "^9.3.0"
+    decompress-maybe "^1.0.0"
+    ssri "^5.0.0"
+    tar-fs "^1.14.0"
+
 unpipe@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
 
+unzip-response@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
+
 unzip-response@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
@@ -5715,7 +7091,7 @@ upath@1.0.2:
     lodash.isstring "^4.0.1"
     lodash.startswith "^4.2.1"
 
-update-notifier@^2.2.0, update-notifier@~2.3.0:
+update-notifier@^2.1.0, update-notifier@^2.2.0, update-notifier@~2.3.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451"
   dependencies:
@@ -5729,6 +7105,19 @@ update-notifier@^2.2.0, update-notifier@~2.3.0:
     semver-diff "^2.0.0"
     xdg-basedir "^3.0.0"
 
+update-notifier@~2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f"
+  dependencies:
+    boxen "^1.0.0"
+    chalk "^1.0.0"
+    configstore "^3.0.0"
+    import-lazy "^2.1.0"
+    is-npm "^1.0.0"
+    latest-version "^3.0.0"
+    semver-diff "^2.0.0"
+    xdg-basedir "^3.0.0"
+
 url-join@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.2.tgz#c072756967ad24b8b59e5741551caac78f50b8b7"
@@ -5797,6 +7186,12 @@ verror@1.10.0:
     core-util-is "1.0.2"
     extsprintf "^1.2.0"
 
+version-selector-type@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/version-selector-type/-/version-selector-type-2.0.0.tgz#a250cd5cd02754f714f7af9289102390aafdec21"
+  dependencies:
+    semver "^5.4.1"
+
 vso-node-api@6.2.8-preview:
   version "6.2.8-preview"
   resolved "https://registry.yarnpkg.com/vso-node-api/-/vso-node-api-6.2.8-preview.tgz#99902e626c408716ab90b042705452c88ec1c2f0"
@@ -5864,6 +7259,12 @@ widest-line@^1.0.0:
   dependencies:
     string-width "^1.0.1"
 
+widest-line@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273"
+  dependencies:
+    string-width "^2.1.1"
+
 window-size@0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
@@ -5880,7 +7281,7 @@ wordwrap@~0.0.2:
   version "0.0.3"
   resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
 
-worker-farm@~1.5.1:
+worker-farm@~1.5.0, worker-farm@~1.5.1:
   version "1.5.2"
   resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.2.tgz#32b312e5dc3d5d45d79ef44acc2587491cd729ae"
   dependencies:
@@ -5894,11 +7295,18 @@ wrap-ansi@^2.0.0:
     string-width "^1.0.1"
     strip-ansi "^3.0.1"
 
+wrap-ansi@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"
+  dependencies:
+    string-width "^2.1.1"
+    strip-ansi "^4.0.0"
+
 wrappy@1, wrappy@~1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
 
-write-file-atomic@^1.1.4:
+write-file-atomic@^1.1.4, write-file-atomic@^1.3.1:
   version "1.3.4"
   resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f"
   dependencies:
@@ -5922,6 +7330,34 @@ write-file-atomic@~2.1.0:
     imurmurhash "^0.1.4"
     slide "^1.1.5"
 
+write-json-file@^2.2.0, write-json-file@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f"
+  dependencies:
+    detect-indent "^5.0.0"
+    graceful-fs "^4.1.2"
+    make-dir "^1.0.0"
+    pify "^3.0.0"
+    sort-keys "^2.0.0"
+    write-file-atomic "^2.0.0"
+
+write-pkg@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.1.0.tgz#030a9994cc9993d25b4e75a9f1a1923607291ce9"
+  dependencies:
+    sort-keys "^2.0.0"
+    write-json-file "^2.2.0"
+
+write-yaml-file@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/write-yaml-file/-/write-yaml-file-1.0.0.tgz#7b4bd0df72ca13fbe9d6b0178fd83c077b8ea86b"
+  dependencies:
+    graceful-fs "^4.1.11"
+    js-yaml "^3.8.1"
+    mkdirp "^0.5.1"
+    pify "^2.3.0"
+    write-file-atomic "^1.3.1"
+
 write@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
@@ -5936,7 +7372,7 @@ xml-name-validator@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635"
 
-xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
+xtend@4.0.1, xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
 
@@ -6011,3 +7447,13 @@ yargs@~3.10.0:
 yarn@1.3.2:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.3.2.tgz#5939762581b5b4ddcd3418c0f6be42df3aee195f"
+
+zen-observable@^0.7.0:
+  version "0.7.1"
+  resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.7.1.tgz#f84075c0ee085594d3566e1d6454207f126411b3"
+
+zen-push@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/zen-push/-/zen-push-0.2.1.tgz#ddc33b90f66f9a84237d5f1893970f6be60c3c28"
+  dependencies:
+    zen-observable "^0.7.0"