├── .gitignore ├── .travis.yml ├── README.md ├── Trash └── server.js ├── bin.js ├── doge.png ├── errorMsg.js ├── frost-doge.jpg ├── img2ascii.js ├── package-lock.json ├── package.json └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | 13 | # Directory for instrumented libs generated by jscoverage/JSCover 14 | lib-cov 15 | 16 | # Coverage directory used by tools like istanbul 17 | coverage 18 | 19 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 20 | .grunt 21 | 22 | # node-waf configuration 23 | .lock-wscript 24 | 25 | # Compiled binary addons (http://nodejs.org/api/addons.html) 26 | build/Release 27 | 28 | # Dependency directory 29 | # https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git 30 | node_modules 31 | .idea 32 | example.png 33 | Trash 34 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: true 2 | os: osx 3 | language: node_js 4 | osx_image: xcode8.2 5 | node_js: 6 | - '8' 7 | env: 8 | - CXX=g++-4.8 9 | addons: 10 | apt: 11 | sources: 12 | - ubuntu-toolchain-r-test 13 | packages: 14 | - g++-4.8 15 | before_install: 16 | - brew update 17 | - brew install graphicsmagick 18 | # - brew outdated graphicsmagick || brew upgrade graphicsmagick 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # img2ascii 2 | 3 | [![Greenkeeper badge](https://badges.greenkeeper.io/syzer/img2ascii.svg)](https://greenkeeper.io/) 4 | 5 | [![NPM Version](https://badge.fury.io/js/img2ascii.svg)](https://badge.fury.io/js/img2ascii) 6 | [![Dependency Status](https://david-dm.org/syzer/img2ascii.svg)](https://david-dm.org/syzer/img2ascii) 7 | [![Downloads Today](https://img.shields.io/npm/dt/img2ascii.svg)](https://badge.fury.io/js/img2ascii) 8 | [![Downloads Month](https://img.shields.io/npm/dm/img2ascii.svg)](https://badge.fury.io/js/img2ascii) 9 | [![Build Status](https://img.shields.io/travis/syzer/img2ascii.svg)](https://badge.fury.io/js/img2ascii) 10 | 11 | ## Purpose 12 | 13 | - Downloads images (jpeg/gif/png) and outputs them in your console. 14 | - Make custom ssh login message for your users. 15 | - Picture is worth thousands words.. we will use both! 16 | 17 | ![Doge In terminal](https://raw.githubusercontent.com/syzer/img2ascii/master/doge.png) 18 | 19 | ## Getting Started 20 | 21 | ```sh 22 | brew install graphicsmagick 23 | npm install -g img2ascii 24 | ``` 25 | 26 | ## Usage CLI 27 | ```sh 28 | Usage: img2ascii [url|file] --cols [num] --ratio [num] 29 | 30 | Options: 31 | -c, --cols Number of columns in terminal [default: 80] 32 | -r, --ratio Aspect ratio. Try 0.5 to flatten image 33 | and 2 to lengthen image [default: 1] 34 | ``` 35 | 36 | ## Examples 37 | ```sh 38 | img2ascii doge.png 39 | img2ascii https://pbs.twimg.com/profile_images/378800000822867536/3f5a00acf72df93528b6bb7cd0a4fd0c.jpeg 40 | img2ascii doge.png --cols 20 --ratio 0.5 41 | ``` 42 | 43 | ## Usage as module 44 | 45 | ```js 46 | const img2ascii = require('img2ascii')({ 47 | img: './assets/snafu.gif', 48 | cols: 90, // optional 49 | ratio: 1.2 // optional 50 | }).pipe(process.stdout) 51 | ``` 52 | -------------------------------------------------------------------------------- /Trash/server.js: -------------------------------------------------------------------------------- 1 | // https://gist.github.com/amejiarosario/53afae82e18db30dadc9bc39035778e5 2 | const http = require('http') 3 | const url = require('url') 4 | const fs = require('fs') 5 | const path = require('path') 6 | const port = process.argv[2] || 9000 7 | 8 | http.createServer((req, res) => { 9 | console.log(`${req.method} ${req.url}`) 10 | 11 | // parse URL 12 | const parsedUrl = url.parse(req.url) 13 | // extract URL path 14 | let pathname = `.${parsedUrl.pathname}` 15 | // based on the URL path, extract the file extention. e.g. .js, .doc, ... 16 | const ext = path.parse(pathname).ext 17 | // maps file extention to MIME typere 18 | const map = { 19 | '.ico': 'image/x-icon', 20 | '.html': 'text/html', 21 | '.js': 'text/javascript', 22 | '.json': 'application/json', 23 | '.css': 'text/css', 24 | '.png': 'image/png', 25 | '.jpg': 'image/jpeg', 26 | '.wav': 'audio/wav', 27 | '.mp3': 'audio/mpeg', 28 | '.svg': 'image/svg+xml', 29 | '.pdf': 'application/pdf', 30 | '.doc': 'application/msword' 31 | } 32 | 33 | fs.exists(pathname, (exist) => { 34 | if (!exist) { 35 | // if the file is not found, return 404 36 | res.statusCode = 404 37 | res.end(`File ${pathname} not found!`) 38 | return 39 | } 40 | 41 | // if is a directory search for index file matching the extention 42 | if (fs.statSync(pathname).isDirectory()) pathname += '/index' + ext 43 | 44 | // read file from file system 45 | fs.readFile(pathname, (err, data) => { 46 | if (err) { 47 | res.statusCode = 500 48 | res.end(`Error getting the file: ${err}.`) 49 | } else { 50 | // if the file is found, set Content-type and send data 51 | res.setHeader('Content-type', map[ext] || 'text/plain') 52 | res.end(data) 53 | } 54 | }) 55 | }) 56 | 57 | 58 | }).listen(parseInt(port)) 59 | 60 | console.log(`Server listening on port ${port}`) 61 | -------------------------------------------------------------------------------- /bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const errMsg = require('./errorMsg') 4 | const version = require('./package.json').version 5 | const argv = require('yargs') 6 | .usage('Usage: $0 [url|file] --cols [num] --ratio [num]') 7 | .option('c', { 8 | alias: 'cols', 9 | default: 80, 10 | describe: 'Number of columns in terminal' 11 | }) 12 | .option('r', { 13 | alias: 'ratio', 14 | default: 1, 15 | describe: 'Aspect ratio. Try 0.5 to flatten image\nand 2 to lengthen image' 16 | }) 17 | .option('v', { 18 | alias: 'version', 19 | describe: `Prints version: ${version}` 20 | }) 21 | .demand(1) 22 | .argv 23 | 24 | process.on('uncaughtException', errMsg.printErr) 25 | 26 | const img2ascii = require('./img2ascii')(argv) 27 | .pipe(process.stdout) 28 | -------------------------------------------------------------------------------- /doge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syzer/img2ascii/c31909f3465c94cfe4ae631142fbe7c774911b8e/doge.png -------------------------------------------------------------------------------- /errorMsg.js: -------------------------------------------------------------------------------- 1 | module.exports.printErr = (err) => { 2 | 3 | console.error('Error:', err) 4 | 5 | if ('ENOENT' === err.code && 'open' !== err.syscall) { 6 | console.error('Please install graphicsmagick:') 7 | console.error('brew install graphicsmagick') 8 | console.error('sudo apt-get install graphicsmagick') 9 | } 10 | 11 | if ('ENOTFOUND' === err.code) { 12 | console.log('Please check your uri / network connection') 13 | } 14 | 15 | process.exit(1) 16 | } 17 | -------------------------------------------------------------------------------- /frost-doge.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/syzer/img2ascii/c31909f3465c94cfe4ae631142fbe7c774911b8e/frost-doge.jpg -------------------------------------------------------------------------------- /img2ascii.js: -------------------------------------------------------------------------------- 1 | module.exports = (config) => { 2 | const argv = { 3 | ratio: config.ratio, 4 | cols: config.cols, 5 | _: config._ || [config.img] 6 | } 7 | const gm = require('gm') 8 | const pictureTube = require('picture-tube') 9 | 10 | const isUrl = (str) => str.match(/^(http|0\.0|1..\.|localhost)/) 11 | 12 | const pipeIn = (isUrl(argv._[0]) ? 13 | require('request-promise')(argv._[0]) : 14 | require('fs').createReadStream(argv._[0])) 15 | 16 | return gm(pipeIn) 17 | // magic fix of picture tube ratios 18 | .resizeExact(300 * 1.2, 300 * argv.ratio) 19 | .stream('png') 20 | .pipe(pictureTube({ cols: argv.cols })) 21 | } 22 | 23 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "img2ascii", 3 | "version": "1.4.2", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "ajv": { 8 | "version": "5.5.2", 9 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", 10 | "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", 11 | "requires": { 12 | "co": "4.6.0", 13 | "fast-deep-equal": "1.1.0", 14 | "fast-json-stable-stringify": "2.0.0", 15 | "json-schema-traverse": "0.3.1" 16 | } 17 | }, 18 | "ansi-regex": { 19 | "version": "2.1.1", 20 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 21 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" 22 | }, 23 | "ansi-styles": { 24 | "version": "2.2.1", 25 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 26 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 27 | "dev": true 28 | }, 29 | "argparse": { 30 | "version": "1.0.10", 31 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 32 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 33 | "dev": true, 34 | "requires": { 35 | "sprintf-js": "1.0.3" 36 | } 37 | }, 38 | "array-parallel": { 39 | "version": "0.1.3", 40 | "resolved": "https://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz", 41 | "integrity": "sha1-j3hTCJJu1apHjEfmTRszS2wMlH0=" 42 | }, 43 | "array-series": { 44 | "version": "0.1.5", 45 | "resolved": "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz", 46 | "integrity": "sha1-3103v8XC7wdV4qpPkv6ufUtaly8=" 47 | }, 48 | "asn1": { 49 | "version": "0.2.3", 50 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 51 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" 52 | }, 53 | "assert-plus": { 54 | "version": "1.0.0", 55 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 56 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 57 | }, 58 | "asynckit": { 59 | "version": "0.4.0", 60 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 61 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 62 | }, 63 | "aws-sign2": { 64 | "version": "0.7.0", 65 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 66 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 67 | }, 68 | "aws4": { 69 | "version": "1.6.0", 70 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 71 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" 72 | }, 73 | "balanced-match": { 74 | "version": "1.0.0", 75 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 76 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 77 | "dev": true 78 | }, 79 | "bcrypt-pbkdf": { 80 | "version": "1.0.1", 81 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 82 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 83 | "optional": true, 84 | "requires": { 85 | "tweetnacl": "0.14.5" 86 | } 87 | }, 88 | "bind-obj-methods": { 89 | "version": "1.0.0", 90 | "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-1.0.0.tgz", 91 | "integrity": "sha1-T1l5ysFXk633DkiBYeRj4gnKUJw=", 92 | "dev": true 93 | }, 94 | "bluebird": { 95 | "version": "3.5.1", 96 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", 97 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" 98 | }, 99 | "boom": { 100 | "version": "4.3.1", 101 | "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", 102 | "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", 103 | "requires": { 104 | "hoek": "4.2.1" 105 | } 106 | }, 107 | "brace-expansion": { 108 | "version": "1.1.11", 109 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 110 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 111 | "dev": true, 112 | "requires": { 113 | "balanced-match": "1.0.0", 114 | "concat-map": "0.0.1" 115 | } 116 | }, 117 | "buffers": { 118 | "version": "0.1.1", 119 | "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", 120 | "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" 121 | }, 122 | "builtin-modules": { 123 | "version": "1.1.1", 124 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 125 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" 126 | }, 127 | "caseless": { 128 | "version": "0.12.0", 129 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 130 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 131 | }, 132 | "chalk": { 133 | "version": "1.1.3", 134 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 135 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 136 | "dev": true, 137 | "requires": { 138 | "ansi-styles": "2.2.1", 139 | "escape-string-regexp": "1.0.5", 140 | "has-ansi": "2.0.0", 141 | "strip-ansi": "3.0.1", 142 | "supports-color": "2.0.0" 143 | } 144 | }, 145 | "charm": { 146 | "version": "0.1.2", 147 | "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz", 148 | "integrity": "sha1-BsIe7RobBq62dVPNxT4jJ0usIpY=" 149 | }, 150 | "clean-yaml-object": { 151 | "version": "0.1.0", 152 | "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", 153 | "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", 154 | "dev": true 155 | }, 156 | "cliui": { 157 | "version": "3.2.0", 158 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", 159 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", 160 | "requires": { 161 | "string-width": "1.0.2", 162 | "strip-ansi": "3.0.1", 163 | "wrap-ansi": "2.1.0" 164 | } 165 | }, 166 | "co": { 167 | "version": "4.6.0", 168 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 169 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" 170 | }, 171 | "code-point-at": { 172 | "version": "1.1.0", 173 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 174 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" 175 | }, 176 | "color-support": { 177 | "version": "1.1.3", 178 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 179 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 180 | "dev": true 181 | }, 182 | "combined-stream": { 183 | "version": "1.0.6", 184 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", 185 | "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", 186 | "requires": { 187 | "delayed-stream": "1.0.0" 188 | } 189 | }, 190 | "commander": { 191 | "version": "2.14.1", 192 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", 193 | "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", 194 | "dev": true 195 | }, 196 | "concat-map": { 197 | "version": "0.0.1", 198 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 199 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 200 | "dev": true 201 | }, 202 | "core-util-is": { 203 | "version": "1.0.2", 204 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 205 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 206 | }, 207 | "coveralls": { 208 | "version": "2.13.3", 209 | "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz", 210 | "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==", 211 | "dev": true, 212 | "requires": { 213 | "js-yaml": "3.6.1", 214 | "lcov-parse": "0.0.10", 215 | "log-driver": "1.2.5", 216 | "minimist": "1.2.0", 217 | "request": "2.79.0" 218 | }, 219 | "dependencies": { 220 | "assert-plus": { 221 | "version": "0.2.0", 222 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 223 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 224 | "dev": true 225 | }, 226 | "aws-sign2": { 227 | "version": "0.6.0", 228 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 229 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 230 | "dev": true 231 | }, 232 | "boom": { 233 | "version": "2.10.1", 234 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 235 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 236 | "dev": true, 237 | "requires": { 238 | "hoek": "2.16.3" 239 | } 240 | }, 241 | "caseless": { 242 | "version": "0.11.0", 243 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", 244 | "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", 245 | "dev": true 246 | }, 247 | "cryptiles": { 248 | "version": "2.0.5", 249 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 250 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 251 | "dev": true, 252 | "requires": { 253 | "boom": "2.10.1" 254 | } 255 | }, 256 | "form-data": { 257 | "version": "2.1.4", 258 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 259 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 260 | "dev": true, 261 | "requires": { 262 | "asynckit": "0.4.0", 263 | "combined-stream": "1.0.6", 264 | "mime-types": "2.1.18" 265 | } 266 | }, 267 | "har-validator": { 268 | "version": "2.0.6", 269 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", 270 | "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", 271 | "dev": true, 272 | "requires": { 273 | "chalk": "1.1.3", 274 | "commander": "2.14.1", 275 | "is-my-json-valid": "2.17.2", 276 | "pinkie-promise": "2.0.1" 277 | } 278 | }, 279 | "hawk": { 280 | "version": "3.1.3", 281 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 282 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 283 | "dev": true, 284 | "requires": { 285 | "boom": "2.10.1", 286 | "cryptiles": "2.0.5", 287 | "hoek": "2.16.3", 288 | "sntp": "1.0.9" 289 | } 290 | }, 291 | "hoek": { 292 | "version": "2.16.3", 293 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 294 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 295 | "dev": true 296 | }, 297 | "http-signature": { 298 | "version": "1.1.1", 299 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 300 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 301 | "dev": true, 302 | "requires": { 303 | "assert-plus": "0.2.0", 304 | "jsprim": "1.4.1", 305 | "sshpk": "1.13.1" 306 | } 307 | }, 308 | "js-yaml": { 309 | "version": "3.6.1", 310 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", 311 | "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", 312 | "dev": true, 313 | "requires": { 314 | "argparse": "1.0.10", 315 | "esprima": "2.7.3" 316 | } 317 | }, 318 | "qs": { 319 | "version": "6.3.2", 320 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", 321 | "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", 322 | "dev": true 323 | }, 324 | "request": { 325 | "version": "2.79.0", 326 | "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", 327 | "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", 328 | "dev": true, 329 | "requires": { 330 | "aws-sign2": "0.6.0", 331 | "aws4": "1.6.0", 332 | "caseless": "0.11.0", 333 | "combined-stream": "1.0.6", 334 | "extend": "3.0.1", 335 | "forever-agent": "0.6.1", 336 | "form-data": "2.1.4", 337 | "har-validator": "2.0.6", 338 | "hawk": "3.1.3", 339 | "http-signature": "1.1.1", 340 | "is-typedarray": "1.0.0", 341 | "isstream": "0.1.2", 342 | "json-stringify-safe": "5.0.1", 343 | "mime-types": "2.1.18", 344 | "oauth-sign": "0.8.2", 345 | "qs": "6.3.2", 346 | "stringstream": "0.0.5", 347 | "tough-cookie": "2.3.4", 348 | "tunnel-agent": "0.4.3", 349 | "uuid": "3.2.1" 350 | } 351 | }, 352 | "sntp": { 353 | "version": "1.0.9", 354 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 355 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 356 | "dev": true, 357 | "requires": { 358 | "hoek": "2.16.3" 359 | } 360 | }, 361 | "tunnel-agent": { 362 | "version": "0.4.3", 363 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", 364 | "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", 365 | "dev": true 366 | } 367 | } 368 | }, 369 | "cross-spawn": { 370 | "version": "4.0.2", 371 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", 372 | "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", 373 | "requires": { 374 | "lru-cache": "4.1.1", 375 | "which": "1.3.0" 376 | } 377 | }, 378 | "cryptiles": { 379 | "version": "3.1.2", 380 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", 381 | "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", 382 | "requires": { 383 | "boom": "5.2.0" 384 | }, 385 | "dependencies": { 386 | "boom": { 387 | "version": "5.2.0", 388 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 389 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 390 | "requires": { 391 | "hoek": "4.2.1" 392 | } 393 | } 394 | } 395 | }, 396 | "dashdash": { 397 | "version": "1.14.1", 398 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 399 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 400 | "requires": { 401 | "assert-plus": "1.0.0" 402 | } 403 | }, 404 | "debug": { 405 | "version": "3.1.0", 406 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 407 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 408 | "requires": { 409 | "ms": "2.0.0" 410 | } 411 | }, 412 | "decamelize": { 413 | "version": "1.2.0", 414 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 415 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 416 | }, 417 | "delayed-stream": { 418 | "version": "1.0.0", 419 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 420 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 421 | }, 422 | "depd": { 423 | "version": "1.1.2", 424 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 425 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", 426 | "dev": true 427 | }, 428 | "destroy": { 429 | "version": "1.0.4", 430 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 431 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", 432 | "dev": true 433 | }, 434 | "diff": { 435 | "version": "1.4.0", 436 | "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", 437 | "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", 438 | "dev": true 439 | }, 440 | "ecc-jsbn": { 441 | "version": "0.1.1", 442 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 443 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 444 | "optional": true, 445 | "requires": { 446 | "jsbn": "0.1.1" 447 | } 448 | }, 449 | "ee-first": { 450 | "version": "1.1.1", 451 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 452 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", 453 | "dev": true 454 | }, 455 | "encodeurl": { 456 | "version": "1.0.2", 457 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 458 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", 459 | "dev": true 460 | }, 461 | "error-ex": { 462 | "version": "1.3.1", 463 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 464 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 465 | "requires": { 466 | "is-arrayish": "0.2.1" 467 | } 468 | }, 469 | "escape-html": { 470 | "version": "1.0.3", 471 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 472 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", 473 | "dev": true 474 | }, 475 | "escape-string-regexp": { 476 | "version": "1.0.5", 477 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 478 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 479 | "dev": true 480 | }, 481 | "esprima": { 482 | "version": "2.7.3", 483 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 484 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 485 | "dev": true 486 | }, 487 | "etag": { 488 | "version": "1.8.1", 489 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 490 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", 491 | "dev": true 492 | }, 493 | "event-stream": { 494 | "version": "0.9.8", 495 | "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-0.9.8.tgz", 496 | "integrity": "sha1-XanPPHkAl1mJ21powo5bPJjr4Do=", 497 | "requires": { 498 | "optimist": "0.2.8" 499 | }, 500 | "dependencies": { 501 | "optimist": { 502 | "version": "0.2.8", 503 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz", 504 | "integrity": "sha1-6YGrfiaLRXlIWTtVZ0wJmoFcrDE=", 505 | "requires": { 506 | "wordwrap": "0.0.3" 507 | } 508 | } 509 | } 510 | }, 511 | "events-to-array": { 512 | "version": "1.1.2", 513 | "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", 514 | "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", 515 | "dev": true 516 | }, 517 | "execa": { 518 | "version": "0.7.0", 519 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", 520 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", 521 | "requires": { 522 | "cross-spawn": "5.1.0", 523 | "get-stream": "3.0.0", 524 | "is-stream": "1.1.0", 525 | "npm-run-path": "2.0.2", 526 | "p-finally": "1.0.0", 527 | "signal-exit": "3.0.2", 528 | "strip-eof": "1.0.0" 529 | }, 530 | "dependencies": { 531 | "cross-spawn": { 532 | "version": "5.1.0", 533 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 534 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 535 | "requires": { 536 | "lru-cache": "4.1.1", 537 | "shebang-command": "1.2.0", 538 | "which": "1.3.0" 539 | } 540 | } 541 | } 542 | }, 543 | "extend": { 544 | "version": "3.0.1", 545 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 546 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" 547 | }, 548 | "extsprintf": { 549 | "version": "1.3.0", 550 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 551 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 552 | }, 553 | "fast-deep-equal": { 554 | "version": "1.1.0", 555 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", 556 | "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" 557 | }, 558 | "fast-json-stable-stringify": { 559 | "version": "2.0.0", 560 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 561 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 562 | }, 563 | "finalhandler": { 564 | "version": "1.1.0", 565 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", 566 | "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", 567 | "dev": true, 568 | "requires": { 569 | "debug": "2.6.9", 570 | "encodeurl": "1.0.2", 571 | "escape-html": "1.0.3", 572 | "on-finished": "2.3.0", 573 | "parseurl": "1.3.2", 574 | "statuses": "1.3.1", 575 | "unpipe": "1.0.0" 576 | }, 577 | "dependencies": { 578 | "debug": { 579 | "version": "2.6.9", 580 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 581 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 582 | "dev": true, 583 | "requires": { 584 | "ms": "2.0.0" 585 | } 586 | } 587 | } 588 | }, 589 | "foreground-child": { 590 | "version": "1.5.6", 591 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", 592 | "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", 593 | "dev": true, 594 | "requires": { 595 | "cross-spawn": "4.0.2", 596 | "signal-exit": "3.0.2" 597 | } 598 | }, 599 | "forever-agent": { 600 | "version": "0.6.1", 601 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 602 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 603 | }, 604 | "form-data": { 605 | "version": "2.3.2", 606 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", 607 | "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", 608 | "requires": { 609 | "asynckit": "0.4.0", 610 | "combined-stream": "1.0.6", 611 | "mime-types": "2.1.18" 612 | } 613 | }, 614 | "fresh": { 615 | "version": "0.5.2", 616 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 617 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", 618 | "dev": true 619 | }, 620 | "fs-exists-cached": { 621 | "version": "1.0.0", 622 | "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", 623 | "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", 624 | "dev": true 625 | }, 626 | "fs.realpath": { 627 | "version": "1.0.0", 628 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 629 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 630 | "dev": true 631 | }, 632 | "function-loop": { 633 | "version": "1.0.1", 634 | "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", 635 | "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", 636 | "dev": true 637 | }, 638 | "generate-function": { 639 | "version": "2.0.0", 640 | "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", 641 | "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", 642 | "dev": true 643 | }, 644 | "generate-object-property": { 645 | "version": "1.2.0", 646 | "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 647 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 648 | "dev": true, 649 | "requires": { 650 | "is-property": "1.0.2" 651 | } 652 | }, 653 | "get-caller-file": { 654 | "version": "1.0.2", 655 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", 656 | "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" 657 | }, 658 | "get-stream": { 659 | "version": "3.0.0", 660 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 661 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 662 | }, 663 | "getpass": { 664 | "version": "0.1.7", 665 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 666 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 667 | "requires": { 668 | "assert-plus": "1.0.0" 669 | } 670 | }, 671 | "glob": { 672 | "version": "7.1.2", 673 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 674 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 675 | "dev": true, 676 | "requires": { 677 | "fs.realpath": "1.0.0", 678 | "inflight": "1.0.6", 679 | "inherits": "2.0.3", 680 | "minimatch": "3.0.4", 681 | "once": "1.4.0", 682 | "path-is-absolute": "1.0.1" 683 | } 684 | }, 685 | "gm": { 686 | "version": "1.23.1", 687 | "resolved": "https://registry.npmjs.org/gm/-/gm-1.23.1.tgz", 688 | "integrity": "sha1-Lt7rlYCE0PjqeYjl2ZWxx9/BR3c=", 689 | "requires": { 690 | "array-parallel": "0.1.3", 691 | "array-series": "0.1.5", 692 | "cross-spawn": "4.0.2", 693 | "debug": "3.1.0" 694 | } 695 | }, 696 | "graceful-fs": { 697 | "version": "4.1.11", 698 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 699 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" 700 | }, 701 | "har-schema": { 702 | "version": "2.0.0", 703 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 704 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 705 | }, 706 | "har-validator": { 707 | "version": "5.0.3", 708 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", 709 | "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", 710 | "requires": { 711 | "ajv": "5.5.2", 712 | "har-schema": "2.0.0" 713 | } 714 | }, 715 | "has-ansi": { 716 | "version": "2.0.0", 717 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 718 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 719 | "dev": true, 720 | "requires": { 721 | "ansi-regex": "2.1.1" 722 | } 723 | }, 724 | "hawk": { 725 | "version": "6.0.2", 726 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", 727 | "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", 728 | "requires": { 729 | "boom": "4.3.1", 730 | "cryptiles": "3.1.2", 731 | "hoek": "4.2.1", 732 | "sntp": "2.1.0" 733 | } 734 | }, 735 | "hoek": { 736 | "version": "4.2.1", 737 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", 738 | "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" 739 | }, 740 | "hosted-git-info": { 741 | "version": "2.5.0", 742 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", 743 | "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" 744 | }, 745 | "http-errors": { 746 | "version": "1.6.2", 747 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", 748 | "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", 749 | "dev": true, 750 | "requires": { 751 | "depd": "1.1.1", 752 | "inherits": "2.0.3", 753 | "setprototypeof": "1.0.3", 754 | "statuses": "1.3.1" 755 | }, 756 | "dependencies": { 757 | "depd": { 758 | "version": "1.1.1", 759 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", 760 | "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", 761 | "dev": true 762 | } 763 | } 764 | }, 765 | "http-signature": { 766 | "version": "1.2.0", 767 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 768 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 769 | "requires": { 770 | "assert-plus": "1.0.0", 771 | "jsprim": "1.4.1", 772 | "sshpk": "1.13.1" 773 | } 774 | }, 775 | "inflight": { 776 | "version": "1.0.6", 777 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 778 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 779 | "dev": true, 780 | "requires": { 781 | "once": "1.4.0", 782 | "wrappy": "1.0.2" 783 | } 784 | }, 785 | "inherits": { 786 | "version": "2.0.3", 787 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 788 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 789 | "dev": true 790 | }, 791 | "invert-kv": { 792 | "version": "1.0.0", 793 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", 794 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" 795 | }, 796 | "is-arrayish": { 797 | "version": "0.2.1", 798 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 799 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" 800 | }, 801 | "is-builtin-module": { 802 | "version": "1.0.0", 803 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 804 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 805 | "requires": { 806 | "builtin-modules": "1.1.1" 807 | } 808 | }, 809 | "is-fullwidth-code-point": { 810 | "version": "1.0.0", 811 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 812 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 813 | "requires": { 814 | "number-is-nan": "1.0.1" 815 | } 816 | }, 817 | "is-my-ip-valid": { 818 | "version": "1.0.0", 819 | "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", 820 | "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", 821 | "dev": true 822 | }, 823 | "is-my-json-valid": { 824 | "version": "2.17.2", 825 | "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", 826 | "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", 827 | "dev": true, 828 | "requires": { 829 | "generate-function": "2.0.0", 830 | "generate-object-property": "1.2.0", 831 | "is-my-ip-valid": "1.0.0", 832 | "jsonpointer": "4.0.1", 833 | "xtend": "4.0.1" 834 | } 835 | }, 836 | "is-property": { 837 | "version": "1.0.2", 838 | "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 839 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 840 | "dev": true 841 | }, 842 | "is-stream": { 843 | "version": "1.1.0", 844 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 845 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 846 | }, 847 | "is-typedarray": { 848 | "version": "1.0.0", 849 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 850 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 851 | }, 852 | "isarray": { 853 | "version": "1.0.0", 854 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 855 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 856 | "dev": true 857 | }, 858 | "isexe": { 859 | "version": "2.0.0", 860 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 861 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 862 | }, 863 | "isstream": { 864 | "version": "0.1.2", 865 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 866 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 867 | }, 868 | "js-yaml": { 869 | "version": "3.10.0", 870 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", 871 | "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", 872 | "dev": true, 873 | "requires": { 874 | "argparse": "1.0.10", 875 | "esprima": "4.0.0" 876 | }, 877 | "dependencies": { 878 | "esprima": { 879 | "version": "4.0.0", 880 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 881 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", 882 | "dev": true 883 | } 884 | } 885 | }, 886 | "jsbn": { 887 | "version": "0.1.1", 888 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 889 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 890 | "optional": true 891 | }, 892 | "json-schema": { 893 | "version": "0.2.3", 894 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 895 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" 896 | }, 897 | "json-schema-traverse": { 898 | "version": "0.3.1", 899 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", 900 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" 901 | }, 902 | "json-stringify-safe": { 903 | "version": "5.0.1", 904 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 905 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 906 | }, 907 | "jsonpointer": { 908 | "version": "4.0.1", 909 | "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", 910 | "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", 911 | "dev": true 912 | }, 913 | "jsprim": { 914 | "version": "1.4.1", 915 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 916 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 917 | "requires": { 918 | "assert-plus": "1.0.0", 919 | "extsprintf": "1.3.0", 920 | "json-schema": "0.2.3", 921 | "verror": "1.10.0" 922 | } 923 | }, 924 | "lcid": { 925 | "version": "1.0.0", 926 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", 927 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", 928 | "requires": { 929 | "invert-kv": "1.0.0" 930 | } 931 | }, 932 | "lcov-parse": { 933 | "version": "0.0.10", 934 | "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", 935 | "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", 936 | "dev": true 937 | }, 938 | "locate-path": { 939 | "version": "2.0.0", 940 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 941 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 942 | "requires": { 943 | "p-locate": "2.0.0", 944 | "path-exists": "3.0.0" 945 | }, 946 | "dependencies": { 947 | "path-exists": { 948 | "version": "3.0.0", 949 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 950 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" 951 | } 952 | } 953 | }, 954 | "lodash": { 955 | "version": "4.17.5", 956 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", 957 | "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" 958 | }, 959 | "log-driver": { 960 | "version": "1.2.5", 961 | "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", 962 | "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", 963 | "dev": true 964 | }, 965 | "lru-cache": { 966 | "version": "4.1.1", 967 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 968 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 969 | "requires": { 970 | "pseudomap": "1.0.2", 971 | "yallist": "2.1.2" 972 | } 973 | }, 974 | "mem": { 975 | "version": "1.1.0", 976 | "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", 977 | "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", 978 | "requires": { 979 | "mimic-fn": "1.2.0" 980 | } 981 | }, 982 | "mime": { 983 | "version": "1.4.1", 984 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", 985 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", 986 | "dev": true 987 | }, 988 | "mime-db": { 989 | "version": "1.33.0", 990 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", 991 | "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" 992 | }, 993 | "mime-types": { 994 | "version": "2.1.18", 995 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", 996 | "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", 997 | "requires": { 998 | "mime-db": "1.33.0" 999 | } 1000 | }, 1001 | "mimic-fn": { 1002 | "version": "1.2.0", 1003 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 1004 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 1005 | }, 1006 | "minimatch": { 1007 | "version": "3.0.4", 1008 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1009 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1010 | "dev": true, 1011 | "requires": { 1012 | "brace-expansion": "1.1.11" 1013 | } 1014 | }, 1015 | "minimist": { 1016 | "version": "1.2.0", 1017 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1018 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 1019 | "dev": true 1020 | }, 1021 | "ms": { 1022 | "version": "2.0.0", 1023 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1024 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1025 | }, 1026 | "normalize-package-data": { 1027 | "version": "2.4.0", 1028 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 1029 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 1030 | "requires": { 1031 | "hosted-git-info": "2.5.0", 1032 | "is-builtin-module": "1.0.0", 1033 | "semver": "5.5.0", 1034 | "validate-npm-package-license": "3.0.3" 1035 | } 1036 | }, 1037 | "npm-run-path": { 1038 | "version": "2.0.2", 1039 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 1040 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 1041 | "requires": { 1042 | "path-key": "2.0.1" 1043 | } 1044 | }, 1045 | "number-is-nan": { 1046 | "version": "1.0.1", 1047 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1048 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 1049 | }, 1050 | "oauth-sign": { 1051 | "version": "0.8.2", 1052 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 1053 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" 1054 | }, 1055 | "on-finished": { 1056 | "version": "2.3.0", 1057 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 1058 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 1059 | "dev": true, 1060 | "requires": { 1061 | "ee-first": "1.1.1" 1062 | } 1063 | }, 1064 | "once": { 1065 | "version": "1.4.0", 1066 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1067 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1068 | "dev": true, 1069 | "requires": { 1070 | "wrappy": "1.0.2" 1071 | } 1072 | }, 1073 | "opener": { 1074 | "version": "1.4.3", 1075 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", 1076 | "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", 1077 | "dev": true 1078 | }, 1079 | "optimist": { 1080 | "version": "0.3.7", 1081 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", 1082 | "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", 1083 | "requires": { 1084 | "wordwrap": "0.0.3" 1085 | } 1086 | }, 1087 | "own-or": { 1088 | "version": "1.0.0", 1089 | "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", 1090 | "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", 1091 | "dev": true 1092 | }, 1093 | "own-or-env": { 1094 | "version": "1.0.1", 1095 | "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", 1096 | "integrity": "sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==", 1097 | "dev": true, 1098 | "requires": { 1099 | "own-or": "1.0.0" 1100 | } 1101 | }, 1102 | "p-finally": { 1103 | "version": "1.0.0", 1104 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1105 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 1106 | }, 1107 | "p-limit": { 1108 | "version": "1.2.0", 1109 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", 1110 | "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", 1111 | "requires": { 1112 | "p-try": "1.0.0" 1113 | } 1114 | }, 1115 | "p-locate": { 1116 | "version": "2.0.0", 1117 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 1118 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 1119 | "requires": { 1120 | "p-limit": "1.2.0" 1121 | } 1122 | }, 1123 | "p-try": { 1124 | "version": "1.0.0", 1125 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 1126 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" 1127 | }, 1128 | "parse-json": { 1129 | "version": "2.2.0", 1130 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 1131 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 1132 | "requires": { 1133 | "error-ex": "1.3.1" 1134 | } 1135 | }, 1136 | "parseurl": { 1137 | "version": "1.3.2", 1138 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", 1139 | "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", 1140 | "dev": true 1141 | }, 1142 | "path-is-absolute": { 1143 | "version": "1.0.1", 1144 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1145 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1146 | "dev": true 1147 | }, 1148 | "path-key": { 1149 | "version": "2.0.1", 1150 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1151 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 1152 | }, 1153 | "performance-now": { 1154 | "version": "2.1.0", 1155 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1156 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 1157 | }, 1158 | "picture-tube": { 1159 | "version": "1.0.0", 1160 | "resolved": "https://registry.npmjs.org/picture-tube/-/picture-tube-1.0.0.tgz", 1161 | "integrity": "sha1-OhjazoyiBuO03JHsg8mC6Eba0UE=", 1162 | "requires": { 1163 | "buffers": "0.1.1", 1164 | "charm": "0.1.2", 1165 | "event-stream": "0.9.8", 1166 | "optimist": "0.3.7", 1167 | "png-js": "0.1.1", 1168 | "request": "2.9.203", 1169 | "x256": "0.0.2" 1170 | }, 1171 | "dependencies": { 1172 | "request": { 1173 | "version": "2.9.203", 1174 | "resolved": "https://registry.npmjs.org/request/-/request-2.9.203.tgz", 1175 | "integrity": "sha1-bBcRpUB/uUoRQhlWPkQUW8v0cjo=" 1176 | } 1177 | } 1178 | }, 1179 | "pify": { 1180 | "version": "2.3.0", 1181 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1182 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" 1183 | }, 1184 | "pinkie": { 1185 | "version": "2.0.4", 1186 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1187 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 1188 | "dev": true 1189 | }, 1190 | "pinkie-promise": { 1191 | "version": "2.0.1", 1192 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1193 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1194 | "dev": true, 1195 | "requires": { 1196 | "pinkie": "2.0.4" 1197 | } 1198 | }, 1199 | "png-js": { 1200 | "version": "0.1.1", 1201 | "resolved": "https://registry.npmjs.org/png-js/-/png-js-0.1.1.tgz", 1202 | "integrity": "sha1-HMfCEjA6yr50Jj7DrHgAlYAkLZM=" 1203 | }, 1204 | "process-nextick-args": { 1205 | "version": "2.0.0", 1206 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 1207 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", 1208 | "dev": true 1209 | }, 1210 | "pseudomap": { 1211 | "version": "1.0.2", 1212 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 1213 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" 1214 | }, 1215 | "punycode": { 1216 | "version": "1.4.1", 1217 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 1218 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" 1219 | }, 1220 | "qs": { 1221 | "version": "6.5.1", 1222 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", 1223 | "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" 1224 | }, 1225 | "range-parser": { 1226 | "version": "1.2.0", 1227 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", 1228 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", 1229 | "dev": true 1230 | }, 1231 | "readable-stream": { 1232 | "version": "2.3.4", 1233 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", 1234 | "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", 1235 | "dev": true, 1236 | "requires": { 1237 | "core-util-is": "1.0.2", 1238 | "inherits": "2.0.3", 1239 | "isarray": "1.0.0", 1240 | "process-nextick-args": "2.0.0", 1241 | "safe-buffer": "5.1.1", 1242 | "string_decoder": "1.0.3", 1243 | "util-deprecate": "1.0.2" 1244 | } 1245 | }, 1246 | "request": { 1247 | "version": "2.83.0", 1248 | "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", 1249 | "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", 1250 | "requires": { 1251 | "aws-sign2": "0.7.0", 1252 | "aws4": "1.6.0", 1253 | "caseless": "0.12.0", 1254 | "combined-stream": "1.0.6", 1255 | "extend": "3.0.1", 1256 | "forever-agent": "0.6.1", 1257 | "form-data": "2.3.2", 1258 | "har-validator": "5.0.3", 1259 | "hawk": "6.0.2", 1260 | "http-signature": "1.2.0", 1261 | "is-typedarray": "1.0.0", 1262 | "isstream": "0.1.2", 1263 | "json-stringify-safe": "5.0.1", 1264 | "mime-types": "2.1.18", 1265 | "oauth-sign": "0.8.2", 1266 | "performance-now": "2.1.0", 1267 | "qs": "6.5.1", 1268 | "safe-buffer": "5.1.1", 1269 | "stringstream": "0.0.5", 1270 | "tough-cookie": "2.3.4", 1271 | "tunnel-agent": "0.6.0", 1272 | "uuid": "3.2.1" 1273 | } 1274 | }, 1275 | "request-promise": { 1276 | "version": "4.2.2", 1277 | "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.2.tgz", 1278 | "integrity": "sha1-0epG1lSm7k+O5qT+oQGMIpEZBLQ=", 1279 | "requires": { 1280 | "bluebird": "3.5.1", 1281 | "request-promise-core": "1.1.1", 1282 | "stealthy-require": "1.1.1", 1283 | "tough-cookie": "2.3.4" 1284 | } 1285 | }, 1286 | "request-promise-core": { 1287 | "version": "1.1.1", 1288 | "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", 1289 | "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", 1290 | "requires": { 1291 | "lodash": "4.17.5" 1292 | } 1293 | }, 1294 | "require-directory": { 1295 | "version": "2.1.1", 1296 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1297 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" 1298 | }, 1299 | "require-main-filename": { 1300 | "version": "1.0.1", 1301 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 1302 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" 1303 | }, 1304 | "safe-buffer": { 1305 | "version": "5.1.1", 1306 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 1307 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" 1308 | }, 1309 | "semver": { 1310 | "version": "5.5.0", 1311 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", 1312 | "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" 1313 | }, 1314 | "send": { 1315 | "version": "0.16.2", 1316 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", 1317 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", 1318 | "dev": true, 1319 | "requires": { 1320 | "debug": "2.6.9", 1321 | "depd": "1.1.2", 1322 | "destroy": "1.0.4", 1323 | "encodeurl": "1.0.2", 1324 | "escape-html": "1.0.3", 1325 | "etag": "1.8.1", 1326 | "fresh": "0.5.2", 1327 | "http-errors": "1.6.2", 1328 | "mime": "1.4.1", 1329 | "ms": "2.0.0", 1330 | "on-finished": "2.3.0", 1331 | "range-parser": "1.2.0", 1332 | "statuses": "1.4.0" 1333 | }, 1334 | "dependencies": { 1335 | "debug": { 1336 | "version": "2.6.9", 1337 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1338 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1339 | "dev": true, 1340 | "requires": { 1341 | "ms": "2.0.0" 1342 | } 1343 | }, 1344 | "statuses": { 1345 | "version": "1.4.0", 1346 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 1347 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", 1348 | "dev": true 1349 | } 1350 | } 1351 | }, 1352 | "serve-static": { 1353 | "version": "1.13.2", 1354 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", 1355 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", 1356 | "dev": true, 1357 | "requires": { 1358 | "encodeurl": "1.0.2", 1359 | "escape-html": "1.0.3", 1360 | "parseurl": "1.3.2", 1361 | "send": "0.16.2" 1362 | } 1363 | }, 1364 | "set-blocking": { 1365 | "version": "2.0.0", 1366 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1367 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" 1368 | }, 1369 | "setprototypeof": { 1370 | "version": "1.0.3", 1371 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", 1372 | "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", 1373 | "dev": true 1374 | }, 1375 | "shebang-command": { 1376 | "version": "1.2.0", 1377 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1378 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1379 | "requires": { 1380 | "shebang-regex": "1.0.0" 1381 | } 1382 | }, 1383 | "shebang-regex": { 1384 | "version": "1.0.0", 1385 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1386 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 1387 | }, 1388 | "signal-exit": { 1389 | "version": "3.0.2", 1390 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1391 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 1392 | }, 1393 | "sntp": { 1394 | "version": "2.1.0", 1395 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", 1396 | "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", 1397 | "requires": { 1398 | "hoek": "4.2.1" 1399 | } 1400 | }, 1401 | "source-map": { 1402 | "version": "0.5.7", 1403 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1404 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1405 | "dev": true 1406 | }, 1407 | "source-map-support": { 1408 | "version": "0.4.18", 1409 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 1410 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 1411 | "dev": true, 1412 | "requires": { 1413 | "source-map": "0.5.7" 1414 | } 1415 | }, 1416 | "spdx-correct": { 1417 | "version": "3.0.0", 1418 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", 1419 | "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", 1420 | "requires": { 1421 | "spdx-expression-parse": "3.0.0", 1422 | "spdx-license-ids": "3.0.0" 1423 | } 1424 | }, 1425 | "spdx-exceptions": { 1426 | "version": "2.1.0", 1427 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", 1428 | "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==" 1429 | }, 1430 | "spdx-expression-parse": { 1431 | "version": "3.0.0", 1432 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 1433 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 1434 | "requires": { 1435 | "spdx-exceptions": "2.1.0", 1436 | "spdx-license-ids": "3.0.0" 1437 | } 1438 | }, 1439 | "spdx-license-ids": { 1440 | "version": "3.0.0", 1441 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", 1442 | "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" 1443 | }, 1444 | "sprintf-js": { 1445 | "version": "1.0.3", 1446 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1447 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1448 | "dev": true 1449 | }, 1450 | "sshpk": { 1451 | "version": "1.13.1", 1452 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", 1453 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", 1454 | "requires": { 1455 | "asn1": "0.2.3", 1456 | "assert-plus": "1.0.0", 1457 | "bcrypt-pbkdf": "1.0.1", 1458 | "dashdash": "1.14.1", 1459 | "ecc-jsbn": "0.1.1", 1460 | "getpass": "0.1.7", 1461 | "jsbn": "0.1.1", 1462 | "tweetnacl": "0.14.5" 1463 | } 1464 | }, 1465 | "statuses": { 1466 | "version": "1.3.1", 1467 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", 1468 | "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", 1469 | "dev": true 1470 | }, 1471 | "stealthy-require": { 1472 | "version": "1.1.1", 1473 | "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", 1474 | "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" 1475 | }, 1476 | "string-width": { 1477 | "version": "1.0.2", 1478 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 1479 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 1480 | "requires": { 1481 | "code-point-at": "1.1.0", 1482 | "is-fullwidth-code-point": "1.0.0", 1483 | "strip-ansi": "3.0.1" 1484 | } 1485 | }, 1486 | "string_decoder": { 1487 | "version": "1.0.3", 1488 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 1489 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 1490 | "dev": true, 1491 | "requires": { 1492 | "safe-buffer": "5.1.1" 1493 | } 1494 | }, 1495 | "stringstream": { 1496 | "version": "0.0.5", 1497 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 1498 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" 1499 | }, 1500 | "strip-ansi": { 1501 | "version": "3.0.1", 1502 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 1503 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 1504 | "requires": { 1505 | "ansi-regex": "2.1.1" 1506 | } 1507 | }, 1508 | "strip-eof": { 1509 | "version": "1.0.0", 1510 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 1511 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" 1512 | }, 1513 | "supports-color": { 1514 | "version": "2.0.0", 1515 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1516 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1517 | "dev": true 1518 | }, 1519 | "tap": { 1520 | "version": "10.7.3", 1521 | "resolved": "https://registry.npmjs.org/tap/-/tap-10.7.3.tgz", 1522 | "integrity": "sha512-oS/FIq+tcmxVgYn5usKtLsX+sOHNEj+G7JIQE9SBjO5mVYB1rbaEJJiDbnYp8k0ZqY2Pe4HbYEpkvzm9jfLDyw==", 1523 | "dev": true, 1524 | "requires": { 1525 | "bind-obj-methods": "1.0.0", 1526 | "bluebird": "3.5.1", 1527 | "clean-yaml-object": "0.1.0", 1528 | "color-support": "1.1.3", 1529 | "coveralls": "2.13.3", 1530 | "foreground-child": "1.5.6", 1531 | "fs-exists-cached": "1.0.0", 1532 | "function-loop": "1.0.1", 1533 | "glob": "7.1.2", 1534 | "isexe": "2.0.0", 1535 | "js-yaml": "3.10.0", 1536 | "nyc": "11.4.1", 1537 | "opener": "1.4.3", 1538 | "os-homedir": "1.0.2", 1539 | "own-or": "1.0.0", 1540 | "own-or-env": "1.0.1", 1541 | "readable-stream": "2.3.4", 1542 | "signal-exit": "3.0.2", 1543 | "source-map-support": "0.4.18", 1544 | "stack-utils": "1.0.1", 1545 | "tap-mocha-reporter": "3.0.6", 1546 | "tap-parser": "5.4.0", 1547 | "tmatch": "3.1.0", 1548 | "trivial-deferred": "1.0.1", 1549 | "tsame": "1.1.2", 1550 | "yapool": "1.0.0" 1551 | }, 1552 | "dependencies": { 1553 | "debug": { 1554 | "version": "2.6.9", 1555 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1556 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1557 | "dev": true, 1558 | "requires": { 1559 | "ms": "2.0.0" 1560 | } 1561 | }, 1562 | "nyc": { 1563 | "version": "11.4.1", 1564 | "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.4.1.tgz", 1565 | "integrity": "sha512-5eCZpvaksFVjP2rt1r60cfXmt3MUtsQDw8bAzNqNEr4WLvUMLgiVENMf/B9bE9YAX0mGVvaGA3v9IS9ekNqB1Q==", 1566 | "dev": true, 1567 | "requires": { 1568 | "archy": "1.0.0", 1569 | "arrify": "1.0.1", 1570 | "caching-transform": "1.0.1", 1571 | "convert-source-map": "1.5.1", 1572 | "debug-log": "1.0.1", 1573 | "default-require-extensions": "1.0.0", 1574 | "find-cache-dir": "0.1.1", 1575 | "find-up": "2.1.0", 1576 | "foreground-child": "1.5.6", 1577 | "glob": "7.1.2", 1578 | "istanbul-lib-coverage": "1.1.1", 1579 | "istanbul-lib-hook": "1.1.0", 1580 | "istanbul-lib-instrument": "1.9.1", 1581 | "istanbul-lib-report": "1.1.2", 1582 | "istanbul-lib-source-maps": "1.2.2", 1583 | "istanbul-reports": "1.1.3", 1584 | "md5-hex": "1.3.0", 1585 | "merge-source-map": "1.0.4", 1586 | "micromatch": "2.3.11", 1587 | "mkdirp": "0.5.1", 1588 | "resolve-from": "2.0.0", 1589 | "rimraf": "2.6.2", 1590 | "signal-exit": "3.0.2", 1591 | "spawn-wrap": "1.4.2", 1592 | "test-exclude": "4.1.1", 1593 | "yargs": "10.0.3", 1594 | "yargs-parser": "8.0.0" 1595 | }, 1596 | "dependencies": { 1597 | "align-text": { 1598 | "version": "0.1.4", 1599 | "bundled": true, 1600 | "dev": true, 1601 | "requires": { 1602 | "kind-of": "3.2.2", 1603 | "longest": "1.0.1", 1604 | "repeat-string": "1.6.1" 1605 | } 1606 | }, 1607 | "amdefine": { 1608 | "version": "1.0.1", 1609 | "bundled": true, 1610 | "dev": true 1611 | }, 1612 | "ansi-regex": { 1613 | "version": "2.1.1", 1614 | "bundled": true, 1615 | "dev": true 1616 | }, 1617 | "ansi-styles": { 1618 | "version": "2.2.1", 1619 | "bundled": true, 1620 | "dev": true 1621 | }, 1622 | "append-transform": { 1623 | "version": "0.4.0", 1624 | "bundled": true, 1625 | "dev": true, 1626 | "requires": { 1627 | "default-require-extensions": "1.0.0" 1628 | } 1629 | }, 1630 | "archy": { 1631 | "version": "1.0.0", 1632 | "bundled": true, 1633 | "dev": true 1634 | }, 1635 | "arr-diff": { 1636 | "version": "2.0.0", 1637 | "bundled": true, 1638 | "dev": true, 1639 | "requires": { 1640 | "arr-flatten": "1.1.0" 1641 | } 1642 | }, 1643 | "arr-flatten": { 1644 | "version": "1.1.0", 1645 | "bundled": true, 1646 | "dev": true 1647 | }, 1648 | "array-unique": { 1649 | "version": "0.2.1", 1650 | "bundled": true, 1651 | "dev": true 1652 | }, 1653 | "arrify": { 1654 | "version": "1.0.1", 1655 | "bundled": true, 1656 | "dev": true 1657 | }, 1658 | "async": { 1659 | "version": "1.5.2", 1660 | "bundled": true, 1661 | "dev": true 1662 | }, 1663 | "babel-code-frame": { 1664 | "version": "6.26.0", 1665 | "bundled": true, 1666 | "dev": true, 1667 | "requires": { 1668 | "chalk": "1.1.3", 1669 | "esutils": "2.0.2", 1670 | "js-tokens": "3.0.2" 1671 | } 1672 | }, 1673 | "babel-generator": { 1674 | "version": "6.26.0", 1675 | "bundled": true, 1676 | "dev": true, 1677 | "requires": { 1678 | "babel-messages": "6.23.0", 1679 | "babel-runtime": "6.26.0", 1680 | "babel-types": "6.26.0", 1681 | "detect-indent": "4.0.0", 1682 | "jsesc": "1.3.0", 1683 | "lodash": "4.17.4", 1684 | "source-map": "0.5.7", 1685 | "trim-right": "1.0.1" 1686 | } 1687 | }, 1688 | "babel-messages": { 1689 | "version": "6.23.0", 1690 | "bundled": true, 1691 | "dev": true, 1692 | "requires": { 1693 | "babel-runtime": "6.26.0" 1694 | } 1695 | }, 1696 | "babel-runtime": { 1697 | "version": "6.26.0", 1698 | "bundled": true, 1699 | "dev": true, 1700 | "requires": { 1701 | "core-js": "2.5.3", 1702 | "regenerator-runtime": "0.11.1" 1703 | } 1704 | }, 1705 | "babel-template": { 1706 | "version": "6.26.0", 1707 | "bundled": true, 1708 | "dev": true, 1709 | "requires": { 1710 | "babel-runtime": "6.26.0", 1711 | "babel-traverse": "6.26.0", 1712 | "babel-types": "6.26.0", 1713 | "babylon": "6.18.0", 1714 | "lodash": "4.17.4" 1715 | } 1716 | }, 1717 | "babel-traverse": { 1718 | "version": "6.26.0", 1719 | "bundled": true, 1720 | "dev": true, 1721 | "requires": { 1722 | "babel-code-frame": "6.26.0", 1723 | "babel-messages": "6.23.0", 1724 | "babel-runtime": "6.26.0", 1725 | "babel-types": "6.26.0", 1726 | "babylon": "6.18.0", 1727 | "debug": "2.6.9", 1728 | "globals": "9.18.0", 1729 | "invariant": "2.2.2", 1730 | "lodash": "4.17.4" 1731 | } 1732 | }, 1733 | "babel-types": { 1734 | "version": "6.26.0", 1735 | "bundled": true, 1736 | "dev": true, 1737 | "requires": { 1738 | "babel-runtime": "6.26.0", 1739 | "esutils": "2.0.2", 1740 | "lodash": "4.17.4", 1741 | "to-fast-properties": "1.0.3" 1742 | } 1743 | }, 1744 | "babylon": { 1745 | "version": "6.18.0", 1746 | "bundled": true, 1747 | "dev": true 1748 | }, 1749 | "balanced-match": { 1750 | "version": "1.0.0", 1751 | "bundled": true, 1752 | "dev": true 1753 | }, 1754 | "brace-expansion": { 1755 | "version": "1.1.8", 1756 | "bundled": true, 1757 | "dev": true, 1758 | "requires": { 1759 | "balanced-match": "1.0.0", 1760 | "concat-map": "0.0.1" 1761 | } 1762 | }, 1763 | "braces": { 1764 | "version": "1.8.5", 1765 | "bundled": true, 1766 | "dev": true, 1767 | "requires": { 1768 | "expand-range": "1.8.2", 1769 | "preserve": "0.2.0", 1770 | "repeat-element": "1.1.2" 1771 | } 1772 | }, 1773 | "builtin-modules": { 1774 | "version": "1.1.1", 1775 | "bundled": true, 1776 | "dev": true 1777 | }, 1778 | "caching-transform": { 1779 | "version": "1.0.1", 1780 | "bundled": true, 1781 | "dev": true, 1782 | "requires": { 1783 | "md5-hex": "1.3.0", 1784 | "mkdirp": "0.5.1", 1785 | "write-file-atomic": "1.3.4" 1786 | } 1787 | }, 1788 | "camelcase": { 1789 | "version": "1.2.1", 1790 | "bundled": true, 1791 | "dev": true, 1792 | "optional": true 1793 | }, 1794 | "center-align": { 1795 | "version": "0.1.3", 1796 | "bundled": true, 1797 | "dev": true, 1798 | "optional": true, 1799 | "requires": { 1800 | "align-text": "0.1.4", 1801 | "lazy-cache": "1.0.4" 1802 | } 1803 | }, 1804 | "chalk": { 1805 | "version": "1.1.3", 1806 | "bundled": true, 1807 | "dev": true, 1808 | "requires": { 1809 | "ansi-styles": "2.2.1", 1810 | "escape-string-regexp": "1.0.5", 1811 | "has-ansi": "2.0.0", 1812 | "strip-ansi": "3.0.1", 1813 | "supports-color": "2.0.0" 1814 | } 1815 | }, 1816 | "cliui": { 1817 | "version": "2.1.0", 1818 | "bundled": true, 1819 | "dev": true, 1820 | "optional": true, 1821 | "requires": { 1822 | "center-align": "0.1.3", 1823 | "right-align": "0.1.3", 1824 | "wordwrap": "0.0.2" 1825 | }, 1826 | "dependencies": { 1827 | "wordwrap": { 1828 | "version": "0.0.2", 1829 | "bundled": true, 1830 | "dev": true, 1831 | "optional": true 1832 | } 1833 | } 1834 | }, 1835 | "code-point-at": { 1836 | "version": "1.1.0", 1837 | "bundled": true, 1838 | "dev": true 1839 | }, 1840 | "commondir": { 1841 | "version": "1.0.1", 1842 | "bundled": true, 1843 | "dev": true 1844 | }, 1845 | "concat-map": { 1846 | "version": "0.0.1", 1847 | "bundled": true, 1848 | "dev": true 1849 | }, 1850 | "convert-source-map": { 1851 | "version": "1.5.1", 1852 | "bundled": true, 1853 | "dev": true 1854 | }, 1855 | "core-js": { 1856 | "version": "2.5.3", 1857 | "bundled": true, 1858 | "dev": true 1859 | }, 1860 | "cross-spawn": { 1861 | "version": "4.0.2", 1862 | "bundled": true, 1863 | "dev": true, 1864 | "requires": { 1865 | "lru-cache": "4.1.1", 1866 | "which": "1.3.0" 1867 | } 1868 | }, 1869 | "debug": { 1870 | "version": "2.6.9", 1871 | "bundled": true, 1872 | "dev": true, 1873 | "requires": { 1874 | "ms": "2.0.0" 1875 | } 1876 | }, 1877 | "debug-log": { 1878 | "version": "1.0.1", 1879 | "bundled": true, 1880 | "dev": true 1881 | }, 1882 | "decamelize": { 1883 | "version": "1.2.0", 1884 | "bundled": true, 1885 | "dev": true 1886 | }, 1887 | "default-require-extensions": { 1888 | "version": "1.0.0", 1889 | "bundled": true, 1890 | "dev": true, 1891 | "requires": { 1892 | "strip-bom": "2.0.0" 1893 | } 1894 | }, 1895 | "detect-indent": { 1896 | "version": "4.0.0", 1897 | "bundled": true, 1898 | "dev": true, 1899 | "requires": { 1900 | "repeating": "2.0.1" 1901 | } 1902 | }, 1903 | "error-ex": { 1904 | "version": "1.3.1", 1905 | "bundled": true, 1906 | "dev": true, 1907 | "requires": { 1908 | "is-arrayish": "0.2.1" 1909 | } 1910 | }, 1911 | "escape-string-regexp": { 1912 | "version": "1.0.5", 1913 | "bundled": true, 1914 | "dev": true 1915 | }, 1916 | "esutils": { 1917 | "version": "2.0.2", 1918 | "bundled": true, 1919 | "dev": true 1920 | }, 1921 | "execa": { 1922 | "version": "0.7.0", 1923 | "bundled": true, 1924 | "dev": true, 1925 | "requires": { 1926 | "cross-spawn": "5.1.0", 1927 | "get-stream": "3.0.0", 1928 | "is-stream": "1.1.0", 1929 | "npm-run-path": "2.0.2", 1930 | "p-finally": "1.0.0", 1931 | "signal-exit": "3.0.2", 1932 | "strip-eof": "1.0.0" 1933 | }, 1934 | "dependencies": { 1935 | "cross-spawn": { 1936 | "version": "5.1.0", 1937 | "bundled": true, 1938 | "dev": true, 1939 | "requires": { 1940 | "lru-cache": "4.1.1", 1941 | "shebang-command": "1.2.0", 1942 | "which": "1.3.0" 1943 | } 1944 | } 1945 | } 1946 | }, 1947 | "expand-brackets": { 1948 | "version": "0.1.5", 1949 | "bundled": true, 1950 | "dev": true, 1951 | "requires": { 1952 | "is-posix-bracket": "0.1.1" 1953 | } 1954 | }, 1955 | "expand-range": { 1956 | "version": "1.8.2", 1957 | "bundled": true, 1958 | "dev": true, 1959 | "requires": { 1960 | "fill-range": "2.2.3" 1961 | } 1962 | }, 1963 | "extglob": { 1964 | "version": "0.3.2", 1965 | "bundled": true, 1966 | "dev": true, 1967 | "requires": { 1968 | "is-extglob": "1.0.0" 1969 | } 1970 | }, 1971 | "filename-regex": { 1972 | "version": "2.0.1", 1973 | "bundled": true, 1974 | "dev": true 1975 | }, 1976 | "fill-range": { 1977 | "version": "2.2.3", 1978 | "bundled": true, 1979 | "dev": true, 1980 | "requires": { 1981 | "is-number": "2.1.0", 1982 | "isobject": "2.1.0", 1983 | "randomatic": "1.1.7", 1984 | "repeat-element": "1.1.2", 1985 | "repeat-string": "1.6.1" 1986 | } 1987 | }, 1988 | "find-cache-dir": { 1989 | "version": "0.1.1", 1990 | "bundled": true, 1991 | "dev": true, 1992 | "requires": { 1993 | "commondir": "1.0.1", 1994 | "mkdirp": "0.5.1", 1995 | "pkg-dir": "1.0.0" 1996 | } 1997 | }, 1998 | "find-up": { 1999 | "version": "2.1.0", 2000 | "bundled": true, 2001 | "dev": true, 2002 | "requires": { 2003 | "locate-path": "2.0.0" 2004 | } 2005 | }, 2006 | "for-in": { 2007 | "version": "1.0.2", 2008 | "bundled": true, 2009 | "dev": true 2010 | }, 2011 | "for-own": { 2012 | "version": "0.1.5", 2013 | "bundled": true, 2014 | "dev": true, 2015 | "requires": { 2016 | "for-in": "1.0.2" 2017 | } 2018 | }, 2019 | "foreground-child": { 2020 | "version": "1.5.6", 2021 | "bundled": true, 2022 | "dev": true, 2023 | "requires": { 2024 | "cross-spawn": "4.0.2", 2025 | "signal-exit": "3.0.2" 2026 | } 2027 | }, 2028 | "fs.realpath": { 2029 | "version": "1.0.0", 2030 | "bundled": true, 2031 | "dev": true 2032 | }, 2033 | "get-caller-file": { 2034 | "version": "1.0.2", 2035 | "bundled": true, 2036 | "dev": true 2037 | }, 2038 | "get-stream": { 2039 | "version": "3.0.0", 2040 | "bundled": true, 2041 | "dev": true 2042 | }, 2043 | "glob": { 2044 | "version": "7.1.2", 2045 | "bundled": true, 2046 | "dev": true, 2047 | "requires": { 2048 | "fs.realpath": "1.0.0", 2049 | "inflight": "1.0.6", 2050 | "inherits": "2.0.3", 2051 | "minimatch": "3.0.4", 2052 | "once": "1.4.0", 2053 | "path-is-absolute": "1.0.1" 2054 | } 2055 | }, 2056 | "glob-base": { 2057 | "version": "0.3.0", 2058 | "bundled": true, 2059 | "dev": true, 2060 | "requires": { 2061 | "glob-parent": "2.0.0", 2062 | "is-glob": "2.0.1" 2063 | } 2064 | }, 2065 | "glob-parent": { 2066 | "version": "2.0.0", 2067 | "bundled": true, 2068 | "dev": true, 2069 | "requires": { 2070 | "is-glob": "2.0.1" 2071 | } 2072 | }, 2073 | "globals": { 2074 | "version": "9.18.0", 2075 | "bundled": true, 2076 | "dev": true 2077 | }, 2078 | "graceful-fs": { 2079 | "version": "4.1.11", 2080 | "bundled": true, 2081 | "dev": true 2082 | }, 2083 | "handlebars": { 2084 | "version": "4.0.11", 2085 | "bundled": true, 2086 | "dev": true, 2087 | "requires": { 2088 | "async": "1.5.2", 2089 | "optimist": "0.6.1", 2090 | "source-map": "0.4.4", 2091 | "uglify-js": "2.8.29" 2092 | }, 2093 | "dependencies": { 2094 | "source-map": { 2095 | "version": "0.4.4", 2096 | "bundled": true, 2097 | "dev": true, 2098 | "requires": { 2099 | "amdefine": "1.0.1" 2100 | } 2101 | } 2102 | } 2103 | }, 2104 | "has-ansi": { 2105 | "version": "2.0.0", 2106 | "bundled": true, 2107 | "dev": true, 2108 | "requires": { 2109 | "ansi-regex": "2.1.1" 2110 | } 2111 | }, 2112 | "has-flag": { 2113 | "version": "1.0.0", 2114 | "bundled": true, 2115 | "dev": true 2116 | }, 2117 | "hosted-git-info": { 2118 | "version": "2.5.0", 2119 | "bundled": true, 2120 | "dev": true 2121 | }, 2122 | "imurmurhash": { 2123 | "version": "0.1.4", 2124 | "bundled": true, 2125 | "dev": true 2126 | }, 2127 | "inflight": { 2128 | "version": "1.0.6", 2129 | "bundled": true, 2130 | "dev": true, 2131 | "requires": { 2132 | "once": "1.4.0", 2133 | "wrappy": "1.0.2" 2134 | } 2135 | }, 2136 | "inherits": { 2137 | "version": "2.0.3", 2138 | "bundled": true, 2139 | "dev": true 2140 | }, 2141 | "invariant": { 2142 | "version": "2.2.2", 2143 | "bundled": true, 2144 | "dev": true, 2145 | "requires": { 2146 | "loose-envify": "1.3.1" 2147 | } 2148 | }, 2149 | "invert-kv": { 2150 | "version": "1.0.0", 2151 | "bundled": true, 2152 | "dev": true 2153 | }, 2154 | "is-arrayish": { 2155 | "version": "0.2.1", 2156 | "bundled": true, 2157 | "dev": true 2158 | }, 2159 | "is-buffer": { 2160 | "version": "1.1.6", 2161 | "bundled": true, 2162 | "dev": true 2163 | }, 2164 | "is-builtin-module": { 2165 | "version": "1.0.0", 2166 | "bundled": true, 2167 | "dev": true, 2168 | "requires": { 2169 | "builtin-modules": "1.1.1" 2170 | } 2171 | }, 2172 | "is-dotfile": { 2173 | "version": "1.0.3", 2174 | "bundled": true, 2175 | "dev": true 2176 | }, 2177 | "is-equal-shallow": { 2178 | "version": "0.1.3", 2179 | "bundled": true, 2180 | "dev": true, 2181 | "requires": { 2182 | "is-primitive": "2.0.0" 2183 | } 2184 | }, 2185 | "is-extendable": { 2186 | "version": "0.1.1", 2187 | "bundled": true, 2188 | "dev": true 2189 | }, 2190 | "is-extglob": { 2191 | "version": "1.0.0", 2192 | "bundled": true, 2193 | "dev": true 2194 | }, 2195 | "is-finite": { 2196 | "version": "1.0.2", 2197 | "bundled": true, 2198 | "dev": true, 2199 | "requires": { 2200 | "number-is-nan": "1.0.1" 2201 | } 2202 | }, 2203 | "is-fullwidth-code-point": { 2204 | "version": "1.0.0", 2205 | "bundled": true, 2206 | "dev": true, 2207 | "requires": { 2208 | "number-is-nan": "1.0.1" 2209 | } 2210 | }, 2211 | "is-glob": { 2212 | "version": "2.0.1", 2213 | "bundled": true, 2214 | "dev": true, 2215 | "requires": { 2216 | "is-extglob": "1.0.0" 2217 | } 2218 | }, 2219 | "is-number": { 2220 | "version": "2.1.0", 2221 | "bundled": true, 2222 | "dev": true, 2223 | "requires": { 2224 | "kind-of": "3.2.2" 2225 | } 2226 | }, 2227 | "is-posix-bracket": { 2228 | "version": "0.1.1", 2229 | "bundled": true, 2230 | "dev": true 2231 | }, 2232 | "is-primitive": { 2233 | "version": "2.0.0", 2234 | "bundled": true, 2235 | "dev": true 2236 | }, 2237 | "is-stream": { 2238 | "version": "1.1.0", 2239 | "bundled": true, 2240 | "dev": true 2241 | }, 2242 | "is-utf8": { 2243 | "version": "0.2.1", 2244 | "bundled": true, 2245 | "dev": true 2246 | }, 2247 | "isarray": { 2248 | "version": "1.0.0", 2249 | "bundled": true, 2250 | "dev": true 2251 | }, 2252 | "isexe": { 2253 | "version": "2.0.0", 2254 | "bundled": true, 2255 | "dev": true 2256 | }, 2257 | "isobject": { 2258 | "version": "2.1.0", 2259 | "bundled": true, 2260 | "dev": true, 2261 | "requires": { 2262 | "isarray": "1.0.0" 2263 | } 2264 | }, 2265 | "istanbul-lib-coverage": { 2266 | "version": "1.1.1", 2267 | "bundled": true, 2268 | "dev": true 2269 | }, 2270 | "istanbul-lib-hook": { 2271 | "version": "1.1.0", 2272 | "bundled": true, 2273 | "dev": true, 2274 | "requires": { 2275 | "append-transform": "0.4.0" 2276 | } 2277 | }, 2278 | "istanbul-lib-instrument": { 2279 | "version": "1.9.1", 2280 | "bundled": true, 2281 | "dev": true, 2282 | "requires": { 2283 | "babel-generator": "6.26.0", 2284 | "babel-template": "6.26.0", 2285 | "babel-traverse": "6.26.0", 2286 | "babel-types": "6.26.0", 2287 | "babylon": "6.18.0", 2288 | "istanbul-lib-coverage": "1.1.1", 2289 | "semver": "5.4.1" 2290 | } 2291 | }, 2292 | "istanbul-lib-report": { 2293 | "version": "1.1.2", 2294 | "bundled": true, 2295 | "dev": true, 2296 | "requires": { 2297 | "istanbul-lib-coverage": "1.1.1", 2298 | "mkdirp": "0.5.1", 2299 | "path-parse": "1.0.5", 2300 | "supports-color": "3.2.3" 2301 | }, 2302 | "dependencies": { 2303 | "supports-color": { 2304 | "version": "3.2.3", 2305 | "bundled": true, 2306 | "dev": true, 2307 | "requires": { 2308 | "has-flag": "1.0.0" 2309 | } 2310 | } 2311 | } 2312 | }, 2313 | "istanbul-lib-source-maps": { 2314 | "version": "1.2.2", 2315 | "bundled": true, 2316 | "dev": true, 2317 | "requires": { 2318 | "debug": "3.1.0", 2319 | "istanbul-lib-coverage": "1.1.1", 2320 | "mkdirp": "0.5.1", 2321 | "rimraf": "2.6.2", 2322 | "source-map": "0.5.7" 2323 | }, 2324 | "dependencies": { 2325 | "debug": { 2326 | "version": "3.1.0", 2327 | "bundled": true, 2328 | "dev": true, 2329 | "requires": { 2330 | "ms": "2.0.0" 2331 | } 2332 | } 2333 | } 2334 | }, 2335 | "istanbul-reports": { 2336 | "version": "1.1.3", 2337 | "bundled": true, 2338 | "dev": true, 2339 | "requires": { 2340 | "handlebars": "4.0.11" 2341 | } 2342 | }, 2343 | "js-tokens": { 2344 | "version": "3.0.2", 2345 | "bundled": true, 2346 | "dev": true 2347 | }, 2348 | "jsesc": { 2349 | "version": "1.3.0", 2350 | "bundled": true, 2351 | "dev": true 2352 | }, 2353 | "kind-of": { 2354 | "version": "3.2.2", 2355 | "bundled": true, 2356 | "dev": true, 2357 | "requires": { 2358 | "is-buffer": "1.1.6" 2359 | } 2360 | }, 2361 | "lazy-cache": { 2362 | "version": "1.0.4", 2363 | "bundled": true, 2364 | "dev": true, 2365 | "optional": true 2366 | }, 2367 | "lcid": { 2368 | "version": "1.0.0", 2369 | "bundled": true, 2370 | "dev": true, 2371 | "requires": { 2372 | "invert-kv": "1.0.0" 2373 | } 2374 | }, 2375 | "load-json-file": { 2376 | "version": "1.1.0", 2377 | "bundled": true, 2378 | "dev": true, 2379 | "requires": { 2380 | "graceful-fs": "4.1.11", 2381 | "parse-json": "2.2.0", 2382 | "pify": "2.3.0", 2383 | "pinkie-promise": "2.0.1", 2384 | "strip-bom": "2.0.0" 2385 | } 2386 | }, 2387 | "locate-path": { 2388 | "version": "2.0.0", 2389 | "bundled": true, 2390 | "dev": true, 2391 | "requires": { 2392 | "p-locate": "2.0.0", 2393 | "path-exists": "3.0.0" 2394 | }, 2395 | "dependencies": { 2396 | "path-exists": { 2397 | "version": "3.0.0", 2398 | "bundled": true, 2399 | "dev": true 2400 | } 2401 | } 2402 | }, 2403 | "lodash": { 2404 | "version": "4.17.4", 2405 | "bundled": true, 2406 | "dev": true 2407 | }, 2408 | "longest": { 2409 | "version": "1.0.1", 2410 | "bundled": true, 2411 | "dev": true 2412 | }, 2413 | "loose-envify": { 2414 | "version": "1.3.1", 2415 | "bundled": true, 2416 | "dev": true, 2417 | "requires": { 2418 | "js-tokens": "3.0.2" 2419 | } 2420 | }, 2421 | "lru-cache": { 2422 | "version": "4.1.1", 2423 | "bundled": true, 2424 | "dev": true, 2425 | "requires": { 2426 | "pseudomap": "1.0.2", 2427 | "yallist": "2.1.2" 2428 | } 2429 | }, 2430 | "md5-hex": { 2431 | "version": "1.3.0", 2432 | "bundled": true, 2433 | "dev": true, 2434 | "requires": { 2435 | "md5-o-matic": "0.1.1" 2436 | } 2437 | }, 2438 | "md5-o-matic": { 2439 | "version": "0.1.1", 2440 | "bundled": true, 2441 | "dev": true 2442 | }, 2443 | "mem": { 2444 | "version": "1.1.0", 2445 | "bundled": true, 2446 | "dev": true, 2447 | "requires": { 2448 | "mimic-fn": "1.1.0" 2449 | } 2450 | }, 2451 | "merge-source-map": { 2452 | "version": "1.0.4", 2453 | "bundled": true, 2454 | "dev": true, 2455 | "requires": { 2456 | "source-map": "0.5.7" 2457 | } 2458 | }, 2459 | "micromatch": { 2460 | "version": "2.3.11", 2461 | "bundled": true, 2462 | "dev": true, 2463 | "requires": { 2464 | "arr-diff": "2.0.0", 2465 | "array-unique": "0.2.1", 2466 | "braces": "1.8.5", 2467 | "expand-brackets": "0.1.5", 2468 | "extglob": "0.3.2", 2469 | "filename-regex": "2.0.1", 2470 | "is-extglob": "1.0.0", 2471 | "is-glob": "2.0.1", 2472 | "kind-of": "3.2.2", 2473 | "normalize-path": "2.1.1", 2474 | "object.omit": "2.0.1", 2475 | "parse-glob": "3.0.4", 2476 | "regex-cache": "0.4.4" 2477 | } 2478 | }, 2479 | "mimic-fn": { 2480 | "version": "1.1.0", 2481 | "bundled": true, 2482 | "dev": true 2483 | }, 2484 | "minimatch": { 2485 | "version": "3.0.4", 2486 | "bundled": true, 2487 | "dev": true, 2488 | "requires": { 2489 | "brace-expansion": "1.1.8" 2490 | } 2491 | }, 2492 | "minimist": { 2493 | "version": "0.0.8", 2494 | "bundled": true, 2495 | "dev": true 2496 | }, 2497 | "mkdirp": { 2498 | "version": "0.5.1", 2499 | "bundled": true, 2500 | "dev": true, 2501 | "requires": { 2502 | "minimist": "0.0.8" 2503 | } 2504 | }, 2505 | "ms": { 2506 | "version": "2.0.0", 2507 | "bundled": true, 2508 | "dev": true 2509 | }, 2510 | "normalize-package-data": { 2511 | "version": "2.4.0", 2512 | "bundled": true, 2513 | "dev": true, 2514 | "requires": { 2515 | "hosted-git-info": "2.5.0", 2516 | "is-builtin-module": "1.0.0", 2517 | "semver": "5.4.1", 2518 | "validate-npm-package-license": "3.0.1" 2519 | } 2520 | }, 2521 | "normalize-path": { 2522 | "version": "2.1.1", 2523 | "bundled": true, 2524 | "dev": true, 2525 | "requires": { 2526 | "remove-trailing-separator": "1.1.0" 2527 | } 2528 | }, 2529 | "npm-run-path": { 2530 | "version": "2.0.2", 2531 | "bundled": true, 2532 | "dev": true, 2533 | "requires": { 2534 | "path-key": "2.0.1" 2535 | } 2536 | }, 2537 | "number-is-nan": { 2538 | "version": "1.0.1", 2539 | "bundled": true, 2540 | "dev": true 2541 | }, 2542 | "object-assign": { 2543 | "version": "4.1.1", 2544 | "bundled": true, 2545 | "dev": true 2546 | }, 2547 | "object.omit": { 2548 | "version": "2.0.1", 2549 | "bundled": true, 2550 | "dev": true, 2551 | "requires": { 2552 | "for-own": "0.1.5", 2553 | "is-extendable": "0.1.1" 2554 | } 2555 | }, 2556 | "once": { 2557 | "version": "1.4.0", 2558 | "bundled": true, 2559 | "dev": true, 2560 | "requires": { 2561 | "wrappy": "1.0.2" 2562 | } 2563 | }, 2564 | "optimist": { 2565 | "version": "0.6.1", 2566 | "bundled": true, 2567 | "dev": true, 2568 | "requires": { 2569 | "minimist": "0.0.8", 2570 | "wordwrap": "0.0.3" 2571 | } 2572 | }, 2573 | "os-homedir": { 2574 | "version": "1.0.2", 2575 | "bundled": true, 2576 | "dev": true 2577 | }, 2578 | "os-locale": { 2579 | "version": "2.1.0", 2580 | "bundled": true, 2581 | "dev": true, 2582 | "requires": { 2583 | "execa": "0.7.0", 2584 | "lcid": "1.0.0", 2585 | "mem": "1.1.0" 2586 | } 2587 | }, 2588 | "p-finally": { 2589 | "version": "1.0.0", 2590 | "bundled": true, 2591 | "dev": true 2592 | }, 2593 | "p-limit": { 2594 | "version": "1.1.0", 2595 | "bundled": true, 2596 | "dev": true 2597 | }, 2598 | "p-locate": { 2599 | "version": "2.0.0", 2600 | "bundled": true, 2601 | "dev": true, 2602 | "requires": { 2603 | "p-limit": "1.1.0" 2604 | } 2605 | }, 2606 | "parse-glob": { 2607 | "version": "3.0.4", 2608 | "bundled": true, 2609 | "dev": true, 2610 | "requires": { 2611 | "glob-base": "0.3.0", 2612 | "is-dotfile": "1.0.3", 2613 | "is-extglob": "1.0.0", 2614 | "is-glob": "2.0.1" 2615 | } 2616 | }, 2617 | "parse-json": { 2618 | "version": "2.2.0", 2619 | "bundled": true, 2620 | "dev": true, 2621 | "requires": { 2622 | "error-ex": "1.3.1" 2623 | } 2624 | }, 2625 | "path-exists": { 2626 | "version": "2.1.0", 2627 | "bundled": true, 2628 | "dev": true, 2629 | "requires": { 2630 | "pinkie-promise": "2.0.1" 2631 | } 2632 | }, 2633 | "path-is-absolute": { 2634 | "version": "1.0.1", 2635 | "bundled": true, 2636 | "dev": true 2637 | }, 2638 | "path-key": { 2639 | "version": "2.0.1", 2640 | "bundled": true, 2641 | "dev": true 2642 | }, 2643 | "path-parse": { 2644 | "version": "1.0.5", 2645 | "bundled": true, 2646 | "dev": true 2647 | }, 2648 | "path-type": { 2649 | "version": "1.1.0", 2650 | "bundled": true, 2651 | "dev": true, 2652 | "requires": { 2653 | "graceful-fs": "4.1.11", 2654 | "pify": "2.3.0", 2655 | "pinkie-promise": "2.0.1" 2656 | } 2657 | }, 2658 | "pify": { 2659 | "version": "2.3.0", 2660 | "bundled": true, 2661 | "dev": true 2662 | }, 2663 | "pinkie": { 2664 | "version": "2.0.4", 2665 | "bundled": true, 2666 | "dev": true 2667 | }, 2668 | "pinkie-promise": { 2669 | "version": "2.0.1", 2670 | "bundled": true, 2671 | "dev": true, 2672 | "requires": { 2673 | "pinkie": "2.0.4" 2674 | } 2675 | }, 2676 | "pkg-dir": { 2677 | "version": "1.0.0", 2678 | "bundled": true, 2679 | "dev": true, 2680 | "requires": { 2681 | "find-up": "1.1.2" 2682 | }, 2683 | "dependencies": { 2684 | "find-up": { 2685 | "version": "1.1.2", 2686 | "bundled": true, 2687 | "dev": true, 2688 | "requires": { 2689 | "path-exists": "2.1.0", 2690 | "pinkie-promise": "2.0.1" 2691 | } 2692 | } 2693 | } 2694 | }, 2695 | "preserve": { 2696 | "version": "0.2.0", 2697 | "bundled": true, 2698 | "dev": true 2699 | }, 2700 | "pseudomap": { 2701 | "version": "1.0.2", 2702 | "bundled": true, 2703 | "dev": true 2704 | }, 2705 | "randomatic": { 2706 | "version": "1.1.7", 2707 | "bundled": true, 2708 | "dev": true, 2709 | "requires": { 2710 | "is-number": "3.0.0", 2711 | "kind-of": "4.0.0" 2712 | }, 2713 | "dependencies": { 2714 | "is-number": { 2715 | "version": "3.0.0", 2716 | "bundled": true, 2717 | "dev": true, 2718 | "requires": { 2719 | "kind-of": "3.2.2" 2720 | }, 2721 | "dependencies": { 2722 | "kind-of": { 2723 | "version": "3.2.2", 2724 | "bundled": true, 2725 | "dev": true, 2726 | "requires": { 2727 | "is-buffer": "1.1.6" 2728 | } 2729 | } 2730 | } 2731 | }, 2732 | "kind-of": { 2733 | "version": "4.0.0", 2734 | "bundled": true, 2735 | "dev": true, 2736 | "requires": { 2737 | "is-buffer": "1.1.6" 2738 | } 2739 | } 2740 | } 2741 | }, 2742 | "read-pkg": { 2743 | "version": "1.1.0", 2744 | "bundled": true, 2745 | "dev": true, 2746 | "requires": { 2747 | "load-json-file": "1.1.0", 2748 | "normalize-package-data": "2.4.0", 2749 | "path-type": "1.1.0" 2750 | } 2751 | }, 2752 | "read-pkg-up": { 2753 | "version": "1.0.1", 2754 | "bundled": true, 2755 | "dev": true, 2756 | "requires": { 2757 | "find-up": "1.1.2", 2758 | "read-pkg": "1.1.0" 2759 | }, 2760 | "dependencies": { 2761 | "find-up": { 2762 | "version": "1.1.2", 2763 | "bundled": true, 2764 | "dev": true, 2765 | "requires": { 2766 | "path-exists": "2.1.0", 2767 | "pinkie-promise": "2.0.1" 2768 | } 2769 | } 2770 | } 2771 | }, 2772 | "regenerator-runtime": { 2773 | "version": "0.11.1", 2774 | "bundled": true, 2775 | "dev": true 2776 | }, 2777 | "regex-cache": { 2778 | "version": "0.4.4", 2779 | "bundled": true, 2780 | "dev": true, 2781 | "requires": { 2782 | "is-equal-shallow": "0.1.3" 2783 | } 2784 | }, 2785 | "remove-trailing-separator": { 2786 | "version": "1.1.0", 2787 | "bundled": true, 2788 | "dev": true 2789 | }, 2790 | "repeat-element": { 2791 | "version": "1.1.2", 2792 | "bundled": true, 2793 | "dev": true 2794 | }, 2795 | "repeat-string": { 2796 | "version": "1.6.1", 2797 | "bundled": true, 2798 | "dev": true 2799 | }, 2800 | "repeating": { 2801 | "version": "2.0.1", 2802 | "bundled": true, 2803 | "dev": true, 2804 | "requires": { 2805 | "is-finite": "1.0.2" 2806 | } 2807 | }, 2808 | "require-directory": { 2809 | "version": "2.1.1", 2810 | "bundled": true, 2811 | "dev": true 2812 | }, 2813 | "require-main-filename": { 2814 | "version": "1.0.1", 2815 | "bundled": true, 2816 | "dev": true 2817 | }, 2818 | "resolve-from": { 2819 | "version": "2.0.0", 2820 | "bundled": true, 2821 | "dev": true 2822 | }, 2823 | "right-align": { 2824 | "version": "0.1.3", 2825 | "bundled": true, 2826 | "dev": true, 2827 | "optional": true, 2828 | "requires": { 2829 | "align-text": "0.1.4" 2830 | } 2831 | }, 2832 | "rimraf": { 2833 | "version": "2.6.2", 2834 | "bundled": true, 2835 | "dev": true, 2836 | "requires": { 2837 | "glob": "7.1.2" 2838 | } 2839 | }, 2840 | "semver": { 2841 | "version": "5.4.1", 2842 | "bundled": true, 2843 | "dev": true 2844 | }, 2845 | "set-blocking": { 2846 | "version": "2.0.0", 2847 | "bundled": true, 2848 | "dev": true 2849 | }, 2850 | "shebang-command": { 2851 | "version": "1.2.0", 2852 | "bundled": true, 2853 | "dev": true, 2854 | "requires": { 2855 | "shebang-regex": "1.0.0" 2856 | } 2857 | }, 2858 | "shebang-regex": { 2859 | "version": "1.0.0", 2860 | "bundled": true, 2861 | "dev": true 2862 | }, 2863 | "signal-exit": { 2864 | "version": "3.0.2", 2865 | "bundled": true, 2866 | "dev": true 2867 | }, 2868 | "slide": { 2869 | "version": "1.1.6", 2870 | "bundled": true, 2871 | "dev": true 2872 | }, 2873 | "source-map": { 2874 | "version": "0.5.7", 2875 | "bundled": true, 2876 | "dev": true 2877 | }, 2878 | "spawn-wrap": { 2879 | "version": "1.4.2", 2880 | "bundled": true, 2881 | "dev": true, 2882 | "requires": { 2883 | "foreground-child": "1.5.6", 2884 | "mkdirp": "0.5.1", 2885 | "os-homedir": "1.0.2", 2886 | "rimraf": "2.6.2", 2887 | "signal-exit": "3.0.2", 2888 | "which": "1.3.0" 2889 | } 2890 | }, 2891 | "spdx-correct": { 2892 | "version": "1.0.2", 2893 | "bundled": true, 2894 | "dev": true, 2895 | "requires": { 2896 | "spdx-license-ids": "1.2.2" 2897 | } 2898 | }, 2899 | "spdx-expression-parse": { 2900 | "version": "1.0.4", 2901 | "bundled": true, 2902 | "dev": true 2903 | }, 2904 | "spdx-license-ids": { 2905 | "version": "1.2.2", 2906 | "bundled": true, 2907 | "dev": true 2908 | }, 2909 | "string-width": { 2910 | "version": "2.1.1", 2911 | "bundled": true, 2912 | "dev": true, 2913 | "requires": { 2914 | "is-fullwidth-code-point": "2.0.0", 2915 | "strip-ansi": "4.0.0" 2916 | }, 2917 | "dependencies": { 2918 | "ansi-regex": { 2919 | "version": "3.0.0", 2920 | "bundled": true, 2921 | "dev": true 2922 | }, 2923 | "is-fullwidth-code-point": { 2924 | "version": "2.0.0", 2925 | "bundled": true, 2926 | "dev": true 2927 | }, 2928 | "strip-ansi": { 2929 | "version": "4.0.0", 2930 | "bundled": true, 2931 | "dev": true, 2932 | "requires": { 2933 | "ansi-regex": "3.0.0" 2934 | } 2935 | } 2936 | } 2937 | }, 2938 | "strip-ansi": { 2939 | "version": "3.0.1", 2940 | "bundled": true, 2941 | "dev": true, 2942 | "requires": { 2943 | "ansi-regex": "2.1.1" 2944 | } 2945 | }, 2946 | "strip-bom": { 2947 | "version": "2.0.0", 2948 | "bundled": true, 2949 | "dev": true, 2950 | "requires": { 2951 | "is-utf8": "0.2.1" 2952 | } 2953 | }, 2954 | "strip-eof": { 2955 | "version": "1.0.0", 2956 | "bundled": true, 2957 | "dev": true 2958 | }, 2959 | "supports-color": { 2960 | "version": "2.0.0", 2961 | "bundled": true, 2962 | "dev": true 2963 | }, 2964 | "test-exclude": { 2965 | "version": "4.1.1", 2966 | "bundled": true, 2967 | "dev": true, 2968 | "requires": { 2969 | "arrify": "1.0.1", 2970 | "micromatch": "2.3.11", 2971 | "object-assign": "4.1.1", 2972 | "read-pkg-up": "1.0.1", 2973 | "require-main-filename": "1.0.1" 2974 | } 2975 | }, 2976 | "to-fast-properties": { 2977 | "version": "1.0.3", 2978 | "bundled": true, 2979 | "dev": true 2980 | }, 2981 | "trim-right": { 2982 | "version": "1.0.1", 2983 | "bundled": true, 2984 | "dev": true 2985 | }, 2986 | "uglify-js": { 2987 | "version": "2.8.29", 2988 | "bundled": true, 2989 | "dev": true, 2990 | "optional": true, 2991 | "requires": { 2992 | "source-map": "0.5.7", 2993 | "uglify-to-browserify": "1.0.2", 2994 | "yargs": "3.10.0" 2995 | }, 2996 | "dependencies": { 2997 | "yargs": { 2998 | "version": "3.10.0", 2999 | "bundled": true, 3000 | "dev": true, 3001 | "optional": true, 3002 | "requires": { 3003 | "camelcase": "1.2.1", 3004 | "cliui": "2.1.0", 3005 | "decamelize": "1.2.0", 3006 | "window-size": "0.1.0" 3007 | } 3008 | } 3009 | } 3010 | }, 3011 | "uglify-to-browserify": { 3012 | "version": "1.0.2", 3013 | "bundled": true, 3014 | "dev": true, 3015 | "optional": true 3016 | }, 3017 | "validate-npm-package-license": { 3018 | "version": "3.0.1", 3019 | "bundled": true, 3020 | "dev": true, 3021 | "requires": { 3022 | "spdx-correct": "1.0.2", 3023 | "spdx-expression-parse": "1.0.4" 3024 | } 3025 | }, 3026 | "which": { 3027 | "version": "1.3.0", 3028 | "bundled": true, 3029 | "dev": true, 3030 | "requires": { 3031 | "isexe": "2.0.0" 3032 | } 3033 | }, 3034 | "which-module": { 3035 | "version": "2.0.0", 3036 | "bundled": true, 3037 | "dev": true 3038 | }, 3039 | "window-size": { 3040 | "version": "0.1.0", 3041 | "bundled": true, 3042 | "dev": true, 3043 | "optional": true 3044 | }, 3045 | "wordwrap": { 3046 | "version": "0.0.3", 3047 | "bundled": true, 3048 | "dev": true 3049 | }, 3050 | "wrap-ansi": { 3051 | "version": "2.1.0", 3052 | "bundled": true, 3053 | "dev": true, 3054 | "requires": { 3055 | "string-width": "1.0.2", 3056 | "strip-ansi": "3.0.1" 3057 | }, 3058 | "dependencies": { 3059 | "string-width": { 3060 | "version": "1.0.2", 3061 | "bundled": true, 3062 | "dev": true, 3063 | "requires": { 3064 | "code-point-at": "1.1.0", 3065 | "is-fullwidth-code-point": "1.0.0", 3066 | "strip-ansi": "3.0.1" 3067 | } 3068 | } 3069 | } 3070 | }, 3071 | "wrappy": { 3072 | "version": "1.0.2", 3073 | "bundled": true, 3074 | "dev": true 3075 | }, 3076 | "write-file-atomic": { 3077 | "version": "1.3.4", 3078 | "bundled": true, 3079 | "dev": true, 3080 | "requires": { 3081 | "graceful-fs": "4.1.11", 3082 | "imurmurhash": "0.1.4", 3083 | "slide": "1.1.6" 3084 | } 3085 | }, 3086 | "y18n": { 3087 | "version": "3.2.1", 3088 | "bundled": true, 3089 | "dev": true 3090 | }, 3091 | "yallist": { 3092 | "version": "2.1.2", 3093 | "bundled": true, 3094 | "dev": true 3095 | }, 3096 | "yargs": { 3097 | "version": "10.0.3", 3098 | "bundled": true, 3099 | "dev": true, 3100 | "requires": { 3101 | "cliui": "3.2.0", 3102 | "decamelize": "1.2.0", 3103 | "find-up": "2.1.0", 3104 | "get-caller-file": "1.0.2", 3105 | "os-locale": "2.1.0", 3106 | "require-directory": "2.1.1", 3107 | "require-main-filename": "1.0.1", 3108 | "set-blocking": "2.0.0", 3109 | "string-width": "2.1.1", 3110 | "which-module": "2.0.0", 3111 | "y18n": "3.2.1", 3112 | "yargs-parser": "8.0.0" 3113 | }, 3114 | "dependencies": { 3115 | "cliui": { 3116 | "version": "3.2.0", 3117 | "bundled": true, 3118 | "dev": true, 3119 | "requires": { 3120 | "string-width": "1.0.2", 3121 | "strip-ansi": "3.0.1", 3122 | "wrap-ansi": "2.1.0" 3123 | }, 3124 | "dependencies": { 3125 | "string-width": { 3126 | "version": "1.0.2", 3127 | "bundled": true, 3128 | "dev": true, 3129 | "requires": { 3130 | "code-point-at": "1.1.0", 3131 | "is-fullwidth-code-point": "1.0.0", 3132 | "strip-ansi": "3.0.1" 3133 | } 3134 | } 3135 | } 3136 | } 3137 | } 3138 | }, 3139 | "yargs-parser": { 3140 | "version": "8.0.0", 3141 | "bundled": true, 3142 | "dev": true, 3143 | "requires": { 3144 | "camelcase": "4.1.0" 3145 | }, 3146 | "dependencies": { 3147 | "camelcase": { 3148 | "version": "4.1.0", 3149 | "bundled": true, 3150 | "dev": true 3151 | } 3152 | } 3153 | } 3154 | } 3155 | }, 3156 | "os-homedir": { 3157 | "version": "1.0.2", 3158 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 3159 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 3160 | "dev": true 3161 | }, 3162 | "stack-utils": { 3163 | "version": "1.0.1", 3164 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", 3165 | "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", 3166 | "dev": true 3167 | }, 3168 | "tap-mocha-reporter": { 3169 | "version": "3.0.6", 3170 | "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.6.tgz", 3171 | "integrity": "sha512-UImgw3etckDQCoqZIAIKcQDt0w1JLVs3v0yxLlmwvGLZl6MGFxF7JME5PElXjAoDklVDU42P3vVu5jgr37P4Yg==", 3172 | "dev": true, 3173 | "requires": { 3174 | "color-support": "1.1.3", 3175 | "debug": "2.6.9", 3176 | "diff": "1.4.0", 3177 | "escape-string-regexp": "1.0.5", 3178 | "glob": "7.1.2", 3179 | "js-yaml": "3.10.0", 3180 | "readable-stream": "2.3.4", 3181 | "tap-parser": "5.4.0", 3182 | "unicode-length": "1.0.3" 3183 | } 3184 | }, 3185 | "tap-parser": { 3186 | "version": "5.4.0", 3187 | "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", 3188 | "integrity": "sha512-BIsIaGqv7uTQgTW1KLTMNPSEQf4zDDPgYOBRdgOfuB+JFOLRBfEu6cLa/KvMvmqggu1FKXDfitjLwsq4827RvA==", 3189 | "dev": true, 3190 | "requires": { 3191 | "events-to-array": "1.1.2", 3192 | "js-yaml": "3.10.0", 3193 | "readable-stream": "2.3.4" 3194 | } 3195 | } 3196 | } 3197 | }, 3198 | "tmatch": { 3199 | "version": "3.1.0", 3200 | "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-3.1.0.tgz", 3201 | "integrity": "sha512-W3MSATOCN4pVu2qFxmJLIArSifeSOFqnfx9hiUaVgOmeRoI2NbU7RNga+6G+L8ojlFeQge+ZPCclWyUpQ8UeNQ==", 3202 | "dev": true 3203 | }, 3204 | "tough-cookie": { 3205 | "version": "2.3.4", 3206 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", 3207 | "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", 3208 | "requires": { 3209 | "punycode": "1.4.1" 3210 | } 3211 | }, 3212 | "trivial-deferred": { 3213 | "version": "1.0.1", 3214 | "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", 3215 | "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", 3216 | "dev": true 3217 | }, 3218 | "tsame": { 3219 | "version": "1.1.2", 3220 | "resolved": "https://registry.npmjs.org/tsame/-/tsame-1.1.2.tgz", 3221 | "integrity": "sha512-ovCs24PGjmByVPr9tSIOs/yjUX9sJl0grEmOsj9dZA/UknQkgPOKcUqM84aSCvt9awHuhc/boMzTg3BHFalxWw==", 3222 | "dev": true 3223 | }, 3224 | "tunnel-agent": { 3225 | "version": "0.6.0", 3226 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3227 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3228 | "requires": { 3229 | "safe-buffer": "5.1.1" 3230 | } 3231 | }, 3232 | "tweetnacl": { 3233 | "version": "0.14.5", 3234 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 3235 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 3236 | "optional": true 3237 | }, 3238 | "unicode-length": { 3239 | "version": "1.0.3", 3240 | "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", 3241 | "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", 3242 | "dev": true, 3243 | "requires": { 3244 | "punycode": "1.4.1", 3245 | "strip-ansi": "3.0.1" 3246 | } 3247 | }, 3248 | "unpipe": { 3249 | "version": "1.0.0", 3250 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 3251 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", 3252 | "dev": true 3253 | }, 3254 | "util-deprecate": { 3255 | "version": "1.0.2", 3256 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3257 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 3258 | "dev": true 3259 | }, 3260 | "uuid": { 3261 | "version": "3.2.1", 3262 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", 3263 | "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" 3264 | }, 3265 | "validate-npm-package-license": { 3266 | "version": "3.0.3", 3267 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", 3268 | "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", 3269 | "requires": { 3270 | "spdx-correct": "3.0.0", 3271 | "spdx-expression-parse": "3.0.0" 3272 | } 3273 | }, 3274 | "verror": { 3275 | "version": "1.10.0", 3276 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 3277 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 3278 | "requires": { 3279 | "assert-plus": "1.0.0", 3280 | "core-util-is": "1.0.2", 3281 | "extsprintf": "1.3.0" 3282 | } 3283 | }, 3284 | "which": { 3285 | "version": "1.3.0", 3286 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 3287 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 3288 | "requires": { 3289 | "isexe": "2.0.0" 3290 | } 3291 | }, 3292 | "wordwrap": { 3293 | "version": "0.0.3", 3294 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 3295 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" 3296 | }, 3297 | "wrap-ansi": { 3298 | "version": "2.1.0", 3299 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 3300 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 3301 | "requires": { 3302 | "string-width": "1.0.2", 3303 | "strip-ansi": "3.0.1" 3304 | } 3305 | }, 3306 | "wrappy": { 3307 | "version": "1.0.2", 3308 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3309 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3310 | "dev": true 3311 | }, 3312 | "x256": { 3313 | "version": "0.0.2", 3314 | "resolved": "https://registry.npmjs.org/x256/-/x256-0.0.2.tgz", 3315 | "integrity": "sha1-ya8Yh296F1gB1WT+cK2egxd4STQ=" 3316 | }, 3317 | "xtend": { 3318 | "version": "4.0.1", 3319 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 3320 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 3321 | "dev": true 3322 | }, 3323 | "y18n": { 3324 | "version": "3.2.1", 3325 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", 3326 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" 3327 | }, 3328 | "yallist": { 3329 | "version": "2.1.2", 3330 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 3331 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" 3332 | }, 3333 | "yapool": { 3334 | "version": "1.0.0", 3335 | "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", 3336 | "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", 3337 | "dev": true 3338 | }, 3339 | "yargs": { 3340 | "version": "8.0.2", 3341 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", 3342 | "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", 3343 | "requires": { 3344 | "camelcase": "4.1.0", 3345 | "cliui": "3.2.0", 3346 | "decamelize": "1.2.0", 3347 | "get-caller-file": "1.0.2", 3348 | "os-locale": "2.1.0", 3349 | "read-pkg-up": "2.0.0", 3350 | "require-directory": "2.1.1", 3351 | "require-main-filename": "1.0.1", 3352 | "set-blocking": "2.0.0", 3353 | "string-width": "2.1.1", 3354 | "which-module": "2.0.0", 3355 | "y18n": "3.2.1", 3356 | "yargs-parser": "7.0.0" 3357 | }, 3358 | "dependencies": { 3359 | "ansi-regex": { 3360 | "version": "3.0.0", 3361 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 3362 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 3363 | }, 3364 | "camelcase": { 3365 | "version": "4.1.0", 3366 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 3367 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" 3368 | }, 3369 | "find-up": { 3370 | "version": "2.1.0", 3371 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 3372 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 3373 | "requires": { 3374 | "locate-path": "2.0.0" 3375 | } 3376 | }, 3377 | "is-fullwidth-code-point": { 3378 | "version": "2.0.0", 3379 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 3380 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 3381 | }, 3382 | "load-json-file": { 3383 | "version": "2.0.0", 3384 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", 3385 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", 3386 | "requires": { 3387 | "graceful-fs": "4.1.11", 3388 | "parse-json": "2.2.0", 3389 | "pify": "2.3.0", 3390 | "strip-bom": "3.0.0" 3391 | } 3392 | }, 3393 | "os-locale": { 3394 | "version": "2.1.0", 3395 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", 3396 | "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", 3397 | "requires": { 3398 | "execa": "0.7.0", 3399 | "lcid": "1.0.0", 3400 | "mem": "1.1.0" 3401 | } 3402 | }, 3403 | "path-type": { 3404 | "version": "2.0.0", 3405 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", 3406 | "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", 3407 | "requires": { 3408 | "pify": "2.3.0" 3409 | } 3410 | }, 3411 | "read-pkg": { 3412 | "version": "2.0.0", 3413 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", 3414 | "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", 3415 | "requires": { 3416 | "load-json-file": "2.0.0", 3417 | "normalize-package-data": "2.4.0", 3418 | "path-type": "2.0.0" 3419 | } 3420 | }, 3421 | "read-pkg-up": { 3422 | "version": "2.0.0", 3423 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", 3424 | "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", 3425 | "requires": { 3426 | "find-up": "2.1.0", 3427 | "read-pkg": "2.0.0" 3428 | } 3429 | }, 3430 | "string-width": { 3431 | "version": "2.1.1", 3432 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3433 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3434 | "requires": { 3435 | "is-fullwidth-code-point": "2.0.0", 3436 | "strip-ansi": "4.0.0" 3437 | } 3438 | }, 3439 | "strip-ansi": { 3440 | "version": "4.0.0", 3441 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3442 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3443 | "requires": { 3444 | "ansi-regex": "3.0.0" 3445 | } 3446 | }, 3447 | "strip-bom": { 3448 | "version": "3.0.0", 3449 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 3450 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" 3451 | }, 3452 | "which-module": { 3453 | "version": "2.0.0", 3454 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 3455 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" 3456 | }, 3457 | "yargs-parser": { 3458 | "version": "7.0.0", 3459 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", 3460 | "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", 3461 | "requires": { 3462 | "camelcase": "4.1.0" 3463 | } 3464 | } 3465 | } 3466 | } 3467 | } 3468 | } 3469 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "img2ascii", 3 | "version": "1.5.0", 4 | "description": "Convert images (local or url) to ascii art", 5 | "main": "img2ascii.js", 6 | "scripts": { 7 | "start": "node bin ./doge.png", 8 | "test": "node test.js" 9 | }, 10 | "bin": "bin.js", 11 | "author": "syzer", 12 | "license": "ISC", 13 | "keywords": [ 14 | "ascii", 15 | "image", 16 | "convert", 17 | "terminal", 18 | "convert ascii", 19 | "download image", 20 | "ascii art", 21 | "such cli", 22 | "image to ascii", 23 | "server hello" 24 | ], 25 | "repository": { 26 | "type": "git", 27 | "url": "https://github.com/syzer/img2ascii.git" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/syzer/img2ascii/issues" 31 | }, 32 | "dependencies": { 33 | "gm": "^1.23.0", 34 | "picture-tube": "^1.0.0", 35 | "request": "^2.75.0", 36 | "request-promise": "^4.1.1", 37 | "yargs": "^8.0.1" 38 | }, 39 | "devDependencies": { 40 | "finalhandler": "^1.1.0", 41 | "serve-static": "^1.13.2", 42 | "tap": "^10.3.2" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | const tap = require('tap') 2 | const { spawn } = require('child_process') 3 | 4 | process.argv.push('doge.png') 5 | 6 | tap.test('Probably fine', t => { 7 | require('./img2ascii') 8 | t.pass('Test like a volkswagen.') 9 | t.end() 10 | }) 11 | 12 | tap.test('File load .png', t => 13 | require('./img2ascii')({ 14 | _: ['doge.png'], 15 | c: 40, 16 | cols: 40, 17 | r: 0.8, 18 | ratio: 0.8, 19 | }).on('end', () => { 20 | t.pass('Volkswagen') 21 | t.end() 22 | }).pipe(process.stdout)) 23 | 24 | tap.test('File load .jpg', t => 25 | require('./img2ascii')({ 26 | _: ['frost-doge.jpg'], 27 | c: 40, 28 | cols: 40 29 | }).on('end', () => { 30 | t.pass('Volkswagen') 31 | t.end() 32 | }).pipe(process.stdout)) 33 | 34 | tap.test('Load remote file', t => { 35 | const http = require('http') 36 | const port = process.env.PORT || 5397 37 | const finalHandler = require('finalhandler') 38 | const serveStatic = require('serve-static') 39 | const serve = serveStatic('./') 40 | 41 | const server = http 42 | .createServer((req, res) => 43 | serve(req, res, finalHandler(req, res))) 44 | .listen(port) 45 | 46 | require('./img2ascii')({ 47 | _: [`http://127.0.0.1:${port}/frost-doge.jpg`], 48 | c: 40, 49 | cols: 40 50 | }).on('end', () => { 51 | server.close() 52 | t.pass('Volkswagen') 53 | t.end() 54 | }).pipe(process.stdout) 55 | }) 56 | 57 | tap.test('Not existing files .jpg', t => 58 | spawn('./bin.js', ['not-existing-file.jpg']) 59 | .stderr 60 | .on('data', (err) => { 61 | t.pass('Finishes correctly with error', err.toString()) 62 | t.end() 63 | }) 64 | .pipe(process.stdout)) 65 | --------------------------------------------------------------------------------