diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..b479c92 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +version: 2 +updates: + - package-ecosystem: npm + directory: '/' + schedule: + interval: daily + - package-ecosystem: 'github-actions' + directory: '/' + schedule: + # Check for updates to GitHub Actions every weekday + interval: 'daily' diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..5280661 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,22 @@ +name: CI +on: + - push + - pull_request +jobs: + test: + name: Node.js ${{ matrix.node-version }} ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + node: ['latest'] + os: [ubuntu-latest, windows-latest, macOS-latest] + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2.4.1 + with: + node-version: ${{ matrix.node-version }} + - run: git config --global user.name "Github Actions" + - run: git config --global user.email "actions@users.noreply.github.com" + - run: npm ci + - run: npm run lint + - run: npm run test:engines diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 913658d..0000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -os: linux -dist: xenial -language: node_js -node_js: lts/* -jobs: - include: - # - stage: Tests - # name: Unit Tests on OSX - # os: osx - - stage: Tests - name: Unit Tests on Linux - os: linux - - stage: Tests - name: Unit Tests on Windows - os: windows -before_install: -- npm uninstall node-version-use -g -script: -- npm install node-version-use -g -- nvu engines npm test diff --git a/index.js b/index.js index ace657a..adcb565 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,4 @@ module.exports = { spawn: require('./lib/spawn'), + spawnSync: require('./lib/spawnSync'), }; diff --git a/lib/constants.js b/lib/env-path-key.js similarity index 80% rename from lib/constants.js rename to lib/env-path-key.js index 704b1d5..eb2d278 100644 --- a/lib/constants.js +++ b/lib/env-path-key.js @@ -12,7 +12,6 @@ function windowsPathKey() { return pathKey; } -module.exports = { - PATH_KEY: isWindows ? windowsPathKey() : 'PATH', - NODE: isWindows ? 'node.exe' : 'node', +module.exports = function () { + return isWindows ? windowsPathKey() : 'PATH'; }; diff --git a/lib/envForInstallPath.js b/lib/envForInstallPath.js deleted file mode 100644 index 58b2507..0000000 --- a/lib/envForInstallPath.js +++ /dev/null @@ -1,26 +0,0 @@ -var path = require('path'); -var NODE = require('./constants').NODE; -var PATH_KEY = require('./constants').PATH_KEY; - -var isWindows = process.platform === 'win32'; - -module.exports = function envForInstallPath(env, installPath) { - var installEnv = {}; - installEnv.npm_config_binroot = isWindows ? installPath : path.join(installPath, 'bin'); - installEnv.npm_config_root = isWindows ? installPath : path.join(installPath, 'lib'); - installEnv.npm_config_man = isWindows ? installPath : path.join(installPath, 'man'); - installEnv.npm_config_prefix = installPath; - installEnv.npm_node_execpath = path.join(installEnv.npm_config_binroot, NODE); - - // copy the environment not for npm and skip case-insesitive additional paths - for (var key in env) { - var lowerKey = key.toLowerCase(); - if (lowerKey.indexOf('npm_') === 0) continue; - if (lowerKey === 'path' && key !== PATH_KEY) continue; - installEnv[key] = env[key]; - } - - // override node - if (installEnv.NODE !== undefined) installEnv.NODE = installEnv.npm_node_execpath; - return installEnv; -}; diff --git a/lib/spawn.js b/lib/spawn.js index 0fc65d7..2cea1e6 100644 --- a/lib/spawn.js +++ b/lib/spawn.js @@ -1,15 +1,9 @@ -var assign = require('object-assign'); var crossSpawn = require('cross-spawn-cb'); -var prepend = require('path-string-prepend'); -var envForInstallPath = require('./envForInstallPath'); -var PATH_KEY = require('./constants').PATH_KEY; +var spawnOptions = require('./spawnOptions'); function spawn(installPath, command, args, options, callback) { - // put the path to node and npm at the front and remove nvs - var env = envForInstallPath(process.env, installPath); - env[PATH_KEY] = prepend(env[PATH_KEY] || '', env.npm_config_binroot); - crossSpawn(command, args, assign({}, options, { cwd: process.cwd(), env: env, execPath: env.npm_node_execpath, path: env[PATH_KEY] }), callback); + crossSpawn(command, args, spawnOptions(installPath, options), callback); } module.exports = function spawnWrapper(installPath, command, args, options, callback) { diff --git a/lib/spawnOptions.js b/lib/spawnOptions.js new file mode 100644 index 0000000..70c5799 --- /dev/null +++ b/lib/spawnOptions.js @@ -0,0 +1,32 @@ +var path = require('path'); +var assign = require('object-assign'); +var prepend = require('path-string-prepend'); +var NODE = process.platform === 'win32' ? 'node.exe' : 'node'; +var PATH_KEY = require('./env-path-key')(); + +var isWindows = process.platform === 'win32'; + +module.exports = function envForInstallPath(installPath, options) { + var processEnv = process.env; + var env = {}; + env.npm_config_binroot = isWindows ? installPath : path.join(installPath, 'bin'); + env.npm_config_root = isWindows ? installPath : path.join(installPath, 'lib'); + env.npm_config_man = isWindows ? installPath : path.join(installPath, 'man'); + env.npm_config_prefix = installPath; + env.npm_node_execpath = path.join(env.npm_config_binroot, NODE); + + // copy the environment not for npm and skip case-insesitive additional paths + for (var key in processEnv) { + var lowerKey = key.toLowerCase(); + if (lowerKey.indexOf('npm_') === 0) continue; + if (lowerKey === 'path' && key !== PATH_KEY) continue; + env[key] = processEnv[key]; + } + + // override node + if (env.NODE !== undefined) env.NODE = env.npm_node_execpath; + + // put the path to node and npm at the front and remove nvs + env[PATH_KEY] = prepend(env[PATH_KEY] || '', env.npm_config_binroot); + return assign({}, options, { cwd: process.cwd(), env: env, execPath: env.npm_node_execpath, path: env[PATH_KEY] }); +}; diff --git a/lib/spawnSync.js b/lib/spawnSync.js new file mode 100644 index 0000000..644952d --- /dev/null +++ b/lib/spawnSync.js @@ -0,0 +1,6 @@ +var crossSpawn = require('cross-spawn-cb'); +var spawnOptions = require('./spawnOptions'); + +module.exports = function spawnSync(installPath, command, args, options) { + return crossSpawn.sync(command, args, spawnOptions(installPath, options)); +}; diff --git a/package-lock.json b/package-lock.json index e3dae70..381f351 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,22 @@ { "name": "node-version-utils", - "version": "0.1.18", + "version": "0.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "0.1.18", + "name": "node-version-utils", + "version": "0.2.0", "license": "MIT", "dependencies": { - "cross-spawn-cb": "^0.3.1", + "cross-spawn-cb": "^0.4.1", "object-assign": "^4.1.1", "path-string-prepend": "^0.2.0" }, "devDependencies": { "babel-eslint": "^10.1.0", "cr": "^0.1.0", - "depcheck": "^1.0.0", + "depcheck": "^1.4.2", "dis-dat": "^0.1.3", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", @@ -28,13 +29,14 @@ "lodash.find": "^4.6.0", "match-semver": "^0.1.0", "mocha-compat": "^3.5.5", - "node-install-release": "^0.1.31", - "prettier": "^2.3.2", + "node-install-release": "^0.2.2", + "node-version-use": "^0.2.0", + "prettier": "^2.4.1", "rimraf": "^2.7.1", "semver": "^5.7.1" }, "engines": { - "node": ">=0.12" + "node": ">=0.10" } }, "node_modules/@babel/code-frame": { @@ -723,6 +725,11 @@ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -899,6 +906,20 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "node_modules/consolidate": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", @@ -924,10 +945,9 @@ } }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { "version": "7.0.0", @@ -965,17 +985,19 @@ } }, "node_modules/cross-spawn-cb": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.1.tgz", - "integrity": "sha512-oYLVTBE4ojdiSjjOOGez3waEq0hwaCKS9WgI57gQ+fqSaHYhd4ZJO+g4kr1uBHZCYeXc4aTkjYQ2uIhm2qRz0w==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.4.1.tgz", + "integrity": "sha512-67QerJViF2JMkkOJvGXdbWF1TWah/Xrl5P8Fuk4THc+R+4YImfmXdtaf8cFLN0/OCPUR5CY/Her4xdbzUyy9Gw==", "dependencies": { "cross-spawn": "^5.1.0", "next-tick": "^1.1.0", "object-assign": "^4.1.1", - "once": "^1.4.0" + "once": "^1.4.0", + "spawn-sync": "^1.0.15", + "try-thread-sleep": "^1.0.2" }, "engines": { - "node": ">=0.8.0" + "node": ">=0.8" } }, "node_modules/cssesc": { @@ -1138,6 +1160,22 @@ "node": ">=0.8.0" } }, + "node_modules/dis-dat/node_modules/cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1823,16 +1861,15 @@ "dev": true }, "node_modules/fast-extract": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/fast-extract/-/fast-extract-0.2.9.tgz", - "integrity": "sha512-HUbehSAAdubdbxlM7f3qwL5nYnF+CCurCsDgVWQIwGDz2FXXD9XLXiThKYTsQC+3RP2M6fvS1fRlOdR17IKyUw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/fast-extract/-/fast-extract-0.3.1.tgz", + "integrity": "sha512-FwV1/l9BgPMejU8KFTuYyrl/vKYktuaqjIZz0W1a4kKmiZrybg2oXS7dUHL+AEGbDF88V8SRLHFDUAsVTeIQQA==", "dev": true, "dependencies": { "bl": "^3.0.0", "content-disposition": "^0.5.3", "end-of-stream": "^1.4.4", "flush-write-stream": "^2.0.0", - "graceful-fs": "^4.2.6", "lodash.throttle": "^4.1.1", "mkpath": "^1.0.0", "mock-require-lazy": "^1.0.0", @@ -1841,18 +1878,18 @@ "once": "^1.4.0", "progress-stream": "^2.0.0", "pumpify": "^2.0.1", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "readable-stream": "^2.3.7", "require_optional": "^1.0.1", "rimraf": "^2.7.1", - "signal-exit": "^3.0.3", - "tar-iterator": "^0.1.10", + "signal-exit": "^3.0.5", + "tar-iterator": "^0.2.3", "temp-suffix": "^0.1.0", "unbzip2-stream": "^1.4.3", - "zip-iterator": "^0.1.10" + "zip-iterator": "^0.1.11" }, "engines": { - "node": ">=0.12" + "node": ">=0.8" } }, "node_modules/fast-json-stable-stringify": { @@ -1877,18 +1914,18 @@ } }, "node_modules/fetch-json-cache": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/fetch-json-cache/-/fetch-json-cache-0.1.7.tgz", - "integrity": "sha512-ifZVCMddtoqHab+fNk/It3DemHCXsGDSmQDPzhDcBHqSVBJgl0d6uTv5dlXWtd/QLN7B2CBdKCnGY27rWuUnLw==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/fetch-json-cache/-/fetch-json-cache-0.1.10.tgz", + "integrity": "sha512-c2zvgidd9cy882pv25iifWnK2nVzYPs6aL2RLa3WRfxtnx1UqoPPQ/4OmWt5pdX7PKXl6ZH6rUD+HtifgnH2WQ==", "dev": true, "dependencies": { - "get-remote": "^0.5.8", + "get-remote": "^0.6.1", "mkpath": "^1.0.0", "rimraf": "^2.7.1", "write-file-atomic": "^1.3.4" }, "engines": { - "node": ">=0.8.0" + "node": ">=0.8" } }, "node_modules/fifo": { @@ -2084,9 +2121,9 @@ } }, "node_modules/get-remote": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/get-remote/-/get-remote-0.5.8.tgz", - "integrity": "sha512-M3dKAbtdaFu4fscwbmE7DrntWryB6LGc6FpxEH6gc5UqGj/Y3+KXkqhoFiTYpXHKqAkbhwIRj+cjzEP6EP400A==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/get-remote/-/get-remote-0.6.1.tgz", + "integrity": "sha512-U8slxLAQUH1X/freDI5G9tWwgx1YoQKYpO1QBMfABxQ19rklzbEmnliWR6420nYJc+aV/Q8ROfCet/9XnRdlmw==", "dev": true, "dependencies": { "content-disposition": "^0.5.3", @@ -2375,8 +2412,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/inquirer": { "version": "7.3.3", @@ -3287,6 +3323,12 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "optional": true + }, "node_modules/nanoid": { "version": "3.1.23", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", @@ -3317,9 +3359,9 @@ "dev": true }, "node_modules/node-filename-to-dist-paths": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/node-filename-to-dist-paths/-/node-filename-to-dist-paths-0.1.5.tgz", - "integrity": "sha512-F/wVJAcf6CjdSrbYXs7l0JScrfuVlW/FSFBmqoyjBim7DHbhj8m0X816m4wJCOhCH/PaK8kCi5u+d5FJEsxWwg==", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/node-filename-to-dist-paths/-/node-filename-to-dist-paths-0.1.7.tgz", + "integrity": "sha512-i6WmhUiVw+/MQZCLraj/WqPpq5bCkZZohLfsPar379S89wJLXAoN/Nnbh5fmonpbcsz29OI3UbKEkfDXgMX4gg==", "dev": true, "dependencies": { "lodash.find": "^4.6.0", @@ -3331,30 +3373,30 @@ } }, "node_modules/node-install-release": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/node-install-release/-/node-install-release-0.1.31.tgz", - "integrity": "sha512-VoEzWtL+sB2LQBr1dm/2E6VBp0314pSaEitfitsN7AyV+2HR0+ShMq1o6teOyNBHcdEQz56yOXaSjC4dhp+TOw==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/node-install-release/-/node-install-release-0.2.2.tgz", + "integrity": "sha512-YpKkQc9/tmbhk8sX6VqICLeEVyb7WHdWmMBCQGMrDT2PAnVynurJnG+epKTJqLnSiJxsWqmKf2nBKAVb85i4ew==", "dev": true, "dependencies": { "arch": "^2.2.0", "cross-spawn-cb": "^0.3.1", "end-with": "^1.0.2", "exit": "^0.1.2", - "fast-extract": "^0.2.9", + "fast-extract": "^0.3.0", "fs-access-compat": "^1.0.2", - "get-remote": "^0.5.8", + "get-remote": "^0.6.0", "getopts-compat": "^2.2.5", "isarray": "^2.0.5", "lodash.find": "^4.6.0", "lodash.keys": "^4.2.0", "match-semver": "^0.1.0", "mkpath": "^1.0.0", - "node-filename-to-dist-paths": "^0.1.5", - "node-resolve-versions": "^0.1.6", + "node-filename-to-dist-paths": "^0.1.7", + "node-resolve-versions": "^0.2.1", "object-assign": "^4.1.1", "osenv": "^0.1.5", "pump": "^3.0.0", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "rimraf": "^2.7.1", "single-line-log2": "^1.1.3" }, @@ -3365,7 +3407,98 @@ "node": ">=0.12" } }, + "node_modules/node-install-release/node_modules/cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/node-resolve-versions": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/node-resolve-versions/-/node-resolve-versions-0.2.2.tgz", + "integrity": "sha512-0B3nDhlzoeJ330EJzxCqSN+MWlaX+glyqox9G67fRF1uPZXOWjXoA00sz5tpuU4Gy0+Z8kfRkwDANlBKETX/mg==", + "dev": true, + "dependencies": { + "isarray": "^2.0.5", + "lodash.uniq": "^4.5.0", + "node-semvers": "^0.5.1", + "queue-cb": "^1.1.6", + "semver": "^5.7.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/node-semvers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/node-semvers/-/node-semvers-0.5.1.tgz", + "integrity": "sha512-6VIPvGHsrvIpxmxetF7CmAOO71F1AdrxKI7/YxZUZeMhjQrbMY6jMn/7DQ0HGV4DaZnmsYFtDWUJtckr31tF0A==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "exit": "^0.1.2", + "fetch-json-cache": "^0.1.10", + "getopts-compat": "^2.2.5", + "isarray": "^2.0.5", + "semver": "^5.7.1" + }, + "bin": { + "nsv": "bin/node-semvers.js" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/node-version-use": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-version-use/-/node-version-use-0.2.0.tgz", + "integrity": "sha512-+4Yelf3L4L8if7MXwxrQvJ7iV7Cp8+aU3C6kF/WJRzie8ryfVsAeL18U8OOhdVdsag/oLFQW80ST/LgY9fbwHw==", + "dev": true, + "dependencies": { + "cross-spawn-cb": "^0.3.1", + "exit": "^0.1.2", + "getopts-compat": "^2.2.5", + "node-install-release": "^0.2.0", + "node-resolve-versions": "^0.1.6", + "node-version-utils": "^0.2.0", + "object-assign": "^4.1.1", + "osenv": "^0.1.5", + "queue-cb": "^1.1.5" + }, + "bin": { + "nvu": "bin/node-version-use.js" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/node-version-use/node_modules/cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/node-version-use/node_modules/node-resolve-versions": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/node-resolve-versions/-/node-resolve-versions-0.1.6.tgz", "integrity": "sha512-UgpOBoSwyA+DCHsLt5ksuSQy7GicAS+yZmXmwG2F9pptCAnm1aB3ccLR6iv9RzoV10QPIt/6+P6T7xHvdjNd1w==", @@ -3381,7 +3514,7 @@ "node": ">=0.8" } }, - "node_modules/node-semvers": { + "node_modules/node-version-use/node_modules/node-semvers": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/node-semvers/-/node-semvers-0.4.19.tgz", "integrity": "sha512-k78/7Pz/L9vVIosgJ/KYYLusJkXxTQp4xfrW6ndazsTR2oFnmD/JvvjKgJkh0JOEPXx95hulN9KwkpnTwbBPQg==", @@ -3401,6 +3534,36 @@ "node": ">=0.8.0" } }, + "node_modules/node-version-utils": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-version-utils/-/node-version-utils-0.2.0.tgz", + "integrity": "sha512-nh5OjdAvgVcpD61+WVqPK0URVwj6UuHmN7Rz/iMAO9nb4HDeqeIGFLSjYgM3RYY1fXSX4IAz+ELN1PUR0XTJuA==", + "dev": true, + "dependencies": { + "cross-spawn-cb": "^0.3.1", + "object-assign": "^4.1.1", + "path-string-prepend": "^0.2.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/node-version-utils/node_modules/cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3541,6 +3704,14 @@ "node": ">=0.10.0" } }, + "node_modules/os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -3858,9 +4029,9 @@ } }, "node_modules/prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -3872,8 +4043,7 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/progress": { "version": "2.0.3", @@ -3939,12 +4109,12 @@ } }, "node_modules/queue-cb": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/queue-cb/-/queue-cb-1.1.5.tgz", - "integrity": "sha512-PKsogFZgSyIYn9hFD401ul8RWJnTtdUw+owgvWwhcevsYwY/UvJIeIziibB61CLp7/wry5EWLHmXzjeXr441Nw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/queue-cb/-/queue-cb-1.1.6.tgz", + "integrity": "sha512-oGLYMEZh0x0iLUAklDMXDxyWT8soudeV8hup3akNPdZ6hDxPY8+2vIx9ytUmw0UIQziU3rtTXR8iHpajAj0p9g==", "dev": true, "dependencies": { - "fifo": "^2.3.0" + "fifo": "^2.4.1" }, "engines": { "node": ">=0.8" @@ -3993,7 +4163,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4007,8 +4176,7 @@ "node_modules/readable-stream/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "node_modules/readdirp": { "version": "3.6.0", @@ -4136,8 +4304,7 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -4207,9 +4374,9 @@ } }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", "dev": true }, "node_modules/single-line-log2": { @@ -4325,6 +4492,16 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "node_modules/spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "hasInstallScript": true, + "dependencies": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -4370,13 +4547,13 @@ "dev": true }, "node_modules/stack-base-iterator": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/stack-base-iterator/-/stack-base-iterator-0.1.5.tgz", - "integrity": "sha512-2ilRSQHTnZcZ5P/w1fL9O6T0f36PnKi/2Q71jWlsaJHi7LHF5Seg7mcFqMVYkX0NHivPpX3RBCvclMseHU/HaA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/stack-base-iterator/-/stack-base-iterator-0.1.6.tgz", + "integrity": "sha512-z0fJ+1FkhN0n6RaQeqxaxtiOWTYC3my77Iq1kHitb3DVJOlqyGYznGjF95T/JuGgsr0sXA8iNe7rx5in9WT51g==", "dev": true, "dependencies": { "async-compat": "^1.4.6", - "fifo": "^2.3.0", + "fifo": "^2.4.1", "inherits": "^2.0.4", "maximize-iterator": "^2.6.5", "object-assign": "^4.1.1", @@ -4396,7 +4573,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -4567,32 +4743,31 @@ } }, "node_modules/tar-iterator": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tar-iterator/-/tar-iterator-0.1.10.tgz", - "integrity": "sha512-J/OrVzmaOjb9i9Tl0NyTnTgUF+1tCi+dhos31I3Cla26qhGMjfew9d33heBRrt6RwyS61G13vFIkh+sqJ2HmMA==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tar-iterator/-/tar-iterator-0.2.3.tgz", + "integrity": "sha512-AJy5c2p02eC3eEWItKxL/eyJAXymJN5UpAfcbhqQQCZEbDiFNjkHtlM44gD0qnT18XDeGW4i0n66reeb6D8ouA==", "dev": true, "dependencies": { "end-of-stream": "^1.4.4", "extract-base-iterator": "^0.2.5", "fs-access-compat": "^1.0.2", - "graceful-fs": "^4.2.4", "inherits": "^2.0.4", "lodash.compact": "^3.0.1", "mkpath": "^1.0.0", "object-assign": "^4.1.1", "once": "^1.4.0", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "rimraf": "^2.7.1", - "tar-stream-compat": "^2.1.4" + "tar-stream-compat": "^2.1.5" }, "engines": { "node": ">=0.8" } }, "node_modules/tar-stream-compat": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-stream-compat/-/tar-stream-compat-2.1.4.tgz", - "integrity": "sha512-7dcOrsQKyMlSjeti+zRcO6nCKcYplOcX7shssC8Cxb+x8x38wfHSYoUCoLRTP6xm9Kt8K6fWk7zT+g2hiOdQmw==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/tar-stream-compat/-/tar-stream-compat-2.1.5.tgz", + "integrity": "sha512-hhIcRHj6S+y7IDR+VO8IcOjPUsAJ+50POvGK1fDFqbOTLTs/J7YA07TUgvpSkYkYuRUfYsuAFM/0SrvrdIZMdQ==", "dev": true, "dependencies": { "bl": "^2.2.0", @@ -4634,87 +4809,1296 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, + "node_modules/thread-sleep": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/thread-sleep/-/thread-sleep-1.0.4.tgz", + "integrity": "sha1-dIVZCmFvH7ls+n6rsGOv8BK0d9M=", + "bundleDependencies": [ + "node-pre-gyp" + ], + "hasInstallScript": true, + "optional": true, "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, + "nan": "^2.0.9", + "node-pre-gyp": "^0.6.2" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp": { + "version": "0.6.9", + "bundleDependencies": [ + "nopt", + "npmlog", + "request", + "semver", + "tar", + "tar-pack", + "mkdirp", + "rc", + "rimraf" + ], + "inBundle": true, + "license": "BSD", + "optional": true, "dependencies": { - "os-tmpdir": "~1.0.2" + "mkdirp": "~0.5.0", + "nopt": "~3.0.1", + "npmlog": "~1.2.0", + "rc": "~1.1.0", + "request": "2.x", + "rimraf": "~2.4.0", + "semver": "~5.0.1", + "tar": "~2.1.0", + "tar-pack": "~2.0.0" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" }, "engines": { - "node": ">=0.6.0" + "node": ">= 0.8.0" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/mkdirp": { + "version": "0.5.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/mkdirp/node_modules/minimist": { + "version": "0.0.8", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/nopt": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "is-number": "^7.0.0" + "abbrev": "1" }, - "engines": { - "node": ">=8.0" + "bin": { + "nopt": "bin/nopt.js" } }, - "node_modules/tsconfig-paths": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", - "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", - "dev": true, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/nopt/node_modules/abbrev": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog": { + "version": "1.2.1", + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "json5": "^2.2.0", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" + "ansi": "~0.3.0", + "are-we-there-yet": "~1.0.0", + "gauge": "~1.2.0" } }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/ansi": { + "version": "0.3.0", + "inBundle": true, + "optional": true }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC", + "optional": true, "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "delegates": "^0.1.0", + "readable-stream": "^1.1.13" } }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates": { + "version": "0.1.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "1.1.13", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/core-util-is": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/isarray": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/string_decoder": { + "version": "0.10.31", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge": { + "version": "1.2.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "ansi": "^0.3.0", + "has-unicode": "^1.0.0", + "lodash.pad": "^3.0.0", + "lodash.padleft": "^3.0.0", + "lodash.padright": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash._basetostring": "^3.0.0", + "lodash._createpadding": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._createpadding": { + "version": "3.6.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash.repeat": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._createpadding/node_modules/lodash.repeat": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash._basetostring": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash._basetostring": "^3.0.0", + "lodash._createpadding": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/node_modules/lodash._basetostring": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/node_modules/lodash._createpadding": { + "version": "3.6.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash.repeat": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/node_modules/lodash._createpadding/node_modules/lodash.repeat": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash._basetostring": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright": { + "version": "3.1.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash._basetostring": "^3.0.0", + "lodash._createpadding": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/node_modules/lodash._basetostring": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/node_modules/lodash._createpadding": { + "version": "3.6.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash.repeat": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/node_modules/lodash._createpadding/node_modules/lodash.repeat": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lodash._basetostring": "^3.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rc": { + "version": "1.1.0", + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "~0.2.5", + "ini": "~1.3.0", + "minimist": "^1.1.2", + "strip-json-comments": "0.1.x" + }, + "bin": { + "rc": "index.js" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rc/node_modules/deep-extend": { + "version": "0.2.11", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rc/node_modules/ini": { + "version": "1.3.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rc/node_modules/minimist": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rc/node_modules/strip-json-comments": { + "version": "0.1.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "bin": { + "strip-json-comments": "cli.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request": { + "version": "2.60.0", + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "aws-sign2": "~0.5.0", + "bl": "~1.0.0", + "caseless": "~0.11.0", + "combined-stream": "~1.0.1", + "extend": "~3.0.0", + "forever-agent": "~0.6.0", + "form-data": "~1.0.0-rc1", + "har-validator": "^1.6.1", + "hawk": "~3.1.0", + "http-signature": "~0.11.0", + "isstream": "~0.1.1", + "json-stringify-safe": "~5.0.0", + "mime-types": "~2.1.2", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.8.0", + "qs": "~4.0.0", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/aws-sign2": { + "version": "0.5.0", + "inBundle": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "readable-stream": "~2.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl/node_modules/readable-stream": { + "version": "2.0.2", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "process-nextick-args": "~1.0.0", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder": { + "version": "0.10.31", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/caseless": { + "version": "0.11.0", + "inBundle": true, + "license": "Apache-2.0", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/combined-stream": { + "version": "1.0.5", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/extend": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/forever-agent": { + "version": "0.6.1", + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data": { + "version": "1.0.0-rc2", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "async": "^1.2.1", + "combined-stream": "^1.0.3", + "mime-types": "^2.1.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/async": { + "version": "1.4.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator": { + "version": "1.8.0", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "bluebird": "^2.9.30", + "chalk": "^1.0.0", + "commander": "^2.8.1", + "is-my-json-valid": "^2.12.0" + }, + "bin": { + "har-validator": "bin/har-validator" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/bluebird": { + "version": "2.9.34", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^2.1.0", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles": { + "version": "2.1.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/commander": { + "version": "2.8.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid": { + "version": "2.12.1", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^1.1.0", + "xtend": "^4.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property": { + "version": "1.2.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer": { + "version": "1.1.0", + "engines": [ + "node >= 0.4.9" + ], + "inBundle": true, + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend": { + "version": "4.0.0", + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk": { + "version": "3.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boom": "^2.8.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/boom": { + "version": "2.8.0", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/cryptiles": { + "version": "2.0.4", + "inBundle": true, + "optional": true, + "dependencies": { + "boom": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/hoek": { + "version": "2.14.0", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/sntp": { + "version": "1.0.9", + "inBundle": true, + "optional": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature": { + "version": "0.11.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/asn1": { + "version": "0.1.11", + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.4.9" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/assert-plus": { + "version": "0.1.5", + "inBundle": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/ctype": { + "version": "0.5.3", + "inBundle": true, + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/isstream": { + "version": "0.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/json-stringify-safe": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/mime-types": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "mime-db": "~1.15.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/mime-types/node_modules/mime-db": { + "version": "1.15.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/node-uuid": { + "version": "1.4.3", + "inBundle": true, + "optional": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/oauth-sign": { + "version": "0.8.0", + "inBundle": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/qs": { + "version": "4.0.0", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/stringstream": { + "version": "0.0.4", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/tough-cookie": { + "version": "2.0.0", + "inBundle": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/request/node_modules/tunnel-agent": { + "version": "0.4.1", + "inBundle": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf": { + "version": "2.4.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "glob": "^5.0.14" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob": { + "version": "5.0.14", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inflight": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/minimatch": { + "version": "2.0.10", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { + "version": "1.1.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^0.2.0", + "concat-map": "0.0.1" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once": { + "version": "1.3.2", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/semver": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar": { + "version": "2.1.1", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack": { + "version": "2.0.0", + "inBundle": true, + "license": "BSD", + "optional": true, + "dependencies": { + "debug": "~0.7.2", + "fstream": "~0.1.22", + "fstream-ignore": "0.0.7", + "once": "~1.1.1", + "readable-stream": "~1.0.2", + "rimraf": "~2.2.0", + "tar": "~0.1.17", + "uid-number": "0.0.3" + }, + "optionalDependencies": { + "graceful-fs": "1.2" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/debug": { + "version": "0.7.4", + "inBundle": true, + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream": { + "version": "0.1.31", + "inBundle": true, + "license": "BSD", + "optional": true, + "dependencies": { + "graceful-fs": "~3.0.2", + "inherits": "~2.0.0", + "mkdirp": "0.5", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore": { + "version": "0.0.7", + "inBundle": true, + "license": "BSD", + "optional": true, + "dependencies": { + "fstream": "~0.1.17", + "inherits": "2", + "minimatch": "~0.2.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch": { + "version": "0.2.14", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch/node_modules/lru-cache": { + "version": "2.6.5", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch/node_modules/sigmund": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/graceful-fs": { + "version": "3.0.8", + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/graceful-fs": { + "version": "1.2.3", + "inBundle": true, + "license": "BSD", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/once": { + "version": "1.1.1", + "inBundle": true, + "license": "BSD", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream": { + "version": "1.0.33", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/isarray": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/string_decoder": { + "version": "0.10.31", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf": { + "version": "2.2.8", + "inBundle": true, + "license": "MIT", + "optional": true, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar": { + "version": "0.1.20", + "inBundle": true, + "license": "BSD", + "optional": true, + "dependencies": { + "block-stream": "*", + "fstream": "~0.1.28", + "inherits": "2" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/block-stream": { + "version": "0.0.8", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "inherits": "~2.0.0" + }, + "engines": { + "node": "0.4 || >=0.5.8" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/uid-number": { + "version": "0.0.3", + "inBundle": true, + "license": "BSD", + "optional": true, + "engines": { + "node": "*" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar/node_modules/block-stream": { + "version": "0.0.8", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "inherits": "~2.0.0" + }, + "engines": { + "node": "0.4 || >=0.5.8" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "optional": true, + "dependencies": { + "graceful-fs": "3", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/graceful-fs": { + "version": "3.0.8", + "inBundle": true, + "license": "ISC", + "optional": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/thread-sleep/node_modules/node-pre-gyp/node_modules/tar/node_modules/inherits": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "optional": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/try-thread-sleep": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/try-thread-sleep/-/try-thread-sleep-1.0.2.tgz", + "integrity": "sha1-weCTJr6DrpsWE9QfUwPw6neK6FU=", + "optionalDependencies": { + "thread-sleep": "^1.0.4" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", + "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", + "dev": true, + "dependencies": { + "json5": "^2.2.0", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { @@ -4724,6 +6108,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, "node_modules/unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -4770,8 +6159,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "node_modules/v8-compile-cache": { "version": "2.3.0", @@ -5006,22 +6394,21 @@ } }, "node_modules/zip-iterator": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/zip-iterator/-/zip-iterator-0.1.10.tgz", - "integrity": "sha512-6PcnIsezR3yD73ijjFRRiR8bRPnP/czlEQjRScKd3wpZoUu1y2eXt4P4LmmpSR9bJ4fGyfLTJ6cLwrOIiDpwTQ==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/zip-iterator/-/zip-iterator-0.1.11.tgz", + "integrity": "sha512-cGQwrwaJys+P9rLn3CUFk8kCvzsbU3kXZC0M7jFIOZNIBsBCGGV5FmyXfLZ/eX7xapakgYIrVgghcGJfQ5P8jg==", "dev": true, "dependencies": { "end-of-stream": "^1.4.4", "extract-base-iterator": "^0.2.5", "fs-access-compat": "^1.0.2", - "graceful-fs": "^4.2.4", "inherits": "^2.0.4", "lifecycle": "^1.0.4", "lodash.compact": "^3.0.1", "mkpath": "^1.0.0", "next-tick": "^1.1.0", "once": "^1.4.0", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "readable-stream": "^2.3.7", "rimraf": "^2.7.1", "temp-suffix": "^0.1.0", @@ -5559,6 +6946,11 @@ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", "dev": true }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -5699,6 +7091,17 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "consolidate": { "version": "0.16.0", "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", @@ -5718,10 +7121,9 @@ } }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "cosmiconfig": { "version": "7.0.0", @@ -5753,14 +7155,16 @@ } }, "cross-spawn-cb": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.1.tgz", - "integrity": "sha512-oYLVTBE4ojdiSjjOOGez3waEq0hwaCKS9WgI57gQ+fqSaHYhd4ZJO+g4kr1uBHZCYeXc4aTkjYQ2uIhm2qRz0w==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.4.1.tgz", + "integrity": "sha512-67QerJViF2JMkkOJvGXdbWF1TWah/Xrl5P8Fuk4THc+R+4YImfmXdtaf8cFLN0/OCPUR5CY/Her4xdbzUyy9Gw==", "requires": { "cross-spawn": "^5.1.0", "next-tick": "^1.1.0", "object-assign": "^4.1.1", - "once": "^1.4.0" + "once": "^1.4.0", + "spawn-sync": "^1.0.15", + "try-thread-sleep": "^1.0.2" } }, "cssesc": { @@ -5881,6 +7285,21 @@ "object-assign": "^4.1.1", "queue-cb": "^1.1.4", "string-argv": "^0.2.1" + }, + "dependencies": { + "cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "requires": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + } + } } }, "doctrine": { @@ -6407,16 +7826,15 @@ "dev": true }, "fast-extract": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/fast-extract/-/fast-extract-0.2.9.tgz", - "integrity": "sha512-HUbehSAAdubdbxlM7f3qwL5nYnF+CCurCsDgVWQIwGDz2FXXD9XLXiThKYTsQC+3RP2M6fvS1fRlOdR17IKyUw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/fast-extract/-/fast-extract-0.3.1.tgz", + "integrity": "sha512-FwV1/l9BgPMejU8KFTuYyrl/vKYktuaqjIZz0W1a4kKmiZrybg2oXS7dUHL+AEGbDF88V8SRLHFDUAsVTeIQQA==", "dev": true, "requires": { "bl": "^3.0.0", "content-disposition": "^0.5.3", "end-of-stream": "^1.4.4", "flush-write-stream": "^2.0.0", - "graceful-fs": "^4.2.6", "lodash.throttle": "^4.1.1", "mkpath": "^1.0.0", "mock-require-lazy": "^1.0.0", @@ -6425,15 +7843,15 @@ "once": "^1.4.0", "progress-stream": "^2.0.0", "pumpify": "^2.0.1", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "readable-stream": "^2.3.7", "require_optional": "^1.0.1", "rimraf": "^2.7.1", - "signal-exit": "^3.0.3", - "tar-iterator": "^0.1.10", + "signal-exit": "^3.0.5", + "tar-iterator": "^0.2.3", "temp-suffix": "^0.1.0", "unbzip2-stream": "^1.4.3", - "zip-iterator": "^0.1.10" + "zip-iterator": "^0.1.11" } }, "fast-json-stable-stringify": { @@ -6458,12 +7876,12 @@ } }, "fetch-json-cache": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/fetch-json-cache/-/fetch-json-cache-0.1.7.tgz", - "integrity": "sha512-ifZVCMddtoqHab+fNk/It3DemHCXsGDSmQDPzhDcBHqSVBJgl0d6uTv5dlXWtd/QLN7B2CBdKCnGY27rWuUnLw==", + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/fetch-json-cache/-/fetch-json-cache-0.1.10.tgz", + "integrity": "sha512-c2zvgidd9cy882pv25iifWnK2nVzYPs6aL2RLa3WRfxtnx1UqoPPQ/4OmWt5pdX7PKXl6ZH6rUD+HtifgnH2WQ==", "dev": true, "requires": { - "get-remote": "^0.5.8", + "get-remote": "^0.6.1", "mkpath": "^1.0.0", "rimraf": "^2.7.1", "write-file-atomic": "^1.3.4" @@ -6626,9 +8044,9 @@ } }, "get-remote": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/get-remote/-/get-remote-0.5.8.tgz", - "integrity": "sha512-M3dKAbtdaFu4fscwbmE7DrntWryB6LGc6FpxEH6gc5UqGj/Y3+KXkqhoFiTYpXHKqAkbhwIRj+cjzEP6EP400A==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/get-remote/-/get-remote-0.6.1.tgz", + "integrity": "sha512-U8slxLAQUH1X/freDI5G9tWwgx1YoQKYpO1QBMfABxQ19rklzbEmnliWR6420nYJc+aV/Q8ROfCet/9XnRdlmw==", "dev": true, "requires": { "content-disposition": "^0.5.3", @@ -6837,8 +8255,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "inquirer": { "version": "7.3.3", @@ -7569,6 +8986,12 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "optional": true + }, "nanoid": { "version": "3.1.23", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", @@ -7593,9 +9016,9 @@ "dev": true }, "node-filename-to-dist-paths": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/node-filename-to-dist-paths/-/node-filename-to-dist-paths-0.1.5.tgz", - "integrity": "sha512-F/wVJAcf6CjdSrbYXs7l0JScrfuVlW/FSFBmqoyjBim7DHbhj8m0X816m4wJCOhCH/PaK8kCi5u+d5FJEsxWwg==", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/node-filename-to-dist-paths/-/node-filename-to-dist-paths-0.1.7.tgz", + "integrity": "sha512-i6WmhUiVw+/MQZCLraj/WqPpq5bCkZZohLfsPar379S89wJLXAoN/Nnbh5fmonpbcsz29OI3UbKEkfDXgMX4gg==", "dev": true, "requires": { "lodash.find": "^4.6.0", @@ -7604,60 +9027,159 @@ } }, "node-install-release": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/node-install-release/-/node-install-release-0.1.31.tgz", - "integrity": "sha512-VoEzWtL+sB2LQBr1dm/2E6VBp0314pSaEitfitsN7AyV+2HR0+ShMq1o6teOyNBHcdEQz56yOXaSjC4dhp+TOw==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/node-install-release/-/node-install-release-0.2.2.tgz", + "integrity": "sha512-YpKkQc9/tmbhk8sX6VqICLeEVyb7WHdWmMBCQGMrDT2PAnVynurJnG+epKTJqLnSiJxsWqmKf2nBKAVb85i4ew==", "dev": true, "requires": { "arch": "^2.2.0", "cross-spawn-cb": "^0.3.1", "end-with": "^1.0.2", "exit": "^0.1.2", - "fast-extract": "^0.2.9", + "fast-extract": "^0.3.0", "fs-access-compat": "^1.0.2", - "get-remote": "^0.5.8", + "get-remote": "^0.6.0", "getopts-compat": "^2.2.5", "isarray": "^2.0.5", "lodash.find": "^4.6.0", "lodash.keys": "^4.2.0", "match-semver": "^0.1.0", "mkpath": "^1.0.0", - "node-filename-to-dist-paths": "^0.1.5", - "node-resolve-versions": "^0.1.6", + "node-filename-to-dist-paths": "^0.1.7", + "node-resolve-versions": "^0.2.1", "object-assign": "^4.1.1", "osenv": "^0.1.5", "pump": "^3.0.0", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "rimraf": "^2.7.1", "single-line-log2": "^1.1.3" + }, + "dependencies": { + "cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "requires": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + } + } } }, "node-resolve-versions": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/node-resolve-versions/-/node-resolve-versions-0.1.6.tgz", - "integrity": "sha512-UgpOBoSwyA+DCHsLt5ksuSQy7GicAS+yZmXmwG2F9pptCAnm1aB3ccLR6iv9RzoV10QPIt/6+P6T7xHvdjNd1w==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/node-resolve-versions/-/node-resolve-versions-0.2.2.tgz", + "integrity": "sha512-0B3nDhlzoeJ330EJzxCqSN+MWlaX+glyqox9G67fRF1uPZXOWjXoA00sz5tpuU4Gy0+Z8kfRkwDANlBKETX/mg==", "dev": true, "requires": { "isarray": "^2.0.5", "lodash.uniq": "^4.5.0", - "node-semvers": "^0.4.19", - "queue-cb": "^1.1.5", + "node-semvers": "^0.5.1", + "queue-cb": "^1.1.6", "semver": "^5.7.1" } }, "node-semvers": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/node-semvers/-/node-semvers-0.4.19.tgz", - "integrity": "sha512-k78/7Pz/L9vVIosgJ/KYYLusJkXxTQp4xfrW6ndazsTR2oFnmD/JvvjKgJkh0JOEPXx95hulN9KwkpnTwbBPQg==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/node-semvers/-/node-semvers-0.5.1.tgz", + "integrity": "sha512-6VIPvGHsrvIpxmxetF7CmAOO71F1AdrxKI7/YxZUZeMhjQrbMY6jMn/7DQ0HGV4DaZnmsYFtDWUJtckr31tF0A==", "dev": true, "requires": { "exit": "^0.1.2", - "fetch-json-cache": "^0.1.7", + "fetch-json-cache": "^0.1.10", "getopts-compat": "^2.2.5", "isarray": "^2.0.5", "semver": "^5.7.1" } }, + "node-version-use": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-version-use/-/node-version-use-0.2.0.tgz", + "integrity": "sha512-+4Yelf3L4L8if7MXwxrQvJ7iV7Cp8+aU3C6kF/WJRzie8ryfVsAeL18U8OOhdVdsag/oLFQW80ST/LgY9fbwHw==", + "dev": true, + "requires": { + "cross-spawn-cb": "^0.3.1", + "exit": "^0.1.2", + "getopts-compat": "^2.2.5", + "node-install-release": "^0.2.0", + "node-resolve-versions": "^0.1.6", + "node-version-utils": "^0.2.0", + "object-assign": "^4.1.1", + "osenv": "^0.1.5", + "queue-cb": "^1.1.5" + }, + "dependencies": { + "cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "requires": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + } + }, + "node-resolve-versions": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/node-resolve-versions/-/node-resolve-versions-0.1.6.tgz", + "integrity": "sha512-UgpOBoSwyA+DCHsLt5ksuSQy7GicAS+yZmXmwG2F9pptCAnm1aB3ccLR6iv9RzoV10QPIt/6+P6T7xHvdjNd1w==", + "dev": true, + "requires": { + "isarray": "^2.0.5", + "lodash.uniq": "^4.5.0", + "node-semvers": "^0.4.19", + "queue-cb": "^1.1.5", + "semver": "^5.7.1" + } + }, + "node-semvers": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/node-semvers/-/node-semvers-0.4.19.tgz", + "integrity": "sha512-k78/7Pz/L9vVIosgJ/KYYLusJkXxTQp4xfrW6ndazsTR2oFnmD/JvvjKgJkh0JOEPXx95hulN9KwkpnTwbBPQg==", + "dev": true, + "requires": { + "exit": "^0.1.2", + "fetch-json-cache": "^0.1.7", + "getopts-compat": "^2.2.5", + "isarray": "^2.0.5", + "semver": "^5.7.1" + } + } + } + }, + "node-version-utils": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-version-utils/-/node-version-utils-0.2.0.tgz", + "integrity": "sha512-nh5OjdAvgVcpD61+WVqPK0URVwj6UuHmN7Rz/iMAO9nb4HDeqeIGFLSjYgM3RYY1fXSX4IAz+ELN1PUR0XTJuA==", + "dev": true, + "requires": { + "cross-spawn-cb": "^0.3.1", + "object-assign": "^4.1.1", + "path-string-prepend": "^0.2.0" + }, + "dependencies": { + "cross-spawn-cb": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cross-spawn-cb/-/cross-spawn-cb-0.3.2.tgz", + "integrity": "sha512-hhnrVz1Q+0zKbE3OZmKS2+9wEzJLbbBbaxLN15eTTzj6usBa34T8Nyw1hVZUz6/ZvD/YXVTgt1xg0HymgUaJZA==", + "dev": true, + "requires": { + "cross-spawn": "^5.1.0", + "next-tick": "^1.1.0", + "object-assign": "^4.1.1", + "once": "^1.4.0", + "spawn-sync": "^1.0.15" + } + } + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -7759,6 +9281,11 @@ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true }, + "os-shim": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", + "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=" + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -7986,16 +9513,15 @@ "dev": true }, "prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", "dev": true }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { "version": "2.0.3", @@ -8055,12 +9581,12 @@ } }, "queue-cb": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/queue-cb/-/queue-cb-1.1.5.tgz", - "integrity": "sha512-PKsogFZgSyIYn9hFD401ul8RWJnTtdUw+owgvWwhcevsYwY/UvJIeIziibB61CLp7/wry5EWLHmXzjeXr441Nw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/queue-cb/-/queue-cb-1.1.6.tgz", + "integrity": "sha512-oGLYMEZh0x0iLUAklDMXDxyWT8soudeV8hup3akNPdZ6hDxPY8+2vIx9ytUmw0UIQziU3rtTXR8iHpajAj0p9g==", "dev": true, "requires": { - "fifo": "^2.3.0" + "fifo": "^2.4.1" } }, "read-pkg": { @@ -8099,7 +9625,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8113,8 +9638,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" } } }, @@ -8216,8 +9740,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", @@ -8269,9 +9792,9 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", "dev": true }, "single-line-log2": { @@ -8364,6 +9887,15 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "dev": true }, + "spawn-sync": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", + "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", + "requires": { + "concat-stream": "^1.4.7", + "os-shim": "^0.1.2" + } + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -8409,13 +9941,13 @@ "dev": true }, "stack-base-iterator": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/stack-base-iterator/-/stack-base-iterator-0.1.5.tgz", - "integrity": "sha512-2ilRSQHTnZcZ5P/w1fL9O6T0f36PnKi/2Q71jWlsaJHi7LHF5Seg7mcFqMVYkX0NHivPpX3RBCvclMseHU/HaA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/stack-base-iterator/-/stack-base-iterator-0.1.6.tgz", + "integrity": "sha512-z0fJ+1FkhN0n6RaQeqxaxtiOWTYC3my77Iq1kHitb3DVJOlqyGYznGjF95T/JuGgsr0sXA8iNe7rx5in9WT51g==", "dev": true, "requires": { "async-compat": "^1.4.6", - "fifo": "^2.3.0", + "fifo": "^2.4.1", "inherits": "^2.0.4", "maximize-iterator": "^2.6.5", "object-assign": "^4.1.1", @@ -8432,7 +9964,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -8565,29 +10096,28 @@ } }, "tar-iterator": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tar-iterator/-/tar-iterator-0.1.10.tgz", - "integrity": "sha512-J/OrVzmaOjb9i9Tl0NyTnTgUF+1tCi+dhos31I3Cla26qhGMjfew9d33heBRrt6RwyS61G13vFIkh+sqJ2HmMA==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tar-iterator/-/tar-iterator-0.2.3.tgz", + "integrity": "sha512-AJy5c2p02eC3eEWItKxL/eyJAXymJN5UpAfcbhqQQCZEbDiFNjkHtlM44gD0qnT18XDeGW4i0n66reeb6D8ouA==", "dev": true, "requires": { "end-of-stream": "^1.4.4", "extract-base-iterator": "^0.2.5", "fs-access-compat": "^1.0.2", - "graceful-fs": "^4.2.4", "inherits": "^2.0.4", "lodash.compact": "^3.0.1", "mkpath": "^1.0.0", "object-assign": "^4.1.1", "once": "^1.4.0", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "rimraf": "^2.7.1", - "tar-stream-compat": "^2.1.4" + "tar-stream-compat": "^2.1.5" } }, "tar-stream-compat": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-stream-compat/-/tar-stream-compat-2.1.4.tgz", - "integrity": "sha512-7dcOrsQKyMlSjeti+zRcO6nCKcYplOcX7shssC8Cxb+x8x38wfHSYoUCoLRTP6xm9Kt8K6fWk7zT+g2hiOdQmw==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/tar-stream-compat/-/tar-stream-compat-2.1.5.tgz", + "integrity": "sha512-hhIcRHj6S+y7IDR+VO8IcOjPUsAJ+50POvGK1fDFqbOTLTs/J7YA07TUgvpSkYkYuRUfYsuAFM/0SrvrdIZMdQ==", "dev": true, "requires": { "bl": "^2.2.0", @@ -8625,6 +10155,986 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "thread-sleep": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/thread-sleep/-/thread-sleep-1.0.4.tgz", + "integrity": "sha1-dIVZCmFvH7ls+n6rsGOv8BK0d9M=", + "optional": true, + "requires": { + "nan": "^2.0.9", + "node-pre-gyp": "^0.6.2" + }, + "dependencies": { + "node-pre-gyp": { + "version": "0.6.9", + "bundled": true, + "optional": true, + "requires": { + "mkdirp": "~0.5.0", + "nopt": "~3.0.1", + "npmlog": "~1.2.0", + "rc": "~1.1.0", + "request": "2.x", + "rimraf": "~2.4.0", + "semver": "~5.0.1", + "tar": "~2.1.0", + "tar-pack": "~2.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true, + "optional": true + } + } + }, + "nopt": { + "version": "3.0.3", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1" + }, + "dependencies": { + "abbrev": { + "version": "1.0.7", + "bundled": true, + "optional": true + } + } + }, + "npmlog": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "ansi": "~0.3.0", + "are-we-there-yet": "~1.0.0", + "gauge": "~1.2.0" + }, + "dependencies": { + "ansi": { + "version": "0.3.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.0.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^0.1.0", + "readable-stream": "^1.1.13" + }, + "dependencies": { + "delegates": { + "version": "0.1.0", + "bundled": true, + "optional": true + }, + "readable-stream": { + "version": "1.1.13", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "optional": true + } + } + } + } + }, + "gauge": { + "version": "1.2.2", + "bundled": true, + "optional": true, + "requires": { + "ansi": "^0.3.0", + "has-unicode": "^1.0.0", + "lodash.pad": "^3.0.0", + "lodash.padleft": "^3.0.0", + "lodash.padright": "^3.0.0" + }, + "dependencies": { + "has-unicode": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "lodash.pad": { + "version": "3.1.1", + "bundled": true, + "optional": true, + "requires": { + "lodash._basetostring": "^3.0.0", + "lodash._createpadding": "^3.0.0" + }, + "dependencies": { + "lodash._basetostring": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "lodash._createpadding": { + "version": "3.6.1", + "bundled": true, + "optional": true, + "requires": { + "lodash.repeat": "^3.0.0" + }, + "dependencies": { + "lodash.repeat": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "lodash._basetostring": "^3.0.0" + } + } + } + } + } + }, + "lodash.padleft": { + "version": "3.1.1", + "bundled": true, + "optional": true, + "requires": { + "lodash._basetostring": "^3.0.0", + "lodash._createpadding": "^3.0.0" + }, + "dependencies": { + "lodash._basetostring": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "lodash._createpadding": { + "version": "3.6.1", + "bundled": true, + "optional": true, + "requires": { + "lodash.repeat": "^3.0.0" + }, + "dependencies": { + "lodash.repeat": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "lodash._basetostring": "^3.0.0" + } + } + } + } + } + }, + "lodash.padright": { + "version": "3.1.1", + "bundled": true, + "optional": true, + "requires": { + "lodash._basetostring": "^3.0.0", + "lodash._createpadding": "^3.0.0" + }, + "dependencies": { + "lodash._basetostring": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "lodash._createpadding": { + "version": "3.6.1", + "bundled": true, + "optional": true, + "requires": { + "lodash.repeat": "^3.0.0" + }, + "dependencies": { + "lodash.repeat": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "lodash._basetostring": "^3.0.0" + } + } + } + } + } + } + } + } + } + }, + "rc": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "~0.2.5", + "ini": "~1.3.0", + "minimist": "^1.1.2", + "strip-json-comments": "0.1.x" + }, + "dependencies": { + "deep-extend": { + "version": "0.2.11", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "optional": true + }, + "minimist": { + "version": "1.1.2", + "bundled": true, + "optional": true + }, + "strip-json-comments": { + "version": "0.1.3", + "bundled": true, + "optional": true + } + } + }, + "request": { + "version": "2.60.0", + "bundled": true, + "optional": true, + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~1.0.0", + "caseless": "~0.11.0", + "combined-stream": "~1.0.1", + "extend": "~3.0.0", + "forever-agent": "~0.6.0", + "form-data": "~1.0.0-rc1", + "har-validator": "^1.6.1", + "hawk": "~3.1.0", + "http-signature": "~0.11.0", + "isstream": "~0.1.1", + "json-stringify-safe": "~5.0.0", + "mime-types": "~2.1.2", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.8.0", + "qs": "~4.0.0", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + }, + "dependencies": { + "aws-sign2": { + "version": "0.5.0", + "bundled": true, + "optional": true + }, + "bl": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "readable-stream": "~2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.0.2", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "process-nextick-args": "~1.0.0", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.1", + "bundled": true, + "optional": true + } + } + } + } + }, + "caseless": { + "version": "0.11.0", + "bundled": true, + "optional": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "optional": true, + "requires": { + "delayed-stream": "~1.0.0" + }, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "extend": { + "version": "3.0.0", + "bundled": true, + "optional": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "optional": true + }, + "form-data": { + "version": "1.0.0-rc2", + "bundled": true, + "optional": true, + "requires": { + "async": "^1.2.1", + "combined-stream": "^1.0.3", + "mime-types": "^2.1.1" + }, + "dependencies": { + "async": { + "version": "1.4.0", + "bundled": true, + "optional": true + } + } + }, + "har-validator": { + "version": "1.8.0", + "bundled": true, + "optional": true, + "requires": { + "bluebird": "^2.9.30", + "chalk": "^1.0.0", + "commander": "^2.8.1", + "is-my-json-valid": "^2.12.0" + }, + "dependencies": { + "bluebird": { + "version": "2.9.34", + "bundled": true, + "optional": true + }, + "chalk": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "ansi-styles": "^2.1.0", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.1.0", + "bundled": true, + "optional": true + }, + "escape-string-regexp": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "has-ansi": { + "version": "2.0.0", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "bundled": true, + "optional": true + } + } + }, + "strip-ansi": { + "version": "3.0.0", + "bundled": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "bundled": true, + "optional": true + } + } + }, + "supports-color": { + "version": "2.0.0", + "bundled": true, + "optional": true + } + } + }, + "commander": { + "version": "2.8.1", + "bundled": true, + "optional": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + }, + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "bundled": true, + "optional": true + } + } + }, + "is-my-json-valid": { + "version": "2.12.1", + "bundled": true, + "optional": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^1.1.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "generate-function": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "bundled": true, + "optional": true, + "requires": { + "is-property": "^1.0.0" + }, + "dependencies": { + "is-property": { + "version": "1.0.2", + "bundled": true, + "optional": true + } + } + }, + "jsonpointer": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "xtend": { + "version": "4.0.0", + "bundled": true, + "optional": true + } + } + } + } + }, + "hawk": { + "version": "3.1.0", + "bundled": true, + "optional": true, + "requires": { + "boom": "^2.8.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "dependencies": { + "boom": { + "version": "2.8.0", + "bundled": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "cryptiles": { + "version": "2.0.4", + "bundled": true, + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "hoek": { + "version": "2.14.0", + "bundled": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "optional": true, + "requires": { + "hoek": "2.x.x" + } + } + } + }, + "http-signature": { + "version": "0.11.0", + "bundled": true, + "optional": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + }, + "dependencies": { + "asn1": { + "version": "0.1.11", + "bundled": true, + "optional": true + }, + "assert-plus": { + "version": "0.1.5", + "bundled": true, + "optional": true + }, + "ctype": { + "version": "0.5.3", + "bundled": true, + "optional": true + } + } + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "optional": true + }, + "mime-types": { + "version": "2.1.3", + "bundled": true, + "optional": true, + "requires": { + "mime-db": "~1.15.0" + }, + "dependencies": { + "mime-db": { + "version": "1.15.0", + "bundled": true, + "optional": true + } + } + }, + "node-uuid": { + "version": "1.4.3", + "bundled": true, + "optional": true + }, + "oauth-sign": { + "version": "0.8.0", + "bundled": true, + "optional": true + }, + "qs": { + "version": "4.0.0", + "bundled": true, + "optional": true + }, + "stringstream": { + "version": "0.0.4", + "bundled": true, + "optional": true + }, + "tough-cookie": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.4.1", + "bundled": true, + "optional": true + } + } + }, + "rimraf": { + "version": "2.4.2", + "bundled": true, + "optional": true, + "requires": { + "glob": "^5.0.14" + }, + "dependencies": { + "glob": { + "version": "5.0.14", + "bundled": true, + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "inflight": { + "version": "1.0.4", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.1", + "bundled": true, + "optional": true + } + } + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "2.0.10", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^0.2.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "optional": true + } + } + } + } + }, + "once": { + "version": "1.3.2", + "bundled": true, + "optional": true, + "requires": { + "wrappy": "1" + }, + "dependencies": { + "wrappy": { + "version": "1.0.1", + "bundled": true, + "optional": true + } + } + }, + "path-is-absolute": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + } + } + }, + "semver": { + "version": "5.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "2.1.1", + "bundled": true, + "optional": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + }, + "dependencies": { + "block-stream": { + "version": "0.0.8", + "bundled": true, + "optional": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "fstream": { + "version": "1.0.7", + "bundled": true, + "optional": true, + "requires": { + "graceful-fs": "3", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "3.0.8", + "bundled": true, + "optional": true + } + } + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + } + } + }, + "tar-pack": { + "version": "2.0.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "~0.7.2", + "fstream": "~0.1.22", + "fstream-ignore": "0.0.7", + "graceful-fs": "1.2", + "once": "~1.1.1", + "readable-stream": "~1.0.2", + "rimraf": "~2.2.0", + "tar": "~0.1.17", + "uid-number": "0.0.3" + }, + "dependencies": { + "debug": { + "version": "0.7.4", + "bundled": true, + "optional": true + }, + "fstream": { + "version": "0.1.31", + "bundled": true, + "optional": true, + "requires": { + "graceful-fs": "~3.0.2", + "inherits": "~2.0.0", + "mkdirp": "0.5", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "3.0.8", + "bundled": true, + "optional": true + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + } + } + }, + "fstream-ignore": { + "version": "0.0.7", + "bundled": true, + "optional": true, + "requires": { + "fstream": "~0.1.17", + "inherits": "2", + "minimatch": "~0.2.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "0.2.14", + "bundled": true, + "optional": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "2.6.5", + "bundled": true, + "optional": true + }, + "sigmund": { + "version": "1.0.1", + "bundled": true, + "optional": true + } + } + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "readable-stream": { + "version": "1.0.33", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "optional": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "optional": true + } + } + }, + "rimraf": { + "version": "2.2.8", + "bundled": true, + "optional": true + }, + "tar": { + "version": "0.1.20", + "bundled": true, + "optional": true, + "requires": { + "block-stream": "*", + "fstream": "~0.1.28", + "inherits": "2" + }, + "dependencies": { + "block-stream": { + "version": "0.0.8", + "bundled": true, + "optional": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "inherits": { + "version": "2.0.1", + "bundled": true, + "optional": true + } + } + }, + "uid-number": { + "version": "0.0.3", + "bundled": true, + "optional": true + } + } + } + } + } + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -8665,6 +11175,14 @@ "is-number": "^7.0.0" } }, + "try-thread-sleep": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/try-thread-sleep/-/try-thread-sleep-1.0.2.tgz", + "integrity": "sha1-weCTJr6DrpsWE9QfUwPw6neK6FU=", + "requires": { + "thread-sleep": "^1.0.4" + } + }, "tsconfig-paths": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", @@ -8697,6 +11215,11 @@ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, "unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -8737,8 +11260,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "v8-compile-cache": { "version": "2.3.0", @@ -8927,22 +11449,21 @@ } }, "zip-iterator": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/zip-iterator/-/zip-iterator-0.1.10.tgz", - "integrity": "sha512-6PcnIsezR3yD73ijjFRRiR8bRPnP/czlEQjRScKd3wpZoUu1y2eXt4P4LmmpSR9bJ4fGyfLTJ6cLwrOIiDpwTQ==", + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/zip-iterator/-/zip-iterator-0.1.11.tgz", + "integrity": "sha512-cGQwrwaJys+P9rLn3CUFk8kCvzsbU3kXZC0M7jFIOZNIBsBCGGV5FmyXfLZ/eX7xapakgYIrVgghcGJfQ5P8jg==", "dev": true, "requires": { "end-of-stream": "^1.4.4", "extract-base-iterator": "^0.2.5", "fs-access-compat": "^1.0.2", - "graceful-fs": "^4.2.4", "inherits": "^2.0.4", "lifecycle": "^1.0.4", "lodash.compact": "^3.0.1", "mkpath": "^1.0.0", "next-tick": "^1.1.0", "once": "^1.4.0", - "queue-cb": "^1.1.5", + "queue-cb": "^1.1.6", "readable-stream": "^2.3.7", "rimraf": "^2.7.1", "temp-suffix": "^0.1.0", diff --git a/package.json b/package.json index a0bee48..b93b3a5 100644 --- a/package.json +++ b/package.json @@ -24,17 +24,18 @@ "format": "prettier --write .", "lint": "eslint .", "prepublishOnly": "dtd \"npm run lint\" \"depcheck\"", - "test": "mocha-compat test/spec/**/*.test.js --no-timeouts" + "test": "mocha-compat test/spec/**/*.test.js --no-timeouts", + "test:engines": "nvu engines npm test" }, "dependencies": { - "cross-spawn-cb": "^0.3.1", + "cross-spawn-cb": "^0.4.1", "object-assign": "^4.1.1", "path-string-prepend": "^0.2.0" }, "devDependencies": { "babel-eslint": "^10.1.0", "cr": "^0.1.0", - "depcheck": "^1.0.0", + "depcheck": "^1.4.2", "dis-dat": "^0.1.3", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", @@ -47,12 +48,13 @@ "lodash.find": "^4.6.0", "match-semver": "^0.1.0", "mocha-compat": "^3.5.5", - "node-install-release": "^0.1.31", - "prettier": "^2.3.2", + "node-install-release": "^0.2.2", + "node-version-use": "^0.2.0", + "prettier": "^2.4.1", "rimraf": "^2.7.1", "semver": "^5.7.1" }, "engines": { - "node": ">=0.12" + "node": ">=0.10" } } diff --git a/test/spec/spawnSync.test.js b/test/spec/spawnSync.test.js new file mode 100644 index 0000000..3dfa57d --- /dev/null +++ b/test/spec/spawnSync.test.js @@ -0,0 +1,74 @@ +var assert = require('assert'); +var path = require('path'); +var rimraf = require('rimraf'); +var isVersion = require('is-version'); +var cr = require('cr'); +var nodeInstall = require('node-install-release'); +var match = require('match-semver'); +var find = require('lodash.find'); +var semver = require('semver'); + +var versionUtils = require('../..'); +var npmVersions = require('../lib/npmVersions'); + +var NODE = process.platform === 'win32' ? 'node.exe' : 'node'; +var TMP_DIR = path.resolve(path.join(__dirname, '..', '..', '.tmp')); +var OPTIONS = { + cacheDirectory: path.join(TMP_DIR, 'cache'), + installedDirectory: path.join(TMP_DIR, 'installed'), +}; + +var VERSIONS = ['v14.1.0', 'v12.18.1', 'v0.8.25']; + +function addTests(version) { + var INSTALL_DIR = path.resolve(path.join(OPTIONS.installedDirectory, version)); + + var npmVersion = find(npmVersions, match.bind(null, version)); + + describe(version, function () { + before(function (callback) { + nodeInstall(version, INSTALL_DIR, OPTIONS, function (err) { + callback(err); + }); + }); + + it('npm --version', function () { + try { + var res = versionUtils.spawnSync(INSTALL_DIR, 'npm', ['--version'], { silent: true, stdout: 'string' }); + var lines = cr(res.stdout).split('\n'); + var resultVersion = lines.slice(-2, -1)[0]; + assert.ok(isVersion(resultVersion)); + assert.ok(semver.gte(resultVersion, npmVersion.bundled)); + } catch (err) { + assert.ok(!err); + } + }); + + it('node --version', function () { + try { + var res = versionUtils.spawnSync(INSTALL_DIR, NODE, ['--version'], { silent: true, stdout: 'string' }); + var lines = cr(res.stdout).split('\n'); + assert.equal(lines.slice(-2, -1)[0], version); + } catch (err) { + assert.ok(!err); + } + }); + }); +} + +describe('spawnSync', function () { + before(function (callback) { + rimraf(TMP_DIR, function (err) { + err && err.code !== 'EEXIST' ? callback(err) : callback(); + }); + }); + + describe('happy path', function () { + for (var i = 0; i < VERSIONS.length; i++) { + addTests(VERSIONS[i]); + } + }); + + // TODO + describe('unhappy path', function () {}); +});