├── .circleci └── config.yml ├── .gitignore ├── Dockerfile ├── README.md ├── app.js ├── config.js.sample ├── docker-compose.yml ├── package.json └── yarn.lock /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | build: 4 | working_directory: ~/repo 5 | docker: 6 | - image: circleci/node:8 7 | steps: 8 | - checkout 9 | - restore_cache: 10 | key: dependency-cache-{{ checksum "package.json" }} 11 | - run: 12 | name: install 13 | command: yarn install 14 | - save_cache: 15 | key: dependency-cache-{{ checksum "package.json" }} 16 | paths: 17 | - ./node_modules 18 | - run: 19 | name: test 20 | command: yarn test 21 | - store_artifacts: 22 | path: test-results.xml 23 | prefix: tests 24 | - store_test_results: 25 | path: test-results.xml 26 | - deploy: 27 | name: Maybe Deploy 28 | command: | 29 | if [ "${CIRCLE_BRANCH}" == "master" ]; then 30 | echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc 31 | npm run 2npm 32 | fi 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | config.js 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:8.11-alpine 2 | WORKDIR /app 3 | RUN apk add --no-cache git 4 | ENV AGENT_CONFIG_PATH /config/config.js 5 | ENV DOCKER true 6 | ADD package.json /app 7 | RUN yarn install 8 | ADD app.js . 9 | CMD ["yarn","start"] 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ScreepsPlus node agent 2 | 3 | [![NPM info](https://nodei.co/npm/screepsplus-agent.png?downloads=true)](https://npmjs.org/package/screepsplus-agent) 4 | 5 | [![Circle CI](https://circleci.com/gh/ScreepsPlus/node-agent.svg?style=shield)](https://circleci.com/gh/ScreepsPlus/node-agent) 6 | 7 | ## Requirements 8 | Node.js 8+ 9 | 10 | ## Setup 11 | 12 | ### Prerequisites 13 | 14 | 1. Token from [ScreepsPl.us](https://screepspl.us/agent) 15 | 2. Screeps Login info 16 | 3. Node + NPM 17 | 18 | ### Google Compute Engine 19 | 20 | Bonzaiferroni has written a nice guide for setting up on the Google Compute Engine free tier, check it out [here](https://github.com/bonzaiferroni/bonzAI/wiki/Screepspl.us-agent-with-Compute-Engine) 21 | 22 | ### NPM 23 | 24 | ``` 25 | npm install -g screepsplus-agent 26 | screepsplus-agent 27 | ``` 28 | 29 | ### Manual 30 | 31 | 1. Download 32 | 2. Configure with config.js 33 | 3. `npm install` 34 | 4. `node app.js` 35 | 36 | ### Docker 37 | 38 | To use with docker, just do the following: 39 | With Config: 40 | ``` 41 | docker run -d -v $(pwd):/config --restart=unless-stopped screepsplus-agent 42 | ``` 43 | With CLI: (See Config section below for full argument list) 44 | ``` 45 | docker run -d --restart=unless-stopped screepsplus-agent --token --sptoken 46 | ``` 47 | 48 | or build your own image: 49 | ``` 50 | docker build -t screepsplus-agent . 51 | docker run -d -v $(pwd):/config/ --restart=always screepsplus-agent 52 | ``` 53 | 54 | ### Docker-compose 55 | A docker-compose.yml is included. 56 | 57 | ### Config 58 | 59 | Config is done via a config file or cli arguments. 60 | On start it will search for configs in several locations: 61 | 62 | * Manually Specified via ENV variable (AGENT_CONFIG_PATH) 63 | * App directory (config.js) 64 | * Home directory (~/.screepsplus-agent) (Mac, Linux) 65 | * Etc directory (/etc/screepsplus-agent/config.js) (Mac, Linux) 66 | * App Data (%APPDATA%/screepsplus-agent/config.js) (Windows) 67 | 68 | On windows, it will write a sample config to appdata if no config is found. 69 | 70 | All CLI options override the matching config option 71 | CLI Usage: 72 | ``` 73 | Usage: app [options] 74 | 75 | Options: 76 | 77 | -V, --version output the version number 78 | -u, --username Private Server Username 79 | -p, --password Private Server Password 80 | -t, --token Screeps Auth Token 81 | -s, --segment Use Segment ID for stats 82 | -m, --memory Use Memory for stats (default) 83 | -c, --console Use console for stats 84 | -a, --sptoken ScreepsPl.us token 85 | --host Private Server host and port (ex: host:port) 86 | --https Use HTTPS for Private Server 87 | --no-updatecheck Skip check for updates 88 | -v Verbose 89 | -h, --help output usage information 90 | ``` 91 | 92 | It also possible to use the console to output stats, just set method to `console` in `config.js` or pass `--console` on the CLI 93 | and use `console.log('STATS;'+formattedStats)` 94 | 95 | For this to work, type based format is REQUIRED 96 | 97 | NOTE: you should use `';'` instead of newLine (`"\n"`) as a delimiter 98 | 99 | ## Stat formats supported by ScreepsPl.us: 100 | 101 | ### Memory.stats object 102 | 103 | The usual grafana data format 104 | ``` 105 | { 106 | rooms: { 107 | W0N0:{ 108 | level:2 109 | } 110 | } 111 | } 112 | ``` 113 | 114 | ### Type based format 115 | 116 | This is a more advanced system that allows you to send raw stats pre-formatted. 117 | There should always be a 3 line header, 118 | ``` 119 | type 120 | tick 121 | time 122 | ``` 123 | followed by the raw stat data 124 | 125 | For ScreepsPl.us, type can be one of 3 values: 'text/grafana' 'text/influxdb' 'application/json' 126 | 127 | Where `application/json` inserts into graphite. 128 | 129 | #### text/grafana Format 130 | 131 | 1 stat per line: `stat value` 132 | 133 | EX: `room.W0N0.level 5` 134 | 135 | #### text/influxdb Format 136 | 137 | 1 stat per line: `stat[,tag1=value,tag2=value,...] key=value[,key=value,...]` 138 | 139 | EX: `room,name=W0N0 level=5,energy=300,energyCapacity=300` 140 | 141 | NOTE: as of this writing this README, influxdb support is enabled, but cannot be accessed without requesting influxdb credentials 142 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | const fs = require('fs') 3 | const path = require('path') 4 | const updateNotifier = require('update-notifier') 5 | const { ScreepsAPI } = require('screeps-api') 6 | const request = require('request') 7 | const editor = require('editor') 8 | const args = require('commander') 9 | const pkg = require('./package.json') 10 | let api 11 | let setupRan = false 12 | 13 | args 14 | .version(pkg.version) 15 | .option('-u, --username ', 'Private Server Username') 16 | .option('-p, --password ', 'Private Server Password') 17 | .option('-t, --token ', 'Screeps Auth Token') 18 | .option('--shard ', 'Shard (comma seperated for multiple)') 19 | .option('-s, --segment ', 'Use Segment ID for stats') 20 | .option('-m, --memory', 'Use Memory for stats (default)') 21 | .option('-c, --console', 'Use console for stats') 22 | .option('-a, --sptoken ', 'ScreepsPl.us token') 23 | .option('--host ', 'Private Server host and port (ex: host:port)') 24 | .option('--https', 'Use HTTPS for Private Server') 25 | .option('--no-updatecheck', 'Skip check for updates') 26 | .option('-v, --verbose', 'Verbose') 27 | .parse(process.argv) 28 | 29 | if (process.argv[2] == 'test') process.exit(0) // Placeholder ;) 30 | 31 | let {file, config} = loadConfig() 32 | if (args.username || args.password || args.token || args.segment || args.memory || args.console || args.host || args.https) { 33 | config = config || {} 34 | config.screeps = config.screeps || { method: 'memory' } 35 | if (args.username) config.screeps.username = args.username 36 | if (args.password) config.screeps.password = args.password 37 | if (args.token) config.screeps.token = args.token 38 | if (args.segment) config.screeps.segment = args.segment 39 | if (args.memory) config.screeps.method = 'memory' 40 | if (args.console) config.screeps.method = 'console' 41 | if (args.shard) config.screeps.shard = args.shard.split(',') 42 | if (args.segment) { 43 | config.screeps.method = 'memory' 44 | config.screeps.segment = args.segment 45 | } 46 | if (args.host || args.https) { 47 | config.screeps.connect = config.screeps.connect || { protocol: 'http' } 48 | if (args.host) config.screeps.connect.host = args.host 49 | if (args.https) config.screeps.connect.protocol = args.https ? 'https' : 'http' 50 | } 51 | } 52 | if (args.sptoken) { 53 | config = config || {} 54 | config.service = config.service || { url: 'https://screepspl.us' } 55 | config.service.token = args.sptoken 56 | } 57 | if (args.verbose) { 58 | config.showRawStats = !!args.verbose 59 | } 60 | if (config) { 61 | config.checkForUpdates = config.checkForUpdates && args.updatecheck 62 | } 63 | if (config) { start() } else { setup() } 64 | 65 | async function start () { 66 | if (config.sampleConfig || !config.screeps || !config.service) { 67 | console.log(file, 'does not have a valid config') 68 | return setup() 69 | } 70 | if (config.checkForUpdates) { updateNotifier({pkg}).notify() } 71 | let ps = config.screeps.connect && config.screeps.connect.host 72 | api = new ScreepsAPI(config.screeps.connect) 73 | if (!ps && config.screeps.username) { 74 | console.log(`Update your config (${file}) to use auth tokens instead of username. http://blog.screeps.com/2017/12/auth-tokens/`) 75 | console.log(`ex: {`) 76 | console.log(` token: "yourToken"`) 77 | console.log(` }`) 78 | process.exit() 79 | } 80 | if (ps) { 81 | try { 82 | await api.auth(config.screeps.username, config.screeps.password) 83 | } catch (e) { 84 | console.log(`Authentication failed for user ${config.screeps.username} on ${api.opts.url}`) 85 | console.log('Check your config.js and try again') 86 | process.exit() 87 | } 88 | } else { 89 | api.token = config.screeps.token 90 | } 91 | // console.log('Authenticated') 92 | console.log('Using stats method', config.screeps.method) 93 | 94 | const shards = [].concat(config.screeps.shard) 95 | 96 | if (config.screeps.method === 'console') { 97 | beginConsoleStats() 98 | } else { 99 | shards.forEach((shard) => { 100 | beginMemoryStats(shard, shards) 101 | }) 102 | } 103 | // }) 104 | } 105 | 106 | function beginConsoleStats () { 107 | api.socket.connect() 108 | api.socket.on('connected', () => { 109 | api.socket.subscribe('console') 110 | }) 111 | api.socket.on('console', (event) => { 112 | console.log(event) 113 | if (event.data.messages && event.data.messages.log) { 114 | event.data.messages.log 115 | .filter(l => l.startsWith('STATS')) 116 | .forEach(log => processStats(log.slice(6).replace(/;/g, '\n'))) 117 | } 118 | }) 119 | } 120 | 121 | function formatStats (data) { 122 | if (data[0] === '{') data = JSON.parse(data) 123 | if (typeof data === 'object') { 124 | return { 125 | type: 'application/json', 126 | stats: data 127 | } 128 | } 129 | let [type, tick, time, ...stats] = data.split('\n') 130 | if (type.startsWith('text')) { 131 | stats = stats.map(s => `${s} ${time}`).join('\n') + '\n' 132 | } 133 | if (type === 'application/json') stats = JSON.parse(stats) 134 | return Promise.resolve({ type, tick, time, stats }) 135 | } 136 | 137 | function beginMemoryStats (shard, shards) { 138 | tick(shard) 139 | setInterval(() => { tick(shard) }, config.screeps.segment !== undefined ? (15000 * shards.length) : 60000) 140 | } 141 | function addProfileData (stats) { 142 | return api.raw.auth.me().then(res => { 143 | let credits = res.money || 0 144 | let power = res.power || 0 145 | if (stats.type == 'application/json') { 146 | stats.stats.credits = credits 147 | stats.stats.power = power 148 | } 149 | if (stats.type == 'text/grafana') { 150 | stats.stats += `credits ${credits} ${Date.now()}\n` 151 | stats.stats += `power ${power} ${Date.now()}\n` 152 | } 153 | if (stats.type == 'text/influxdb') { stats.stats += `profile,user=${res.username} credits=${credits},power=${power} ${Date.now()}\n` } 154 | return stats 155 | }) 156 | } 157 | function addLeaderboardData (me, stats) { 158 | return api.leaderboard.find(me.username, 'world').then(res => { 159 | let { rank, score } = res.list.slice(-1)[0] 160 | if (stats.type == 'application/json') { 161 | stats.stats.leaderboard = { rank, score } 162 | } 163 | if (stats.type == 'text/grafana') { 164 | stats.stats += `leaderboard.rank ${rank} ${Date.now()}\n` 165 | stats.stats += `leaderboard.score ${score} ${Date.now()}\n` 166 | } 167 | if (stats.type == 'text/influxdb') { stats.stats += `leaderboard,user=${me.username} rank=${rank},score=${score} ${Date.now()}\n` } 168 | return stats 169 | }) 170 | } 171 | 172 | function tick (shard) { 173 | Promise.resolve() 174 | .then(() => console.log('Fetching Stats (' + shard + ')')) 175 | .then(() => { return getStats(shard) }) 176 | .then(processStats) 177 | .catch(err => console.error(err)) 178 | } 179 | 180 | async function processStats (data) { 181 | data = await formatStats(data) 182 | if (config.includeProfileData) { 183 | data = await addProfileData(data) 184 | } 185 | if (config.includeLeaderboard) { 186 | data = await api.me().then(me => addLeaderboardData(me, data)) 187 | } 188 | pushStats(data) 189 | } 190 | 191 | function getStats (shard) { 192 | if (config.screeps.segment !== undefined) { 193 | return api.memory.segment.get(config.screeps.segment, shard || 'shard0').then(r => r.data) 194 | } else { 195 | return api.memory.get('stats', shard || 'shard0').then(r => r.data) 196 | } 197 | } 198 | 199 | function pushStats (data) { 200 | let {type, stats} = data 201 | if (!stats) return console.log('No stats found, is Memory.stats defined?') 202 | if (config.prefix) stats = {[config.prefix]: stats}; 203 | if (config.showRawStats) console.log('Stats:', JSON.stringify(stats, null, 3)) 204 | console.log('Pushing stats') 205 | let sconfig = config.service 206 | if (type == 'application/json') stats = JSON.stringify(stats) 207 | request({ 208 | method: 'POST', 209 | url: sconfig.url + '/api/stats/submit', 210 | auth: { 211 | user: 'token', 212 | pass: sconfig.token 213 | }, 214 | headers: { 215 | 'content-type': type 216 | }, 217 | body: stats 218 | }, (err, res, data) => { 219 | if (res && res.statusCode == 413) { 220 | let len = Math.round(JSON.stringify(stats).length / 1024) 221 | console.log(`stats size: ${len}kb`) 222 | console.log(`stats limit: 10mb (As of Mar 28, 2017) (If you hit this limit, you are probably doing something wrong)`) 223 | console.error(`It appears your stats data is too large, please check to make sure you are not submitting unneeded stats, such as old rooms. \n If you legitimately need to submit stats this large, contact ags131 on slack for a limit bump`) 224 | } 225 | console.log('Result:', data) 226 | if (err) console.error(err) 227 | }) 228 | } 229 | 230 | function setup () { 231 | if (setupRan) { 232 | console.log('Agent not configured. Did you forget to edit the config?') 233 | process.exit() 234 | } 235 | setupRan = true 236 | let path = getConfigPaths().create 237 | if (path) { 238 | fs.writeFileSync(path, fs.readFileSync(__dirname + '/config.js.sample')) 239 | editor(path, (code) => { 240 | if (!code) start() 241 | }) 242 | } else { 243 | console.log('Please setup config.js before running.') 244 | console.log(`Valid paths for your platform (${process.platform}):`) 245 | getConfigPaths().paths.forEach(path => console.log(`- ${path}`)) 246 | console.log() 247 | console.log('Or set the AGENT_CONFIG_PATH environment variable to point to a valid config file.') 248 | } 249 | } 250 | 251 | function getConfigPaths () { 252 | let appname = 'screepsplus-agent' 253 | let paths = [] 254 | if (process.env.AGENT_CONFIG_PATH) { paths.push(process.env.AGENT_CONFIG_PATH) } 255 | paths.push(path.join(__dirname, 'config.js')) 256 | let create = '' 257 | if (process.platform == 'linux' || process.platform == 'darwin') { 258 | create = `${process.env.HOME}/.${appname}` 259 | paths.push(create) 260 | paths.push(`/etc/${appname}/config.js`) 261 | } 262 | if (process.platform == 'win32') { 263 | let dir = path.join(process.env.APPDATA, appname) 264 | try { fs.mkdirSync(dir) } catch (e) {} 265 | if (!fs.existsSync(path.join(dir, 'config.js'))) { 266 | fs.writeFileSync(path.join(dir, 'config.js'), fs.readFileSync(path.join(__dirname, 'config.js.sample'))) 267 | } 268 | paths.push(path.join(dir, 'config.js')) 269 | } 270 | create = '' 271 | return { paths, create } 272 | } 273 | 274 | function loadConfig () { 275 | let {paths} = getConfigPaths() 276 | for (let i in paths) { 277 | let file = paths[i] 278 | try { 279 | console.log('Try', file) 280 | let config = require(file) 281 | console.log(file) 282 | return { config, file } 283 | } catch (e) {} 284 | } 285 | return false 286 | } 287 | -------------------------------------------------------------------------------- /config.js.sample: -------------------------------------------------------------------------------- 1 | // Please set the configuration below 2 | module.exports = { 3 | screeps: { 4 | token: 'Your Screeps Auth token. Goto your screeps account > Auth Token to get one.', 5 | method: 'memory.stats', // Valid Options: 'console' 'memory.stats' 6 | // segment: 99, // Uncomment this line and specify segment id if you're placing stats into segment 7 | shard: ['shard0'], // An array of shards to pull data from. 8 | // username: 'username', // uncomment these for Private Servers 9 | // password: 'password', 10 | connect: { 11 | // For Private servers, uncomment and edit the following: 12 | // host: 'server1.screepspl.us:443', 13 | // protocol: 'https' 14 | } 15 | }, 16 | // prefix: 'mmo', // uncomment this to prefix your data 17 | service: { 18 | url: 'https://screepspl.us', 19 | token: 'apitoken' // Token supplied upon account creation 20 | }, 21 | includeLeaderboard: true, 22 | includeProfileData: true, // This pulls credits and power, note this also requires a full access token 23 | checkForUpdates: true, 24 | showRawStats: false, // This dumps stats to console on every push if enabled 25 | sampleConfig: true // REMOVE THIS LINE BEFORE RUNNING 26 | } 27 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | services: 3 | agent: 4 | image: screepsplus/agent 5 | build: . 6 | restart: always 7 | volumes: 8 | - ./config.js:/config/config.js 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "screepsplus-agent", 3 | "version": "1.6.2", 4 | "description": "", 5 | "main": "app.js", 6 | "repository": "https://github.com/ScreepsPlus/node-agent", 7 | "engines": { 8 | "node": ">=8.6.0" 9 | }, 10 | "scripts": { 11 | "test": "node app.js test", 12 | "start": "node app.js", 13 | "2npm": "publish" 14 | }, 15 | "bin": { 16 | "screepsplus-agent": "app.js" 17 | }, 18 | "author": "", 19 | "license": "ISC", 20 | "dependencies": { 21 | "commander": "^2.15.1", 22 | "editor": "^1.0.0", 23 | "request": "^2.75.0", 24 | "screeps-api": "^1.4.0", 25 | "update-notifier": "^1.0.2" 26 | }, 27 | "devDependencies": { 28 | "publish": "^0.6.0" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abbrev@1, abbrev@~1.0.9: 6 | version "1.0.9" 7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" 8 | 9 | ansi-align@^1.1.0: 10 | version "1.1.0" 11 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" 12 | dependencies: 13 | string-width "^1.0.1" 14 | 15 | ansi-regex@^2.0.0: 16 | version "2.0.0" 17 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" 18 | 19 | ansi-styles@^2.2.1: 20 | version "2.2.1" 21 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 22 | 23 | ansi@^0.3.0, ansi@~0.3.0, ansi@~0.3.1: 24 | version "0.3.1" 25 | resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" 26 | 27 | ansicolors@~0.3.2: 28 | version "0.3.2" 29 | resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" 30 | 31 | ansistyles@~0.1.3: 32 | version "0.1.3" 33 | resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" 34 | 35 | aproba@^1.0.3: 36 | version "1.1.1" 37 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" 38 | 39 | archy@~1.0.0: 40 | version "1.0.0" 41 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 42 | 43 | are-we-there-yet@~1.0.0: 44 | version "1.0.6" 45 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz#a2d28c93102aa6cc96245a26cb954de06ec53f0c" 46 | dependencies: 47 | delegates "^1.0.0" 48 | readable-stream "^2.0.0 || ^1.1.13" 49 | 50 | are-we-there-yet@~1.1.2: 51 | version "1.1.2" 52 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" 53 | dependencies: 54 | delegates "^1.0.0" 55 | readable-stream "^2.0.0 || ^1.1.13" 56 | 57 | array-index@^1.0.0: 58 | version "1.0.0" 59 | resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9" 60 | dependencies: 61 | debug "^2.2.0" 62 | es6-symbol "^3.0.2" 63 | 64 | asap@^2.0.0: 65 | version "2.0.5" 66 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" 67 | 68 | asn1@~0.2.3: 69 | version "0.2.3" 70 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 71 | 72 | assert-plus@^0.2.0: 73 | version "0.2.0" 74 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 75 | 76 | assert-plus@^1.0.0: 77 | version "1.0.0" 78 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 79 | 80 | async-limiter@~1.0.0: 81 | version "1.0.0" 82 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 83 | 84 | async-some@~1.0.2: 85 | version "1.0.2" 86 | resolved "https://registry.yarnpkg.com/async-some/-/async-some-1.0.2.tgz#4d8a81620d5958791b5b98f802d3207776e95509" 87 | dependencies: 88 | dezalgo "^1.0.2" 89 | 90 | async@^2.0.1: 91 | version "2.1.4" 92 | resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" 93 | dependencies: 94 | lodash "^4.14.0" 95 | 96 | asynckit@^0.4.0: 97 | version "0.4.0" 98 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 99 | 100 | aws-sign2@~0.6.0: 101 | version "0.6.0" 102 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 103 | 104 | aws4@^1.2.1: 105 | version "1.5.0" 106 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" 107 | 108 | babel-runtime@^6.11.6: 109 | version "6.23.0" 110 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" 111 | dependencies: 112 | core-js "^2.4.0" 113 | regenerator-runtime "^0.10.0" 114 | 115 | balanced-match@^0.4.1: 116 | version "0.4.2" 117 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 118 | 119 | bcrypt-pbkdf@^1.0.0: 120 | version "1.0.0" 121 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" 122 | dependencies: 123 | tweetnacl "^0.14.3" 124 | 125 | bindings@~1.2.1: 126 | version "1.2.1" 127 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" 128 | 129 | bl@^1.0.0, bl@~1.1.2: 130 | version "1.1.2" 131 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" 132 | dependencies: 133 | readable-stream "~2.0.5" 134 | 135 | block-stream@*, block-stream@0.0.9: 136 | version "0.0.9" 137 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 138 | dependencies: 139 | inherits "~2.0.0" 140 | 141 | bluebird@^3.5.0: 142 | version "3.5.0" 143 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" 144 | 145 | boom@2.x.x: 146 | version "2.10.1" 147 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 148 | dependencies: 149 | hoek "2.x.x" 150 | 151 | boxen@^0.6.0: 152 | version "0.6.0" 153 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" 154 | dependencies: 155 | ansi-align "^1.1.0" 156 | camelcase "^2.1.0" 157 | chalk "^1.1.1" 158 | cli-boxes "^1.0.0" 159 | filled-array "^1.0.0" 160 | object-assign "^4.0.1" 161 | repeating "^2.0.0" 162 | string-width "^1.0.1" 163 | widest-line "^1.0.0" 164 | 165 | brace-expansion@^1.0.0: 166 | version "1.1.6" 167 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 168 | dependencies: 169 | balanced-match "^0.4.1" 170 | concat-map "0.0.1" 171 | 172 | buffer-shims@^1.0.0: 173 | version "1.0.0" 174 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 175 | 176 | buffer-to-arraybuffer@0.0.4: 177 | version "0.0.4" 178 | resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.4.tgz#f3e5e3f6f2632c71e7cdebe76ed1718fad421d4c" 179 | 180 | bufferutil@^3.0.0: 181 | version "3.0.0" 182 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-3.0.0.tgz#afbb831c47229accf0b1f207d4a9942841b0ab0f" 183 | dependencies: 184 | bindings "~1.2.1" 185 | nan "~2.5.0" 186 | prebuild-install "~2.1.0" 187 | 188 | builtin-modules@^1.0.0: 189 | version "1.1.1" 190 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 191 | 192 | builtins@0.0.7: 193 | version "0.0.7" 194 | resolved "https://registry.yarnpkg.com/builtins/-/builtins-0.0.7.tgz#355219cd6cf18dbe7c01cc7fd2dce765cfdc549a" 195 | 196 | camelcase@^2.1.0: 197 | version "2.1.1" 198 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 199 | 200 | capture-stack-trace@^1.0.0: 201 | version "1.0.0" 202 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" 203 | 204 | caseless@~0.11.0: 205 | version "0.11.0" 206 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 207 | 208 | chalk@^1.0.0, chalk@^1.1.1: 209 | version "1.1.3" 210 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 211 | dependencies: 212 | ansi-styles "^2.2.1" 213 | escape-string-regexp "^1.0.2" 214 | has-ansi "^2.0.0" 215 | strip-ansi "^3.0.0" 216 | supports-color "^2.0.0" 217 | 218 | char-spinner@~1.0.1: 219 | version "1.0.1" 220 | resolved "https://registry.yarnpkg.com/char-spinner/-/char-spinner-1.0.1.tgz#e6ea67bd247e107112983b7ab0479ed362800081" 221 | 222 | chmodr@~1.0.2: 223 | version "1.0.2" 224 | resolved "https://registry.yarnpkg.com/chmodr/-/chmodr-1.0.2.tgz#04662b932d0f02ec66deaa2b0ea42811968e3eb9" 225 | 226 | chownr@^1.0.1, chownr@~1.0.1: 227 | version "1.0.1" 228 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" 229 | 230 | cli-boxes@^1.0.0: 231 | version "1.0.0" 232 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 233 | 234 | clone@^1.0.2: 235 | version "1.0.2" 236 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 237 | 238 | cmd-shim@~2.0.2: 239 | version "2.0.2" 240 | resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" 241 | dependencies: 242 | graceful-fs "^4.1.2" 243 | mkdirp "~0.5.0" 244 | 245 | code-point-at@^1.0.0: 246 | version "1.1.0" 247 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 248 | 249 | columnify@~1.5.4: 250 | version "1.5.4" 251 | resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" 252 | dependencies: 253 | strip-ansi "^3.0.0" 254 | wcwidth "^1.0.0" 255 | 256 | combined-stream@^1.0.5, combined-stream@~1.0.5: 257 | version "1.0.5" 258 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 259 | dependencies: 260 | delayed-stream "~1.0.0" 261 | 262 | commander@^2.15.1: 263 | version "2.15.1" 264 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" 265 | 266 | commander@^2.9.0: 267 | version "2.9.0" 268 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 269 | dependencies: 270 | graceful-readlink ">= 1.0.0" 271 | 272 | concat-map@0.0.1: 273 | version "0.0.1" 274 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 275 | 276 | concat-stream@^1.5.2: 277 | version "1.6.0" 278 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" 279 | dependencies: 280 | inherits "^2.0.3" 281 | readable-stream "^2.2.2" 282 | typedarray "^0.0.6" 283 | 284 | config-chain@~1.1.10: 285 | version "1.1.11" 286 | resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" 287 | dependencies: 288 | ini "^1.3.4" 289 | proto-list "~1.2.1" 290 | 291 | configstore@^2.0.0: 292 | version "2.1.0" 293 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" 294 | dependencies: 295 | dot-prop "^3.0.0" 296 | graceful-fs "^4.1.2" 297 | mkdirp "^0.5.0" 298 | object-assign "^4.0.1" 299 | os-tmpdir "^1.0.0" 300 | osenv "^0.1.0" 301 | uuid "^2.0.1" 302 | write-file-atomic "^1.1.2" 303 | xdg-basedir "^2.0.0" 304 | 305 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 306 | version "1.1.0" 307 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 308 | 309 | core-js@^2.4.0: 310 | version "2.4.1" 311 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 312 | 313 | core-util-is@~1.0.0: 314 | version "1.0.2" 315 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 316 | 317 | create-error-class@^3.0.1: 318 | version "3.0.2" 319 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 320 | dependencies: 321 | capture-stack-trace "^1.0.0" 322 | 323 | cryptiles@2.x.x: 324 | version "2.0.5" 325 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 326 | dependencies: 327 | boom "2.x.x" 328 | 329 | d@^0.1.1, d@~0.1.1: 330 | version "0.1.1" 331 | resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" 332 | dependencies: 333 | es5-ext "~0.10.2" 334 | 335 | dashdash@^1.12.0: 336 | version "1.14.1" 337 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 338 | dependencies: 339 | assert-plus "^1.0.0" 340 | 341 | debug@^2.2.0: 342 | version "2.6.0" 343 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" 344 | dependencies: 345 | ms "0.7.2" 346 | 347 | debuglog@^1.0.1: 348 | version "1.0.1" 349 | resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" 350 | 351 | deep-extend@~0.4.0: 352 | version "0.4.1" 353 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" 354 | 355 | defaults@^1.0.3: 356 | version "1.0.3" 357 | resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" 358 | dependencies: 359 | clone "^1.0.2" 360 | 361 | delayed-stream@~1.0.0: 362 | version "1.0.0" 363 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 364 | 365 | delegates@^1.0.0: 366 | version "1.0.0" 367 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 368 | 369 | dezalgo@^1.0.0, dezalgo@^1.0.1, dezalgo@^1.0.2, dezalgo@~1.0.3: 370 | version "1.0.3" 371 | resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" 372 | dependencies: 373 | asap "^2.0.0" 374 | wrappy "1" 375 | 376 | dot-prop@^3.0.0: 377 | version "3.0.0" 378 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 379 | dependencies: 380 | is-obj "^1.0.0" 381 | 382 | duplexer2@^0.1.4: 383 | version "0.1.4" 384 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" 385 | dependencies: 386 | readable-stream "^2.0.2" 387 | 388 | ecc-jsbn@~0.1.1: 389 | version "0.1.1" 390 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 391 | dependencies: 392 | jsbn "~0.1.0" 393 | 394 | editor@^1.0.0, editor@~1.0.0: 395 | version "1.0.0" 396 | resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" 397 | 398 | encoding@^0.1.11: 399 | version "0.1.12" 400 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" 401 | dependencies: 402 | iconv-lite "~0.4.13" 403 | 404 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 405 | version "1.4.0" 406 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" 407 | dependencies: 408 | once "^1.4.0" 409 | 410 | error-ex@^1.2.0: 411 | version "1.3.0" 412 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 413 | dependencies: 414 | is-arrayish "^0.2.1" 415 | 416 | es5-ext@^0.10.7, es5-ext@~0.10.11, es5-ext@~0.10.2: 417 | version "0.10.12" 418 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" 419 | dependencies: 420 | es6-iterator "2" 421 | es6-symbol "~3.1" 422 | 423 | es6-iterator@2: 424 | version "2.0.0" 425 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" 426 | dependencies: 427 | d "^0.1.1" 428 | es5-ext "^0.10.7" 429 | es6-symbol "3" 430 | 431 | es6-symbol@3, es6-symbol@^3.0.2, es6-symbol@~3.1: 432 | version "3.1.0" 433 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" 434 | dependencies: 435 | d "~0.1.1" 436 | es5-ext "~0.10.11" 437 | 438 | escape-string-regexp@^1.0.2: 439 | version "1.0.5" 440 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 441 | 442 | expand-template@^1.0.2: 443 | version "1.0.3" 444 | resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-1.0.3.tgz#6c303323177a62b1b22c070279f7861287b69b1a" 445 | 446 | extend@~3.0.0: 447 | version "3.0.0" 448 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" 449 | 450 | extsprintf@1.0.2: 451 | version "1.0.2" 452 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 453 | 454 | fetch-ponyfill@^4.0.0: 455 | version "4.0.0" 456 | resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.0.0.tgz#18cfe38d69cde42aec71cb3ace79e1f2276293da" 457 | dependencies: 458 | node-fetch "~1.6.0" 459 | 460 | filled-array@^1.0.0: 461 | version "1.1.0" 462 | resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" 463 | 464 | forever-agent@~0.6.1: 465 | version "0.6.1" 466 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 467 | 468 | form-data@~1.0.0-rc4: 469 | version "1.0.1" 470 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" 471 | dependencies: 472 | async "^2.0.1" 473 | combined-stream "^1.0.5" 474 | mime-types "^2.1.11" 475 | 476 | form-data@~2.1.1: 477 | version "2.1.2" 478 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" 479 | dependencies: 480 | asynckit "^0.4.0" 481 | combined-stream "^1.0.5" 482 | mime-types "^2.1.12" 483 | 484 | fs-vacuum@~1.2.9: 485 | version "1.2.9" 486 | resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.9.tgz#4f90193ab8ea02890995bcd4e804659a5d366b2d" 487 | dependencies: 488 | graceful-fs "^4.1.2" 489 | path-is-inside "^1.0.1" 490 | rimraf "^2.5.2" 491 | 492 | fs-write-stream-atomic@~1.0.8: 493 | version "1.0.8" 494 | resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.8.tgz#e49aaddf288f87d46ff9e882f216a13abc40778b" 495 | dependencies: 496 | graceful-fs "^4.1.2" 497 | iferr "^0.1.5" 498 | imurmurhash "^0.1.4" 499 | readable-stream "1 || 2" 500 | 501 | fs.realpath@^1.0.0: 502 | version "1.0.0" 503 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 504 | 505 | fstream-ignore@^1.0.0: 506 | version "1.0.5" 507 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 508 | dependencies: 509 | fstream "^1.0.0" 510 | inherits "2" 511 | minimatch "^3.0.0" 512 | 513 | fstream-npm@~1.1.1: 514 | version "1.1.1" 515 | resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.1.1.tgz#6b9175db6239a83d8209e232426c494dbb29690c" 516 | dependencies: 517 | fstream-ignore "^1.0.0" 518 | inherits "2" 519 | 520 | fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: 521 | version "1.0.10" 522 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" 523 | dependencies: 524 | graceful-fs "^4.1.2" 525 | inherits "~2.0.0" 526 | mkdirp ">=0.5 0" 527 | rimraf "2" 528 | 529 | gauge@~1.2.0, gauge@~1.2.5: 530 | version "1.2.7" 531 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" 532 | dependencies: 533 | ansi "^0.3.0" 534 | has-unicode "^2.0.0" 535 | lodash.pad "^4.1.0" 536 | lodash.padend "^4.1.0" 537 | lodash.padstart "^4.1.0" 538 | 539 | gauge@~2.7.1: 540 | version "2.7.3" 541 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" 542 | dependencies: 543 | aproba "^1.0.3" 544 | console-control-strings "^1.0.0" 545 | has-unicode "^2.0.0" 546 | object-assign "^4.1.0" 547 | signal-exit "^3.0.0" 548 | string-width "^1.0.1" 549 | strip-ansi "^3.0.1" 550 | wide-align "^1.1.0" 551 | 552 | generate-function@^2.0.0: 553 | version "2.0.0" 554 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 555 | 556 | generate-object-property@^1.1.0: 557 | version "1.2.0" 558 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 559 | dependencies: 560 | is-property "^1.0.0" 561 | 562 | getpass@^0.1.1: 563 | version "0.1.6" 564 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" 565 | dependencies: 566 | assert-plus "^1.0.0" 567 | 568 | github-from-package@0.0.0: 569 | version "0.0.0" 570 | resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" 571 | 572 | github-url-from-git@~1.4.0: 573 | version "1.4.0" 574 | resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.4.0.tgz#285e6b520819001bde128674704379e4ff03e0de" 575 | 576 | github-url-from-username-repo@~1.0.2: 577 | version "1.0.2" 578 | resolved "https://registry.yarnpkg.com/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz#7dd79330d2abe69c10c2cef79714c97215791dfa" 579 | 580 | glob@^6.0.0: 581 | version "6.0.4" 582 | resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" 583 | dependencies: 584 | inflight "^1.0.4" 585 | inherits "2" 586 | minimatch "2 || 3" 587 | once "^1.3.0" 588 | path-is-absolute "^1.0.0" 589 | 590 | glob@^7.0.3, glob@^7.0.5, glob@~7.0.6: 591 | version "7.0.6" 592 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" 593 | dependencies: 594 | fs.realpath "^1.0.0" 595 | inflight "^1.0.4" 596 | inherits "2" 597 | minimatch "^3.0.2" 598 | once "^1.3.0" 599 | path-is-absolute "^1.0.0" 600 | 601 | got@^5.0.0: 602 | version "5.7.1" 603 | resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" 604 | dependencies: 605 | create-error-class "^3.0.1" 606 | duplexer2 "^0.1.4" 607 | is-redirect "^1.0.0" 608 | is-retry-allowed "^1.0.0" 609 | is-stream "^1.0.0" 610 | lowercase-keys "^1.0.0" 611 | node-status-codes "^1.0.0" 612 | object-assign "^4.0.1" 613 | parse-json "^2.1.0" 614 | pinkie-promise "^2.0.0" 615 | read-all-stream "^3.0.0" 616 | readable-stream "^2.0.5" 617 | timed-out "^3.0.0" 618 | unzip-response "^1.0.2" 619 | url-parse-lax "^1.0.0" 620 | 621 | graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@~4.1.6: 622 | version "4.1.11" 623 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 624 | 625 | "graceful-readlink@>= 1.0.0": 626 | version "1.0.1" 627 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 628 | 629 | har-validator@~2.0.6: 630 | version "2.0.6" 631 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 632 | dependencies: 633 | chalk "^1.1.1" 634 | commander "^2.9.0" 635 | is-my-json-valid "^2.12.4" 636 | pinkie-promise "^2.0.0" 637 | 638 | has-ansi@^2.0.0: 639 | version "2.0.0" 640 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 641 | dependencies: 642 | ansi-regex "^2.0.0" 643 | 644 | has-unicode@^2.0.0: 645 | version "2.0.1" 646 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 647 | 648 | hawk@~3.1.3: 649 | version "3.1.3" 650 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 651 | dependencies: 652 | boom "2.x.x" 653 | cryptiles "2.x.x" 654 | hoek "2.x.x" 655 | sntp "1.x.x" 656 | 657 | hoek@2.x.x: 658 | version "2.16.3" 659 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 660 | 661 | hosted-git-info@^2.1.4, hosted-git-info@~2.1.5: 662 | version "2.1.5" 663 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" 664 | 665 | http-signature@~1.1.0: 666 | version "1.1.1" 667 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 668 | dependencies: 669 | assert-plus "^0.2.0" 670 | jsprim "^1.2.2" 671 | sshpk "^1.7.0" 672 | 673 | iconv-lite@~0.4.13: 674 | version "0.4.15" 675 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" 676 | 677 | iferr@^0.1.5: 678 | version "0.1.5" 679 | resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" 680 | 681 | imurmurhash@^0.1.4: 682 | version "0.1.4" 683 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 684 | 685 | inflight@^1.0.4, inflight@~1.0.4: 686 | version "1.0.6" 687 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 688 | dependencies: 689 | once "^1.3.0" 690 | wrappy "1" 691 | 692 | inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 693 | version "2.0.3" 694 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 695 | 696 | ini@^1.3.4, ini@~1.3.0, ini@~1.3.4: 697 | version "1.3.4" 698 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 699 | 700 | init-package-json@~1.9.4: 701 | version "1.9.4" 702 | resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.9.4.tgz#b4053d0b40f0cf842a41966937cb3dc0f534e856" 703 | dependencies: 704 | glob "^6.0.0" 705 | npm-package-arg "^4.0.0" 706 | promzard "^0.3.0" 707 | read "~1.0.1" 708 | read-package-json "1 || 2" 709 | semver "2.x || 3.x || 4 || 5" 710 | validate-npm-package-license "^3.0.1" 711 | validate-npm-package-name "^2.0.1" 712 | 713 | is-arrayish@^0.2.1: 714 | version "0.2.1" 715 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 716 | 717 | is-builtin-module@^1.0.0: 718 | version "1.0.0" 719 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 720 | dependencies: 721 | builtin-modules "^1.0.0" 722 | 723 | is-finite@^1.0.0: 724 | version "1.0.2" 725 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 726 | dependencies: 727 | number-is-nan "^1.0.0" 728 | 729 | is-fullwidth-code-point@^1.0.0: 730 | version "1.0.0" 731 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 732 | dependencies: 733 | number-is-nan "^1.0.0" 734 | 735 | is-my-json-valid@^2.12.4: 736 | version "2.15.0" 737 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" 738 | dependencies: 739 | generate-function "^2.0.0" 740 | generate-object-property "^1.1.0" 741 | jsonpointer "^4.0.0" 742 | xtend "^4.0.0" 743 | 744 | is-npm@^1.0.0: 745 | version "1.0.0" 746 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" 747 | 748 | is-obj@^1.0.0: 749 | version "1.0.1" 750 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 751 | 752 | is-property@^1.0.0: 753 | version "1.0.2" 754 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 755 | 756 | is-redirect@^1.0.0: 757 | version "1.0.0" 758 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" 759 | 760 | is-retry-allowed@^1.0.0: 761 | version "1.1.0" 762 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 763 | 764 | is-stream@^1.0.0, is-stream@^1.0.1: 765 | version "1.1.0" 766 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 767 | 768 | is-typedarray@~1.0.0: 769 | version "1.0.0" 770 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 771 | 772 | isarray@~1.0.0: 773 | version "1.0.0" 774 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 775 | 776 | isexe@^1.1.1: 777 | version "1.1.2" 778 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" 779 | 780 | isstream@~0.1.2: 781 | version "0.1.2" 782 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 783 | 784 | jju@^1.1.0: 785 | version "1.3.0" 786 | resolved "https://registry.yarnpkg.com/jju/-/jju-1.3.0.tgz#dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa" 787 | 788 | jodid25519@^1.0.0: 789 | version "1.0.2" 790 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 791 | dependencies: 792 | jsbn "~0.1.0" 793 | 794 | jsbn@~0.1.0: 795 | version "0.1.0" 796 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" 797 | 798 | json-parse-helpfulerror@^1.0.2: 799 | version "1.0.3" 800 | resolved "https://registry.yarnpkg.com/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" 801 | dependencies: 802 | jju "^1.1.0" 803 | 804 | json-schema@0.2.3: 805 | version "0.2.3" 806 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 807 | 808 | json-stringify-safe@~5.0.1: 809 | version "5.0.1" 810 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 811 | 812 | jsonpointer@^4.0.0: 813 | version "4.0.1" 814 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" 815 | 816 | jsprim@^1.2.2: 817 | version "1.3.1" 818 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" 819 | dependencies: 820 | extsprintf "1.0.2" 821 | json-schema "0.2.3" 822 | verror "1.3.6" 823 | 824 | latest-version@^2.0.0: 825 | version "2.0.0" 826 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" 827 | dependencies: 828 | package-json "^2.0.0" 829 | 830 | lazy-req@^1.1.0: 831 | version "1.1.0" 832 | resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" 833 | 834 | lockfile@~1.0.1: 835 | version "1.0.3" 836 | resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.3.tgz#2638fc39a0331e9cac1a04b71799931c9c50df79" 837 | 838 | lodash.pad@^4.1.0: 839 | version "4.5.1" 840 | resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" 841 | 842 | lodash.padend@^4.1.0: 843 | version "4.6.1" 844 | resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" 845 | 846 | lodash.padstart@^4.1.0: 847 | version "4.6.1" 848 | resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" 849 | 850 | lodash@^4.14.0: 851 | version "4.17.4" 852 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 853 | 854 | lowercase-keys@^1.0.0: 855 | version "1.0.0" 856 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 857 | 858 | lru-cache@~4.0.1: 859 | version "4.0.2" 860 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" 861 | dependencies: 862 | pseudomap "^1.0.1" 863 | yallist "^2.0.0" 864 | 865 | mime-db@~1.25.0: 866 | version "1.25.0" 867 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" 868 | 869 | mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.7: 870 | version "2.1.13" 871 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" 872 | dependencies: 873 | mime-db "~1.25.0" 874 | 875 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.3: 876 | version "3.0.3" 877 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 878 | dependencies: 879 | brace-expansion "^1.0.0" 880 | 881 | minimist@0.0.8: 882 | version "0.0.8" 883 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 884 | 885 | minimist@^1.2.0: 886 | version "1.2.0" 887 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 888 | 889 | "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: 890 | version "0.5.1" 891 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 892 | dependencies: 893 | minimist "0.0.8" 894 | 895 | ms@0.7.2: 896 | version "0.7.2" 897 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" 898 | 899 | mute-stream@~0.0.4: 900 | version "0.0.6" 901 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" 902 | 903 | nan@~2.5.0: 904 | version "2.5.1" 905 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" 906 | 907 | node-abi@^2.0.0: 908 | version "2.0.0" 909 | resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.0.0.tgz#443bfd151b599231028ae425e592e76cd31cb537" 910 | 911 | node-fetch@2.0.0-alpha.3: 912 | version "2.0.0-alpha.3" 913 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.0.0-alpha.3.tgz#8031bded671c806e4604c16b27ab1973b4fe88cc" 914 | dependencies: 915 | babel-runtime "^6.11.6" 916 | buffer-to-arraybuffer "0.0.4" 917 | encoding "^0.1.11" 918 | is-stream "^1.0.1" 919 | 920 | node-fetch@~1.6.0: 921 | version "1.6.3" 922 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" 923 | dependencies: 924 | encoding "^0.1.11" 925 | is-stream "^1.0.1" 926 | 927 | node-gyp@~3.4.0: 928 | version "3.4.0" 929 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.4.0.tgz#dda558393b3ecbbe24c9e6b8703c71194c63fa36" 930 | dependencies: 931 | fstream "^1.0.0" 932 | glob "^7.0.3" 933 | graceful-fs "^4.1.2" 934 | minimatch "^3.0.2" 935 | mkdirp "^0.5.0" 936 | nopt "2 || 3" 937 | npmlog "0 || 1 || 2 || 3" 938 | osenv "0" 939 | path-array "^1.0.0" 940 | request "2" 941 | rimraf "2" 942 | semver "2.x || 3.x || 4 || 5" 943 | tar "^2.0.0" 944 | which "1" 945 | 946 | node-status-codes@^1.0.0: 947 | version "1.0.0" 948 | resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" 949 | 950 | node-uuid@~1.4.7: 951 | version "1.4.7" 952 | resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" 953 | 954 | noop-logger@^0.1.1: 955 | version "0.1.1" 956 | resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" 957 | 958 | "nopt@2 || 3", nopt@3.x.x, nopt@~3.0.6: 959 | version "3.0.6" 960 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 961 | dependencies: 962 | abbrev "1" 963 | 964 | normalize-git-url@~3.0.2: 965 | version "3.0.2" 966 | resolved "https://registry.yarnpkg.com/normalize-git-url/-/normalize-git-url-3.0.2.tgz#8e5f14be0bdaedb73e07200310aa416c27350fc4" 967 | 968 | normalize-package-data@^2.0.0, "normalize-package-data@~1.0.1 || ^2.0.0", normalize-package-data@~2.3.5: 969 | version "2.3.5" 970 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" 971 | dependencies: 972 | hosted-git-info "^2.1.4" 973 | is-builtin-module "^1.0.0" 974 | semver "2 || 3 || 4 || 5" 975 | validate-npm-package-license "^3.0.1" 976 | 977 | npm-cache-filename@~1.0.2: 978 | version "1.0.2" 979 | resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" 980 | 981 | npm-install-checks@~1.0.7: 982 | version "1.0.7" 983 | resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-1.0.7.tgz#6d91aeda0ac96801f1ed7aadee116a6c0a086a57" 984 | dependencies: 985 | npmlog "0.1 || 1 || 2" 986 | semver "^2.3.0 || 3.x || 4 || 5" 987 | 988 | "npm-package-arg@^3.0.0 || ^4.0.0", npm-package-arg@^4.0.0, npm-package-arg@^4.1.1, npm-package-arg@~4.1.0: 989 | version "4.1.1" 990 | resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-4.1.1.tgz#86d9dca985b4c5e5d59772dfd5de6919998a495a" 991 | dependencies: 992 | hosted-git-info "^2.1.4" 993 | semver "4 || 5" 994 | 995 | npm-registry-client@~7.2.1: 996 | version "7.2.1" 997 | resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-7.2.1.tgz#c792266b088cc313f8525e7e35248626c723db75" 998 | dependencies: 999 | concat-stream "^1.5.2" 1000 | graceful-fs "^4.1.6" 1001 | normalize-package-data "~1.0.1 || ^2.0.0" 1002 | npm-package-arg "^3.0.0 || ^4.0.0" 1003 | once "^1.3.3" 1004 | request "^2.74.0" 1005 | retry "^0.10.0" 1006 | semver "2 >=2.2.1 || 3.x || 4 || 5" 1007 | slide "^1.1.3" 1008 | optionalDependencies: 1009 | npmlog "~2.0.0 || ~3.1.0" 1010 | 1011 | npm-user-validate@~0.1.5: 1012 | version "0.1.5" 1013 | resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-0.1.5.tgz#52465d50c2d20294a57125b996baedbf56c5004b" 1014 | 1015 | npm@2.x.x: 1016 | version "2.15.11" 1017 | resolved "https://registry.yarnpkg.com/npm/-/npm-2.15.11.tgz#350588fba9cd8d384cf9a6e8dc0fef0f94992b7c" 1018 | dependencies: 1019 | abbrev "~1.0.9" 1020 | ansi "~0.3.1" 1021 | ansicolors "~0.3.2" 1022 | ansistyles "~0.1.3" 1023 | archy "~1.0.0" 1024 | async-some "~1.0.2" 1025 | block-stream "0.0.9" 1026 | char-spinner "~1.0.1" 1027 | chmodr "~1.0.2" 1028 | chownr "~1.0.1" 1029 | cmd-shim "~2.0.2" 1030 | columnify "~1.5.4" 1031 | config-chain "~1.1.10" 1032 | dezalgo "~1.0.3" 1033 | editor "~1.0.0" 1034 | fs-vacuum "~1.2.9" 1035 | fs-write-stream-atomic "~1.0.8" 1036 | fstream "~1.0.10" 1037 | fstream-npm "~1.1.1" 1038 | github-url-from-git "~1.4.0" 1039 | github-url-from-username-repo "~1.0.2" 1040 | glob "~7.0.6" 1041 | graceful-fs "~4.1.6" 1042 | hosted-git-info "~2.1.5" 1043 | inflight "~1.0.4" 1044 | inherits "~2.0.3" 1045 | ini "~1.3.4" 1046 | init-package-json "~1.9.4" 1047 | lockfile "~1.0.1" 1048 | lru-cache "~4.0.1" 1049 | minimatch "~3.0.3" 1050 | mkdirp "~0.5.1" 1051 | node-gyp "~3.4.0" 1052 | nopt "~3.0.6" 1053 | normalize-git-url "~3.0.2" 1054 | normalize-package-data "~2.3.5" 1055 | npm-cache-filename "~1.0.2" 1056 | npm-install-checks "~1.0.7" 1057 | npm-package-arg "~4.1.0" 1058 | npm-registry-client "~7.2.1" 1059 | npm-user-validate "~0.1.5" 1060 | npmlog "~2.0.4" 1061 | once "~1.4.0" 1062 | opener "~1.4.1" 1063 | osenv "~0.1.3" 1064 | path-is-inside "~1.0.0" 1065 | read "~1.0.7" 1066 | read-installed "~4.0.3" 1067 | read-package-json "~2.0.4" 1068 | readable-stream "~2.1.5" 1069 | realize-package-specifier "~3.0.1" 1070 | request "~2.74.0" 1071 | retry "~0.10.0" 1072 | rimraf "~2.5.4" 1073 | semver "~5.1.0" 1074 | sha "~2.0.1" 1075 | slide "~1.1.6" 1076 | sorted-object "~2.0.0" 1077 | spdx-license-ids "~1.2.2" 1078 | strip-ansi "~3.0.1" 1079 | tar "~2.2.1" 1080 | text-table "~0.2.0" 1081 | uid-number "0.0.6" 1082 | umask "~1.1.0" 1083 | validate-npm-package-license "~3.0.1" 1084 | validate-npm-package-name "~2.2.2" 1085 | which "~1.2.11" 1086 | wrappy "~1.0.2" 1087 | write-file-atomic "~1.1.4" 1088 | 1089 | "npmlog@0 || 1 || 2 || 3", "npmlog@0.1 || 1 || 2", "npmlog@~2.0.0 || ~3.1.0", npmlog@~2.0.4: 1090 | version "2.0.4" 1091 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" 1092 | dependencies: 1093 | ansi "~0.3.1" 1094 | are-we-there-yet "~1.1.2" 1095 | gauge "~1.2.5" 1096 | 1097 | npmlog@1.x.x: 1098 | version "1.2.1" 1099 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-1.2.1.tgz#28e7be619609b53f7ad1dd300a10d64d716268b6" 1100 | dependencies: 1101 | ansi "~0.3.0" 1102 | are-we-there-yet "~1.0.0" 1103 | gauge "~1.2.0" 1104 | 1105 | npmlog@^4.0.1: 1106 | version "4.0.2" 1107 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" 1108 | dependencies: 1109 | are-we-there-yet "~1.1.2" 1110 | console-control-strings "~1.1.0" 1111 | gauge "~2.7.1" 1112 | set-blocking "~2.0.0" 1113 | 1114 | number-is-nan@^1.0.0: 1115 | version "1.0.1" 1116 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1117 | 1118 | oauth-sign@~0.8.1: 1119 | version "0.8.2" 1120 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1121 | 1122 | object-assign@^4.0.1, object-assign@^4.1.0: 1123 | version "4.1.0" 1124 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" 1125 | 1126 | once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, once@~1.4.0: 1127 | version "1.4.0" 1128 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1129 | dependencies: 1130 | wrappy "1" 1131 | 1132 | opener@~1.4.1: 1133 | version "1.4.2" 1134 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.2.tgz#b32582080042af8680c389a499175b4c54fff523" 1135 | 1136 | os-homedir@^1.0.0, os-homedir@^1.0.1: 1137 | version "1.0.2" 1138 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1139 | 1140 | os-tmpdir@^1.0.0: 1141 | version "1.0.2" 1142 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1143 | 1144 | osenv@0, osenv@^0.1.0, osenv@~0.1.3: 1145 | version "0.1.4" 1146 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 1147 | dependencies: 1148 | os-homedir "^1.0.0" 1149 | os-tmpdir "^1.0.0" 1150 | 1151 | package-json@^2.0.0: 1152 | version "2.4.0" 1153 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" 1154 | dependencies: 1155 | got "^5.0.0" 1156 | registry-auth-token "^3.0.1" 1157 | registry-url "^3.0.3" 1158 | semver "^5.1.0" 1159 | 1160 | parse-json@^2.1.0: 1161 | version "2.2.0" 1162 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1163 | dependencies: 1164 | error-ex "^1.2.0" 1165 | 1166 | path-array@^1.0.0: 1167 | version "1.0.1" 1168 | resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271" 1169 | dependencies: 1170 | array-index "^1.0.0" 1171 | 1172 | path-is-absolute@^1.0.0: 1173 | version "1.0.1" 1174 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1175 | 1176 | path-is-inside@^1.0.1, path-is-inside@~1.0.0: 1177 | version "1.0.2" 1178 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 1179 | 1180 | pinkie-promise@^2.0.0: 1181 | version "2.0.1" 1182 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1183 | dependencies: 1184 | pinkie "^2.0.0" 1185 | 1186 | pinkie@^2.0.0: 1187 | version "2.0.4" 1188 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1189 | 1190 | prebuild-install@~2.1.0: 1191 | version "2.1.1" 1192 | resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.1.1.tgz#d0a77ea51b6a00f928cb71bc0ccea24f87ec171e" 1193 | dependencies: 1194 | expand-template "^1.0.2" 1195 | github-from-package "0.0.0" 1196 | minimist "^1.2.0" 1197 | node-abi "^2.0.0" 1198 | noop-logger "^0.1.1" 1199 | npmlog "^4.0.1" 1200 | os-homedir "^1.0.1" 1201 | pump "^1.0.1" 1202 | rc "^1.1.6" 1203 | simple-get "^1.4.2" 1204 | tar-fs "^1.13.0" 1205 | tunnel-agent "^0.4.3" 1206 | xtend "4.0.1" 1207 | 1208 | prepend-http@^1.0.1: 1209 | version "1.0.4" 1210 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 1211 | 1212 | process-nextick-args@~1.0.6: 1213 | version "1.0.7" 1214 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1215 | 1216 | promzard@^0.3.0: 1217 | version "0.3.0" 1218 | resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" 1219 | dependencies: 1220 | read "1" 1221 | 1222 | proto-list@~1.2.1: 1223 | version "1.2.4" 1224 | resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" 1225 | 1226 | pseudomap@^1.0.1: 1227 | version "1.0.2" 1228 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1229 | 1230 | publish@^0.6.0: 1231 | version "0.6.0" 1232 | resolved "https://registry.yarnpkg.com/publish/-/publish-0.6.0.tgz#ca124c8b9603ee1c7f739f35c12fcefbc3776f68" 1233 | dependencies: 1234 | nopt "3.x.x" 1235 | npm "2.x.x" 1236 | npmlog "1.x.x" 1237 | semver "4.x.x" 1238 | 1239 | pump@^1.0.0, pump@^1.0.1: 1240 | version "1.0.2" 1241 | resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.2.tgz#3b3ee6512f94f0e575538c17995f9f16990a5d51" 1242 | dependencies: 1243 | end-of-stream "^1.1.0" 1244 | once "^1.3.1" 1245 | 1246 | punycode@^1.4.1: 1247 | version "1.4.1" 1248 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1249 | 1250 | qs@~6.2.0: 1251 | version "6.2.1" 1252 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" 1253 | 1254 | qs@~6.3.0: 1255 | version "6.3.0" 1256 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" 1257 | 1258 | rc@^1.0.1, rc@^1.1.6: 1259 | version "1.1.6" 1260 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" 1261 | dependencies: 1262 | deep-extend "~0.4.0" 1263 | ini "~1.3.0" 1264 | minimist "^1.2.0" 1265 | strip-json-comments "~1.0.4" 1266 | 1267 | read-all-stream@^3.0.0: 1268 | version "3.1.0" 1269 | resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" 1270 | dependencies: 1271 | pinkie-promise "^2.0.0" 1272 | readable-stream "^2.0.0" 1273 | 1274 | read-installed@~4.0.3: 1275 | version "4.0.3" 1276 | resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" 1277 | dependencies: 1278 | debuglog "^1.0.1" 1279 | read-package-json "^2.0.0" 1280 | readdir-scoped-modules "^1.0.0" 1281 | semver "2 || 3 || 4 || 5" 1282 | slide "~1.1.3" 1283 | util-extend "^1.0.1" 1284 | optionalDependencies: 1285 | graceful-fs "^4.1.2" 1286 | 1287 | "read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@~2.0.4: 1288 | version "2.0.4" 1289 | resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.4.tgz#61ed1b2256ea438d8008895090be84b8e799c853" 1290 | dependencies: 1291 | glob "^6.0.0" 1292 | json-parse-helpfulerror "^1.0.2" 1293 | normalize-package-data "^2.0.0" 1294 | optionalDependencies: 1295 | graceful-fs "^4.1.2" 1296 | 1297 | read@1, read@~1.0.1, read@~1.0.7: 1298 | version "1.0.7" 1299 | resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" 1300 | dependencies: 1301 | mute-stream "~0.0.4" 1302 | 1303 | "readable-stream@1 || 2", "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@~2.1.5: 1304 | version "2.1.5" 1305 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" 1306 | dependencies: 1307 | buffer-shims "^1.0.0" 1308 | core-util-is "~1.0.0" 1309 | inherits "~2.0.1" 1310 | isarray "~1.0.0" 1311 | process-nextick-args "~1.0.6" 1312 | string_decoder "~0.10.x" 1313 | util-deprecate "~1.0.1" 1314 | 1315 | readable-stream@^2.0.0, readable-stream@^2.2.2: 1316 | version "2.2.2" 1317 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" 1318 | dependencies: 1319 | buffer-shims "^1.0.0" 1320 | core-util-is "~1.0.0" 1321 | inherits "~2.0.1" 1322 | isarray "~1.0.0" 1323 | process-nextick-args "~1.0.6" 1324 | string_decoder "~0.10.x" 1325 | util-deprecate "~1.0.1" 1326 | 1327 | readable-stream@~2.0.5: 1328 | version "2.0.6" 1329 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 1330 | dependencies: 1331 | core-util-is "~1.0.0" 1332 | inherits "~2.0.1" 1333 | isarray "~1.0.0" 1334 | process-nextick-args "~1.0.6" 1335 | string_decoder "~0.10.x" 1336 | util-deprecate "~1.0.1" 1337 | 1338 | readdir-scoped-modules@^1.0.0: 1339 | version "1.0.2" 1340 | resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" 1341 | dependencies: 1342 | debuglog "^1.0.1" 1343 | dezalgo "^1.0.0" 1344 | graceful-fs "^4.1.2" 1345 | once "^1.3.0" 1346 | 1347 | realize-package-specifier@~3.0.1: 1348 | version "3.0.3" 1349 | resolved "https://registry.yarnpkg.com/realize-package-specifier/-/realize-package-specifier-3.0.3.tgz#d0def882952b8de3f67eba5e91199661271f41f4" 1350 | dependencies: 1351 | dezalgo "^1.0.1" 1352 | npm-package-arg "^4.1.1" 1353 | 1354 | regenerator-runtime@^0.10.0: 1355 | version "0.10.3" 1356 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" 1357 | 1358 | registry-auth-token@^3.0.1: 1359 | version "3.1.0" 1360 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" 1361 | dependencies: 1362 | rc "^1.1.6" 1363 | 1364 | registry-url@^3.0.3: 1365 | version "3.1.0" 1366 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 1367 | dependencies: 1368 | rc "^1.0.1" 1369 | 1370 | repeating@^2.0.0: 1371 | version "2.0.1" 1372 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1373 | dependencies: 1374 | is-finite "^1.0.0" 1375 | 1376 | request@2, request@^2.74.0, request@^2.75.0: 1377 | version "2.79.0" 1378 | resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" 1379 | dependencies: 1380 | aws-sign2 "~0.6.0" 1381 | aws4 "^1.2.1" 1382 | caseless "~0.11.0" 1383 | combined-stream "~1.0.5" 1384 | extend "~3.0.0" 1385 | forever-agent "~0.6.1" 1386 | form-data "~2.1.1" 1387 | har-validator "~2.0.6" 1388 | hawk "~3.1.3" 1389 | http-signature "~1.1.0" 1390 | is-typedarray "~1.0.0" 1391 | isstream "~0.1.2" 1392 | json-stringify-safe "~5.0.1" 1393 | mime-types "~2.1.7" 1394 | oauth-sign "~0.8.1" 1395 | qs "~6.3.0" 1396 | stringstream "~0.0.4" 1397 | tough-cookie "~2.3.0" 1398 | tunnel-agent "~0.4.1" 1399 | uuid "^3.0.0" 1400 | 1401 | request@~2.74.0: 1402 | version "2.74.0" 1403 | resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab" 1404 | dependencies: 1405 | aws-sign2 "~0.6.0" 1406 | aws4 "^1.2.1" 1407 | bl "~1.1.2" 1408 | caseless "~0.11.0" 1409 | combined-stream "~1.0.5" 1410 | extend "~3.0.0" 1411 | forever-agent "~0.6.1" 1412 | form-data "~1.0.0-rc4" 1413 | har-validator "~2.0.6" 1414 | hawk "~3.1.3" 1415 | http-signature "~1.1.0" 1416 | is-typedarray "~1.0.0" 1417 | isstream "~0.1.2" 1418 | json-stringify-safe "~5.0.1" 1419 | mime-types "~2.1.7" 1420 | node-uuid "~1.4.7" 1421 | oauth-sign "~0.8.1" 1422 | qs "~6.2.0" 1423 | stringstream "~0.0.4" 1424 | tough-cookie "~2.3.0" 1425 | tunnel-agent "~0.4.1" 1426 | 1427 | retry@^0.10.0, retry@~0.10.0: 1428 | version "0.10.1" 1429 | resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" 1430 | 1431 | rimraf@2, rimraf@^2.5.2, rimraf@~2.5.4: 1432 | version "2.5.4" 1433 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 1434 | dependencies: 1435 | glob "^7.0.5" 1436 | 1437 | safe-buffer@~5.1.0: 1438 | version "5.1.1" 1439 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 1440 | 1441 | screeps-api@^1.4.0: 1442 | version "1.4.0" 1443 | resolved "https://registry.yarnpkg.com/screeps-api/-/screeps-api-1.4.0.tgz#a699b5403df666a727477b310c970de893f799e5" 1444 | dependencies: 1445 | bluebird "^3.5.0" 1446 | bufferutil "^3.0.0" 1447 | fetch-ponyfill "^4.0.0" 1448 | node-fetch "2.0.0-alpha.3" 1449 | utf-8-validate "^3.0.1" 1450 | ws "^3.0.0" 1451 | 1452 | semver-diff@^2.0.0: 1453 | version "2.1.0" 1454 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" 1455 | dependencies: 1456 | semver "^5.0.3" 1457 | 1458 | "semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0: 1459 | version "5.3.0" 1460 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 1461 | 1462 | semver@4.x.x: 1463 | version "4.3.6" 1464 | resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" 1465 | 1466 | semver@~5.1.0: 1467 | version "5.1.1" 1468 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" 1469 | 1470 | set-blocking@~2.0.0: 1471 | version "2.0.0" 1472 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1473 | 1474 | sha@~2.0.1: 1475 | version "2.0.1" 1476 | resolved "https://registry.yarnpkg.com/sha/-/sha-2.0.1.tgz#6030822fbd2c9823949f8f72ed6411ee5cf25aae" 1477 | dependencies: 1478 | graceful-fs "^4.1.2" 1479 | readable-stream "^2.0.2" 1480 | 1481 | signal-exit@^3.0.0: 1482 | version "3.0.2" 1483 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1484 | 1485 | simple-get@^1.4.2: 1486 | version "1.4.3" 1487 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-1.4.3.tgz#e9755eda407e96da40c5e5158c9ea37b33becbeb" 1488 | dependencies: 1489 | once "^1.3.1" 1490 | unzip-response "^1.0.0" 1491 | xtend "^4.0.0" 1492 | 1493 | slide@^1.1.3, slide@^1.1.5, slide@~1.1.3, slide@~1.1.6: 1494 | version "1.1.6" 1495 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 1496 | 1497 | sntp@1.x.x: 1498 | version "1.0.9" 1499 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 1500 | dependencies: 1501 | hoek "2.x.x" 1502 | 1503 | sorted-object@~2.0.0: 1504 | version "2.0.1" 1505 | resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" 1506 | 1507 | spdx-correct@~1.0.0: 1508 | version "1.0.2" 1509 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 1510 | dependencies: 1511 | spdx-license-ids "^1.0.2" 1512 | 1513 | spdx-expression-parse@~1.0.0: 1514 | version "1.0.4" 1515 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 1516 | 1517 | spdx-license-ids@^1.0.2, spdx-license-ids@~1.2.2: 1518 | version "1.2.2" 1519 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 1520 | 1521 | sshpk@^1.7.0: 1522 | version "1.10.1" 1523 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" 1524 | dependencies: 1525 | asn1 "~0.2.3" 1526 | assert-plus "^1.0.0" 1527 | dashdash "^1.12.0" 1528 | getpass "^0.1.1" 1529 | optionalDependencies: 1530 | bcrypt-pbkdf "^1.0.0" 1531 | ecc-jsbn "~0.1.1" 1532 | jodid25519 "^1.0.0" 1533 | jsbn "~0.1.0" 1534 | tweetnacl "~0.14.0" 1535 | 1536 | string-width@^1.0.1: 1537 | version "1.0.2" 1538 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1539 | dependencies: 1540 | code-point-at "^1.0.0" 1541 | is-fullwidth-code-point "^1.0.0" 1542 | strip-ansi "^3.0.0" 1543 | 1544 | string_decoder@~0.10.x: 1545 | version "0.10.31" 1546 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1547 | 1548 | stringstream@~0.0.4: 1549 | version "0.0.5" 1550 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 1551 | 1552 | strip-ansi@^3.0.0, strip-ansi@^3.0.1, strip-ansi@~3.0.1: 1553 | version "3.0.1" 1554 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1555 | dependencies: 1556 | ansi-regex "^2.0.0" 1557 | 1558 | strip-json-comments@~1.0.4: 1559 | version "1.0.4" 1560 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" 1561 | 1562 | supports-color@^2.0.0: 1563 | version "2.0.0" 1564 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1565 | 1566 | tar-fs@^1.13.0: 1567 | version "1.15.2" 1568 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.15.2.tgz#761f5b32932c7b39461a60d537faea0d8084830c" 1569 | dependencies: 1570 | chownr "^1.0.1" 1571 | mkdirp "^0.5.1" 1572 | pump "^1.0.0" 1573 | tar-stream "^1.1.2" 1574 | 1575 | tar-stream@^1.1.2: 1576 | version "1.5.2" 1577 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf" 1578 | dependencies: 1579 | bl "^1.0.0" 1580 | end-of-stream "^1.0.0" 1581 | readable-stream "^2.0.0" 1582 | xtend "^4.0.0" 1583 | 1584 | tar@^2.0.0, tar@~2.2.1: 1585 | version "2.2.1" 1586 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 1587 | dependencies: 1588 | block-stream "*" 1589 | fstream "^1.0.2" 1590 | inherits "2" 1591 | 1592 | text-table@~0.2.0: 1593 | version "0.2.0" 1594 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1595 | 1596 | timed-out@^3.0.0: 1597 | version "3.1.3" 1598 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" 1599 | 1600 | tough-cookie@~2.3.0: 1601 | version "2.3.2" 1602 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 1603 | dependencies: 1604 | punycode "^1.4.1" 1605 | 1606 | tunnel-agent@^0.4.3, tunnel-agent@~0.4.1: 1607 | version "0.4.3" 1608 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 1609 | 1610 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1611 | version "0.14.5" 1612 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1613 | 1614 | typedarray@^0.0.6: 1615 | version "0.0.6" 1616 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1617 | 1618 | uid-number@0.0.6: 1619 | version "0.0.6" 1620 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 1621 | 1622 | ultron@~1.1.0: 1623 | version "1.1.1" 1624 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" 1625 | 1626 | umask@~1.1.0: 1627 | version "1.1.0" 1628 | resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" 1629 | 1630 | unzip-response@^1.0.0, unzip-response@^1.0.2: 1631 | version "1.0.2" 1632 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" 1633 | 1634 | update-notifier@^1.0.2: 1635 | version "1.0.3" 1636 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" 1637 | dependencies: 1638 | boxen "^0.6.0" 1639 | chalk "^1.0.0" 1640 | configstore "^2.0.0" 1641 | is-npm "^1.0.0" 1642 | latest-version "^2.0.0" 1643 | lazy-req "^1.1.0" 1644 | semver-diff "^2.0.0" 1645 | xdg-basedir "^2.0.0" 1646 | 1647 | url-parse-lax@^1.0.0: 1648 | version "1.0.0" 1649 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 1650 | dependencies: 1651 | prepend-http "^1.0.1" 1652 | 1653 | utf-8-validate@^3.0.1: 1654 | version "3.0.1" 1655 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-3.0.1.tgz#5d2b8656b4ddcfded47217b647a98941b63cf213" 1656 | dependencies: 1657 | bindings "~1.2.1" 1658 | nan "~2.5.0" 1659 | prebuild-install "~2.1.0" 1660 | 1661 | util-deprecate@~1.0.1: 1662 | version "1.0.2" 1663 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1664 | 1665 | util-extend@^1.0.1: 1666 | version "1.0.3" 1667 | resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" 1668 | 1669 | uuid@^2.0.1: 1670 | version "2.0.3" 1671 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 1672 | 1673 | uuid@^3.0.0: 1674 | version "3.0.1" 1675 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" 1676 | 1677 | validate-npm-package-license@^3.0.1, validate-npm-package-license@~3.0.1: 1678 | version "3.0.1" 1679 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 1680 | dependencies: 1681 | spdx-correct "~1.0.0" 1682 | spdx-expression-parse "~1.0.0" 1683 | 1684 | validate-npm-package-name@^2.0.1, validate-npm-package-name@~2.2.2: 1685 | version "2.2.2" 1686 | resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz#f65695b22f7324442019a3c7fa39a6e7fd299085" 1687 | dependencies: 1688 | builtins "0.0.7" 1689 | 1690 | verror@1.3.6: 1691 | version "1.3.6" 1692 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 1693 | dependencies: 1694 | extsprintf "1.0.2" 1695 | 1696 | wcwidth@^1.0.0: 1697 | version "1.0.1" 1698 | resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" 1699 | dependencies: 1700 | defaults "^1.0.3" 1701 | 1702 | which@1, which@~1.2.11: 1703 | version "1.2.12" 1704 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" 1705 | dependencies: 1706 | isexe "^1.1.1" 1707 | 1708 | wide-align@^1.1.0: 1709 | version "1.1.0" 1710 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" 1711 | dependencies: 1712 | string-width "^1.0.1" 1713 | 1714 | widest-line@^1.0.0: 1715 | version "1.0.0" 1716 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" 1717 | dependencies: 1718 | string-width "^1.0.1" 1719 | 1720 | wrappy@1, wrappy@~1.0.2: 1721 | version "1.0.2" 1722 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1723 | 1724 | write-file-atomic@^1.1.2: 1725 | version "1.2.0" 1726 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" 1727 | dependencies: 1728 | graceful-fs "^4.1.2" 1729 | imurmurhash "^0.1.4" 1730 | slide "^1.1.5" 1731 | 1732 | write-file-atomic@~1.1.4: 1733 | version "1.1.4" 1734 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.1.4.tgz#b1f52dc2e8dc0e3cb04d187a25f758a38a90ca3b" 1735 | dependencies: 1736 | graceful-fs "^4.1.2" 1737 | imurmurhash "^0.1.4" 1738 | slide "^1.1.5" 1739 | 1740 | ws@^3.0.0: 1741 | version "3.3.3" 1742 | resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" 1743 | dependencies: 1744 | async-limiter "~1.0.0" 1745 | safe-buffer "~5.1.0" 1746 | ultron "~1.1.0" 1747 | 1748 | xdg-basedir@^2.0.0: 1749 | version "2.0.0" 1750 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" 1751 | dependencies: 1752 | os-homedir "^1.0.0" 1753 | 1754 | xtend@4.0.1, xtend@^4.0.0: 1755 | version "4.0.1" 1756 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1757 | 1758 | yallist@^2.0.0: 1759 | version "2.0.0" 1760 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" 1761 | --------------------------------------------------------------------------------