├── index.html
├── test
├── alternate-index.html
├── browser1.js
├── browser0.js
└── index.js
├── .gitignore
├── .travis.yml
├── bin
└── node-chrome
├── main.js
├── package.json
├── preload.js
├── README.md
├── LICENSE
├── index.js
└── yarn.lock
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/test/alternate-index.html:
--------------------------------------------------------------------------------
1 |
OK
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .DS_Store
3 | *sw.*
4 |
5 |
--------------------------------------------------------------------------------
/test/browser1.js:
--------------------------------------------------------------------------------
1 | window.onload = () => {
2 | const div = document.querySelector('div')
3 |
4 | console.log(div.textContent)
5 | window.close()
6 | }
7 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | addons:
2 | apt:
3 | packages:
4 | - xvfb
5 | install:
6 | - export DISPLAY=':99.0'
7 | - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
8 | - npm install
9 |
10 |
--------------------------------------------------------------------------------
/test/browser0.js:
--------------------------------------------------------------------------------
1 | window.onload = () => {
2 | document.body.innerHTML = 'Hello
'
3 | const h1 = document.querySelector('h1')
4 |
5 | console.log(h1.textContent)
6 | window.close()
7 | }
8 |
--------------------------------------------------------------------------------
/bin/node-chrome:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | const path = require('path')
3 | const chrome = require('../index')
4 | const args = process.argv
5 |
6 | const javascript = path.join(process.cwd(), args[2])
7 |
8 | const html = args[3]
9 | ? path.join(process.cwd(), args[3])
10 | : path.join(__dirname, 'index.html')
11 |
12 | chrome(javascript, html)
13 |
14 |
--------------------------------------------------------------------------------
/main.js:
--------------------------------------------------------------------------------
1 | const electron = require('electron')
2 | const minimist = require('minimist')
3 | const argv = minimist(process.argv.slice(2))
4 | const ipc = electron.ipcMain
5 |
6 | global.js = argv.js
7 | global.s = argv.s
8 |
9 | electron.app.dock.hide()
10 | electron.app.on('ready', () => {
11 | ipc.on('stdout', (event, output) => {
12 | process.send({ event: 'stdout', output })
13 | })
14 |
15 | ipc.on('stderr', (event, output) => {
16 | process.send({ event: 'stderr', output })
17 | })
18 |
19 | const w = new electron.BrowserWindow({
20 | show: false,
21 | webPreferences: { preload: argv._[0], nodeIntegration: !!argv.node }
22 | })
23 | w.loadURL('file://' + (argv.html || __dirname + '/index.html'))
24 | })
25 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "node-chrome",
3 | "version": "1.2.3",
4 | "description": "Run chrome headlessly as a module or as a command from the commandline.",
5 | "main": "index.js",
6 | "bin": "./bin/node-chrome",
7 | "directories": {
8 | "test": "test"
9 | },
10 | "dependencies": {
11 | "electron": "^1.4.10"
12 | },
13 | "devDependencies": {
14 | "tape": "^4.6.3"
15 | },
16 | "scripts": {
17 | "test": "node test/index.js"
18 | },
19 | "repository": {
20 | "type": "git",
21 | "url": "git+https://github.com/0x00A/node-chrome.git"
22 | },
23 | "author": "hij1nx",
24 | "license": "ISC",
25 | "bugs": {
26 | "url": "https://github.com/0x00A/node-chrome/issues"
27 | },
28 | "homepage": "https://github.com/0x00A/node-chrome#readme"
29 | }
30 |
--------------------------------------------------------------------------------
/preload.js:
--------------------------------------------------------------------------------
1 |
2 | // preload is invoked in a closure, its not global, so no iife required.
3 | window.alert = () => {}
4 | const log = console.log
5 | const error = console.error
6 |
7 | const fs = require('fs')
8 | const { remote, ipcRenderer: ipc } = require('electron')
9 | const s = remote.getGlobal('s')
10 | const js = remote.getGlobal('js')
11 |
12 | console.log = (...args) => {
13 | ipc.send('stdout', ...args)
14 | log(...args)
15 | }
16 |
17 | console.error = (...args) => {
18 | ipc.send('stderr', ...args)
19 | error(...args)
20 | }
21 |
22 | const die = (...args) => {
23 | console.error(...args)
24 | window.close()
25 | }
26 |
27 | window.onerror = (...args) => die(args[4].stack)
28 |
29 | if (js) {
30 | fs.stat(js, err => {
31 | if (err) return die(err.stack)
32 | require(js)
33 | })
34 | }
35 |
36 | if (s) {
37 | eval(s)
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/test/index.js:
--------------------------------------------------------------------------------
1 | const test = require('tape')
2 | const Chrome = require('../index')
3 | const path = require('path')
4 | const fs = require('fs')
5 |
6 | test('the textContent is extracted', assert => {
7 | const location = path.join(__dirname, 'browser0.js')
8 |
9 | const chrome = Chrome(fs.readFileSync(location, 'utf8'))
10 | chrome.on('stdout', data => {
11 | assert.equal(data, 'Hello')
12 | assert.end()
13 | })
14 | })
15 |
16 | test('the textContent is extracted using non default html', assert => {
17 | const js = path.join(__dirname, 'browser1.js')
18 | const html = path.join(__dirname, 'alternate-index.html')
19 |
20 | const chrome = Chrome({ js, html })
21 | chrome.on('stdout', (data) => {
22 | assert.equal(data, 'OK')
23 | assert.end()
24 | })
25 | })
26 |
27 | test('support node', assert => {
28 | const source = `console.log(!!require('os')); window.close()`
29 | const chrome = Chrome(source, true)
30 | chrome.on('stdout', data => {
31 | assert.equal(data, true)
32 | assert.end()
33 | })
34 | })
35 |
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SYNOPSIS
2 | Run chrome headlessly as a module or as a command from the commandline. This
3 | project is similar to [electron-stream](https://github.com/juliangruber/electron-stream),
4 | but it's simpler, no streams, no servers, etc.
5 |
6 | # USAGE
7 |
8 | ## FROM THE COMMANDLINE
9 | The `html` file is optional (an empty one will be used by default).
10 |
11 | ```bash
12 | node-chrome index.js [index.html]
13 | ```
14 |
15 | ## AS A MODULE
16 | Provides an event emitter with `stdout`, `stderr` and `exit`.
17 |
18 | ```js
19 | const Chrome = require('node-chrome')
20 | const path = require('path')
21 |
22 | const chrome = Chrome('Hello World
')
23 |
24 | //
25 | // or pass in file names...
26 | //
27 | // const js = path.join(__dirname, 'index.js')
28 | // const html = path.join(__dirname, 'index.html')
29 | // const chrome = Chrome({ js, html })
30 |
31 | chrome.on('stdout', (data) => console.log(data))
32 | chrome.on('exit', (code, sig) => process.exit(code, sig))
33 | ```
34 |
35 | Kill an isntance with `kill`.
36 |
37 | ```js
38 | chrome.kill(/* sig */)
39 | ```
40 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | Copyright (c) 2016 Paolo Fragomeni
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of
5 | this software and associated documentation files (the "Software"), to deal in
6 | the Software without restriction, including without limitation the rights to
7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
8 | of the Software, and to permit persons to whom the Software is furnished to do
9 | so, subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in all
12 | copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | SOFTWARE.
21 |
22 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const electron = require('electron')
2 | const child = require('child_process')
3 | const events = require('events')
4 | const path = require('path')
5 |
6 | const parent = path.join(__dirname, 'bin/node-chrome')
7 |
8 | module.exports = function (...argv) {
9 | const main = path.join(__dirname, 'main.js')
10 | const stdio = [null, null, null, 'ipc']
11 | const preload = path.join(__dirname, 'preload.js')
12 | const options = []
13 |
14 | if (typeof argv[0] === 'string') {
15 | options.push('-s', argv[0])
16 | } else if (typeof argv[0] === 'object') {
17 | const opts = argv[0]
18 | if (opts.js) {
19 | options.push('--js', opts.js)
20 | }
21 | if (opts.html) {
22 | options.push('--html', opts.html)
23 | }
24 | }
25 |
26 | if (argv[1]) {
27 | options.push('--node')
28 | }
29 |
30 | const args = [main, preload, ...options]
31 | const sp = child.spawn(electron, args, { stdio })
32 |
33 | // running as bin script
34 | if (module.parent.filename === parent) {
35 | sp.on('message', msg => process[msg.event].write(msg.output + '\n'))
36 | sp.on('exit', (code, sig) => process.exit(code, sig))
37 | } else {
38 | // running as a module
39 | const ee = new events.EventEmitter()
40 | sp.on('message', msg => ee.emit(msg.event, msg.output))
41 | sp.on('exit', (code, sig) => ee.emit('exit', code, sig))
42 | ee.on('kill', (sig) => sp.kill(sp.pid, sig))
43 | return ee
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 | ansi-regex@^2.0.0:
4 | version "2.0.0"
5 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107"
6 |
7 | ansi-styles@^2.2.1:
8 | version "2.2.1"
9 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
10 |
11 | array-find-index@^1.0.1:
12 | version "1.0.2"
13 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
14 |
15 | asn1@~0.2.3:
16 | version "0.2.3"
17 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
18 |
19 | assert-plus@^0.2.0:
20 | version "0.2.0"
21 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
22 |
23 | assert-plus@^1.0.0:
24 | version "1.0.0"
25 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
26 |
27 | asynckit@^0.4.0:
28 | version "0.4.0"
29 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
30 |
31 | aws-sign2@~0.6.0:
32 | version "0.6.0"
33 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
34 |
35 | aws4@^1.2.1:
36 | version "1.5.0"
37 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"
38 |
39 | balanced-match@^0.4.1:
40 | version "0.4.2"
41 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
42 |
43 | bcrypt-pbkdf@^1.0.0:
44 | version "1.0.0"
45 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4"
46 | dependencies:
47 | tweetnacl "^0.14.3"
48 |
49 | boom@2.x.x:
50 | version "2.10.1"
51 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
52 | dependencies:
53 | hoek "2.x.x"
54 |
55 | brace-expansion@^1.0.0:
56 | version "1.1.6"
57 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
58 | dependencies:
59 | balanced-match "^0.4.1"
60 | concat-map "0.0.1"
61 |
62 | builtin-modules@^1.0.0:
63 | version "1.1.1"
64 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
65 |
66 | camelcase-keys@^2.0.0:
67 | version "2.1.0"
68 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
69 | dependencies:
70 | camelcase "^2.0.0"
71 | map-obj "^1.0.0"
72 |
73 | camelcase@^2.0.0:
74 | version "2.1.1"
75 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
76 |
77 | caseless@~0.11.0:
78 | version "0.11.0"
79 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
80 |
81 | chalk@^1.1.1:
82 | version "1.1.3"
83 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
84 | dependencies:
85 | ansi-styles "^2.2.1"
86 | escape-string-regexp "^1.0.2"
87 | has-ansi "^2.0.0"
88 | strip-ansi "^3.0.0"
89 | supports-color "^2.0.0"
90 |
91 | code-point-at@^1.0.0:
92 | version "1.1.0"
93 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
94 |
95 | combined-stream@^1.0.5, combined-stream@~1.0.5:
96 | version "1.0.5"
97 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
98 | dependencies:
99 | delayed-stream "~1.0.0"
100 |
101 | commander@^2.9.0:
102 | version "2.9.0"
103 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
104 | dependencies:
105 | graceful-readlink ">= 1.0.0"
106 |
107 | concat-map@0.0.1:
108 | version "0.0.1"
109 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
110 |
111 | concat-stream@1.5.0:
112 | version "1.5.0"
113 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611"
114 | dependencies:
115 | inherits "~2.0.1"
116 | readable-stream "~2.0.0"
117 | typedarray "~0.0.5"
118 |
119 | core-util-is@~1.0.0:
120 | version "1.0.2"
121 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
122 |
123 | cryptiles@2.x.x:
124 | version "2.0.5"
125 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
126 | dependencies:
127 | boom "2.x.x"
128 |
129 | currently-unhandled@^0.4.1:
130 | version "0.4.1"
131 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
132 | dependencies:
133 | array-find-index "^1.0.1"
134 |
135 | dashdash@^1.12.0:
136 | version "1.14.1"
137 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
138 | dependencies:
139 | assert-plus "^1.0.0"
140 |
141 | debug@^2.1.3, debug@^2.2.0:
142 | version "2.3.3"
143 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
144 | dependencies:
145 | ms "0.7.2"
146 |
147 | debug@0.7.4:
148 | version "0.7.4"
149 | resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39"
150 |
151 | decamelize@^1.1.2:
152 | version "1.2.0"
153 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
154 |
155 | deep-equal@~1.0.1:
156 | version "1.0.1"
157 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
158 |
159 | deep-extend@~0.4.0:
160 | version "0.4.1"
161 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253"
162 |
163 | define-properties@^1.1.2:
164 | version "1.1.2"
165 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
166 | dependencies:
167 | foreach "^2.0.5"
168 | object-keys "^1.0.8"
169 |
170 | defined@~1.0.0:
171 | version "1.0.0"
172 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
173 |
174 | delayed-stream@~1.0.0:
175 | version "1.0.0"
176 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
177 |
178 | ecc-jsbn@~0.1.1:
179 | version "0.1.1"
180 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
181 | dependencies:
182 | jsbn "~0.1.0"
183 |
184 | electron-download@^3.0.1:
185 | version "3.0.1"
186 | resolved "https://registry.yarnpkg.com/electron-download/-/electron-download-3.0.1.tgz#27045028ee78b3b3dca9fdb35d4bb1262afa4d29"
187 | dependencies:
188 | debug "^2.2.0"
189 | fs-extra "^0.30.0"
190 | home-path "^1.0.1"
191 | minimist "^1.2.0"
192 | nugget "^2.0.0"
193 | path-exists "^2.1.0"
194 | rc "^1.1.2"
195 | semver "^5.3.0"
196 | sumchecker "^1.2.0"
197 |
198 | electron@^1.4.10:
199 | version "1.4.10"
200 | resolved "https://registry.yarnpkg.com/electron/-/electron-1.4.10.tgz#11492d82eb1d92fa36006c2376404d13a790f393"
201 | dependencies:
202 | electron-download "^3.0.1"
203 | extract-zip "^1.0.3"
204 |
205 | error-ex@^1.2.0:
206 | version "1.3.0"
207 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9"
208 | dependencies:
209 | is-arrayish "^0.2.1"
210 |
211 | es-abstract@^1.5.0:
212 | version "1.6.1"
213 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.6.1.tgz#bb8a2064120abcf928a086ea3d9043114285ec99"
214 | dependencies:
215 | es-to-primitive "^1.1.1"
216 | function-bind "^1.1.0"
217 | is-callable "^1.1.3"
218 | is-regex "^1.0.3"
219 |
220 | es-to-primitive@^1.1.1:
221 | version "1.1.1"
222 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
223 | dependencies:
224 | is-callable "^1.1.1"
225 | is-date-object "^1.0.1"
226 | is-symbol "^1.0.1"
227 |
228 | es6-promise@^3.2.1:
229 | version "3.3.1"
230 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
231 |
232 | escape-string-regexp@^1.0.2:
233 | version "1.0.5"
234 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
235 |
236 | extend@~3.0.0:
237 | version "3.0.0"
238 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4"
239 |
240 | extract-zip@^1.0.3:
241 | version "1.5.0"
242 | resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4"
243 | dependencies:
244 | concat-stream "1.5.0"
245 | debug "0.7.4"
246 | mkdirp "0.5.0"
247 | yauzl "2.4.1"
248 |
249 | extsprintf@1.0.2:
250 | version "1.0.2"
251 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
252 |
253 | fd-slicer@~1.0.1:
254 | version "1.0.1"
255 | resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
256 | dependencies:
257 | pend "~1.2.0"
258 |
259 | find-up@^1.0.0:
260 | version "1.1.2"
261 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
262 | dependencies:
263 | path-exists "^2.0.0"
264 | pinkie-promise "^2.0.0"
265 |
266 | for-each@~0.3.2:
267 | version "0.3.2"
268 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4"
269 | dependencies:
270 | is-function "~1.0.0"
271 |
272 | foreach@^2.0.5:
273 | version "2.0.5"
274 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
275 |
276 | forever-agent@~0.6.1:
277 | version "0.6.1"
278 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
279 |
280 | form-data@~2.1.1:
281 | version "2.1.2"
282 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
283 | dependencies:
284 | asynckit "^0.4.0"
285 | combined-stream "^1.0.5"
286 | mime-types "^2.1.12"
287 |
288 | fs-extra@^0.30.0:
289 | version "0.30.0"
290 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
291 | dependencies:
292 | graceful-fs "^4.1.2"
293 | jsonfile "^2.1.0"
294 | klaw "^1.0.0"
295 | path-is-absolute "^1.0.0"
296 | rimraf "^2.2.8"
297 |
298 | fs.realpath@^1.0.0:
299 | version "1.0.0"
300 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
301 |
302 | function-bind@^1.0.2, function-bind@^1.1.0, function-bind@~1.1.0:
303 | version "1.1.0"
304 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
305 |
306 | generate-function@^2.0.0:
307 | version "2.0.0"
308 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
309 |
310 | generate-object-property@^1.1.0:
311 | version "1.2.0"
312 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
313 | dependencies:
314 | is-property "^1.0.0"
315 |
316 | get-stdin@^4.0.1:
317 | version "4.0.1"
318 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
319 |
320 | getpass@^0.1.1:
321 | version "0.1.6"
322 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
323 | dependencies:
324 | assert-plus "^1.0.0"
325 |
326 | glob@^7.0.5, glob@~7.1.1:
327 | version "7.1.1"
328 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
329 | dependencies:
330 | fs.realpath "^1.0.0"
331 | inflight "^1.0.4"
332 | inherits "2"
333 | minimatch "^3.0.2"
334 | once "^1.3.0"
335 | path-is-absolute "^1.0.0"
336 |
337 | graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
338 | version "4.1.11"
339 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
340 |
341 | "graceful-readlink@>= 1.0.0":
342 | version "1.0.1"
343 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
344 |
345 | har-validator@~2.0.6:
346 | version "2.0.6"
347 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
348 | dependencies:
349 | chalk "^1.1.1"
350 | commander "^2.9.0"
351 | is-my-json-valid "^2.12.4"
352 | pinkie-promise "^2.0.0"
353 |
354 | has-ansi@^2.0.0:
355 | version "2.0.0"
356 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
357 | dependencies:
358 | ansi-regex "^2.0.0"
359 |
360 | has@~1.0.1:
361 | version "1.0.1"
362 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
363 | dependencies:
364 | function-bind "^1.0.2"
365 |
366 | hawk@~3.1.3:
367 | version "3.1.3"
368 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
369 | dependencies:
370 | boom "2.x.x"
371 | cryptiles "2.x.x"
372 | hoek "2.x.x"
373 | sntp "1.x.x"
374 |
375 | hoek@2.x.x:
376 | version "2.16.3"
377 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
378 |
379 | home-path@^1.0.1:
380 | version "1.0.3"
381 | resolved "https://registry.yarnpkg.com/home-path/-/home-path-1.0.3.tgz#9ece59fec3f032e6d10b5434fee264df4c2de32f"
382 |
383 | hosted-git-info@^2.1.4:
384 | version "2.1.5"
385 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b"
386 |
387 | http-signature@~1.1.0:
388 | version "1.1.1"
389 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
390 | dependencies:
391 | assert-plus "^0.2.0"
392 | jsprim "^1.2.2"
393 | sshpk "^1.7.0"
394 |
395 | indent-string@^2.1.0:
396 | version "2.1.0"
397 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
398 | dependencies:
399 | repeating "^2.0.0"
400 |
401 | inflight@^1.0.4:
402 | version "1.0.6"
403 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
404 | dependencies:
405 | once "^1.3.0"
406 | wrappy "1"
407 |
408 | inherits@~2.0.1, inherits@~2.0.3, inherits@2:
409 | version "2.0.3"
410 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
411 |
412 | ini@~1.3.0:
413 | version "1.3.4"
414 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
415 |
416 | is-arrayish@^0.2.1:
417 | version "0.2.1"
418 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
419 |
420 | is-builtin-module@^1.0.0:
421 | version "1.0.0"
422 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
423 | dependencies:
424 | builtin-modules "^1.0.0"
425 |
426 | is-callable@^1.1.1, is-callable@^1.1.3:
427 | version "1.1.3"
428 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
429 |
430 | is-date-object@^1.0.1:
431 | version "1.0.1"
432 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
433 |
434 | is-finite@^1.0.0:
435 | version "1.0.2"
436 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
437 | dependencies:
438 | number-is-nan "^1.0.0"
439 |
440 | is-fullwidth-code-point@^1.0.0:
441 | version "1.0.0"
442 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
443 | dependencies:
444 | number-is-nan "^1.0.0"
445 |
446 | is-function@~1.0.0:
447 | version "1.0.1"
448 | resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
449 |
450 | is-my-json-valid@^2.12.4:
451 | version "2.15.0"
452 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
453 | dependencies:
454 | generate-function "^2.0.0"
455 | generate-object-property "^1.1.0"
456 | jsonpointer "^4.0.0"
457 | xtend "^4.0.0"
458 |
459 | is-property@^1.0.0:
460 | version "1.0.2"
461 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
462 |
463 | is-regex@^1.0.3:
464 | version "1.0.3"
465 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637"
466 |
467 | is-symbol@^1.0.1:
468 | version "1.0.1"
469 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
470 |
471 | is-typedarray@~1.0.0:
472 | version "1.0.0"
473 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
474 |
475 | is-utf8@^0.2.0:
476 | version "0.2.1"
477 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
478 |
479 | isarray@~1.0.0:
480 | version "1.0.0"
481 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
482 |
483 | isarray@0.0.1:
484 | version "0.0.1"
485 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
486 |
487 | isstream@~0.1.2:
488 | version "0.1.2"
489 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
490 |
491 | jodid25519@^1.0.0:
492 | version "1.0.2"
493 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967"
494 | dependencies:
495 | jsbn "~0.1.0"
496 |
497 | jsbn@~0.1.0:
498 | version "0.1.0"
499 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
500 |
501 | json-schema@0.2.3:
502 | version "0.2.3"
503 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
504 |
505 | json-stringify-safe@~5.0.1:
506 | version "5.0.1"
507 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
508 |
509 | jsonfile@^2.1.0:
510 | version "2.4.0"
511 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
512 | optionalDependencies:
513 | graceful-fs "^4.1.6"
514 |
515 | jsonpointer@^4.0.0:
516 | version "4.0.0"
517 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5"
518 |
519 | jsprim@^1.2.2:
520 | version "1.3.1"
521 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252"
522 | dependencies:
523 | extsprintf "1.0.2"
524 | json-schema "0.2.3"
525 | verror "1.3.6"
526 |
527 | klaw@^1.0.0:
528 | version "1.3.1"
529 | resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
530 | optionalDependencies:
531 | graceful-fs "^4.1.9"
532 |
533 | load-json-file@^1.0.0:
534 | version "1.1.0"
535 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
536 | dependencies:
537 | graceful-fs "^4.1.2"
538 | parse-json "^2.2.0"
539 | pify "^2.0.0"
540 | pinkie-promise "^2.0.0"
541 | strip-bom "^2.0.0"
542 |
543 | loud-rejection@^1.0.0:
544 | version "1.6.0"
545 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
546 | dependencies:
547 | currently-unhandled "^0.4.1"
548 | signal-exit "^3.0.0"
549 |
550 | map-obj@^1.0.0, map-obj@^1.0.1:
551 | version "1.0.1"
552 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
553 |
554 | meow@^3.1.0:
555 | version "3.7.0"
556 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
557 | dependencies:
558 | camelcase-keys "^2.0.0"
559 | decamelize "^1.1.2"
560 | loud-rejection "^1.0.0"
561 | map-obj "^1.0.1"
562 | minimist "^1.1.3"
563 | normalize-package-data "^2.3.4"
564 | object-assign "^4.0.1"
565 | read-pkg-up "^1.0.1"
566 | redent "^1.0.0"
567 | trim-newlines "^1.0.0"
568 |
569 | mime-db@~1.25.0:
570 | version "1.25.0"
571 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392"
572 |
573 | mime-types@^2.1.12, mime-types@~2.1.7:
574 | version "2.1.13"
575 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88"
576 | dependencies:
577 | mime-db "~1.25.0"
578 |
579 | minimatch@^3.0.2:
580 | version "3.0.3"
581 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
582 | dependencies:
583 | brace-expansion "^1.0.0"
584 |
585 | minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0:
586 | version "1.2.0"
587 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
588 |
589 | minimist@0.0.8:
590 | version "0.0.8"
591 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
592 |
593 | mkdirp@0.5.0:
594 | version "0.5.0"
595 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12"
596 | dependencies:
597 | minimist "0.0.8"
598 |
599 | ms@0.7.2:
600 | version "0.7.2"
601 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
602 |
603 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
604 | version "2.3.5"
605 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df"
606 | dependencies:
607 | hosted-git-info "^2.1.4"
608 | is-builtin-module "^1.0.0"
609 | semver "2 || 3 || 4 || 5"
610 | validate-npm-package-license "^3.0.1"
611 |
612 | nugget@^2.0.0:
613 | version "2.0.1"
614 | resolved "https://registry.yarnpkg.com/nugget/-/nugget-2.0.1.tgz#201095a487e1ad36081b3432fa3cada4f8d071b0"
615 | dependencies:
616 | debug "^2.1.3"
617 | minimist "^1.1.0"
618 | pretty-bytes "^1.0.2"
619 | progress-stream "^1.1.0"
620 | request "^2.45.0"
621 | single-line-log "^1.1.2"
622 | throttleit "0.0.2"
623 |
624 | number-is-nan@^1.0.0:
625 | version "1.0.1"
626 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
627 |
628 | oauth-sign@~0.8.1:
629 | version "0.8.2"
630 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
631 |
632 | object-assign@^4.0.1:
633 | version "4.1.0"
634 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
635 |
636 | object-inspect@~1.2.1:
637 | version "1.2.1"
638 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.2.1.tgz#3b62226eb8f6d441751c7d8f22a20ff80ac9dc3f"
639 |
640 | object-keys@^1.0.8:
641 | version "1.0.11"
642 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
643 |
644 | object-keys@~0.4.0:
645 | version "0.4.0"
646 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336"
647 |
648 | once@^1.3.0:
649 | version "1.4.0"
650 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
651 | dependencies:
652 | wrappy "1"
653 |
654 | parse-json@^2.2.0:
655 | version "2.2.0"
656 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
657 | dependencies:
658 | error-ex "^1.2.0"
659 |
660 | path-exists@^2.0.0, path-exists@^2.1.0:
661 | version "2.1.0"
662 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
663 | dependencies:
664 | pinkie-promise "^2.0.0"
665 |
666 | path-is-absolute@^1.0.0:
667 | version "1.0.1"
668 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
669 |
670 | path-type@^1.0.0:
671 | version "1.1.0"
672 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
673 | dependencies:
674 | graceful-fs "^4.1.2"
675 | pify "^2.0.0"
676 | pinkie-promise "^2.0.0"
677 |
678 | pend@~1.2.0:
679 | version "1.2.0"
680 | resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
681 |
682 | pify@^2.0.0:
683 | version "2.3.0"
684 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
685 |
686 | pinkie-promise@^2.0.0:
687 | version "2.0.1"
688 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
689 | dependencies:
690 | pinkie "^2.0.0"
691 |
692 | pinkie@^2.0.0:
693 | version "2.0.4"
694 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
695 |
696 | pretty-bytes@^1.0.2:
697 | version "1.0.4"
698 | resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84"
699 | dependencies:
700 | get-stdin "^4.0.1"
701 | meow "^3.1.0"
702 |
703 | process-nextick-args@~1.0.6:
704 | version "1.0.7"
705 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
706 |
707 | progress-stream@^1.1.0:
708 | version "1.2.0"
709 | resolved "https://registry.yarnpkg.com/progress-stream/-/progress-stream-1.2.0.tgz#2cd3cfea33ba3a89c9c121ec3347abe9ab125f77"
710 | dependencies:
711 | speedometer "~0.1.2"
712 | through2 "~0.2.3"
713 |
714 | punycode@^1.4.1:
715 | version "1.4.1"
716 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
717 |
718 | qs@~6.3.0:
719 | version "6.3.0"
720 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
721 |
722 | rc@^1.1.2:
723 | version "1.1.6"
724 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9"
725 | dependencies:
726 | deep-extend "~0.4.0"
727 | ini "~1.3.0"
728 | minimist "^1.2.0"
729 | strip-json-comments "~1.0.4"
730 |
731 | read-pkg-up@^1.0.1:
732 | version "1.0.1"
733 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
734 | dependencies:
735 | find-up "^1.0.0"
736 | read-pkg "^1.0.0"
737 |
738 | read-pkg@^1.0.0:
739 | version "1.1.0"
740 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
741 | dependencies:
742 | load-json-file "^1.0.0"
743 | normalize-package-data "^2.3.2"
744 | path-type "^1.0.0"
745 |
746 | readable-stream@~1.1.9:
747 | version "1.1.14"
748 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
749 | dependencies:
750 | core-util-is "~1.0.0"
751 | inherits "~2.0.1"
752 | isarray "0.0.1"
753 | string_decoder "~0.10.x"
754 |
755 | readable-stream@~2.0.0:
756 | version "2.0.6"
757 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e"
758 | dependencies:
759 | core-util-is "~1.0.0"
760 | inherits "~2.0.1"
761 | isarray "~1.0.0"
762 | process-nextick-args "~1.0.6"
763 | string_decoder "~0.10.x"
764 | util-deprecate "~1.0.1"
765 |
766 | redent@^1.0.0:
767 | version "1.0.0"
768 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
769 | dependencies:
770 | indent-string "^2.1.0"
771 | strip-indent "^1.0.1"
772 |
773 | repeating@^2.0.0:
774 | version "2.0.1"
775 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
776 | dependencies:
777 | is-finite "^1.0.0"
778 |
779 | request@^2.45.0:
780 | version "2.79.0"
781 | resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
782 | dependencies:
783 | aws-sign2 "~0.6.0"
784 | aws4 "^1.2.1"
785 | caseless "~0.11.0"
786 | combined-stream "~1.0.5"
787 | extend "~3.0.0"
788 | forever-agent "~0.6.1"
789 | form-data "~2.1.1"
790 | har-validator "~2.0.6"
791 | hawk "~3.1.3"
792 | http-signature "~1.1.0"
793 | is-typedarray "~1.0.0"
794 | isstream "~0.1.2"
795 | json-stringify-safe "~5.0.1"
796 | mime-types "~2.1.7"
797 | oauth-sign "~0.8.1"
798 | qs "~6.3.0"
799 | stringstream "~0.0.4"
800 | tough-cookie "~2.3.0"
801 | tunnel-agent "~0.4.1"
802 | uuid "^3.0.0"
803 |
804 | resolve@~1.1.7:
805 | version "1.1.7"
806 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
807 |
808 | resumer@~0.0.0:
809 | version "0.0.0"
810 | resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759"
811 | dependencies:
812 | through "~2.3.4"
813 |
814 | rimraf@^2.2.8:
815 | version "2.5.4"
816 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
817 | dependencies:
818 | glob "^7.0.5"
819 |
820 | semver@^5.3.0, "semver@2 || 3 || 4 || 5":
821 | version "5.3.0"
822 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
823 |
824 | signal-exit@^3.0.0:
825 | version "3.0.2"
826 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
827 |
828 | single-line-log@^1.1.2:
829 | version "1.1.2"
830 | resolved "https://registry.yarnpkg.com/single-line-log/-/single-line-log-1.1.2.tgz#c2f83f273a3e1a16edb0995661da0ed5ef033364"
831 | dependencies:
832 | string-width "^1.0.1"
833 |
834 | sntp@1.x.x:
835 | version "1.0.9"
836 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
837 | dependencies:
838 | hoek "2.x.x"
839 |
840 | spdx-correct@~1.0.0:
841 | version "1.0.2"
842 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
843 | dependencies:
844 | spdx-license-ids "^1.0.2"
845 |
846 | spdx-expression-parse@~1.0.0:
847 | version "1.0.4"
848 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
849 |
850 | spdx-license-ids@^1.0.2:
851 | version "1.2.2"
852 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
853 |
854 | speedometer@~0.1.2:
855 | version "0.1.4"
856 | resolved "https://registry.yarnpkg.com/speedometer/-/speedometer-0.1.4.tgz#9876dbd2a169d3115402d48e6ea6329c8816a50d"
857 |
858 | sshpk@^1.7.0:
859 | version "1.10.1"
860 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0"
861 | dependencies:
862 | asn1 "~0.2.3"
863 | assert-plus "^1.0.0"
864 | dashdash "^1.12.0"
865 | getpass "^0.1.1"
866 | optionalDependencies:
867 | bcrypt-pbkdf "^1.0.0"
868 | ecc-jsbn "~0.1.1"
869 | jodid25519 "^1.0.0"
870 | jsbn "~0.1.0"
871 | tweetnacl "~0.14.0"
872 |
873 | string_decoder@~0.10.x:
874 | version "0.10.31"
875 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
876 |
877 | string-width@^1.0.1:
878 | version "1.0.2"
879 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
880 | dependencies:
881 | code-point-at "^1.0.0"
882 | is-fullwidth-code-point "^1.0.0"
883 | strip-ansi "^3.0.0"
884 |
885 | string.prototype.trim@~1.1.2:
886 | version "1.1.2"
887 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea"
888 | dependencies:
889 | define-properties "^1.1.2"
890 | es-abstract "^1.5.0"
891 | function-bind "^1.0.2"
892 |
893 | stringstream@~0.0.4:
894 | version "0.0.5"
895 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
896 |
897 | strip-ansi@^3.0.0:
898 | version "3.0.1"
899 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
900 | dependencies:
901 | ansi-regex "^2.0.0"
902 |
903 | strip-bom@^2.0.0:
904 | version "2.0.0"
905 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
906 | dependencies:
907 | is-utf8 "^0.2.0"
908 |
909 | strip-indent@^1.0.1:
910 | version "1.0.1"
911 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
912 | dependencies:
913 | get-stdin "^4.0.1"
914 |
915 | strip-json-comments@~1.0.4:
916 | version "1.0.4"
917 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
918 |
919 | sumchecker@^1.2.0:
920 | version "1.2.0"
921 | resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-1.2.0.tgz#8c79282f6b5d74e7fbcfb49505e50d096c63f38d"
922 | dependencies:
923 | debug "^2.2.0"
924 | es6-promise "^3.2.1"
925 |
926 | supports-color@^2.0.0:
927 | version "2.0.0"
928 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
929 |
930 | tape@^4.6.3:
931 | version "4.6.3"
932 | resolved "https://registry.yarnpkg.com/tape/-/tape-4.6.3.tgz#637e77581e9ab2ce17577e9bd4ce4f575806d8b6"
933 | dependencies:
934 | deep-equal "~1.0.1"
935 | defined "~1.0.0"
936 | for-each "~0.3.2"
937 | function-bind "~1.1.0"
938 | glob "~7.1.1"
939 | has "~1.0.1"
940 | inherits "~2.0.3"
941 | minimist "~1.2.0"
942 | object-inspect "~1.2.1"
943 | resolve "~1.1.7"
944 | resumer "~0.0.0"
945 | string.prototype.trim "~1.1.2"
946 | through "~2.3.8"
947 |
948 | throttleit@0.0.2:
949 | version "0.0.2"
950 | resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf"
951 |
952 | through@~2.3.4, through@~2.3.8:
953 | version "2.3.8"
954 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
955 |
956 | through2@~0.2.3:
957 | version "0.2.3"
958 | resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f"
959 | dependencies:
960 | readable-stream "~1.1.9"
961 | xtend "~2.1.1"
962 |
963 | tough-cookie@~2.3.0:
964 | version "2.3.2"
965 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
966 | dependencies:
967 | punycode "^1.4.1"
968 |
969 | trim-newlines@^1.0.0:
970 | version "1.0.0"
971 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
972 |
973 | tunnel-agent@~0.4.1:
974 | version "0.4.3"
975 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
976 |
977 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
978 | version "0.14.4"
979 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.4.tgz#8c9dbfb52795686f166cd2023794bcf103d13c2b"
980 |
981 | typedarray@~0.0.5:
982 | version "0.0.6"
983 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
984 |
985 | util-deprecate@~1.0.1:
986 | version "1.0.2"
987 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
988 |
989 | uuid@^3.0.0:
990 | version "3.0.1"
991 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
992 |
993 | validate-npm-package-license@^3.0.1:
994 | version "3.0.1"
995 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
996 | dependencies:
997 | spdx-correct "~1.0.0"
998 | spdx-expression-parse "~1.0.0"
999 |
1000 | verror@1.3.6:
1001 | version "1.3.6"
1002 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
1003 | dependencies:
1004 | extsprintf "1.0.2"
1005 |
1006 | wrappy@1:
1007 | version "1.0.2"
1008 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1009 |
1010 | xtend@^4.0.0:
1011 | version "4.0.1"
1012 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
1013 |
1014 | xtend@~2.1.1:
1015 | version "2.1.2"
1016 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b"
1017 | dependencies:
1018 | object-keys "~0.4.0"
1019 |
1020 | yauzl@2.4.1:
1021 | version "2.4.1"
1022 | resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
1023 | dependencies:
1024 | fd-slicer "~1.0.1"
1025 |
1026 |
--------------------------------------------------------------------------------