├── .gitignore ├── .npmignore ├── LICENSE.txt ├── README.md ├── git-tools.js ├── package-lock.json ├── package.json └── test └── test.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test/repo 3 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /test/ 2 | .jshintrc 3 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright Scott González and other contributors 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/scottgonzalez/node-git-tools 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules directory are externally 34 | maintained libraries used by this software which have their own 35 | licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # node-git-tools 2 | 3 | Tools for parsing data out of git repositories. 4 | 5 | Support this project by [donating on Gittip](https://www.gittip.com/scottgonzalez/). 6 | 7 | ## About 8 | 9 | The goal of node-git-tools is to provide a set of tools that can be used to 10 | easily write custom git commands or other scripts that are tightly integrated 11 | with git. 12 | 13 | I expect the API to grow over time and will happily entertain any feature 14 | requests. If there is anything you'd like added, just file an issue. 15 | 16 | ## Installation 17 | 18 | ```sh 19 | npm install git-tools 20 | ``` 21 | 22 | ## Usage 23 | 24 | ```js 25 | var Repo = require( "git-tools" ); 26 | var repo = new Repo( "path/to/repo" ); 27 | repo.authors(function( error, authors ) { 28 | console.log( authors ); 29 | }); 30 | ``` 31 | 32 | 33 | 34 | ## API 35 | 36 | ### Repo.clone( options, callback ) 37 | 38 | Clones a repository and returns the new `Repo` instance. 39 | 40 | * `options` (Object): Options for cloning the repository. 41 | * `repo` (String): The repository to clone from. 42 | * `path` (String): The path to clone into. 43 | * extra: Additional options can be provided, as documented below. 44 | * `callback` (Function; `function( error, repo )`): Function to invoke after cloning the repository. 45 | * `repo` (Object): A new `Repo` instance for the cloned repository. 46 | 47 | This function accepts arbitrary options to pass to `git clone`. 48 | For example, to create a bare repository: 49 | 50 | ```js 51 | Repo.clone({ 52 | repo: "git://github.com/scottgonzalez/node-git-tools.git", 53 | dir: "/tmp/git-tools", 54 | bare: true 55 | }); 56 | ``` 57 | 58 | Or to create a repo with limited history: 59 | 60 | ```js 61 | Repo.clone({ 62 | repo: "git://github.com/scottgonzalez/node-git-tools.git", 63 | dir: "/tmp/git-tools", 64 | depth: 5 65 | }); 66 | ``` 67 | 68 | 69 | 70 | ### Repo.isRepo( path, callback ) 71 | 72 | Determines if the specified path is a git repository. 73 | 74 | * `path` (String): The path to check. 75 | * `callback` (Function; `function( error, isRepo )`): Function to invoke after determining if the path is a git repository. 76 | * `isRepo` (Boolean): Whether the path is a git repository. 77 | 78 | *Note: This is equivalent to creating a `Repo` instance with `path` and calling `isRepo()` on the instance.* 79 | 80 | 81 | 82 | ### activeDays( [committish], callback ) 83 | 84 | Gets the number of active days (unique days of authorship). Includes activity 85 | by day, month, year, and the entire history. 86 | 87 | * `committish` (String; default: `"master"`): Committish range to analyze. 88 | * `callback` (Function; `function( error, activeDays )`): Function to invoke after getting active days. 89 | * `activeDays` (Object): Summary of active days. 90 | 91 | The `activeDays` object has the following form: 92 | 93 | ```js 94 | { 95 | activeDays: Number, 96 | commits: Number, 97 | dates: { 98 | "YYYY-MM-DD": Number( commits ), 99 | ... 100 | }, 101 | years: { 102 | "YYYY": { 103 | activeDays: Number, 104 | commits: Number, 105 | months: { 106 | "M": { 107 | activeDays: Number, 108 | commits: Number, 109 | days: { 110 | "D": { 111 | commits: Number 112 | }, 113 | ... 114 | } 115 | }, 116 | ... 117 | } 118 | }, 119 | ... 120 | } 121 | } 122 | ``` 123 | 124 | 125 | 126 | ### age( callback ) 127 | 128 | Gets the age of the repository. 129 | 130 | * `callback` (Function; `function( error, age )`): Function to invoke after getting the age. 131 | * `age` (String): The age of the repository. 132 | 133 | 134 | 135 | ### authors( [committish], callback ) 136 | 137 | Gets all authors, sorted by number of commits. 138 | 139 | * `committish` (String; default: `"master"`): Committish range to analyze. 140 | * `callback` (Function; `function( error, authors )`): Function to invoke after getting authors. 141 | * `authors` (Array): All authors, sorted by number of commits. 142 | 143 | Each author object contains the following properties: 144 | 145 | * `email` (String): Author's email address. 146 | * `name` (String): Author's name. 147 | * `commits` (Number): Number of commits. 148 | * `commitsPercent` (Number): Percentage of commits. 149 | 150 | 151 | 152 | ### blame( options, callback ) 153 | 154 | Determine what revision and author last modified each line of a file. 155 | 156 | * `options` (Object): Options for the blame. 157 | * `path` (String): The path to the file to run the blame for. 158 | * `committish` (String; default: `"HEAD"`): Revision or range to blame against. 159 | * `callback` (Function; `function( error, blame )`): Function to invoke after blaming the file. 160 | * `blame` (Array): Commit information for each line. 161 | 162 | Each blame item contains the following properties: 163 | 164 | * `commit`: SHA of commit that most recently modified the line. 165 | * `boundary`: Boolean indicating whether the commit is a boundary for the range. 166 | * `path`: Path to the file at the time of the most recent modification to the line. 167 | * `lineNumber`: Line number within the file. 168 | * `content`: Contents of the line. 169 | 170 | 171 | 172 | ### branches( callback ) 173 | 174 | Gets all branches in order of most recent commit. 175 | 176 | * `callback` (Function; `function( error, branches )`): Function to invoke after getting branches. 177 | * `branches` (Array): All branches, sorted by most recent commit date. 178 | 179 | Each branch object contains the following properties: 180 | 181 | * `name` (String): Branch name. 182 | * `sha` (String): SHA-1 of most recent commit. 183 | * `date` (Date): Author date of most recent commit. 184 | * `subject` (String): Subject (first line) of most recent commit. 185 | * `author` (Object): Author of most recent commit. 186 | * `email` (String): Author's email address. 187 | * `name` (String): Author's name. 188 | 189 | 190 | 191 | ### config( name, callback ) 192 | 193 | Gets the value of a configuration option. 194 | 195 | * `name` (String): The name of the configuration option. 196 | * `callback` (Function; `function( error, value )`): Function to invoke after getting the configuration option. 197 | * `value` (String|null): The value for the configuration option, or `null` if no value is set. 198 | 199 | 200 | 201 | ### currentBranch( callback ) 202 | 203 | Gets the name of the currently checked out branch, if any. 204 | 205 | * `callback` (Function; `function( error, branch )`): Function to invoke after getting the branch. 206 | * `branch` (String|null): Branch name, or `null` if in detached HEAD state. 207 | 208 | 209 | 210 | ### describe( [options], callback ) 211 | 212 | Describes a committish. 213 | 214 | * `options` (Object): Options for describing the committish. 215 | * `committish` (String): The committish to describe. Defaults to currently checked-out commit. 216 | * extra: Additional options can be provided, as documented below. 217 | * `callback` (Function; `function( error, description )`): Function to invoke after getting the description. 218 | * `description` (String): Description of the committish. 219 | 220 | This function accepts arbitrary options to pass to `git describe`. 221 | For example, to get the long description: 222 | 223 | ```js 224 | Repo.describe({ 225 | long: true 226 | }, function( err, description ) { 227 | console.log( description ); 228 | }); 229 | ``` 230 | 231 | 232 | 233 | ### isRepo( callback ) 234 | 235 | Determines if the specified path is a git repository. 236 | 237 | * `callback` (Function; `function( error, isRepo )`): Function to invoke after determining if the path is a git repository. 238 | * `isRepo` (Boolean): Whether the path is a git repository. 239 | 240 | 241 | 242 | ### remotes( callback ) 243 | 244 | Gets all remote repositories. 245 | 246 | * `callback` (Function; `function( error, remotes )`): Function to invoke after getting the remotes. 247 | * `remotes` (Array): All remote repositories. 248 | 249 | Each remote object contains the following properties: 250 | 251 | * `name` (String): Remote name. 252 | * `url` (String): URL for the remote repository. 253 | 254 | 255 | 256 | ### resolveCommittish( committish, callback ) 257 | 258 | Resolves a committish to a SHA1. 259 | 260 | * `committish` (String): Any committish to resolve. 261 | * `callback` (Function; `function( error, sha )`): Function to invoke after resolving the comittish. 262 | * `sha`: SHA1 of the resolved committish. 263 | 264 | 265 | 266 | ### tags( callback ) 267 | 268 | Gets all tags in reverse chronological order. 269 | 270 | Lightweight tags are sorted by author date and annotated tags are sorted by tagger date. 271 | 272 | * `callback` (Function; `function( error, tags )`): Function to invoke after getting tags. 273 | * `tags` (Array): All tags, sorted by date. 274 | 275 | Each tag object contains the following properties: 276 | 277 | * `name` (String): Tag name. 278 | * `sha` (String): SHA-1 for the tag. For lightweight tags, this is the SHA-1 of the commit. 279 | * `date` (Date): Author date for ligthweight tags, tagger date for annotated tags. 280 | 281 | 282 | 283 | ## License 284 | 285 | Copyright Scott González and other contributors. Released under the terms of the MIT license. 286 | -------------------------------------------------------------------------------- /git-tools.js: -------------------------------------------------------------------------------- 1 | var spawn = require('spawnback') 2 | 3 | function extend (a, b) { 4 | for (var prop in b) { 5 | a[prop] = b[prop] 6 | } 7 | 8 | return a 9 | } 10 | 11 | function copy (obj) { 12 | return extend({}, obj) 13 | } 14 | 15 | function Repo (path) { 16 | this.path = path 17 | } 18 | 19 | Repo.parsePerson = (function () { 20 | var rPerson = /^(\S+)\s(.+)$/ 21 | 22 | return function (person) { 23 | var matches = rPerson.exec(person) 24 | return { 25 | email: matches[1], 26 | name: matches[2] 27 | } 28 | } 29 | })() 30 | 31 | Repo.clone = function (options, callback) { 32 | var dir = options.dir 33 | var args = ['clone', options.repo, dir] 34 | options = copy(options) 35 | delete options.repo 36 | delete options.dir 37 | 38 | Object.keys(options).forEach(function (option) { 39 | args.push('--' + option) 40 | 41 | var value = options[option] 42 | if (value !== true) { 43 | args.push(value) 44 | } 45 | }) 46 | 47 | args.push(function (error) { 48 | if (error) { 49 | return callback(error) 50 | } 51 | 52 | callback(null, new Repo(dir)) 53 | }) 54 | 55 | var repo = new Repo(process.cwd()) 56 | repo.exec.apply(repo, args) 57 | } 58 | 59 | Repo.isRepo = function (path, callback) { 60 | var repo = new Repo(path) 61 | repo.isRepo(callback) 62 | } 63 | 64 | Repo.prototype.exec = function () { 65 | var args = [].slice.call(arguments) 66 | var callback = args.pop() 67 | spawn('git', args, { cwd: this.path }, function (error, stdout) { 68 | if (error) { 69 | return callback(error) 70 | } 71 | 72 | // Remove trailing newline 73 | stdout = stdout.replace(/\n$/, '') 74 | 75 | callback(null, stdout) 76 | }) 77 | } 78 | 79 | Repo.prototype.activeDays = function (committish, callback) { 80 | if (!callback) { 81 | callback = committish 82 | committish = 'master' 83 | } 84 | 85 | this.exec('log', '--format=%at', committish, function (error, dates) { 86 | if (error) { 87 | return callback(error) 88 | } 89 | 90 | var dateMap = { 91 | activeDays: 0, 92 | commits: 0, 93 | dates: {}, 94 | years: {} 95 | } 96 | 97 | dates.split('\n').sort().forEach(function (timestamp) { 98 | var date = new Date(timestamp * 1000) 99 | var year = date.getFullYear() 100 | var month = date.getMonth() + 1 101 | var day = date.getDate() 102 | 103 | date = year + '-' + 104 | (month < 10 ? '0' : '') + month + '-' + 105 | (day < 10 ? '0' : '') + day 106 | 107 | if (!dateMap.dates[date]) { 108 | dateMap.dates[date] = 0 109 | } 110 | dateMap.commits++ 111 | dateMap.dates[date]++ 112 | 113 | if (!dateMap.years[year]) { 114 | dateMap.years[year] = { 115 | activeDays: 0, 116 | commits: 0, 117 | months: {} 118 | } 119 | } 120 | dateMap.years[year].commits++ 121 | 122 | if (!dateMap.years[year].months[month]) { 123 | dateMap.years[year].months[month] = { 124 | activeDays: 0, 125 | commits: 0, 126 | days: {} 127 | } 128 | } 129 | dateMap.years[year].months[month].commits++ 130 | 131 | if (!dateMap.years[year].months[month].days[day]) { 132 | dateMap.years[year].months[month].days[day] = { 133 | commits: 0 134 | } 135 | dateMap.activeDays++ 136 | dateMap.years[year].activeDays++ 137 | dateMap.years[year].months[month].activeDays++ 138 | } 139 | dateMap.years[year].months[month].days[day].commits++ 140 | }) 141 | 142 | callback(null, dateMap) 143 | }) 144 | } 145 | 146 | Repo.prototype.age = function (callback) { 147 | this.exec('log', '--reverse', '--format=%cr', function (error, stdout) { 148 | if (error) { 149 | return callback(error) 150 | } 151 | 152 | callback(null, stdout.split('\n')[0].replace(/\sago/, '')) 153 | }) 154 | } 155 | 156 | Repo.prototype.authors = function (committish, callback) { 157 | if (!callback) { 158 | callback = committish 159 | committish = 'master' 160 | } 161 | 162 | this.exec('log', '--format=%aE %aN', committish, function (error, data) { 163 | if (error) { 164 | return callback(error) 165 | } 166 | 167 | // Logs on a boundary commit will have no output 168 | var authors = data.length ? data.split('\n') : [] 169 | var authorMap = {} 170 | var totalCommits = 0 171 | 172 | authors.forEach(function (author) { 173 | if (!authorMap[author]) { 174 | authorMap[author] = 0 175 | } 176 | 177 | authorMap[author]++ 178 | totalCommits++ 179 | }) 180 | 181 | authors = Object.keys(authorMap).map(function (author) { 182 | var commits = authorMap[author] 183 | return extend(Repo.parsePerson(author), { 184 | commits: commits, 185 | commitsPercent: (commits * 100 / totalCommits).toFixed(1) 186 | }) 187 | }).sort(function (a, b) { 188 | return b.commits - a.commits 189 | }) 190 | 191 | callback(null, authors) 192 | }) 193 | } 194 | 195 | Repo.prototype.blame = function (options, callback) { 196 | var args = ['blame', '-s'] 197 | 198 | if (options.committish) { 199 | args.push(options.committish) 200 | } 201 | 202 | args.push('--', options.path) 203 | 204 | var rBlame = /^(\^?\w+)(\s(\S+))?\s+(\d+)\)\s(.*)$/ 205 | 206 | args.push(function (error, blame) { 207 | if (error) { 208 | return callback(error) 209 | } 210 | 211 | var lines = blame.split(/\r?\n/) 212 | lines = lines.map(function (line) { 213 | var matches = rBlame.exec(line) 214 | var commit = matches[1] 215 | var boundary = /^\^/.test(commit) 216 | 217 | if (boundary) { 218 | commit = commit.substring(1) 219 | } 220 | 221 | return { 222 | commit: matches[1], 223 | boundary: boundary, 224 | path: matches[3] || options.path, 225 | lineNumber: parseInt(matches[4], 10), 226 | content: matches[5] 227 | } 228 | }) 229 | 230 | callback(null, lines) 231 | }) 232 | 233 | this.exec.apply(this, args) 234 | } 235 | 236 | Repo.prototype.branches = function (callback) { 237 | this.exec('for-each-ref', 238 | '--format=' + 239 | '%(refname:short)%0a' + 240 | '%(authordate:rfc2822)%0a' + 241 | '%(authoremail) %(authorname)%0a' + 242 | '%(subject)%0a' + 243 | '%(objectname)%0a', 244 | 'refs/heads', 245 | function (error, data) { 246 | if (error) { 247 | return callback(error) 248 | } 249 | 250 | var branches = data.split('\n\n').map(function (branch) { 251 | var lines = branch.split('\n') 252 | var name = lines[0] 253 | var date = new Date(lines[1]) 254 | var author = Repo.parsePerson(lines[2]) 255 | var subject = lines[3] 256 | var sha = lines[4] 257 | 258 | return { 259 | name: name, 260 | sha: sha, 261 | date: date, 262 | subject: subject, 263 | author: author 264 | } 265 | }).sort(function (a, b) { 266 | return b.date - a.date 267 | }) 268 | 269 | callback(null, branches) 270 | }) 271 | } 272 | 273 | Repo.prototype.config = function (name, callback) { 274 | this.exec('config', '--get', name, function (error, stdout) { 275 | if (error) { 276 | if (/^Command failed:\s+$/.test(error.message)) { 277 | return callback(null, null) 278 | } 279 | 280 | return callback(error) 281 | } 282 | 283 | callback(null, stdout.trim()) 284 | }) 285 | } 286 | 287 | Repo.prototype.currentBranch = function (callback) { 288 | this.exec('rev-parse', '--abbrev-ref', 'HEAD', function (error, data) { 289 | if (error) { 290 | return callback(error) 291 | } 292 | 293 | var branch = data === 'HEAD' ? null : data 294 | callback(null, branch) 295 | }) 296 | } 297 | 298 | Repo.prototype.describe = function (options, callback) { 299 | if (!callback) { 300 | callback = options 301 | options = {} 302 | } 303 | 304 | var args = ['describe'] 305 | if (options.committish) { 306 | args.push(options.committish) 307 | delete options.committish 308 | } 309 | Object.keys(options).forEach(function (option) { 310 | var arg = '--' + option.replace(/[A-Z]/g, function (c) { 311 | return '-' + c.toLowerCase() 312 | }) 313 | 314 | if (option === 'abbrev' || option === 'cadidates') { 315 | arg += '=' + options[option] 316 | args.push(arg) 317 | return 318 | } 319 | 320 | args.push(arg) 321 | 322 | var value = options[option] 323 | if (value !== true) { 324 | args.push(value) 325 | } 326 | }) 327 | args.push(callback) 328 | 329 | this.exec.apply(this, args) 330 | } 331 | 332 | Repo.prototype.isRepo = function (callback) { 333 | this.exec('rev-parse', '--git-dir', function (error) { 334 | if (error) { 335 | if (error.message.indexOf('Not a git repository')) { 336 | return callback(null, false) 337 | } 338 | 339 | // If the path doesn't exist, don't return an error 340 | if (error.code === 'ENOENT') { 341 | return callback(null, false) 342 | } 343 | 344 | return callback(error) 345 | } 346 | 347 | callback(null, true) 348 | }) 349 | } 350 | 351 | Repo.prototype.remotes = function (callback) { 352 | this.exec('remote', '-v', function (error, data) { 353 | if (error) { 354 | return callback(error) 355 | } 356 | 357 | var remotes = data.split('\n') 358 | var rRemote = /^(\S+)\s(\S+)/ 359 | var remoteMap = {} 360 | 361 | remotes.forEach(function (remote) { 362 | var matches = rRemote.exec(remote) 363 | 364 | // New repositories with no remotes will have `origin` but no URL 365 | if (!matches) { 366 | return 367 | } 368 | 369 | var name = matches[1] 370 | var url = matches[2] 371 | 372 | remoteMap[name] = url 373 | }) 374 | 375 | remotes = Object.keys(remoteMap).map(function (remote) { 376 | return { 377 | name: remote, 378 | url: remoteMap[remote] 379 | } 380 | }) 381 | 382 | callback(null, remotes) 383 | }) 384 | } 385 | 386 | Repo.prototype.resolveCommittish = function (committish, callback) { 387 | this.exec('rev-parse', committish, callback) 388 | } 389 | 390 | Repo.prototype.tags = function (callback) { 391 | this.exec('for-each-ref', 392 | '--format=' + 393 | '%(refname:short)%0a' + 394 | '%(authordate)%(taggerdate)%0a' + 395 | '%(objectname)%0a', 396 | 'refs/tags', 397 | function (error, data) { 398 | if (error) { 399 | return callback(error) 400 | } 401 | 402 | if (!data) { 403 | return callback(null, []) 404 | } 405 | 406 | var tags = data.split('\n\n').map(function (tag) { 407 | var lines = tag.split('\n') 408 | var name = lines[0] 409 | var date = new Date(lines[1]) 410 | var sha = lines[2] 411 | 412 | return { 413 | name: name, 414 | sha: sha, 415 | date: date 416 | } 417 | }).sort(function (a, b) { 418 | return b.date - a.date 419 | }) 420 | 421 | callback(null, tags) 422 | }) 423 | } 424 | 425 | module.exports = Repo 426 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "git-tools", 3 | "version": "0.3.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "acorn": { 8 | "version": "5.2.1", 9 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", 10 | "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", 11 | "dev": true 12 | }, 13 | "acorn-jsx": { 14 | "version": "3.0.1", 15 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", 16 | "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", 17 | "dev": true, 18 | "requires": { 19 | "acorn": "3.3.0" 20 | }, 21 | "dependencies": { 22 | "acorn": { 23 | "version": "3.3.0", 24 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", 25 | "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", 26 | "dev": true 27 | } 28 | } 29 | }, 30 | "ajv": { 31 | "version": "4.11.8", 32 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", 33 | "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", 34 | "dev": true, 35 | "requires": { 36 | "co": "4.6.0", 37 | "json-stable-stringify": "1.0.1" 38 | } 39 | }, 40 | "ajv-keywords": { 41 | "version": "1.5.1", 42 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", 43 | "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", 44 | "dev": true 45 | }, 46 | "ansi-escapes": { 47 | "version": "1.4.0", 48 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 49 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", 50 | "dev": true 51 | }, 52 | "ansi-regex": { 53 | "version": "2.1.1", 54 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 55 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 56 | "dev": true 57 | }, 58 | "ansi-styles": { 59 | "version": "2.2.1", 60 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 61 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 62 | "dev": true 63 | }, 64 | "argparse": { 65 | "version": "1.0.9", 66 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 67 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 68 | "dev": true, 69 | "requires": { 70 | "sprintf-js": "1.0.3" 71 | } 72 | }, 73 | "array-union": { 74 | "version": "1.0.2", 75 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 76 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 77 | "dev": true, 78 | "requires": { 79 | "array-uniq": "1.0.3" 80 | } 81 | }, 82 | "array-uniq": { 83 | "version": "1.0.3", 84 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 85 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 86 | "dev": true 87 | }, 88 | "array.prototype.find": { 89 | "version": "2.0.4", 90 | "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", 91 | "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", 92 | "dev": true, 93 | "requires": { 94 | "define-properties": "1.1.2", 95 | "es-abstract": "1.10.0" 96 | } 97 | }, 98 | "arrify": { 99 | "version": "1.0.1", 100 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 101 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 102 | "dev": true 103 | }, 104 | "asn1": { 105 | "version": "0.2.3", 106 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 107 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 108 | "dev": true 109 | }, 110 | "assert-plus": { 111 | "version": "0.2.0", 112 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 113 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 114 | "dev": true 115 | }, 116 | "asynckit": { 117 | "version": "0.4.0", 118 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 119 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 120 | "dev": true 121 | }, 122 | "aws-sign2": { 123 | "version": "0.6.0", 124 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 125 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 126 | "dev": true 127 | }, 128 | "aws4": { 129 | "version": "1.6.0", 130 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 131 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", 132 | "dev": true 133 | }, 134 | "babel-code-frame": { 135 | "version": "6.26.0", 136 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 137 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 138 | "dev": true, 139 | "requires": { 140 | "chalk": "1.1.3", 141 | "esutils": "2.0.2", 142 | "js-tokens": "3.0.2" 143 | } 144 | }, 145 | "balanced-match": { 146 | "version": "1.0.0", 147 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 148 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 149 | "dev": true 150 | }, 151 | "bcrypt-pbkdf": { 152 | "version": "1.0.1", 153 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 154 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 155 | "dev": true, 156 | "optional": true, 157 | "requires": { 158 | "tweetnacl": "0.14.5" 159 | } 160 | }, 161 | "bind-obj-methods": { 162 | "version": "1.0.0", 163 | "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-1.0.0.tgz", 164 | "integrity": "sha1-T1l5ysFXk633DkiBYeRj4gnKUJw=", 165 | "dev": true 166 | }, 167 | "bluebird": { 168 | "version": "3.5.1", 169 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", 170 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", 171 | "dev": true 172 | }, 173 | "boom": { 174 | "version": "2.10.1", 175 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 176 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 177 | "dev": true, 178 | "requires": { 179 | "hoek": "2.16.3" 180 | } 181 | }, 182 | "brace-expansion": { 183 | "version": "1.1.8", 184 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 185 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 186 | "dev": true, 187 | "requires": { 188 | "balanced-match": "1.0.0", 189 | "concat-map": "0.0.1" 190 | } 191 | }, 192 | "builtin-modules": { 193 | "version": "1.1.1", 194 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 195 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 196 | "dev": true 197 | }, 198 | "caller-path": { 199 | "version": "0.1.0", 200 | "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 201 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 202 | "dev": true, 203 | "requires": { 204 | "callsites": "0.2.0" 205 | } 206 | }, 207 | "callsites": { 208 | "version": "0.2.0", 209 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 210 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 211 | "dev": true 212 | }, 213 | "caseless": { 214 | "version": "0.11.0", 215 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", 216 | "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", 217 | "dev": true 218 | }, 219 | "chalk": { 220 | "version": "1.1.3", 221 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 222 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 223 | "dev": true, 224 | "requires": { 225 | "ansi-styles": "2.2.1", 226 | "escape-string-regexp": "1.0.5", 227 | "has-ansi": "2.0.0", 228 | "strip-ansi": "3.0.1", 229 | "supports-color": "2.0.0" 230 | } 231 | }, 232 | "circular-json": { 233 | "version": "0.3.3", 234 | "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", 235 | "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", 236 | "dev": true 237 | }, 238 | "clean-yaml-object": { 239 | "version": "0.1.0", 240 | "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", 241 | "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", 242 | "dev": true 243 | }, 244 | "cli-cursor": { 245 | "version": "1.0.2", 246 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 247 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 248 | "dev": true, 249 | "requires": { 250 | "restore-cursor": "1.0.1" 251 | } 252 | }, 253 | "cli-width": { 254 | "version": "2.2.0", 255 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 256 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 257 | "dev": true 258 | }, 259 | "co": { 260 | "version": "4.6.0", 261 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 262 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 263 | "dev": true 264 | }, 265 | "code-point-at": { 266 | "version": "1.1.0", 267 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 268 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 269 | "dev": true 270 | }, 271 | "color-support": { 272 | "version": "1.1.3", 273 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 274 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 275 | "dev": true 276 | }, 277 | "combined-stream": { 278 | "version": "1.0.5", 279 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 280 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 281 | "dev": true, 282 | "requires": { 283 | "delayed-stream": "1.0.0" 284 | } 285 | }, 286 | "commander": { 287 | "version": "2.12.2", 288 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", 289 | "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", 290 | "dev": true 291 | }, 292 | "concat-map": { 293 | "version": "0.0.1", 294 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 295 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 296 | "dev": true 297 | }, 298 | "concat-stream": { 299 | "version": "1.6.0", 300 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", 301 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", 302 | "dev": true, 303 | "requires": { 304 | "inherits": "2.0.3", 305 | "readable-stream": "2.3.3", 306 | "typedarray": "0.0.6" 307 | } 308 | }, 309 | "contains-path": { 310 | "version": "0.1.0", 311 | "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", 312 | "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", 313 | "dev": true 314 | }, 315 | "core-util-is": { 316 | "version": "1.0.2", 317 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 318 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 319 | "dev": true 320 | }, 321 | "coveralls": { 322 | "version": "2.13.3", 323 | "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.13.3.tgz", 324 | "integrity": "sha512-iiAmn+l1XqRwNLXhW8Rs5qHZRFMYp9ZIPjEOVRpC/c4so6Y/f4/lFi0FfR5B9cCqgyhkJ5cZmbvcVRfP8MHchw==", 325 | "dev": true, 326 | "requires": { 327 | "js-yaml": "3.6.1", 328 | "lcov-parse": "0.0.10", 329 | "log-driver": "1.2.5", 330 | "minimist": "1.2.0", 331 | "request": "2.79.0" 332 | }, 333 | "dependencies": { 334 | "js-yaml": { 335 | "version": "3.6.1", 336 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", 337 | "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", 338 | "dev": true, 339 | "requires": { 340 | "argparse": "1.0.9", 341 | "esprima": "2.7.3" 342 | } 343 | } 344 | } 345 | }, 346 | "cross-spawn": { 347 | "version": "4.0.2", 348 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", 349 | "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", 350 | "dev": true, 351 | "requires": { 352 | "lru-cache": "4.1.1", 353 | "which": "1.3.0" 354 | } 355 | }, 356 | "cryptiles": { 357 | "version": "2.0.5", 358 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 359 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 360 | "dev": true, 361 | "requires": { 362 | "boom": "2.10.1" 363 | } 364 | }, 365 | "d": { 366 | "version": "1.0.0", 367 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", 368 | "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", 369 | "dev": true, 370 | "requires": { 371 | "es5-ext": "0.10.37" 372 | } 373 | }, 374 | "dashdash": { 375 | "version": "1.14.1", 376 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 377 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 378 | "dev": true, 379 | "requires": { 380 | "assert-plus": "1.0.0" 381 | }, 382 | "dependencies": { 383 | "assert-plus": { 384 | "version": "1.0.0", 385 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 386 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 387 | "dev": true 388 | } 389 | } 390 | }, 391 | "debug": { 392 | "version": "2.6.9", 393 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 394 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 395 | "dev": true, 396 | "requires": { 397 | "ms": "2.0.0" 398 | } 399 | }, 400 | "debug-log": { 401 | "version": "1.0.1", 402 | "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", 403 | "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", 404 | "dev": true 405 | }, 406 | "decode-uri-component": { 407 | "version": "0.2.2", 408 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", 409 | "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", 410 | "dev": true 411 | }, 412 | "deep-is": { 413 | "version": "0.1.3", 414 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 415 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 416 | "dev": true 417 | }, 418 | "define-properties": { 419 | "version": "1.1.2", 420 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", 421 | "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", 422 | "dev": true, 423 | "requires": { 424 | "foreach": "2.0.5", 425 | "object-keys": "1.0.11" 426 | } 427 | }, 428 | "deglob": { 429 | "version": "2.1.0", 430 | "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.0.tgz", 431 | "integrity": "sha1-TUSr4W7zLHebSXK9FBqAMlApoUo=", 432 | "dev": true, 433 | "requires": { 434 | "find-root": "1.1.0", 435 | "glob": "7.1.2", 436 | "ignore": "3.3.7", 437 | "pkg-config": "1.1.1", 438 | "run-parallel": "1.1.6", 439 | "uniq": "1.0.1" 440 | } 441 | }, 442 | "del": { 443 | "version": "2.2.2", 444 | "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", 445 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", 446 | "dev": true, 447 | "requires": { 448 | "globby": "5.0.0", 449 | "is-path-cwd": "1.0.0", 450 | "is-path-in-cwd": "1.0.0", 451 | "object-assign": "4.1.1", 452 | "pify": "2.3.0", 453 | "pinkie-promise": "2.0.1", 454 | "rimraf": "2.6.2" 455 | }, 456 | "dependencies": { 457 | "rimraf": { 458 | "version": "2.6.2", 459 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 460 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 461 | "dev": true, 462 | "requires": { 463 | "glob": "7.1.2" 464 | } 465 | } 466 | } 467 | }, 468 | "delayed-stream": { 469 | "version": "1.0.0", 470 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 471 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 472 | "dev": true 473 | }, 474 | "diff": { 475 | "version": "1.4.0", 476 | "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", 477 | "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", 478 | "dev": true 479 | }, 480 | "doctrine": { 481 | "version": "2.0.2", 482 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.2.tgz", 483 | "integrity": "sha512-y0tm5Pq6ywp3qSTZ1vPgVdAnbDEoeoc5wlOHXoY1c4Wug/a7JvqHIl7BTvwodaHmejWkK/9dSb3sCYfyo/om8A==", 484 | "dev": true, 485 | "requires": { 486 | "esutils": "2.0.2" 487 | } 488 | }, 489 | "ecc-jsbn": { 490 | "version": "0.1.1", 491 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 492 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 493 | "dev": true, 494 | "optional": true, 495 | "requires": { 496 | "jsbn": "0.1.1" 497 | } 498 | }, 499 | "ejs": { 500 | "version": "2.5.7", 501 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", 502 | "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", 503 | "dev": true 504 | }, 505 | "error-ex": { 506 | "version": "1.3.1", 507 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 508 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 509 | "dev": true, 510 | "requires": { 511 | "is-arrayish": "0.2.1" 512 | } 513 | }, 514 | "es-abstract": { 515 | "version": "1.10.0", 516 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", 517 | "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", 518 | "dev": true, 519 | "requires": { 520 | "es-to-primitive": "1.1.1", 521 | "function-bind": "1.1.1", 522 | "has": "1.0.1", 523 | "is-callable": "1.1.3", 524 | "is-regex": "1.0.4" 525 | } 526 | }, 527 | "es-to-primitive": { 528 | "version": "1.1.1", 529 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", 530 | "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", 531 | "dev": true, 532 | "requires": { 533 | "is-callable": "1.1.3", 534 | "is-date-object": "1.0.1", 535 | "is-symbol": "1.0.1" 536 | } 537 | }, 538 | "es5-ext": { 539 | "version": "0.10.37", 540 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", 541 | "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", 542 | "dev": true, 543 | "requires": { 544 | "es6-iterator": "2.0.3", 545 | "es6-symbol": "3.1.1" 546 | } 547 | }, 548 | "es6-iterator": { 549 | "version": "2.0.3", 550 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 551 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 552 | "dev": true, 553 | "requires": { 554 | "d": "1.0.0", 555 | "es5-ext": "0.10.37", 556 | "es6-symbol": "3.1.1" 557 | } 558 | }, 559 | "es6-map": { 560 | "version": "0.1.5", 561 | "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", 562 | "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", 563 | "dev": true, 564 | "requires": { 565 | "d": "1.0.0", 566 | "es5-ext": "0.10.37", 567 | "es6-iterator": "2.0.3", 568 | "es6-set": "0.1.5", 569 | "es6-symbol": "3.1.1", 570 | "event-emitter": "0.3.5" 571 | } 572 | }, 573 | "es6-set": { 574 | "version": "0.1.5", 575 | "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", 576 | "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", 577 | "dev": true, 578 | "requires": { 579 | "d": "1.0.0", 580 | "es5-ext": "0.10.37", 581 | "es6-iterator": "2.0.3", 582 | "es6-symbol": "3.1.1", 583 | "event-emitter": "0.3.5" 584 | } 585 | }, 586 | "es6-symbol": { 587 | "version": "3.1.1", 588 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", 589 | "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", 590 | "dev": true, 591 | "requires": { 592 | "d": "1.0.0", 593 | "es5-ext": "0.10.37" 594 | } 595 | }, 596 | "es6-weak-map": { 597 | "version": "2.0.2", 598 | "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", 599 | "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", 600 | "dev": true, 601 | "requires": { 602 | "d": "1.0.0", 603 | "es5-ext": "0.10.37", 604 | "es6-iterator": "2.0.3", 605 | "es6-symbol": "3.1.1" 606 | } 607 | }, 608 | "escape-string-regexp": { 609 | "version": "1.0.5", 610 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 611 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 612 | "dev": true 613 | }, 614 | "escope": { 615 | "version": "3.6.0", 616 | "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", 617 | "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", 618 | "dev": true, 619 | "requires": { 620 | "es6-map": "0.1.5", 621 | "es6-weak-map": "2.0.2", 622 | "esrecurse": "4.2.0", 623 | "estraverse": "4.2.0" 624 | } 625 | }, 626 | "eslint": { 627 | "version": "3.19.0", 628 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", 629 | "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", 630 | "dev": true, 631 | "requires": { 632 | "babel-code-frame": "6.26.0", 633 | "chalk": "1.1.3", 634 | "concat-stream": "1.6.0", 635 | "debug": "2.6.9", 636 | "doctrine": "2.0.2", 637 | "escope": "3.6.0", 638 | "espree": "3.5.2", 639 | "esquery": "1.0.0", 640 | "estraverse": "4.2.0", 641 | "esutils": "2.0.2", 642 | "file-entry-cache": "2.0.0", 643 | "glob": "7.1.2", 644 | "globals": "9.18.0", 645 | "ignore": "3.3.7", 646 | "imurmurhash": "0.1.4", 647 | "inquirer": "0.12.0", 648 | "is-my-json-valid": "2.16.1", 649 | "is-resolvable": "1.0.1", 650 | "js-yaml": "3.10.0", 651 | "json-stable-stringify": "1.0.1", 652 | "levn": "0.3.0", 653 | "lodash": "4.17.4", 654 | "mkdirp": "0.5.1", 655 | "natural-compare": "1.4.0", 656 | "optionator": "0.8.2", 657 | "path-is-inside": "1.0.2", 658 | "pluralize": "1.2.1", 659 | "progress": "1.1.8", 660 | "require-uncached": "1.0.3", 661 | "shelljs": "0.7.8", 662 | "strip-bom": "3.0.0", 663 | "strip-json-comments": "2.0.1", 664 | "table": "3.8.3", 665 | "text-table": "0.2.0", 666 | "user-home": "2.0.0" 667 | }, 668 | "dependencies": { 669 | "minimist": { 670 | "version": "0.0.8", 671 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 672 | "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", 673 | "dev": true 674 | }, 675 | "mkdirp": { 676 | "version": "0.5.1", 677 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 678 | "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", 679 | "dev": true, 680 | "requires": { 681 | "minimist": "0.0.8" 682 | } 683 | } 684 | } 685 | }, 686 | "eslint-config-standard": { 687 | "version": "10.2.1", 688 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz", 689 | "integrity": "sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE=", 690 | "dev": true 691 | }, 692 | "eslint-config-standard-jsx": { 693 | "version": "4.0.2", 694 | "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-4.0.2.tgz", 695 | "integrity": "sha512-F8fRh2WFnTek7dZH9ZaE0PCBwdVGkwVWZmizla/DDNOmg7Tx6B/IlK5+oYpiX29jpu73LszeJj5i1axEZv6VMw==", 696 | "dev": true 697 | }, 698 | "eslint-import-resolver-node": { 699 | "version": "0.2.3", 700 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", 701 | "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", 702 | "dev": true, 703 | "requires": { 704 | "debug": "2.6.9", 705 | "object-assign": "4.1.1", 706 | "resolve": "1.5.0" 707 | } 708 | }, 709 | "eslint-module-utils": { 710 | "version": "2.1.1", 711 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", 712 | "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", 713 | "dev": true, 714 | "requires": { 715 | "debug": "2.6.9", 716 | "pkg-dir": "1.0.0" 717 | } 718 | }, 719 | "eslint-plugin-import": { 720 | "version": "2.2.0", 721 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz", 722 | "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", 723 | "dev": true, 724 | "requires": { 725 | "builtin-modules": "1.1.1", 726 | "contains-path": "0.1.0", 727 | "debug": "2.6.9", 728 | "doctrine": "1.5.0", 729 | "eslint-import-resolver-node": "0.2.3", 730 | "eslint-module-utils": "2.1.1", 731 | "has": "1.0.1", 732 | "lodash.cond": "4.5.2", 733 | "minimatch": "3.0.4", 734 | "pkg-up": "1.0.0" 735 | }, 736 | "dependencies": { 737 | "doctrine": { 738 | "version": "1.5.0", 739 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 740 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 741 | "dev": true, 742 | "requires": { 743 | "esutils": "2.0.2", 744 | "isarray": "1.0.0" 745 | } 746 | } 747 | } 748 | }, 749 | "eslint-plugin-node": { 750 | "version": "4.2.3", 751 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-4.2.3.tgz", 752 | "integrity": "sha512-vIUQPuwbVYdz/CYnlTLsJrRy7iXHQjdEe5wz0XhhdTym3IInM/zZLlPf9nZ2mThsH0QcsieCOWs2vOeCy/22LQ==", 753 | "dev": true, 754 | "requires": { 755 | "ignore": "3.3.7", 756 | "minimatch": "3.0.4", 757 | "object-assign": "4.1.1", 758 | "resolve": "1.5.0", 759 | "semver": "5.3.0" 760 | } 761 | }, 762 | "eslint-plugin-promise": { 763 | "version": "3.5.0", 764 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz", 765 | "integrity": "sha1-ePu2/+BHIBYnVp6FpsU3OvKmj8o=", 766 | "dev": true 767 | }, 768 | "eslint-plugin-react": { 769 | "version": "6.10.3", 770 | "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.3.tgz", 771 | "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", 772 | "dev": true, 773 | "requires": { 774 | "array.prototype.find": "2.0.4", 775 | "doctrine": "1.5.0", 776 | "has": "1.0.1", 777 | "jsx-ast-utils": "1.4.1", 778 | "object.assign": "4.0.4" 779 | }, 780 | "dependencies": { 781 | "doctrine": { 782 | "version": "1.5.0", 783 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 784 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 785 | "dev": true, 786 | "requires": { 787 | "esutils": "2.0.2", 788 | "isarray": "1.0.0" 789 | } 790 | } 791 | } 792 | }, 793 | "eslint-plugin-standard": { 794 | "version": "3.0.1", 795 | "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz", 796 | "integrity": "sha1-NNDJFbRe3G8BA5PH7vOCOwhWXPI=", 797 | "dev": true 798 | }, 799 | "espree": { 800 | "version": "3.5.2", 801 | "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", 802 | "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", 803 | "dev": true, 804 | "requires": { 805 | "acorn": "5.2.1", 806 | "acorn-jsx": "3.0.1" 807 | } 808 | }, 809 | "esprima": { 810 | "version": "2.7.3", 811 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 812 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 813 | "dev": true 814 | }, 815 | "esquery": { 816 | "version": "1.0.0", 817 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", 818 | "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", 819 | "dev": true, 820 | "requires": { 821 | "estraverse": "4.2.0" 822 | } 823 | }, 824 | "esrecurse": { 825 | "version": "4.2.0", 826 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", 827 | "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", 828 | "dev": true, 829 | "requires": { 830 | "estraverse": "4.2.0", 831 | "object-assign": "4.1.1" 832 | } 833 | }, 834 | "estraverse": { 835 | "version": "4.2.0", 836 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 837 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 838 | "dev": true 839 | }, 840 | "esutils": { 841 | "version": "2.0.2", 842 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 843 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 844 | "dev": true 845 | }, 846 | "event-emitter": { 847 | "version": "0.3.5", 848 | "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", 849 | "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", 850 | "dev": true, 851 | "requires": { 852 | "d": "1.0.0", 853 | "es5-ext": "0.10.37" 854 | } 855 | }, 856 | "events-to-array": { 857 | "version": "1.1.2", 858 | "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", 859 | "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", 860 | "dev": true 861 | }, 862 | "exit-hook": { 863 | "version": "1.1.1", 864 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", 865 | "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", 866 | "dev": true 867 | }, 868 | "extend": { 869 | "version": "3.0.1", 870 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 871 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", 872 | "dev": true 873 | }, 874 | "extsprintf": { 875 | "version": "1.3.0", 876 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 877 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 878 | "dev": true 879 | }, 880 | "fast-levenshtein": { 881 | "version": "2.0.6", 882 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 883 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 884 | "dev": true 885 | }, 886 | "figures": { 887 | "version": "1.7.0", 888 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 889 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 890 | "dev": true, 891 | "requires": { 892 | "escape-string-regexp": "1.0.5", 893 | "object-assign": "4.1.1" 894 | } 895 | }, 896 | "file-entry-cache": { 897 | "version": "2.0.0", 898 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 899 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 900 | "dev": true, 901 | "requires": { 902 | "flat-cache": "1.3.0", 903 | "object-assign": "4.1.1" 904 | } 905 | }, 906 | "find-root": { 907 | "version": "1.1.0", 908 | "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", 909 | "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", 910 | "dev": true 911 | }, 912 | "find-up": { 913 | "version": "1.1.2", 914 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 915 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 916 | "dev": true, 917 | "requires": { 918 | "path-exists": "2.1.0", 919 | "pinkie-promise": "2.0.1" 920 | } 921 | }, 922 | "flat-cache": { 923 | "version": "1.3.0", 924 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", 925 | "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", 926 | "dev": true, 927 | "requires": { 928 | "circular-json": "0.3.3", 929 | "del": "2.2.2", 930 | "graceful-fs": "4.1.11", 931 | "write": "0.2.1" 932 | } 933 | }, 934 | "for-in": { 935 | "version": "1.0.2", 936 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 937 | "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", 938 | "dev": true 939 | }, 940 | "foreach": { 941 | "version": "2.0.5", 942 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", 943 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", 944 | "dev": true 945 | }, 946 | "foreground-child": { 947 | "version": "1.5.6", 948 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", 949 | "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", 950 | "dev": true, 951 | "requires": { 952 | "cross-spawn": "4.0.2", 953 | "signal-exit": "3.0.2" 954 | } 955 | }, 956 | "forever-agent": { 957 | "version": "0.6.1", 958 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 959 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 960 | "dev": true 961 | }, 962 | "form-data": { 963 | "version": "2.1.4", 964 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 965 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 966 | "dev": true, 967 | "requires": { 968 | "asynckit": "0.4.0", 969 | "combined-stream": "1.0.5", 970 | "mime-types": "2.1.17" 971 | } 972 | }, 973 | "fs-exists-cached": { 974 | "version": "1.0.0", 975 | "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", 976 | "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", 977 | "dev": true 978 | }, 979 | "fs.realpath": { 980 | "version": "1.0.0", 981 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 982 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 983 | "dev": true 984 | }, 985 | "function-bind": { 986 | "version": "1.1.1", 987 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 988 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 989 | "dev": true 990 | }, 991 | "function-loop": { 992 | "version": "1.0.1", 993 | "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.1.tgz", 994 | "integrity": "sha1-gHa7MF6OajzO7ikgdl8zDRkPNAw=", 995 | "dev": true 996 | }, 997 | "generate-function": { 998 | "version": "2.0.0", 999 | "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", 1000 | "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", 1001 | "dev": true 1002 | }, 1003 | "generate-object-property": { 1004 | "version": "1.2.0", 1005 | "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", 1006 | "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", 1007 | "dev": true, 1008 | "requires": { 1009 | "is-property": "1.0.2" 1010 | } 1011 | }, 1012 | "get-stdin": { 1013 | "version": "5.0.1", 1014 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", 1015 | "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", 1016 | "dev": true 1017 | }, 1018 | "getpass": { 1019 | "version": "0.1.7", 1020 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1021 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1022 | "dev": true, 1023 | "requires": { 1024 | "assert-plus": "1.0.0" 1025 | }, 1026 | "dependencies": { 1027 | "assert-plus": { 1028 | "version": "1.0.0", 1029 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1030 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1031 | "dev": true 1032 | } 1033 | } 1034 | }, 1035 | "glob": { 1036 | "version": "7.1.2", 1037 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1038 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1039 | "dev": true, 1040 | "requires": { 1041 | "fs.realpath": "1.0.0", 1042 | "inflight": "1.0.6", 1043 | "inherits": "2.0.3", 1044 | "minimatch": "3.0.4", 1045 | "once": "1.4.0", 1046 | "path-is-absolute": "1.0.1" 1047 | } 1048 | }, 1049 | "globals": { 1050 | "version": "9.18.0", 1051 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 1052 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 1053 | "dev": true 1054 | }, 1055 | "globby": { 1056 | "version": "5.0.0", 1057 | "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", 1058 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", 1059 | "dev": true, 1060 | "requires": { 1061 | "array-union": "1.0.2", 1062 | "arrify": "1.0.1", 1063 | "glob": "7.1.2", 1064 | "object-assign": "4.1.1", 1065 | "pify": "2.3.0", 1066 | "pinkie-promise": "2.0.1" 1067 | } 1068 | }, 1069 | "graceful-fs": { 1070 | "version": "4.1.11", 1071 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1072 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1073 | "dev": true 1074 | }, 1075 | "har-validator": { 1076 | "version": "2.0.6", 1077 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", 1078 | "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", 1079 | "dev": true, 1080 | "requires": { 1081 | "chalk": "1.1.3", 1082 | "commander": "2.12.2", 1083 | "is-my-json-valid": "2.16.1", 1084 | "pinkie-promise": "2.0.1" 1085 | } 1086 | }, 1087 | "has": { 1088 | "version": "1.0.1", 1089 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", 1090 | "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", 1091 | "dev": true, 1092 | "requires": { 1093 | "function-bind": "1.1.1" 1094 | } 1095 | }, 1096 | "has-ansi": { 1097 | "version": "2.0.0", 1098 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1099 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1100 | "dev": true, 1101 | "requires": { 1102 | "ansi-regex": "2.1.1" 1103 | } 1104 | }, 1105 | "hawk": { 1106 | "version": "3.1.3", 1107 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 1108 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 1109 | "dev": true, 1110 | "requires": { 1111 | "boom": "2.10.1", 1112 | "cryptiles": "2.0.5", 1113 | "hoek": "2.16.3", 1114 | "sntp": "1.0.9" 1115 | } 1116 | }, 1117 | "hoek": { 1118 | "version": "2.16.3", 1119 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 1120 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 1121 | "dev": true 1122 | }, 1123 | "http-signature": { 1124 | "version": "1.1.1", 1125 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 1126 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 1127 | "dev": true, 1128 | "requires": { 1129 | "assert-plus": "0.2.0", 1130 | "jsprim": "1.4.1", 1131 | "sshpk": "1.13.1" 1132 | } 1133 | }, 1134 | "ignore": { 1135 | "version": "3.3.7", 1136 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", 1137 | "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", 1138 | "dev": true 1139 | }, 1140 | "imurmurhash": { 1141 | "version": "0.1.4", 1142 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1143 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1144 | "dev": true 1145 | }, 1146 | "inflight": { 1147 | "version": "1.0.6", 1148 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1149 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1150 | "dev": true, 1151 | "requires": { 1152 | "once": "1.4.0", 1153 | "wrappy": "1.0.2" 1154 | } 1155 | }, 1156 | "inherits": { 1157 | "version": "2.0.3", 1158 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1159 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1160 | "dev": true 1161 | }, 1162 | "inquirer": { 1163 | "version": "0.12.0", 1164 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", 1165 | "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", 1166 | "dev": true, 1167 | "requires": { 1168 | "ansi-escapes": "1.4.0", 1169 | "ansi-regex": "2.1.1", 1170 | "chalk": "1.1.3", 1171 | "cli-cursor": "1.0.2", 1172 | "cli-width": "2.2.0", 1173 | "figures": "1.7.0", 1174 | "lodash": "4.17.4", 1175 | "readline2": "1.0.1", 1176 | "run-async": "0.1.0", 1177 | "rx-lite": "3.1.2", 1178 | "string-width": "1.0.2", 1179 | "strip-ansi": "3.0.1", 1180 | "through": "2.3.8" 1181 | } 1182 | }, 1183 | "interpret": { 1184 | "version": "1.1.0", 1185 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", 1186 | "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", 1187 | "dev": true 1188 | }, 1189 | "is-arrayish": { 1190 | "version": "0.2.1", 1191 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1192 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1193 | "dev": true 1194 | }, 1195 | "is-callable": { 1196 | "version": "1.1.3", 1197 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", 1198 | "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", 1199 | "dev": true 1200 | }, 1201 | "is-date-object": { 1202 | "version": "1.0.1", 1203 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 1204 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 1205 | "dev": true 1206 | }, 1207 | "is-extendable": { 1208 | "version": "1.0.1", 1209 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1210 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1211 | "dev": true, 1212 | "requires": { 1213 | "is-plain-object": "^2.0.4" 1214 | } 1215 | }, 1216 | "is-fullwidth-code-point": { 1217 | "version": "1.0.0", 1218 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1219 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1220 | "dev": true, 1221 | "requires": { 1222 | "number-is-nan": "1.0.1" 1223 | } 1224 | }, 1225 | "is-my-json-valid": { 1226 | "version": "2.16.1", 1227 | "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", 1228 | "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", 1229 | "dev": true, 1230 | "requires": { 1231 | "generate-function": "^2.0.0", 1232 | "generate-object-property": "^1.1.0", 1233 | "jsonpointer": "^4.0.0", 1234 | "xtend": "^4.0.0" 1235 | } 1236 | }, 1237 | "is-path-cwd": { 1238 | "version": "1.0.0", 1239 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", 1240 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", 1241 | "dev": true 1242 | }, 1243 | "is-path-in-cwd": { 1244 | "version": "1.0.0", 1245 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", 1246 | "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", 1247 | "dev": true, 1248 | "requires": { 1249 | "is-path-inside": "1.0.1" 1250 | } 1251 | }, 1252 | "is-path-inside": { 1253 | "version": "1.0.1", 1254 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", 1255 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", 1256 | "dev": true, 1257 | "requires": { 1258 | "path-is-inside": "1.0.2" 1259 | } 1260 | }, 1261 | "is-plain-object": { 1262 | "version": "2.0.4", 1263 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1264 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1265 | "dev": true, 1266 | "requires": { 1267 | "isobject": "^3.0.1" 1268 | } 1269 | }, 1270 | "is-property": { 1271 | "version": "1.0.2", 1272 | "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", 1273 | "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", 1274 | "dev": true 1275 | }, 1276 | "is-regex": { 1277 | "version": "1.0.4", 1278 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 1279 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 1280 | "dev": true, 1281 | "requires": { 1282 | "has": "1.0.1" 1283 | } 1284 | }, 1285 | "is-resolvable": { 1286 | "version": "1.0.1", 1287 | "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.1.tgz", 1288 | "integrity": "sha512-y5CXYbzvB3jTnWAZH1Nl7ykUWb6T3BcTs56HUruwBf8MhF56n1HWqhDWnVFo8GHrUPDgvUUNVhrc2U8W7iqz5g==", 1289 | "dev": true 1290 | }, 1291 | "is-symbol": { 1292 | "version": "1.0.1", 1293 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", 1294 | "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", 1295 | "dev": true 1296 | }, 1297 | "is-typedarray": { 1298 | "version": "1.0.0", 1299 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1300 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1301 | "dev": true 1302 | }, 1303 | "isarray": { 1304 | "version": "1.0.0", 1305 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1306 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1307 | "dev": true 1308 | }, 1309 | "isexe": { 1310 | "version": "2.0.0", 1311 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1312 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1313 | "dev": true 1314 | }, 1315 | "isobject": { 1316 | "version": "3.0.1", 1317 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1318 | "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", 1319 | "dev": true 1320 | }, 1321 | "isstream": { 1322 | "version": "0.1.2", 1323 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1324 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1325 | "dev": true 1326 | }, 1327 | "js-tokens": { 1328 | "version": "3.0.2", 1329 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 1330 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 1331 | "dev": true 1332 | }, 1333 | "js-yaml": { 1334 | "version": "3.10.0", 1335 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", 1336 | "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", 1337 | "dev": true, 1338 | "requires": { 1339 | "argparse": "1.0.9", 1340 | "esprima": "4.0.0" 1341 | }, 1342 | "dependencies": { 1343 | "esprima": { 1344 | "version": "4.0.0", 1345 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 1346 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", 1347 | "dev": true 1348 | } 1349 | } 1350 | }, 1351 | "jsbn": { 1352 | "version": "0.1.1", 1353 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1354 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1355 | "dev": true, 1356 | "optional": true 1357 | }, 1358 | "json-schema": { 1359 | "version": "0.2.3", 1360 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1361 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 1362 | "dev": true 1363 | }, 1364 | "json-stable-stringify": { 1365 | "version": "1.0.1", 1366 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 1367 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 1368 | "dev": true, 1369 | "requires": { 1370 | "jsonify": "0.0.0" 1371 | } 1372 | }, 1373 | "json-stringify-safe": { 1374 | "version": "5.0.1", 1375 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1376 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1377 | "dev": true 1378 | }, 1379 | "jsonify": { 1380 | "version": "0.0.0", 1381 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 1382 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 1383 | "dev": true 1384 | }, 1385 | "jsonpointer": { 1386 | "version": "4.0.1", 1387 | "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", 1388 | "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", 1389 | "dev": true 1390 | }, 1391 | "jsprim": { 1392 | "version": "1.4.1", 1393 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 1394 | "integrity": "sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==", 1395 | "dev": true, 1396 | "requires": { 1397 | "assert-plus": "1.0.0", 1398 | "extsprintf": "1.3.0", 1399 | "json-schema": "0.2.3", 1400 | "verror": "1.10.0" 1401 | }, 1402 | "dependencies": { 1403 | "assert-plus": { 1404 | "version": "1.0.0", 1405 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1406 | "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", 1407 | "dev": true 1408 | } 1409 | } 1410 | }, 1411 | "jsx-ast-utils": { 1412 | "version": "1.4.1", 1413 | "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", 1414 | "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", 1415 | "dev": true 1416 | }, 1417 | "lcov-parse": { 1418 | "version": "0.0.10", 1419 | "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", 1420 | "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", 1421 | "dev": true 1422 | }, 1423 | "levn": { 1424 | "version": "0.3.0", 1425 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1426 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1427 | "dev": true, 1428 | "requires": { 1429 | "prelude-ls": "1.1.2", 1430 | "type-check": "0.3.2" 1431 | } 1432 | }, 1433 | "load-json-file": { 1434 | "version": "2.0.0", 1435 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", 1436 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", 1437 | "dev": true, 1438 | "requires": { 1439 | "graceful-fs": "4.1.11", 1440 | "parse-json": "2.2.0", 1441 | "pify": "2.3.0", 1442 | "strip-bom": "3.0.0" 1443 | } 1444 | }, 1445 | "locate-path": { 1446 | "version": "2.0.0", 1447 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1448 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 1449 | "dev": true, 1450 | "requires": { 1451 | "p-locate": "2.0.0", 1452 | "path-exists": "3.0.0" 1453 | }, 1454 | "dependencies": { 1455 | "path-exists": { 1456 | "version": "3.0.0", 1457 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1458 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1459 | "dev": true 1460 | } 1461 | } 1462 | }, 1463 | "lodash": { 1464 | "version": "4.17.4", 1465 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 1466 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 1467 | "dev": true 1468 | }, 1469 | "lodash.cond": { 1470 | "version": "4.5.2", 1471 | "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz", 1472 | "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", 1473 | "dev": true 1474 | }, 1475 | "log-driver": { 1476 | "version": "1.2.5", 1477 | "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", 1478 | "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", 1479 | "dev": true 1480 | }, 1481 | "lru-cache": { 1482 | "version": "4.1.1", 1483 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 1484 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 1485 | "dev": true, 1486 | "requires": { 1487 | "pseudomap": "1.0.2", 1488 | "yallist": "2.1.2" 1489 | } 1490 | }, 1491 | "mime-db": { 1492 | "version": "1.30.0", 1493 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", 1494 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", 1495 | "dev": true 1496 | }, 1497 | "mime-types": { 1498 | "version": "2.1.17", 1499 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", 1500 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", 1501 | "dev": true, 1502 | "requires": { 1503 | "mime-db": "1.30.0" 1504 | } 1505 | }, 1506 | "minimatch": { 1507 | "version": "3.0.4", 1508 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1509 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1510 | "dev": true, 1511 | "requires": { 1512 | "brace-expansion": "1.1.8" 1513 | } 1514 | }, 1515 | "minimist": { 1516 | "version": "1.2.0", 1517 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1518 | "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==", 1519 | "dev": true 1520 | }, 1521 | "mixin-deep": { 1522 | "version": "1.3.2", 1523 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", 1524 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", 1525 | "dev": true, 1526 | "requires": { 1527 | "for-in": "^1.0.2", 1528 | "is-extendable": "^1.0.1" 1529 | } 1530 | }, 1531 | "ms": { 1532 | "version": "2.0.0", 1533 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1534 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1535 | "dev": true 1536 | }, 1537 | "mute-stream": { 1538 | "version": "0.0.5", 1539 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", 1540 | "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", 1541 | "dev": true 1542 | }, 1543 | "natural-compare": { 1544 | "version": "1.4.0", 1545 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1546 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1547 | "dev": true 1548 | }, 1549 | "nodeunit": { 1550 | "version": "0.11.2", 1551 | "resolved": "https://registry.npmjs.org/nodeunit/-/nodeunit-0.11.2.tgz", 1552 | "integrity": "sha512-rlr0Fgd66nLmWwgVFj40TZp5jo47/YqaPQtoHG78mt+DVQhaLhA8EJJYCf2lozgYplPv+jJMLt8bCP34zo05mQ==", 1553 | "dev": true, 1554 | "requires": { 1555 | "ejs": "2.5.7", 1556 | "tap": "10.7.3" 1557 | } 1558 | }, 1559 | "number-is-nan": { 1560 | "version": "1.0.1", 1561 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1562 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1563 | "dev": true 1564 | }, 1565 | "nyc": { 1566 | "version": "11.9.0", 1567 | "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz", 1568 | "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==", 1569 | "dev": true, 1570 | "requires": { 1571 | "archy": "^1.0.0", 1572 | "arrify": "^1.0.1", 1573 | "caching-transform": "^1.0.0", 1574 | "convert-source-map": "^1.5.1", 1575 | "debug-log": "^1.0.1", 1576 | "default-require-extensions": "^1.0.0", 1577 | "find-cache-dir": "^0.1.1", 1578 | "find-up": "^2.1.0", 1579 | "foreground-child": "^1.5.3", 1580 | "glob": "^7.0.6", 1581 | "istanbul-lib-coverage": "^1.1.2", 1582 | "istanbul-lib-hook": "^1.1.0", 1583 | "istanbul-lib-instrument": "^1.10.0", 1584 | "istanbul-lib-report": "^1.1.3", 1585 | "istanbul-lib-source-maps": "^1.2.3", 1586 | "istanbul-reports": "^1.4.0", 1587 | "md5-hex": "^1.2.0", 1588 | "merge-source-map": "^1.1.0", 1589 | "micromatch": "^3.1.10", 1590 | "mkdirp": "^0.5.0", 1591 | "resolve-from": "^2.0.0", 1592 | "rimraf": "^2.6.2", 1593 | "signal-exit": "^3.0.1", 1594 | "spawn-wrap": "^1.4.2", 1595 | "test-exclude": "^4.2.0", 1596 | "yargs": "11.1.0", 1597 | "yargs-parser": "^8.0.0" 1598 | }, 1599 | "dependencies": { 1600 | "align-text": { 1601 | "version": "0.1.4", 1602 | "bundled": true, 1603 | "dev": true, 1604 | "optional": true, 1605 | "requires": { 1606 | "kind-of": "^3.0.2", 1607 | "longest": "^1.0.1", 1608 | "repeat-string": "^1.5.2" 1609 | } 1610 | }, 1611 | "amdefine": { 1612 | "version": "1.0.1", 1613 | "bundled": true, 1614 | "dev": true 1615 | }, 1616 | "ansi-regex": { 1617 | "version": "2.1.1", 1618 | "bundled": true, 1619 | "dev": true 1620 | }, 1621 | "ansi-styles": { 1622 | "version": "2.2.1", 1623 | "bundled": true, 1624 | "dev": true 1625 | }, 1626 | "append-transform": { 1627 | "version": "0.4.0", 1628 | "bundled": true, 1629 | "dev": true, 1630 | "requires": { 1631 | "default-require-extensions": "^1.0.0" 1632 | } 1633 | }, 1634 | "archy": { 1635 | "version": "1.0.0", 1636 | "bundled": true, 1637 | "dev": true 1638 | }, 1639 | "arr-diff": { 1640 | "version": "4.0.0", 1641 | "bundled": true, 1642 | "dev": true 1643 | }, 1644 | "arr-flatten": { 1645 | "version": "1.1.0", 1646 | "bundled": true, 1647 | "dev": true 1648 | }, 1649 | "arr-union": { 1650 | "version": "3.1.0", 1651 | "bundled": true, 1652 | "dev": true 1653 | }, 1654 | "array-unique": { 1655 | "version": "0.3.2", 1656 | "bundled": true, 1657 | "dev": true 1658 | }, 1659 | "arrify": { 1660 | "version": "1.0.1", 1661 | "bundled": true, 1662 | "dev": true 1663 | }, 1664 | "assign-symbols": { 1665 | "version": "1.0.0", 1666 | "bundled": true, 1667 | "dev": true 1668 | }, 1669 | "async": { 1670 | "version": "1.5.2", 1671 | "bundled": true, 1672 | "dev": true 1673 | }, 1674 | "atob": { 1675 | "version": "2.1.1", 1676 | "bundled": true, 1677 | "dev": true 1678 | }, 1679 | "babel-code-frame": { 1680 | "version": "6.26.0", 1681 | "bundled": true, 1682 | "dev": true, 1683 | "requires": { 1684 | "chalk": "^1.1.3", 1685 | "esutils": "^2.0.2", 1686 | "js-tokens": "^3.0.2" 1687 | } 1688 | }, 1689 | "babel-generator": { 1690 | "version": "6.26.1", 1691 | "bundled": true, 1692 | "dev": true, 1693 | "requires": { 1694 | "babel-messages": "^6.23.0", 1695 | "babel-runtime": "^6.26.0", 1696 | "babel-types": "^6.26.0", 1697 | "detect-indent": "^4.0.0", 1698 | "jsesc": "^1.3.0", 1699 | "lodash": "^4.17.4", 1700 | "source-map": "^0.5.7", 1701 | "trim-right": "^1.0.1" 1702 | } 1703 | }, 1704 | "babel-messages": { 1705 | "version": "6.23.0", 1706 | "bundled": true, 1707 | "dev": true, 1708 | "requires": { 1709 | "babel-runtime": "^6.22.0" 1710 | } 1711 | }, 1712 | "babel-runtime": { 1713 | "version": "6.26.0", 1714 | "bundled": true, 1715 | "dev": true, 1716 | "requires": { 1717 | "core-js": "^2.4.0", 1718 | "regenerator-runtime": "^0.11.0" 1719 | } 1720 | }, 1721 | "babel-template": { 1722 | "version": "6.26.0", 1723 | "bundled": true, 1724 | "dev": true, 1725 | "requires": { 1726 | "babel-runtime": "^6.26.0", 1727 | "babel-traverse": "^6.26.0", 1728 | "babel-types": "^6.26.0", 1729 | "babylon": "^6.18.0", 1730 | "lodash": "^4.17.4" 1731 | } 1732 | }, 1733 | "babel-traverse": { 1734 | "version": "6.26.0", 1735 | "bundled": true, 1736 | "dev": true, 1737 | "requires": { 1738 | "babel-code-frame": "^6.26.0", 1739 | "babel-messages": "^6.23.0", 1740 | "babel-runtime": "^6.26.0", 1741 | "babel-types": "^6.26.0", 1742 | "babylon": "^6.18.0", 1743 | "debug": "^2.6.8", 1744 | "globals": "^9.18.0", 1745 | "invariant": "^2.2.2", 1746 | "lodash": "^4.17.4" 1747 | } 1748 | }, 1749 | "babel-types": { 1750 | "version": "6.26.0", 1751 | "bundled": true, 1752 | "dev": true, 1753 | "requires": { 1754 | "babel-runtime": "^6.26.0", 1755 | "esutils": "^2.0.2", 1756 | "lodash": "^4.17.4", 1757 | "to-fast-properties": "^1.0.3" 1758 | } 1759 | }, 1760 | "babylon": { 1761 | "version": "6.18.0", 1762 | "bundled": true, 1763 | "dev": true 1764 | }, 1765 | "balanced-match": { 1766 | "version": "1.0.0", 1767 | "bundled": true, 1768 | "dev": true 1769 | }, 1770 | "base": { 1771 | "version": "0.11.2", 1772 | "bundled": true, 1773 | "dev": true, 1774 | "requires": { 1775 | "cache-base": "^1.0.1", 1776 | "class-utils": "^0.3.5", 1777 | "component-emitter": "^1.2.1", 1778 | "define-property": "^1.0.0", 1779 | "isobject": "^3.0.1", 1780 | "mixin-deep": "^1.2.0", 1781 | "pascalcase": "^0.1.1" 1782 | }, 1783 | "dependencies": { 1784 | "define-property": { 1785 | "version": "1.0.0", 1786 | "bundled": true, 1787 | "dev": true, 1788 | "requires": { 1789 | "is-descriptor": "^1.0.0" 1790 | } 1791 | }, 1792 | "is-accessor-descriptor": { 1793 | "version": "1.0.0", 1794 | "bundled": true, 1795 | "dev": true, 1796 | "requires": { 1797 | "kind-of": "^6.0.0" 1798 | } 1799 | }, 1800 | "is-data-descriptor": { 1801 | "version": "1.0.0", 1802 | "bundled": true, 1803 | "dev": true, 1804 | "requires": { 1805 | "kind-of": "^6.0.0" 1806 | } 1807 | }, 1808 | "is-descriptor": { 1809 | "version": "1.0.2", 1810 | "bundled": true, 1811 | "dev": true, 1812 | "requires": { 1813 | "is-accessor-descriptor": "^1.0.0", 1814 | "is-data-descriptor": "^1.0.0", 1815 | "kind-of": "^6.0.2" 1816 | } 1817 | }, 1818 | "isobject": { 1819 | "version": "3.0.1", 1820 | "bundled": true, 1821 | "dev": true 1822 | }, 1823 | "kind-of": { 1824 | "version": "6.0.2", 1825 | "bundled": true, 1826 | "dev": true 1827 | } 1828 | } 1829 | }, 1830 | "brace-expansion": { 1831 | "version": "1.1.11", 1832 | "bundled": true, 1833 | "dev": true, 1834 | "requires": { 1835 | "balanced-match": "^1.0.0", 1836 | "concat-map": "0.0.1" 1837 | } 1838 | }, 1839 | "braces": { 1840 | "version": "2.3.2", 1841 | "bundled": true, 1842 | "dev": true, 1843 | "requires": { 1844 | "arr-flatten": "^1.1.0", 1845 | "array-unique": "^0.3.2", 1846 | "extend-shallow": "^2.0.1", 1847 | "fill-range": "^4.0.0", 1848 | "isobject": "^3.0.1", 1849 | "repeat-element": "^1.1.2", 1850 | "snapdragon": "^0.8.1", 1851 | "snapdragon-node": "^2.0.1", 1852 | "split-string": "^3.0.2", 1853 | "to-regex": "^3.0.1" 1854 | }, 1855 | "dependencies": { 1856 | "extend-shallow": { 1857 | "version": "2.0.1", 1858 | "bundled": true, 1859 | "dev": true, 1860 | "requires": { 1861 | "is-extendable": "^0.1.0" 1862 | } 1863 | } 1864 | } 1865 | }, 1866 | "builtin-modules": { 1867 | "version": "1.1.1", 1868 | "bundled": true, 1869 | "dev": true 1870 | }, 1871 | "cache-base": { 1872 | "version": "1.0.1", 1873 | "bundled": true, 1874 | "dev": true, 1875 | "requires": { 1876 | "collection-visit": "^1.0.0", 1877 | "component-emitter": "^1.2.1", 1878 | "get-value": "^2.0.6", 1879 | "has-value": "^1.0.0", 1880 | "isobject": "^3.0.1", 1881 | "set-value": "^2.0.0", 1882 | "to-object-path": "^0.3.0", 1883 | "union-value": "^1.0.0", 1884 | "unset-value": "^1.0.0" 1885 | }, 1886 | "dependencies": { 1887 | "isobject": { 1888 | "version": "3.0.1", 1889 | "bundled": true, 1890 | "dev": true 1891 | } 1892 | } 1893 | }, 1894 | "caching-transform": { 1895 | "version": "1.0.1", 1896 | "bundled": true, 1897 | "dev": true, 1898 | "requires": { 1899 | "md5-hex": "^1.2.0", 1900 | "mkdirp": "^0.5.1", 1901 | "write-file-atomic": "^1.1.4" 1902 | } 1903 | }, 1904 | "camelcase": { 1905 | "version": "1.2.1", 1906 | "bundled": true, 1907 | "dev": true, 1908 | "optional": true 1909 | }, 1910 | "center-align": { 1911 | "version": "0.1.3", 1912 | "bundled": true, 1913 | "dev": true, 1914 | "optional": true, 1915 | "requires": { 1916 | "align-text": "^0.1.3", 1917 | "lazy-cache": "^1.0.3" 1918 | } 1919 | }, 1920 | "chalk": { 1921 | "version": "1.1.3", 1922 | "bundled": true, 1923 | "dev": true, 1924 | "requires": { 1925 | "ansi-styles": "^2.2.1", 1926 | "escape-string-regexp": "^1.0.2", 1927 | "has-ansi": "^2.0.0", 1928 | "strip-ansi": "^3.0.0", 1929 | "supports-color": "^2.0.0" 1930 | } 1931 | }, 1932 | "class-utils": { 1933 | "version": "0.3.6", 1934 | "bundled": true, 1935 | "dev": true, 1936 | "requires": { 1937 | "arr-union": "^3.1.0", 1938 | "define-property": "^0.2.5", 1939 | "isobject": "^3.0.0", 1940 | "static-extend": "^0.1.1" 1941 | }, 1942 | "dependencies": { 1943 | "define-property": { 1944 | "version": "0.2.5", 1945 | "bundled": true, 1946 | "dev": true, 1947 | "requires": { 1948 | "is-descriptor": "^0.1.0" 1949 | } 1950 | }, 1951 | "isobject": { 1952 | "version": "3.0.1", 1953 | "bundled": true, 1954 | "dev": true 1955 | } 1956 | } 1957 | }, 1958 | "cliui": { 1959 | "version": "2.1.0", 1960 | "bundled": true, 1961 | "dev": true, 1962 | "optional": true, 1963 | "requires": { 1964 | "center-align": "^0.1.1", 1965 | "right-align": "^0.1.1", 1966 | "wordwrap": "0.0.2" 1967 | }, 1968 | "dependencies": { 1969 | "wordwrap": { 1970 | "version": "0.0.2", 1971 | "bundled": true, 1972 | "dev": true, 1973 | "optional": true 1974 | } 1975 | } 1976 | }, 1977 | "code-point-at": { 1978 | "version": "1.1.0", 1979 | "bundled": true, 1980 | "dev": true 1981 | }, 1982 | "collection-visit": { 1983 | "version": "1.0.0", 1984 | "bundled": true, 1985 | "dev": true, 1986 | "requires": { 1987 | "map-visit": "^1.0.0", 1988 | "object-visit": "^1.0.0" 1989 | } 1990 | }, 1991 | "commondir": { 1992 | "version": "1.0.1", 1993 | "bundled": true, 1994 | "dev": true 1995 | }, 1996 | "component-emitter": { 1997 | "version": "1.2.1", 1998 | "bundled": true, 1999 | "dev": true 2000 | }, 2001 | "concat-map": { 2002 | "version": "0.0.1", 2003 | "bundled": true, 2004 | "dev": true 2005 | }, 2006 | "convert-source-map": { 2007 | "version": "1.5.1", 2008 | "bundled": true, 2009 | "dev": true 2010 | }, 2011 | "copy-descriptor": { 2012 | "version": "0.1.1", 2013 | "bundled": true, 2014 | "dev": true 2015 | }, 2016 | "core-js": { 2017 | "version": "2.5.6", 2018 | "bundled": true, 2019 | "dev": true 2020 | }, 2021 | "cross-spawn": { 2022 | "version": "4.0.2", 2023 | "bundled": true, 2024 | "dev": true, 2025 | "requires": { 2026 | "lru-cache": "^4.0.1", 2027 | "which": "^1.2.9" 2028 | } 2029 | }, 2030 | "debug": { 2031 | "version": "2.6.9", 2032 | "bundled": true, 2033 | "dev": true, 2034 | "requires": { 2035 | "ms": "2.0.0" 2036 | } 2037 | }, 2038 | "debug-log": { 2039 | "version": "1.0.1", 2040 | "bundled": true, 2041 | "dev": true 2042 | }, 2043 | "decamelize": { 2044 | "version": "1.2.0", 2045 | "bundled": true, 2046 | "dev": true 2047 | }, 2048 | "default-require-extensions": { 2049 | "version": "1.0.0", 2050 | "bundled": true, 2051 | "dev": true, 2052 | "requires": { 2053 | "strip-bom": "^2.0.0" 2054 | } 2055 | }, 2056 | "define-property": { 2057 | "version": "2.0.2", 2058 | "bundled": true, 2059 | "dev": true, 2060 | "requires": { 2061 | "is-descriptor": "^1.0.2", 2062 | "isobject": "^3.0.1" 2063 | }, 2064 | "dependencies": { 2065 | "is-accessor-descriptor": { 2066 | "version": "1.0.0", 2067 | "bundled": true, 2068 | "dev": true, 2069 | "requires": { 2070 | "kind-of": "^6.0.0" 2071 | } 2072 | }, 2073 | "is-data-descriptor": { 2074 | "version": "1.0.0", 2075 | "bundled": true, 2076 | "dev": true, 2077 | "requires": { 2078 | "kind-of": "^6.0.0" 2079 | } 2080 | }, 2081 | "is-descriptor": { 2082 | "version": "1.0.2", 2083 | "bundled": true, 2084 | "dev": true, 2085 | "requires": { 2086 | "is-accessor-descriptor": "^1.0.0", 2087 | "is-data-descriptor": "^1.0.0", 2088 | "kind-of": "^6.0.2" 2089 | } 2090 | }, 2091 | "isobject": { 2092 | "version": "3.0.1", 2093 | "bundled": true, 2094 | "dev": true 2095 | }, 2096 | "kind-of": { 2097 | "version": "6.0.2", 2098 | "bundled": true, 2099 | "dev": true 2100 | } 2101 | } 2102 | }, 2103 | "detect-indent": { 2104 | "version": "4.0.0", 2105 | "bundled": true, 2106 | "dev": true, 2107 | "requires": { 2108 | "repeating": "^2.0.0" 2109 | } 2110 | }, 2111 | "error-ex": { 2112 | "version": "1.3.1", 2113 | "bundled": true, 2114 | "dev": true, 2115 | "requires": { 2116 | "is-arrayish": "^0.2.1" 2117 | } 2118 | }, 2119 | "escape-string-regexp": { 2120 | "version": "1.0.5", 2121 | "bundled": true, 2122 | "dev": true 2123 | }, 2124 | "esutils": { 2125 | "version": "2.0.2", 2126 | "bundled": true, 2127 | "dev": true 2128 | }, 2129 | "execa": { 2130 | "version": "0.7.0", 2131 | "bundled": true, 2132 | "dev": true, 2133 | "requires": { 2134 | "cross-spawn": "^5.0.1", 2135 | "get-stream": "^3.0.0", 2136 | "is-stream": "^1.1.0", 2137 | "npm-run-path": "^2.0.0", 2138 | "p-finally": "^1.0.0", 2139 | "signal-exit": "^3.0.0", 2140 | "strip-eof": "^1.0.0" 2141 | }, 2142 | "dependencies": { 2143 | "cross-spawn": { 2144 | "version": "5.1.0", 2145 | "bundled": true, 2146 | "dev": true, 2147 | "requires": { 2148 | "lru-cache": "^4.0.1", 2149 | "shebang-command": "^1.2.0", 2150 | "which": "^1.2.9" 2151 | } 2152 | } 2153 | } 2154 | }, 2155 | "expand-brackets": { 2156 | "version": "2.1.4", 2157 | "bundled": true, 2158 | "dev": true, 2159 | "requires": { 2160 | "debug": "^2.3.3", 2161 | "define-property": "^0.2.5", 2162 | "extend-shallow": "^2.0.1", 2163 | "posix-character-classes": "^0.1.0", 2164 | "regex-not": "^1.0.0", 2165 | "snapdragon": "^0.8.1", 2166 | "to-regex": "^3.0.1" 2167 | }, 2168 | "dependencies": { 2169 | "define-property": { 2170 | "version": "0.2.5", 2171 | "bundled": true, 2172 | "dev": true, 2173 | "requires": { 2174 | "is-descriptor": "^0.1.0" 2175 | } 2176 | }, 2177 | "extend-shallow": { 2178 | "version": "2.0.1", 2179 | "bundled": true, 2180 | "dev": true, 2181 | "requires": { 2182 | "is-extendable": "^0.1.0" 2183 | } 2184 | } 2185 | } 2186 | }, 2187 | "extend-shallow": { 2188 | "version": "3.0.2", 2189 | "bundled": true, 2190 | "dev": true, 2191 | "requires": { 2192 | "assign-symbols": "^1.0.0", 2193 | "is-extendable": "^1.0.1" 2194 | }, 2195 | "dependencies": { 2196 | "is-extendable": { 2197 | "version": "1.0.1", 2198 | "bundled": true, 2199 | "dev": true, 2200 | "requires": { 2201 | "is-plain-object": "^2.0.4" 2202 | } 2203 | } 2204 | } 2205 | }, 2206 | "extglob": { 2207 | "version": "2.0.4", 2208 | "bundled": true, 2209 | "dev": true, 2210 | "requires": { 2211 | "array-unique": "^0.3.2", 2212 | "define-property": "^1.0.0", 2213 | "expand-brackets": "^2.1.4", 2214 | "extend-shallow": "^2.0.1", 2215 | "fragment-cache": "^0.2.1", 2216 | "regex-not": "^1.0.0", 2217 | "snapdragon": "^0.8.1", 2218 | "to-regex": "^3.0.1" 2219 | }, 2220 | "dependencies": { 2221 | "define-property": { 2222 | "version": "1.0.0", 2223 | "bundled": true, 2224 | "dev": true, 2225 | "requires": { 2226 | "is-descriptor": "^1.0.0" 2227 | } 2228 | }, 2229 | "extend-shallow": { 2230 | "version": "2.0.1", 2231 | "bundled": true, 2232 | "dev": true, 2233 | "requires": { 2234 | "is-extendable": "^0.1.0" 2235 | } 2236 | }, 2237 | "is-accessor-descriptor": { 2238 | "version": "1.0.0", 2239 | "bundled": true, 2240 | "dev": true, 2241 | "requires": { 2242 | "kind-of": "^6.0.0" 2243 | } 2244 | }, 2245 | "is-data-descriptor": { 2246 | "version": "1.0.0", 2247 | "bundled": true, 2248 | "dev": true, 2249 | "requires": { 2250 | "kind-of": "^6.0.0" 2251 | } 2252 | }, 2253 | "is-descriptor": { 2254 | "version": "1.0.2", 2255 | "bundled": true, 2256 | "dev": true, 2257 | "requires": { 2258 | "is-accessor-descriptor": "^1.0.0", 2259 | "is-data-descriptor": "^1.0.0", 2260 | "kind-of": "^6.0.2" 2261 | } 2262 | }, 2263 | "kind-of": { 2264 | "version": "6.0.2", 2265 | "bundled": true, 2266 | "dev": true 2267 | } 2268 | } 2269 | }, 2270 | "fill-range": { 2271 | "version": "4.0.0", 2272 | "bundled": true, 2273 | "dev": true, 2274 | "requires": { 2275 | "extend-shallow": "^2.0.1", 2276 | "is-number": "^3.0.0", 2277 | "repeat-string": "^1.6.1", 2278 | "to-regex-range": "^2.1.0" 2279 | }, 2280 | "dependencies": { 2281 | "extend-shallow": { 2282 | "version": "2.0.1", 2283 | "bundled": true, 2284 | "dev": true, 2285 | "requires": { 2286 | "is-extendable": "^0.1.0" 2287 | } 2288 | } 2289 | } 2290 | }, 2291 | "find-cache-dir": { 2292 | "version": "0.1.1", 2293 | "bundled": true, 2294 | "dev": true, 2295 | "requires": { 2296 | "commondir": "^1.0.1", 2297 | "mkdirp": "^0.5.1", 2298 | "pkg-dir": "^1.0.0" 2299 | } 2300 | }, 2301 | "find-up": { 2302 | "version": "2.1.0", 2303 | "bundled": true, 2304 | "dev": true, 2305 | "requires": { 2306 | "locate-path": "^2.0.0" 2307 | } 2308 | }, 2309 | "for-in": { 2310 | "version": "1.0.2", 2311 | "bundled": true 2312 | }, 2313 | "foreground-child": { 2314 | "version": "1.5.6", 2315 | "bundled": true, 2316 | "dev": true, 2317 | "requires": { 2318 | "cross-spawn": "^4", 2319 | "signal-exit": "^3.0.0" 2320 | } 2321 | }, 2322 | "fragment-cache": { 2323 | "version": "0.2.1", 2324 | "bundled": true, 2325 | "dev": true, 2326 | "requires": { 2327 | "map-cache": "^0.2.2" 2328 | } 2329 | }, 2330 | "fs.realpath": { 2331 | "version": "1.0.0", 2332 | "bundled": true, 2333 | "dev": true 2334 | }, 2335 | "get-caller-file": { 2336 | "version": "1.0.2", 2337 | "bundled": true, 2338 | "dev": true 2339 | }, 2340 | "get-stream": { 2341 | "version": "3.0.0", 2342 | "bundled": true, 2343 | "dev": true 2344 | }, 2345 | "get-value": { 2346 | "version": "2.0.6", 2347 | "bundled": true, 2348 | "dev": true 2349 | }, 2350 | "glob": { 2351 | "version": "7.1.2", 2352 | "bundled": true, 2353 | "dev": true, 2354 | "requires": { 2355 | "fs.realpath": "^1.0.0", 2356 | "inflight": "^1.0.4", 2357 | "inherits": "2", 2358 | "minimatch": "^3.0.4", 2359 | "once": "^1.3.0", 2360 | "path-is-absolute": "^1.0.0" 2361 | } 2362 | }, 2363 | "globals": { 2364 | "version": "9.18.0", 2365 | "bundled": true, 2366 | "dev": true 2367 | }, 2368 | "graceful-fs": { 2369 | "version": "4.1.11", 2370 | "bundled": true, 2371 | "dev": true 2372 | }, 2373 | "handlebars": { 2374 | "version": "4.0.11", 2375 | "bundled": true, 2376 | "dev": true, 2377 | "requires": { 2378 | "async": "^1.4.0", 2379 | "optimist": "^0.6.1", 2380 | "source-map": "^0.4.4", 2381 | "uglify-js": "^2.6" 2382 | }, 2383 | "dependencies": { 2384 | "source-map": { 2385 | "version": "0.4.4", 2386 | "bundled": true, 2387 | "dev": true, 2388 | "requires": { 2389 | "amdefine": ">=0.0.4" 2390 | } 2391 | } 2392 | } 2393 | }, 2394 | "has-ansi": { 2395 | "version": "2.0.0", 2396 | "bundled": true, 2397 | "dev": true, 2398 | "requires": { 2399 | "ansi-regex": "^2.0.0" 2400 | } 2401 | }, 2402 | "has-flag": { 2403 | "version": "1.0.0", 2404 | "bundled": true, 2405 | "dev": true 2406 | }, 2407 | "has-value": { 2408 | "version": "1.0.0", 2409 | "bundled": true, 2410 | "dev": true, 2411 | "requires": { 2412 | "get-value": "^2.0.6", 2413 | "has-values": "^1.0.0", 2414 | "isobject": "^3.0.0" 2415 | }, 2416 | "dependencies": { 2417 | "isobject": { 2418 | "version": "3.0.1", 2419 | "bundled": true, 2420 | "dev": true 2421 | } 2422 | } 2423 | }, 2424 | "has-values": { 2425 | "version": "1.0.0", 2426 | "bundled": true, 2427 | "dev": true, 2428 | "requires": { 2429 | "is-number": "^3.0.0", 2430 | "kind-of": "^4.0.0" 2431 | }, 2432 | "dependencies": { 2433 | "is-number": { 2434 | "version": "3.0.0", 2435 | "bundled": true, 2436 | "dev": true, 2437 | "requires": { 2438 | "kind-of": "^3.0.2" 2439 | }, 2440 | "dependencies": { 2441 | "kind-of": { 2442 | "version": "3.2.2", 2443 | "bundled": true, 2444 | "dev": true, 2445 | "requires": { 2446 | "is-buffer": "^1.1.5" 2447 | } 2448 | } 2449 | } 2450 | }, 2451 | "kind-of": { 2452 | "version": "4.0.0", 2453 | "bundled": true, 2454 | "dev": true, 2455 | "requires": { 2456 | "is-buffer": "^1.1.5" 2457 | } 2458 | } 2459 | } 2460 | }, 2461 | "hosted-git-info": { 2462 | "version": "2.6.0", 2463 | "bundled": true, 2464 | "dev": true 2465 | }, 2466 | "imurmurhash": { 2467 | "version": "0.1.4", 2468 | "bundled": true, 2469 | "dev": true 2470 | }, 2471 | "inflight": { 2472 | "version": "1.0.6", 2473 | "bundled": true, 2474 | "dev": true, 2475 | "requires": { 2476 | "once": "^1.3.0", 2477 | "wrappy": "1" 2478 | } 2479 | }, 2480 | "inherits": { 2481 | "version": "2.0.3", 2482 | "bundled": true, 2483 | "dev": true 2484 | }, 2485 | "invariant": { 2486 | "version": "2.2.4", 2487 | "bundled": true, 2488 | "dev": true, 2489 | "requires": { 2490 | "loose-envify": "^1.0.0" 2491 | } 2492 | }, 2493 | "invert-kv": { 2494 | "version": "1.0.0", 2495 | "bundled": true, 2496 | "dev": true 2497 | }, 2498 | "is-accessor-descriptor": { 2499 | "version": "0.1.6", 2500 | "bundled": true, 2501 | "dev": true, 2502 | "requires": { 2503 | "kind-of": "^3.0.2" 2504 | } 2505 | }, 2506 | "is-arrayish": { 2507 | "version": "0.2.1", 2508 | "bundled": true, 2509 | "dev": true 2510 | }, 2511 | "is-buffer": { 2512 | "version": "1.1.6", 2513 | "bundled": true, 2514 | "dev": true 2515 | }, 2516 | "is-builtin-module": { 2517 | "version": "1.0.0", 2518 | "bundled": true, 2519 | "dev": true, 2520 | "requires": { 2521 | "builtin-modules": "^1.0.0" 2522 | } 2523 | }, 2524 | "is-data-descriptor": { 2525 | "version": "0.1.4", 2526 | "bundled": true, 2527 | "dev": true, 2528 | "requires": { 2529 | "kind-of": "^3.0.2" 2530 | } 2531 | }, 2532 | "is-descriptor": { 2533 | "version": "0.1.6", 2534 | "bundled": true, 2535 | "dev": true, 2536 | "requires": { 2537 | "is-accessor-descriptor": "^0.1.6", 2538 | "is-data-descriptor": "^0.1.4", 2539 | "kind-of": "^5.0.0" 2540 | }, 2541 | "dependencies": { 2542 | "kind-of": { 2543 | "version": "5.1.0", 2544 | "bundled": true, 2545 | "dev": true 2546 | } 2547 | } 2548 | }, 2549 | "is-extendable": { 2550 | "version": "0.1.1", 2551 | "bundled": true, 2552 | "dev": true 2553 | }, 2554 | "is-finite": { 2555 | "version": "1.0.2", 2556 | "bundled": true, 2557 | "dev": true, 2558 | "requires": { 2559 | "number-is-nan": "^1.0.0" 2560 | } 2561 | }, 2562 | "is-fullwidth-code-point": { 2563 | "version": "2.0.0", 2564 | "bundled": true, 2565 | "dev": true 2566 | }, 2567 | "is-number": { 2568 | "version": "3.0.0", 2569 | "bundled": true, 2570 | "dev": true, 2571 | "requires": { 2572 | "kind-of": "^3.0.2" 2573 | } 2574 | }, 2575 | "is-odd": { 2576 | "version": "2.0.0", 2577 | "bundled": true, 2578 | "dev": true, 2579 | "requires": { 2580 | "is-number": "^4.0.0" 2581 | }, 2582 | "dependencies": { 2583 | "is-number": { 2584 | "version": "4.0.0", 2585 | "bundled": true, 2586 | "dev": true 2587 | } 2588 | } 2589 | }, 2590 | "is-plain-object": { 2591 | "version": "2.0.4", 2592 | "bundled": true, 2593 | "dev": true, 2594 | "requires": { 2595 | "isobject": "^3.0.1" 2596 | }, 2597 | "dependencies": { 2598 | "isobject": { 2599 | "version": "3.0.1", 2600 | "bundled": true, 2601 | "dev": true 2602 | } 2603 | } 2604 | }, 2605 | "is-stream": { 2606 | "version": "1.1.0", 2607 | "bundled": true, 2608 | "dev": true 2609 | }, 2610 | "is-utf8": { 2611 | "version": "0.2.1", 2612 | "bundled": true, 2613 | "dev": true 2614 | }, 2615 | "is-windows": { 2616 | "version": "1.0.2", 2617 | "bundled": true, 2618 | "dev": true 2619 | }, 2620 | "isarray": { 2621 | "version": "1.0.0", 2622 | "bundled": true, 2623 | "dev": true 2624 | }, 2625 | "isexe": { 2626 | "version": "2.0.0", 2627 | "bundled": true, 2628 | "dev": true 2629 | }, 2630 | "isobject": { 2631 | "version": "3.0.1", 2632 | "bundled": true, 2633 | "dev": true 2634 | }, 2635 | "istanbul-lib-coverage": { 2636 | "version": "1.2.0", 2637 | "bundled": true, 2638 | "dev": true 2639 | }, 2640 | "istanbul-lib-hook": { 2641 | "version": "1.1.0", 2642 | "bundled": true, 2643 | "dev": true, 2644 | "requires": { 2645 | "append-transform": "^0.4.0" 2646 | } 2647 | }, 2648 | "istanbul-lib-instrument": { 2649 | "version": "1.10.1", 2650 | "bundled": true, 2651 | "dev": true, 2652 | "requires": { 2653 | "babel-generator": "^6.18.0", 2654 | "babel-template": "^6.16.0", 2655 | "babel-traverse": "^6.18.0", 2656 | "babel-types": "^6.18.0", 2657 | "babylon": "^6.18.0", 2658 | "istanbul-lib-coverage": "^1.2.0", 2659 | "semver": "^5.3.0" 2660 | } 2661 | }, 2662 | "istanbul-lib-report": { 2663 | "version": "1.1.3", 2664 | "bundled": true, 2665 | "dev": true, 2666 | "requires": { 2667 | "istanbul-lib-coverage": "^1.1.2", 2668 | "mkdirp": "^0.5.1", 2669 | "path-parse": "^1.0.5", 2670 | "supports-color": "^3.1.2" 2671 | }, 2672 | "dependencies": { 2673 | "supports-color": { 2674 | "version": "3.2.3", 2675 | "bundled": true, 2676 | "dev": true, 2677 | "requires": { 2678 | "has-flag": "^1.0.0" 2679 | } 2680 | } 2681 | } 2682 | }, 2683 | "istanbul-lib-source-maps": { 2684 | "version": "1.2.3", 2685 | "bundled": true, 2686 | "dev": true, 2687 | "requires": { 2688 | "debug": "^3.1.0", 2689 | "istanbul-lib-coverage": "^1.1.2", 2690 | "mkdirp": "^0.5.1", 2691 | "rimraf": "^2.6.1", 2692 | "source-map": "^0.5.3" 2693 | }, 2694 | "dependencies": { 2695 | "debug": { 2696 | "version": "3.1.0", 2697 | "bundled": true, 2698 | "dev": true, 2699 | "requires": { 2700 | "ms": "2.0.0" 2701 | } 2702 | } 2703 | } 2704 | }, 2705 | "istanbul-reports": { 2706 | "version": "1.4.0", 2707 | "bundled": true, 2708 | "dev": true, 2709 | "requires": { 2710 | "handlebars": "^4.0.3" 2711 | } 2712 | }, 2713 | "js-tokens": { 2714 | "version": "3.0.2", 2715 | "bundled": true, 2716 | "dev": true 2717 | }, 2718 | "jsesc": { 2719 | "version": "1.3.0", 2720 | "bundled": true, 2721 | "dev": true 2722 | }, 2723 | "kind-of": { 2724 | "version": "3.2.2", 2725 | "bundled": true, 2726 | "dev": true, 2727 | "requires": { 2728 | "is-buffer": "^1.1.5" 2729 | } 2730 | }, 2731 | "lazy-cache": { 2732 | "version": "1.0.4", 2733 | "bundled": true, 2734 | "dev": true, 2735 | "optional": true 2736 | }, 2737 | "lcid": { 2738 | "version": "1.0.0", 2739 | "bundled": true, 2740 | "dev": true, 2741 | "requires": { 2742 | "invert-kv": "^1.0.0" 2743 | } 2744 | }, 2745 | "load-json-file": { 2746 | "version": "1.1.0", 2747 | "bundled": true, 2748 | "dev": true, 2749 | "requires": { 2750 | "graceful-fs": "^4.1.2", 2751 | "parse-json": "^2.2.0", 2752 | "pify": "^2.0.0", 2753 | "pinkie-promise": "^2.0.0", 2754 | "strip-bom": "^2.0.0" 2755 | } 2756 | }, 2757 | "locate-path": { 2758 | "version": "2.0.0", 2759 | "bundled": true, 2760 | "dev": true, 2761 | "requires": { 2762 | "p-locate": "^2.0.0", 2763 | "path-exists": "^3.0.0" 2764 | }, 2765 | "dependencies": { 2766 | "path-exists": { 2767 | "version": "3.0.0", 2768 | "bundled": true, 2769 | "dev": true 2770 | } 2771 | } 2772 | }, 2773 | "lodash": { 2774 | "version": "4.17.10", 2775 | "bundled": true, 2776 | "dev": true 2777 | }, 2778 | "longest": { 2779 | "version": "1.0.1", 2780 | "bundled": true, 2781 | "dev": true, 2782 | "optional": true 2783 | }, 2784 | "loose-envify": { 2785 | "version": "1.3.1", 2786 | "bundled": true, 2787 | "dev": true, 2788 | "requires": { 2789 | "js-tokens": "^3.0.0" 2790 | } 2791 | }, 2792 | "lru-cache": { 2793 | "version": "4.1.3", 2794 | "bundled": true, 2795 | "dev": true, 2796 | "requires": { 2797 | "pseudomap": "^1.0.2", 2798 | "yallist": "^2.1.2" 2799 | } 2800 | }, 2801 | "map-cache": { 2802 | "version": "0.2.2", 2803 | "bundled": true, 2804 | "dev": true 2805 | }, 2806 | "map-visit": { 2807 | "version": "1.0.0", 2808 | "bundled": true, 2809 | "dev": true, 2810 | "requires": { 2811 | "object-visit": "^1.0.0" 2812 | } 2813 | }, 2814 | "md5-hex": { 2815 | "version": "1.3.0", 2816 | "bundled": true, 2817 | "dev": true, 2818 | "requires": { 2819 | "md5-o-matic": "^0.1.1" 2820 | } 2821 | }, 2822 | "md5-o-matic": { 2823 | "version": "0.1.1", 2824 | "bundled": true, 2825 | "dev": true 2826 | }, 2827 | "mem": { 2828 | "version": "1.1.0", 2829 | "bundled": true, 2830 | "dev": true, 2831 | "requires": { 2832 | "mimic-fn": "^1.0.0" 2833 | } 2834 | }, 2835 | "merge-source-map": { 2836 | "version": "1.1.0", 2837 | "bundled": true, 2838 | "dev": true, 2839 | "requires": { 2840 | "source-map": "^0.6.1" 2841 | }, 2842 | "dependencies": { 2843 | "source-map": { 2844 | "version": "0.6.1", 2845 | "bundled": true, 2846 | "dev": true 2847 | } 2848 | } 2849 | }, 2850 | "micromatch": { 2851 | "version": "3.1.10", 2852 | "bundled": true, 2853 | "dev": true, 2854 | "requires": { 2855 | "arr-diff": "^4.0.0", 2856 | "array-unique": "^0.3.2", 2857 | "braces": "^2.3.1", 2858 | "define-property": "^2.0.2", 2859 | "extend-shallow": "^3.0.2", 2860 | "extglob": "^2.0.4", 2861 | "fragment-cache": "^0.2.1", 2862 | "kind-of": "^6.0.2", 2863 | "nanomatch": "^1.2.9", 2864 | "object.pick": "^1.3.0", 2865 | "regex-not": "^1.0.0", 2866 | "snapdragon": "^0.8.1", 2867 | "to-regex": "^3.0.2" 2868 | }, 2869 | "dependencies": { 2870 | "kind-of": { 2871 | "version": "6.0.2", 2872 | "bundled": true, 2873 | "dev": true 2874 | } 2875 | } 2876 | }, 2877 | "mimic-fn": { 2878 | "version": "1.2.0", 2879 | "bundled": true, 2880 | "dev": true 2881 | }, 2882 | "minimatch": { 2883 | "version": "3.0.4", 2884 | "bundled": true, 2885 | "dev": true, 2886 | "requires": { 2887 | "brace-expansion": "^1.1.7" 2888 | } 2889 | }, 2890 | "minimist": { 2891 | "version": "0.0.8", 2892 | "bundled": true, 2893 | "dev": true 2894 | }, 2895 | "mkdirp": { 2896 | "version": "0.5.1", 2897 | "bundled": true, 2898 | "dev": true, 2899 | "requires": { 2900 | "minimist": "0.0.8" 2901 | } 2902 | }, 2903 | "ms": { 2904 | "version": "2.0.0", 2905 | "bundled": true, 2906 | "dev": true 2907 | }, 2908 | "nanomatch": { 2909 | "version": "1.2.9", 2910 | "bundled": true, 2911 | "dev": true, 2912 | "requires": { 2913 | "arr-diff": "^4.0.0", 2914 | "array-unique": "^0.3.2", 2915 | "define-property": "^2.0.2", 2916 | "extend-shallow": "^3.0.2", 2917 | "fragment-cache": "^0.2.1", 2918 | "is-odd": "^2.0.0", 2919 | "is-windows": "^1.0.2", 2920 | "kind-of": "^6.0.2", 2921 | "object.pick": "^1.3.0", 2922 | "regex-not": "^1.0.0", 2923 | "snapdragon": "^0.8.1", 2924 | "to-regex": "^3.0.1" 2925 | }, 2926 | "dependencies": { 2927 | "arr-diff": { 2928 | "version": "4.0.0", 2929 | "bundled": true, 2930 | "dev": true 2931 | }, 2932 | "array-unique": { 2933 | "version": "0.3.2", 2934 | "bundled": true, 2935 | "dev": true 2936 | }, 2937 | "kind-of": { 2938 | "version": "6.0.2", 2939 | "bundled": true, 2940 | "dev": true 2941 | } 2942 | } 2943 | }, 2944 | "normalize-package-data": { 2945 | "version": "2.4.0", 2946 | "bundled": true, 2947 | "dev": true, 2948 | "requires": { 2949 | "hosted-git-info": "^2.1.4", 2950 | "is-builtin-module": "^1.0.0", 2951 | "semver": "2 || 3 || 4 || 5", 2952 | "validate-npm-package-license": "^3.0.1" 2953 | } 2954 | }, 2955 | "npm-run-path": { 2956 | "version": "2.0.2", 2957 | "bundled": true, 2958 | "dev": true, 2959 | "requires": { 2960 | "path-key": "^2.0.0" 2961 | } 2962 | }, 2963 | "number-is-nan": { 2964 | "version": "1.0.1", 2965 | "bundled": true, 2966 | "dev": true 2967 | }, 2968 | "object-assign": { 2969 | "version": "4.1.1", 2970 | "bundled": true, 2971 | "dev": true 2972 | }, 2973 | "object-copy": { 2974 | "version": "0.1.0", 2975 | "bundled": true, 2976 | "dev": true, 2977 | "requires": { 2978 | "copy-descriptor": "^0.1.0", 2979 | "define-property": "^0.2.5", 2980 | "kind-of": "^3.0.3" 2981 | }, 2982 | "dependencies": { 2983 | "define-property": { 2984 | "version": "0.2.5", 2985 | "bundled": true, 2986 | "dev": true, 2987 | "requires": { 2988 | "is-descriptor": "^0.1.0" 2989 | } 2990 | } 2991 | } 2992 | }, 2993 | "object-visit": { 2994 | "version": "1.0.1", 2995 | "bundled": true, 2996 | "dev": true, 2997 | "requires": { 2998 | "isobject": "^3.0.0" 2999 | }, 3000 | "dependencies": { 3001 | "isobject": { 3002 | "version": "3.0.1", 3003 | "bundled": true, 3004 | "dev": true 3005 | } 3006 | } 3007 | }, 3008 | "object.pick": { 3009 | "version": "1.3.0", 3010 | "bundled": true, 3011 | "dev": true, 3012 | "requires": { 3013 | "isobject": "^3.0.1" 3014 | }, 3015 | "dependencies": { 3016 | "isobject": { 3017 | "version": "3.0.1", 3018 | "bundled": true, 3019 | "dev": true 3020 | } 3021 | } 3022 | }, 3023 | "once": { 3024 | "version": "1.4.0", 3025 | "bundled": true, 3026 | "dev": true, 3027 | "requires": { 3028 | "wrappy": "1" 3029 | } 3030 | }, 3031 | "optimist": { 3032 | "version": "0.6.1", 3033 | "bundled": true, 3034 | "dev": true, 3035 | "requires": { 3036 | "minimist": "~0.0.1", 3037 | "wordwrap": "~0.0.2" 3038 | } 3039 | }, 3040 | "os-homedir": { 3041 | "version": "1.0.2", 3042 | "bundled": true, 3043 | "dev": true 3044 | }, 3045 | "os-locale": { 3046 | "version": "2.1.0", 3047 | "bundled": true, 3048 | "dev": true, 3049 | "requires": { 3050 | "execa": "^0.7.0", 3051 | "lcid": "^1.0.0", 3052 | "mem": "^1.1.0" 3053 | } 3054 | }, 3055 | "p-finally": { 3056 | "version": "1.0.0", 3057 | "bundled": true, 3058 | "dev": true 3059 | }, 3060 | "p-limit": { 3061 | "version": "1.2.0", 3062 | "bundled": true, 3063 | "dev": true, 3064 | "requires": { 3065 | "p-try": "^1.0.0" 3066 | } 3067 | }, 3068 | "p-locate": { 3069 | "version": "2.0.0", 3070 | "bundled": true, 3071 | "dev": true, 3072 | "requires": { 3073 | "p-limit": "^1.1.0" 3074 | } 3075 | }, 3076 | "p-try": { 3077 | "version": "1.0.0", 3078 | "bundled": true, 3079 | "dev": true 3080 | }, 3081 | "parse-json": { 3082 | "version": "2.2.0", 3083 | "bundled": true, 3084 | "dev": true, 3085 | "requires": { 3086 | "error-ex": "^1.2.0" 3087 | } 3088 | }, 3089 | "pascalcase": { 3090 | "version": "0.1.1", 3091 | "bundled": true, 3092 | "dev": true 3093 | }, 3094 | "path-exists": { 3095 | "version": "2.1.0", 3096 | "bundled": true, 3097 | "dev": true, 3098 | "requires": { 3099 | "pinkie-promise": "^2.0.0" 3100 | } 3101 | }, 3102 | "path-is-absolute": { 3103 | "version": "1.0.1", 3104 | "bundled": true, 3105 | "dev": true 3106 | }, 3107 | "path-key": { 3108 | "version": "2.0.1", 3109 | "bundled": true, 3110 | "dev": true 3111 | }, 3112 | "path-parse": { 3113 | "version": "1.0.5", 3114 | "bundled": true, 3115 | "dev": true 3116 | }, 3117 | "path-type": { 3118 | "version": "1.1.0", 3119 | "bundled": true, 3120 | "dev": true, 3121 | "requires": { 3122 | "graceful-fs": "^4.1.2", 3123 | "pify": "^2.0.0", 3124 | "pinkie-promise": "^2.0.0" 3125 | } 3126 | }, 3127 | "pify": { 3128 | "version": "2.3.0", 3129 | "bundled": true, 3130 | "dev": true 3131 | }, 3132 | "pinkie": { 3133 | "version": "2.0.4", 3134 | "bundled": true, 3135 | "dev": true 3136 | }, 3137 | "pinkie-promise": { 3138 | "version": "2.0.1", 3139 | "bundled": true, 3140 | "dev": true, 3141 | "requires": { 3142 | "pinkie": "^2.0.0" 3143 | } 3144 | }, 3145 | "pkg-dir": { 3146 | "version": "1.0.0", 3147 | "bundled": true, 3148 | "dev": true, 3149 | "requires": { 3150 | "find-up": "^1.0.0" 3151 | }, 3152 | "dependencies": { 3153 | "find-up": { 3154 | "version": "1.1.2", 3155 | "bundled": true, 3156 | "dev": true, 3157 | "requires": { 3158 | "path-exists": "^2.0.0", 3159 | "pinkie-promise": "^2.0.0" 3160 | } 3161 | } 3162 | } 3163 | }, 3164 | "posix-character-classes": { 3165 | "version": "0.1.1", 3166 | "bundled": true, 3167 | "dev": true 3168 | }, 3169 | "pseudomap": { 3170 | "version": "1.0.2", 3171 | "bundled": true, 3172 | "dev": true 3173 | }, 3174 | "read-pkg": { 3175 | "version": "1.1.0", 3176 | "bundled": true, 3177 | "dev": true, 3178 | "requires": { 3179 | "load-json-file": "^1.0.0", 3180 | "normalize-package-data": "^2.3.2", 3181 | "path-type": "^1.0.0" 3182 | } 3183 | }, 3184 | "read-pkg-up": { 3185 | "version": "1.0.1", 3186 | "bundled": true, 3187 | "dev": true, 3188 | "requires": { 3189 | "find-up": "^1.0.0", 3190 | "read-pkg": "^1.0.0" 3191 | }, 3192 | "dependencies": { 3193 | "find-up": { 3194 | "version": "1.1.2", 3195 | "bundled": true, 3196 | "dev": true, 3197 | "requires": { 3198 | "path-exists": "^2.0.0", 3199 | "pinkie-promise": "^2.0.0" 3200 | } 3201 | } 3202 | } 3203 | }, 3204 | "regenerator-runtime": { 3205 | "version": "0.11.1", 3206 | "bundled": true, 3207 | "dev": true 3208 | }, 3209 | "regex-not": { 3210 | "version": "1.0.2", 3211 | "bundled": true, 3212 | "dev": true, 3213 | "requires": { 3214 | "extend-shallow": "^3.0.2", 3215 | "safe-regex": "^1.1.0" 3216 | } 3217 | }, 3218 | "repeat-element": { 3219 | "version": "1.1.2", 3220 | "bundled": true, 3221 | "dev": true 3222 | }, 3223 | "repeat-string": { 3224 | "version": "1.6.1", 3225 | "bundled": true, 3226 | "dev": true 3227 | }, 3228 | "repeating": { 3229 | "version": "2.0.1", 3230 | "bundled": true, 3231 | "dev": true, 3232 | "requires": { 3233 | "is-finite": "^1.0.0" 3234 | } 3235 | }, 3236 | "require-directory": { 3237 | "version": "2.1.1", 3238 | "bundled": true, 3239 | "dev": true 3240 | }, 3241 | "require-main-filename": { 3242 | "version": "1.0.1", 3243 | "bundled": true, 3244 | "dev": true 3245 | }, 3246 | "resolve-from": { 3247 | "version": "2.0.0", 3248 | "bundled": true, 3249 | "dev": true 3250 | }, 3251 | "resolve-url": { 3252 | "version": "0.2.1", 3253 | "bundled": true, 3254 | "dev": true 3255 | }, 3256 | "ret": { 3257 | "version": "0.1.15", 3258 | "bundled": true, 3259 | "dev": true 3260 | }, 3261 | "right-align": { 3262 | "version": "0.1.3", 3263 | "bundled": true, 3264 | "dev": true, 3265 | "optional": true, 3266 | "requires": { 3267 | "align-text": "^0.1.1" 3268 | } 3269 | }, 3270 | "rimraf": { 3271 | "version": "2.6.2", 3272 | "bundled": true, 3273 | "dev": true, 3274 | "requires": { 3275 | "glob": "^7.0.5" 3276 | } 3277 | }, 3278 | "safe-regex": { 3279 | "version": "1.1.0", 3280 | "bundled": true, 3281 | "dev": true, 3282 | "requires": { 3283 | "ret": "~0.1.10" 3284 | } 3285 | }, 3286 | "semver": { 3287 | "version": "5.5.0", 3288 | "bundled": true, 3289 | "dev": true 3290 | }, 3291 | "set-blocking": { 3292 | "version": "2.0.0", 3293 | "bundled": true, 3294 | "dev": true 3295 | }, 3296 | "set-value": { 3297 | "version": "2.0.0", 3298 | "bundled": true, 3299 | "dev": true, 3300 | "requires": { 3301 | "extend-shallow": "^2.0.1", 3302 | "is-extendable": "^0.1.1", 3303 | "is-plain-object": "^2.0.3", 3304 | "split-string": "^3.0.1" 3305 | }, 3306 | "dependencies": { 3307 | "extend-shallow": { 3308 | "version": "2.0.1", 3309 | "bundled": true, 3310 | "dev": true, 3311 | "requires": { 3312 | "is-extendable": "^0.1.0" 3313 | } 3314 | } 3315 | } 3316 | }, 3317 | "shebang-command": { 3318 | "version": "1.2.0", 3319 | "bundled": true, 3320 | "dev": true, 3321 | "requires": { 3322 | "shebang-regex": "^1.0.0" 3323 | } 3324 | }, 3325 | "shebang-regex": { 3326 | "version": "1.0.0", 3327 | "bundled": true, 3328 | "dev": true 3329 | }, 3330 | "signal-exit": { 3331 | "version": "3.0.2", 3332 | "bundled": true, 3333 | "dev": true 3334 | }, 3335 | "slide": { 3336 | "version": "1.1.6", 3337 | "bundled": true, 3338 | "dev": true 3339 | }, 3340 | "snapdragon": { 3341 | "version": "0.8.2", 3342 | "bundled": true, 3343 | "dev": true, 3344 | "requires": { 3345 | "base": "^0.11.1", 3346 | "debug": "^2.2.0", 3347 | "define-property": "^0.2.5", 3348 | "extend-shallow": "^2.0.1", 3349 | "map-cache": "^0.2.2", 3350 | "source-map": "^0.5.6", 3351 | "source-map-resolve": "^0.5.0", 3352 | "use": "^3.1.0" 3353 | }, 3354 | "dependencies": { 3355 | "define-property": { 3356 | "version": "0.2.5", 3357 | "bundled": true, 3358 | "dev": true, 3359 | "requires": { 3360 | "is-descriptor": "^0.1.0" 3361 | } 3362 | }, 3363 | "extend-shallow": { 3364 | "version": "2.0.1", 3365 | "bundled": true, 3366 | "dev": true, 3367 | "requires": { 3368 | "is-extendable": "^0.1.0" 3369 | } 3370 | } 3371 | } 3372 | }, 3373 | "snapdragon-node": { 3374 | "version": "2.1.1", 3375 | "bundled": true, 3376 | "dev": true, 3377 | "requires": { 3378 | "define-property": "^1.0.0", 3379 | "isobject": "^3.0.0", 3380 | "snapdragon-util": "^3.0.1" 3381 | }, 3382 | "dependencies": { 3383 | "define-property": { 3384 | "version": "1.0.0", 3385 | "bundled": true, 3386 | "dev": true, 3387 | "requires": { 3388 | "is-descriptor": "^1.0.0" 3389 | } 3390 | }, 3391 | "is-accessor-descriptor": { 3392 | "version": "1.0.0", 3393 | "bundled": true, 3394 | "dev": true, 3395 | "requires": { 3396 | "kind-of": "^6.0.0" 3397 | } 3398 | }, 3399 | "is-data-descriptor": { 3400 | "version": "1.0.0", 3401 | "bundled": true, 3402 | "dev": true, 3403 | "requires": { 3404 | "kind-of": "^6.0.0" 3405 | } 3406 | }, 3407 | "is-descriptor": { 3408 | "version": "1.0.2", 3409 | "bundled": true, 3410 | "dev": true, 3411 | "requires": { 3412 | "is-accessor-descriptor": "^1.0.0", 3413 | "is-data-descriptor": "^1.0.0", 3414 | "kind-of": "^6.0.2" 3415 | } 3416 | }, 3417 | "isobject": { 3418 | "version": "3.0.1", 3419 | "bundled": true, 3420 | "dev": true 3421 | }, 3422 | "kind-of": { 3423 | "version": "6.0.2", 3424 | "bundled": true, 3425 | "dev": true 3426 | } 3427 | } 3428 | }, 3429 | "snapdragon-util": { 3430 | "version": "3.0.1", 3431 | "bundled": true, 3432 | "dev": true, 3433 | "requires": { 3434 | "kind-of": "^3.2.0" 3435 | } 3436 | }, 3437 | "source-map": { 3438 | "version": "0.5.7", 3439 | "bundled": true, 3440 | "dev": true 3441 | }, 3442 | "source-map-resolve": { 3443 | "version": "0.5.1", 3444 | "bundled": true, 3445 | "dev": true, 3446 | "requires": { 3447 | "atob": "^2.0.0", 3448 | "decode-uri-component": "^0.2.0", 3449 | "resolve-url": "^0.2.1", 3450 | "source-map-url": "^0.4.0", 3451 | "urix": "^0.1.0" 3452 | } 3453 | }, 3454 | "source-map-url": { 3455 | "version": "0.4.0", 3456 | "bundled": true, 3457 | "dev": true 3458 | }, 3459 | "spawn-wrap": { 3460 | "version": "1.4.2", 3461 | "bundled": true, 3462 | "dev": true, 3463 | "requires": { 3464 | "foreground-child": "^1.5.6", 3465 | "mkdirp": "^0.5.0", 3466 | "os-homedir": "^1.0.1", 3467 | "rimraf": "^2.6.2", 3468 | "signal-exit": "^3.0.2", 3469 | "which": "^1.3.0" 3470 | } 3471 | }, 3472 | "spdx-correct": { 3473 | "version": "3.0.0", 3474 | "bundled": true, 3475 | "dev": true, 3476 | "requires": { 3477 | "spdx-expression-parse": "^3.0.0", 3478 | "spdx-license-ids": "^3.0.0" 3479 | } 3480 | }, 3481 | "spdx-exceptions": { 3482 | "version": "2.1.0", 3483 | "bundled": true, 3484 | "dev": true 3485 | }, 3486 | "spdx-expression-parse": { 3487 | "version": "3.0.0", 3488 | "bundled": true, 3489 | "dev": true, 3490 | "requires": { 3491 | "spdx-exceptions": "^2.1.0", 3492 | "spdx-license-ids": "^3.0.0" 3493 | } 3494 | }, 3495 | "spdx-license-ids": { 3496 | "version": "3.0.0", 3497 | "bundled": true, 3498 | "dev": true 3499 | }, 3500 | "split-string": { 3501 | "version": "3.1.0", 3502 | "bundled": true, 3503 | "dev": true, 3504 | "requires": { 3505 | "extend-shallow": "^3.0.0" 3506 | } 3507 | }, 3508 | "static-extend": { 3509 | "version": "0.1.2", 3510 | "bundled": true, 3511 | "dev": true, 3512 | "requires": { 3513 | "define-property": "^0.2.5", 3514 | "object-copy": "^0.1.0" 3515 | }, 3516 | "dependencies": { 3517 | "define-property": { 3518 | "version": "0.2.5", 3519 | "bundled": true, 3520 | "dev": true, 3521 | "requires": { 3522 | "is-descriptor": "^0.1.0" 3523 | } 3524 | } 3525 | } 3526 | }, 3527 | "string-width": { 3528 | "version": "2.1.1", 3529 | "bundled": true, 3530 | "dev": true, 3531 | "requires": { 3532 | "is-fullwidth-code-point": "^2.0.0", 3533 | "strip-ansi": "^4.0.0" 3534 | }, 3535 | "dependencies": { 3536 | "ansi-regex": { 3537 | "version": "3.0.0", 3538 | "bundled": true, 3539 | "dev": true 3540 | }, 3541 | "strip-ansi": { 3542 | "version": "4.0.0", 3543 | "bundled": true, 3544 | "dev": true, 3545 | "requires": { 3546 | "ansi-regex": "^3.0.0" 3547 | } 3548 | } 3549 | } 3550 | }, 3551 | "strip-ansi": { 3552 | "version": "3.0.1", 3553 | "bundled": true, 3554 | "dev": true, 3555 | "requires": { 3556 | "ansi-regex": "^2.0.0" 3557 | } 3558 | }, 3559 | "strip-bom": { 3560 | "version": "2.0.0", 3561 | "bundled": true, 3562 | "dev": true, 3563 | "requires": { 3564 | "is-utf8": "^0.2.0" 3565 | } 3566 | }, 3567 | "strip-eof": { 3568 | "version": "1.0.0", 3569 | "bundled": true, 3570 | "dev": true 3571 | }, 3572 | "supports-color": { 3573 | "version": "2.0.0", 3574 | "bundled": true, 3575 | "dev": true 3576 | }, 3577 | "test-exclude": { 3578 | "version": "4.2.1", 3579 | "bundled": true, 3580 | "dev": true, 3581 | "requires": { 3582 | "arrify": "^1.0.1", 3583 | "micromatch": "^3.1.8", 3584 | "object-assign": "^4.1.0", 3585 | "read-pkg-up": "^1.0.1", 3586 | "require-main-filename": "^1.0.1" 3587 | }, 3588 | "dependencies": { 3589 | "arr-diff": { 3590 | "version": "4.0.0", 3591 | "bundled": true, 3592 | "dev": true 3593 | }, 3594 | "array-unique": { 3595 | "version": "0.3.2", 3596 | "bundled": true, 3597 | "dev": true 3598 | }, 3599 | "braces": { 3600 | "version": "2.3.2", 3601 | "bundled": true, 3602 | "dev": true, 3603 | "requires": { 3604 | "arr-flatten": "^1.1.0", 3605 | "array-unique": "^0.3.2", 3606 | "extend-shallow": "^2.0.1", 3607 | "fill-range": "^4.0.0", 3608 | "isobject": "^3.0.1", 3609 | "repeat-element": "^1.1.2", 3610 | "snapdragon": "^0.8.1", 3611 | "snapdragon-node": "^2.0.1", 3612 | "split-string": "^3.0.2", 3613 | "to-regex": "^3.0.1" 3614 | }, 3615 | "dependencies": { 3616 | "extend-shallow": { 3617 | "version": "2.0.1", 3618 | "bundled": true, 3619 | "dev": true, 3620 | "requires": { 3621 | "is-extendable": "^0.1.0" 3622 | } 3623 | } 3624 | } 3625 | }, 3626 | "expand-brackets": { 3627 | "version": "2.1.4", 3628 | "bundled": true, 3629 | "dev": true, 3630 | "requires": { 3631 | "debug": "^2.3.3", 3632 | "define-property": "^0.2.5", 3633 | "extend-shallow": "^2.0.1", 3634 | "posix-character-classes": "^0.1.0", 3635 | "regex-not": "^1.0.0", 3636 | "snapdragon": "^0.8.1", 3637 | "to-regex": "^3.0.1" 3638 | }, 3639 | "dependencies": { 3640 | "define-property": { 3641 | "version": "0.2.5", 3642 | "bundled": true, 3643 | "dev": true, 3644 | "requires": { 3645 | "is-descriptor": "^0.1.0" 3646 | } 3647 | }, 3648 | "extend-shallow": { 3649 | "version": "2.0.1", 3650 | "bundled": true, 3651 | "dev": true, 3652 | "requires": { 3653 | "is-extendable": "^0.1.0" 3654 | } 3655 | }, 3656 | "is-accessor-descriptor": { 3657 | "version": "0.1.6", 3658 | "bundled": true, 3659 | "dev": true, 3660 | "requires": { 3661 | "kind-of": "^3.0.2" 3662 | }, 3663 | "dependencies": { 3664 | "kind-of": { 3665 | "version": "3.2.2", 3666 | "bundled": true, 3667 | "dev": true, 3668 | "requires": { 3669 | "is-buffer": "^1.1.5" 3670 | } 3671 | } 3672 | } 3673 | }, 3674 | "is-data-descriptor": { 3675 | "version": "0.1.4", 3676 | "bundled": true, 3677 | "dev": true, 3678 | "requires": { 3679 | "kind-of": "^3.0.2" 3680 | }, 3681 | "dependencies": { 3682 | "kind-of": { 3683 | "version": "3.2.2", 3684 | "bundled": true, 3685 | "dev": true, 3686 | "requires": { 3687 | "is-buffer": "^1.1.5" 3688 | } 3689 | } 3690 | } 3691 | }, 3692 | "is-descriptor": { 3693 | "version": "0.1.6", 3694 | "bundled": true, 3695 | "dev": true, 3696 | "requires": { 3697 | "is-accessor-descriptor": "^0.1.6", 3698 | "is-data-descriptor": "^0.1.4", 3699 | "kind-of": "^5.0.0" 3700 | } 3701 | }, 3702 | "kind-of": { 3703 | "version": "5.1.0", 3704 | "bundled": true, 3705 | "dev": true 3706 | } 3707 | } 3708 | }, 3709 | "extglob": { 3710 | "version": "2.0.4", 3711 | "bundled": true, 3712 | "dev": true, 3713 | "requires": { 3714 | "array-unique": "^0.3.2", 3715 | "define-property": "^1.0.0", 3716 | "expand-brackets": "^2.1.4", 3717 | "extend-shallow": "^2.0.1", 3718 | "fragment-cache": "^0.2.1", 3719 | "regex-not": "^1.0.0", 3720 | "snapdragon": "^0.8.1", 3721 | "to-regex": "^3.0.1" 3722 | }, 3723 | "dependencies": { 3724 | "define-property": { 3725 | "version": "1.0.0", 3726 | "bundled": true, 3727 | "dev": true, 3728 | "requires": { 3729 | "is-descriptor": "^1.0.0" 3730 | } 3731 | }, 3732 | "extend-shallow": { 3733 | "version": "2.0.1", 3734 | "bundled": true, 3735 | "dev": true, 3736 | "requires": { 3737 | "is-extendable": "^0.1.0" 3738 | } 3739 | } 3740 | } 3741 | }, 3742 | "fill-range": { 3743 | "version": "4.0.0", 3744 | "bundled": true, 3745 | "dev": true, 3746 | "requires": { 3747 | "extend-shallow": "^2.0.1", 3748 | "is-number": "^3.0.0", 3749 | "repeat-string": "^1.6.1", 3750 | "to-regex-range": "^2.1.0" 3751 | }, 3752 | "dependencies": { 3753 | "extend-shallow": { 3754 | "version": "2.0.1", 3755 | "bundled": true, 3756 | "dev": true, 3757 | "requires": { 3758 | "is-extendable": "^0.1.0" 3759 | } 3760 | } 3761 | } 3762 | }, 3763 | "is-accessor-descriptor": { 3764 | "version": "1.0.0", 3765 | "bundled": true, 3766 | "dev": true, 3767 | "requires": { 3768 | "kind-of": "^6.0.0" 3769 | } 3770 | }, 3771 | "is-data-descriptor": { 3772 | "version": "1.0.0", 3773 | "bundled": true, 3774 | "dev": true, 3775 | "requires": { 3776 | "kind-of": "^6.0.0" 3777 | } 3778 | }, 3779 | "is-descriptor": { 3780 | "version": "1.0.2", 3781 | "bundled": true, 3782 | "dev": true, 3783 | "requires": { 3784 | "is-accessor-descriptor": "^1.0.0", 3785 | "is-data-descriptor": "^1.0.0", 3786 | "kind-of": "^6.0.2" 3787 | } 3788 | }, 3789 | "is-number": { 3790 | "version": "3.0.0", 3791 | "bundled": true, 3792 | "dev": true, 3793 | "requires": { 3794 | "kind-of": "^3.0.2" 3795 | }, 3796 | "dependencies": { 3797 | "kind-of": { 3798 | "version": "3.2.2", 3799 | "bundled": true, 3800 | "dev": true, 3801 | "requires": { 3802 | "is-buffer": "^1.1.5" 3803 | } 3804 | } 3805 | } 3806 | }, 3807 | "isobject": { 3808 | "version": "3.0.1", 3809 | "bundled": true, 3810 | "dev": true 3811 | }, 3812 | "kind-of": { 3813 | "version": "6.0.2", 3814 | "bundled": true, 3815 | "dev": true 3816 | }, 3817 | "micromatch": { 3818 | "version": "3.1.10", 3819 | "bundled": true, 3820 | "dev": true, 3821 | "requires": { 3822 | "arr-diff": "^4.0.0", 3823 | "array-unique": "^0.3.2", 3824 | "braces": "^2.3.1", 3825 | "define-property": "^2.0.2", 3826 | "extend-shallow": "^3.0.2", 3827 | "extglob": "^2.0.4", 3828 | "fragment-cache": "^0.2.1", 3829 | "kind-of": "^6.0.2", 3830 | "nanomatch": "^1.2.9", 3831 | "object.pick": "^1.3.0", 3832 | "regex-not": "^1.0.0", 3833 | "snapdragon": "^0.8.1", 3834 | "to-regex": "^3.0.2" 3835 | } 3836 | } 3837 | } 3838 | }, 3839 | "to-fast-properties": { 3840 | "version": "1.0.3", 3841 | "bundled": true, 3842 | "dev": true 3843 | }, 3844 | "to-object-path": { 3845 | "version": "0.3.0", 3846 | "bundled": true, 3847 | "dev": true, 3848 | "requires": { 3849 | "kind-of": "^3.0.2" 3850 | } 3851 | }, 3852 | "to-regex": { 3853 | "version": "3.0.2", 3854 | "bundled": true, 3855 | "dev": true, 3856 | "requires": { 3857 | "define-property": "^2.0.2", 3858 | "extend-shallow": "^3.0.2", 3859 | "regex-not": "^1.0.2", 3860 | "safe-regex": "^1.1.0" 3861 | } 3862 | }, 3863 | "to-regex-range": { 3864 | "version": "2.1.1", 3865 | "bundled": true, 3866 | "dev": true, 3867 | "requires": { 3868 | "is-number": "^3.0.0", 3869 | "repeat-string": "^1.6.1" 3870 | }, 3871 | "dependencies": { 3872 | "is-number": { 3873 | "version": "3.0.0", 3874 | "bundled": true, 3875 | "dev": true, 3876 | "requires": { 3877 | "kind-of": "^3.0.2" 3878 | } 3879 | } 3880 | } 3881 | }, 3882 | "trim-right": { 3883 | "version": "1.0.1", 3884 | "bundled": true, 3885 | "dev": true 3886 | }, 3887 | "uglify-js": { 3888 | "version": "2.8.29", 3889 | "bundled": true, 3890 | "dev": true, 3891 | "optional": true, 3892 | "requires": { 3893 | "source-map": "~0.5.1", 3894 | "uglify-to-browserify": "~1.0.0", 3895 | "yargs": "~3.10.0" 3896 | }, 3897 | "dependencies": { 3898 | "yargs": { 3899 | "version": "3.10.0", 3900 | "bundled": true, 3901 | "dev": true, 3902 | "optional": true, 3903 | "requires": { 3904 | "camelcase": "^1.0.2", 3905 | "cliui": "^2.1.0", 3906 | "decamelize": "^1.0.0", 3907 | "window-size": "0.1.0" 3908 | } 3909 | } 3910 | } 3911 | }, 3912 | "uglify-to-browserify": { 3913 | "version": "1.0.2", 3914 | "bundled": true, 3915 | "dev": true, 3916 | "optional": true 3917 | }, 3918 | "union-value": { 3919 | "version": "1.0.0", 3920 | "bundled": true, 3921 | "dev": true, 3922 | "requires": { 3923 | "arr-union": "^3.1.0", 3924 | "get-value": "^2.0.6", 3925 | "is-extendable": "^0.1.1", 3926 | "set-value": "^0.4.3" 3927 | }, 3928 | "dependencies": { 3929 | "extend-shallow": { 3930 | "version": "2.0.1", 3931 | "bundled": true, 3932 | "dev": true, 3933 | "requires": { 3934 | "is-extendable": "^0.1.0" 3935 | } 3936 | }, 3937 | "set-value": { 3938 | "version": "0.4.3", 3939 | "bundled": true, 3940 | "dev": true, 3941 | "requires": { 3942 | "extend-shallow": "^2.0.1", 3943 | "is-extendable": "^0.1.1", 3944 | "is-plain-object": "^2.0.1", 3945 | "to-object-path": "^0.3.0" 3946 | } 3947 | } 3948 | } 3949 | }, 3950 | "unset-value": { 3951 | "version": "1.0.0", 3952 | "bundled": true, 3953 | "dev": true, 3954 | "requires": { 3955 | "has-value": "^0.3.1", 3956 | "isobject": "^3.0.0" 3957 | }, 3958 | "dependencies": { 3959 | "has-value": { 3960 | "version": "0.3.1", 3961 | "bundled": true, 3962 | "dev": true, 3963 | "requires": { 3964 | "get-value": "^2.0.3", 3965 | "has-values": "^0.1.4", 3966 | "isobject": "^2.0.0" 3967 | }, 3968 | "dependencies": { 3969 | "isobject": { 3970 | "version": "2.1.0", 3971 | "bundled": true, 3972 | "dev": true, 3973 | "requires": { 3974 | "isarray": "1.0.0" 3975 | } 3976 | } 3977 | } 3978 | }, 3979 | "has-values": { 3980 | "version": "0.1.4", 3981 | "bundled": true, 3982 | "dev": true 3983 | }, 3984 | "isobject": { 3985 | "version": "3.0.1", 3986 | "bundled": true, 3987 | "dev": true 3988 | } 3989 | } 3990 | }, 3991 | "urix": { 3992 | "version": "0.1.0", 3993 | "bundled": true, 3994 | "dev": true 3995 | }, 3996 | "use": { 3997 | "version": "3.1.0", 3998 | "bundled": true, 3999 | "dev": true, 4000 | "requires": { 4001 | "kind-of": "^6.0.2" 4002 | }, 4003 | "dependencies": { 4004 | "kind-of": { 4005 | "version": "6.0.2", 4006 | "bundled": true, 4007 | "dev": true 4008 | } 4009 | } 4010 | }, 4011 | "validate-npm-package-license": { 4012 | "version": "3.0.3", 4013 | "bundled": true, 4014 | "dev": true, 4015 | "requires": { 4016 | "spdx-correct": "^3.0.0", 4017 | "spdx-expression-parse": "^3.0.0" 4018 | } 4019 | }, 4020 | "which": { 4021 | "version": "1.3.0", 4022 | "bundled": true, 4023 | "dev": true, 4024 | "requires": { 4025 | "isexe": "^2.0.0" 4026 | } 4027 | }, 4028 | "which-module": { 4029 | "version": "2.0.0", 4030 | "bundled": true, 4031 | "dev": true 4032 | }, 4033 | "window-size": { 4034 | "version": "0.1.0", 4035 | "bundled": true, 4036 | "dev": true, 4037 | "optional": true 4038 | }, 4039 | "wordwrap": { 4040 | "version": "0.0.3", 4041 | "bundled": true, 4042 | "dev": true 4043 | }, 4044 | "wrap-ansi": { 4045 | "version": "2.1.0", 4046 | "bundled": true, 4047 | "dev": true, 4048 | "requires": { 4049 | "string-width": "^1.0.1", 4050 | "strip-ansi": "^3.0.1" 4051 | }, 4052 | "dependencies": { 4053 | "is-fullwidth-code-point": { 4054 | "version": "1.0.0", 4055 | "bundled": true, 4056 | "dev": true, 4057 | "requires": { 4058 | "number-is-nan": "^1.0.0" 4059 | } 4060 | }, 4061 | "string-width": { 4062 | "version": "1.0.2", 4063 | "bundled": true, 4064 | "dev": true, 4065 | "requires": { 4066 | "code-point-at": "^1.0.0", 4067 | "is-fullwidth-code-point": "^1.0.0", 4068 | "strip-ansi": "^3.0.0" 4069 | } 4070 | } 4071 | } 4072 | }, 4073 | "wrappy": { 4074 | "version": "1.0.2", 4075 | "bundled": true, 4076 | "dev": true 4077 | }, 4078 | "write-file-atomic": { 4079 | "version": "1.3.4", 4080 | "bundled": true, 4081 | "dev": true, 4082 | "requires": { 4083 | "graceful-fs": "^4.1.11", 4084 | "imurmurhash": "^0.1.4", 4085 | "slide": "^1.1.5" 4086 | } 4087 | }, 4088 | "y18n": { 4089 | "version": "3.2.1", 4090 | "bundled": true, 4091 | "dev": true 4092 | }, 4093 | "yallist": { 4094 | "version": "2.1.2", 4095 | "bundled": true, 4096 | "dev": true 4097 | }, 4098 | "yargs": { 4099 | "version": "11.1.0", 4100 | "bundled": true, 4101 | "dev": true, 4102 | "requires": { 4103 | "cliui": "^4.0.0", 4104 | "decamelize": "^1.1.1", 4105 | "find-up": "^2.1.0", 4106 | "get-caller-file": "^1.0.1", 4107 | "os-locale": "^2.0.0", 4108 | "require-directory": "^2.1.1", 4109 | "require-main-filename": "^1.0.1", 4110 | "set-blocking": "^2.0.0", 4111 | "string-width": "^2.0.0", 4112 | "which-module": "^2.0.0", 4113 | "y18n": "^3.2.1", 4114 | "yargs-parser": "^9.0.2" 4115 | }, 4116 | "dependencies": { 4117 | "ansi-regex": { 4118 | "version": "3.0.0", 4119 | "bundled": true, 4120 | "dev": true 4121 | }, 4122 | "camelcase": { 4123 | "version": "4.1.0", 4124 | "bundled": true, 4125 | "dev": true 4126 | }, 4127 | "cliui": { 4128 | "version": "4.1.0", 4129 | "bundled": true, 4130 | "dev": true, 4131 | "requires": { 4132 | "string-width": "^2.1.1", 4133 | "strip-ansi": "^4.0.0", 4134 | "wrap-ansi": "^2.0.0" 4135 | } 4136 | }, 4137 | "strip-ansi": { 4138 | "version": "4.0.0", 4139 | "bundled": true, 4140 | "dev": true, 4141 | "requires": { 4142 | "ansi-regex": "^3.0.0" 4143 | } 4144 | }, 4145 | "yargs-parser": { 4146 | "version": "9.0.2", 4147 | "bundled": true, 4148 | "dev": true, 4149 | "requires": { 4150 | "camelcase": "^4.1.0" 4151 | } 4152 | } 4153 | } 4154 | }, 4155 | "yargs-parser": { 4156 | "version": "8.1.0", 4157 | "bundled": true, 4158 | "dev": true, 4159 | "requires": { 4160 | "camelcase": "^4.1.0" 4161 | }, 4162 | "dependencies": { 4163 | "camelcase": { 4164 | "version": "4.1.0", 4165 | "bundled": true, 4166 | "dev": true 4167 | } 4168 | } 4169 | } 4170 | } 4171 | }, 4172 | "oauth-sign": { 4173 | "version": "0.8.2", 4174 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 4175 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 4176 | "dev": true 4177 | }, 4178 | "object-assign": { 4179 | "version": "4.1.1", 4180 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 4181 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 4182 | "dev": true 4183 | }, 4184 | "object-keys": { 4185 | "version": "1.0.11", 4186 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", 4187 | "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", 4188 | "dev": true 4189 | }, 4190 | "object.assign": { 4191 | "version": "4.0.4", 4192 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", 4193 | "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", 4194 | "dev": true, 4195 | "requires": { 4196 | "define-properties": "1.1.2", 4197 | "function-bind": "1.1.1", 4198 | "object-keys": "1.0.11" 4199 | } 4200 | }, 4201 | "once": { 4202 | "version": "1.4.0", 4203 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 4204 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 4205 | "dev": true, 4206 | "requires": { 4207 | "wrappy": "1.0.2" 4208 | } 4209 | }, 4210 | "onetime": { 4211 | "version": "1.1.0", 4212 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 4213 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", 4214 | "dev": true 4215 | }, 4216 | "opener": { 4217 | "version": "1.4.3", 4218 | "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", 4219 | "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", 4220 | "dev": true 4221 | }, 4222 | "optionator": { 4223 | "version": "0.8.2", 4224 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 4225 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 4226 | "dev": true, 4227 | "requires": { 4228 | "deep-is": "0.1.3", 4229 | "fast-levenshtein": "2.0.6", 4230 | "levn": "0.3.0", 4231 | "prelude-ls": "1.1.2", 4232 | "type-check": "0.3.2", 4233 | "wordwrap": "1.0.0" 4234 | } 4235 | }, 4236 | "os-homedir": { 4237 | "version": "1.0.2", 4238 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 4239 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 4240 | "dev": true 4241 | }, 4242 | "own-or": { 4243 | "version": "1.0.0", 4244 | "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", 4245 | "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", 4246 | "dev": true 4247 | }, 4248 | "own-or-env": { 4249 | "version": "1.0.0", 4250 | "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.0.tgz", 4251 | "integrity": "sha1-nvkg/IHi5jz1nUEQElg2jPT8pPs=", 4252 | "dev": true 4253 | }, 4254 | "p-limit": { 4255 | "version": "1.1.0", 4256 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", 4257 | "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", 4258 | "dev": true 4259 | }, 4260 | "p-locate": { 4261 | "version": "2.0.0", 4262 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 4263 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 4264 | "dev": true, 4265 | "requires": { 4266 | "p-limit": "1.1.0" 4267 | } 4268 | }, 4269 | "parse-json": { 4270 | "version": "2.2.0", 4271 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 4272 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 4273 | "dev": true, 4274 | "requires": { 4275 | "error-ex": "1.3.1" 4276 | } 4277 | }, 4278 | "path-exists": { 4279 | "version": "2.1.0", 4280 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 4281 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 4282 | "dev": true, 4283 | "requires": { 4284 | "pinkie-promise": "2.0.1" 4285 | } 4286 | }, 4287 | "path-is-absolute": { 4288 | "version": "1.0.1", 4289 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 4290 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 4291 | "dev": true 4292 | }, 4293 | "path-is-inside": { 4294 | "version": "1.0.2", 4295 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 4296 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 4297 | "dev": true 4298 | }, 4299 | "path-parse": { 4300 | "version": "1.0.5", 4301 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 4302 | "integrity": "sha512-u4e4H/UUeMbJ1UnBnePf6r4cm4fFZs57BMocUSFeea807JTYk2HJnE9GjUpWHaDZk1OQGoArnWW1yEo9nd57ww==", 4303 | "dev": true 4304 | }, 4305 | "pify": { 4306 | "version": "2.3.0", 4307 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 4308 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 4309 | "dev": true 4310 | }, 4311 | "pinkie": { 4312 | "version": "2.0.4", 4313 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 4314 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 4315 | "dev": true 4316 | }, 4317 | "pinkie-promise": { 4318 | "version": "2.0.1", 4319 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 4320 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 4321 | "dev": true, 4322 | "requires": { 4323 | "pinkie": "2.0.4" 4324 | } 4325 | }, 4326 | "pkg-conf": { 4327 | "version": "2.0.0", 4328 | "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.0.0.tgz", 4329 | "integrity": "sha1-BxyHZQQDvM+5xif1h1G/5HwGcnk=", 4330 | "dev": true, 4331 | "requires": { 4332 | "find-up": "2.1.0", 4333 | "load-json-file": "2.0.0" 4334 | }, 4335 | "dependencies": { 4336 | "find-up": { 4337 | "version": "2.1.0", 4338 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 4339 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 4340 | "dev": true, 4341 | "requires": { 4342 | "locate-path": "2.0.0" 4343 | } 4344 | } 4345 | } 4346 | }, 4347 | "pkg-config": { 4348 | "version": "1.1.1", 4349 | "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz", 4350 | "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=", 4351 | "dev": true, 4352 | "requires": { 4353 | "debug-log": "1.0.1", 4354 | "find-root": "1.1.0", 4355 | "xtend": "4.0.1" 4356 | } 4357 | }, 4358 | "pkg-dir": { 4359 | "version": "1.0.0", 4360 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", 4361 | "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", 4362 | "dev": true, 4363 | "requires": { 4364 | "find-up": "1.1.2" 4365 | } 4366 | }, 4367 | "pkg-up": { 4368 | "version": "1.0.0", 4369 | "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz", 4370 | "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", 4371 | "dev": true, 4372 | "requires": { 4373 | "find-up": "1.1.2" 4374 | } 4375 | }, 4376 | "pluralize": { 4377 | "version": "1.2.1", 4378 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", 4379 | "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", 4380 | "dev": true 4381 | }, 4382 | "prelude-ls": { 4383 | "version": "1.1.2", 4384 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 4385 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 4386 | "dev": true 4387 | }, 4388 | "process-nextick-args": { 4389 | "version": "1.0.7", 4390 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 4391 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 4392 | "dev": true 4393 | }, 4394 | "progress": { 4395 | "version": "1.1.8", 4396 | "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 4397 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", 4398 | "dev": true 4399 | }, 4400 | "pseudomap": { 4401 | "version": "1.0.2", 4402 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 4403 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 4404 | "dev": true 4405 | }, 4406 | "punycode": { 4407 | "version": "1.4.1", 4408 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 4409 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 4410 | "dev": true 4411 | }, 4412 | "qs": { 4413 | "version": "6.3.2", 4414 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", 4415 | "integrity": "sha512-H7Es34wXu+JjuD3QLwVgqtVU1nisFhwxYdYCYSFzWyP5/S4s8DtJ6rbVWdHVat/UPYiV36wxYmL7rPbLQJrX7g==", 4416 | "dev": true 4417 | }, 4418 | "readable-stream": { 4419 | "version": "2.3.3", 4420 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 4421 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 4422 | "dev": true, 4423 | "requires": { 4424 | "core-util-is": "1.0.2", 4425 | "inherits": "2.0.3", 4426 | "isarray": "1.0.0", 4427 | "process-nextick-args": "1.0.7", 4428 | "safe-buffer": "5.1.1", 4429 | "string_decoder": "1.0.3", 4430 | "util-deprecate": "1.0.2" 4431 | } 4432 | }, 4433 | "readline2": { 4434 | "version": "1.0.1", 4435 | "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", 4436 | "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", 4437 | "dev": true, 4438 | "requires": { 4439 | "code-point-at": "1.1.0", 4440 | "is-fullwidth-code-point": "1.0.0", 4441 | "mute-stream": "0.0.5" 4442 | } 4443 | }, 4444 | "rechoir": { 4445 | "version": "0.6.2", 4446 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 4447 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 4448 | "dev": true, 4449 | "requires": { 4450 | "resolve": "1.5.0" 4451 | } 4452 | }, 4453 | "request": { 4454 | "version": "2.79.0", 4455 | "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", 4456 | "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", 4457 | "dev": true, 4458 | "requires": { 4459 | "aws-sign2": "0.6.0", 4460 | "aws4": "1.6.0", 4461 | "caseless": "0.11.0", 4462 | "combined-stream": "1.0.5", 4463 | "extend": "3.0.1", 4464 | "forever-agent": "0.6.1", 4465 | "form-data": "2.1.4", 4466 | "har-validator": "2.0.6", 4467 | "hawk": "3.1.3", 4468 | "http-signature": "1.1.1", 4469 | "is-typedarray": "1.0.0", 4470 | "isstream": "0.1.2", 4471 | "json-stringify-safe": "5.0.1", 4472 | "mime-types": "2.1.17", 4473 | "oauth-sign": "0.8.2", 4474 | "qs": "6.3.2", 4475 | "stringstream": "0.0.5", 4476 | "tough-cookie": "2.3.3", 4477 | "tunnel-agent": "0.4.3", 4478 | "uuid": "3.1.0" 4479 | } 4480 | }, 4481 | "require-uncached": { 4482 | "version": "1.0.3", 4483 | "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 4484 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 4485 | "dev": true, 4486 | "requires": { 4487 | "caller-path": "0.1.0", 4488 | "resolve-from": "1.0.1" 4489 | } 4490 | }, 4491 | "resolve": { 4492 | "version": "1.5.0", 4493 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", 4494 | "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", 4495 | "dev": true, 4496 | "requires": { 4497 | "path-parse": "1.0.5" 4498 | } 4499 | }, 4500 | "resolve-from": { 4501 | "version": "1.0.1", 4502 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 4503 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 4504 | "dev": true 4505 | }, 4506 | "restore-cursor": { 4507 | "version": "1.0.1", 4508 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 4509 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 4510 | "dev": true, 4511 | "requires": { 4512 | "exit-hook": "1.1.1", 4513 | "onetime": "1.1.0" 4514 | } 4515 | }, 4516 | "rimraf": { 4517 | "version": "2.1.4", 4518 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz", 4519 | "integrity": "sha1-Wm62Lu2gaPUe3lDymz5c0i89m7I=", 4520 | "dev": true, 4521 | "requires": { 4522 | "graceful-fs": "1.2.3" 4523 | }, 4524 | "dependencies": { 4525 | "graceful-fs": { 4526 | "version": "1.2.3", 4527 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", 4528 | "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", 4529 | "dev": true, 4530 | "optional": true 4531 | } 4532 | } 4533 | }, 4534 | "run-async": { 4535 | "version": "0.1.0", 4536 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", 4537 | "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", 4538 | "dev": true, 4539 | "requires": { 4540 | "once": "1.4.0" 4541 | } 4542 | }, 4543 | "run-parallel": { 4544 | "version": "1.1.6", 4545 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.6.tgz", 4546 | "integrity": "sha1-KQA8miFj4B4tLfyQV18sbB1hoDk=", 4547 | "dev": true 4548 | }, 4549 | "rx-lite": { 4550 | "version": "3.1.2", 4551 | "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", 4552 | "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", 4553 | "dev": true 4554 | }, 4555 | "safe-buffer": { 4556 | "version": "5.1.1", 4557 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 4558 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", 4559 | "dev": true 4560 | }, 4561 | "semver": { 4562 | "version": "5.3.0", 4563 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", 4564 | "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", 4565 | "dev": true 4566 | }, 4567 | "shelljs": { 4568 | "version": "0.7.8", 4569 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", 4570 | "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", 4571 | "dev": true, 4572 | "requires": { 4573 | "glob": "7.1.2", 4574 | "interpret": "1.1.0", 4575 | "rechoir": "0.6.2" 4576 | } 4577 | }, 4578 | "signal-exit": { 4579 | "version": "3.0.2", 4580 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 4581 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 4582 | "dev": true 4583 | }, 4584 | "slice-ansi": { 4585 | "version": "0.0.4", 4586 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", 4587 | "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", 4588 | "dev": true 4589 | }, 4590 | "sntp": { 4591 | "version": "1.0.9", 4592 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 4593 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 4594 | "dev": true, 4595 | "requires": { 4596 | "hoek": "2.16.3" 4597 | } 4598 | }, 4599 | "source-map": { 4600 | "version": "0.5.7", 4601 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 4602 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 4603 | "dev": true 4604 | }, 4605 | "source-map-support": { 4606 | "version": "0.4.18", 4607 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 4608 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 4609 | "dev": true, 4610 | "requires": { 4611 | "source-map": "0.5.7" 4612 | } 4613 | }, 4614 | "spawnback": { 4615 | "version": "1.0.0", 4616 | "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz", 4617 | "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8=" 4618 | }, 4619 | "sprintf-js": { 4620 | "version": "1.0.3", 4621 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 4622 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 4623 | "dev": true 4624 | }, 4625 | "sshpk": { 4626 | "version": "1.13.1", 4627 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", 4628 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", 4629 | "dev": true, 4630 | "requires": { 4631 | "asn1": "0.2.3", 4632 | "assert-plus": "1.0.0", 4633 | "bcrypt-pbkdf": "1.0.1", 4634 | "dashdash": "1.14.1", 4635 | "ecc-jsbn": "0.1.1", 4636 | "getpass": "0.1.7", 4637 | "jsbn": "0.1.1", 4638 | "tweetnacl": "0.14.5" 4639 | }, 4640 | "dependencies": { 4641 | "assert-plus": { 4642 | "version": "1.0.0", 4643 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 4644 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 4645 | "dev": true 4646 | } 4647 | } 4648 | }, 4649 | "stack-utils": { 4650 | "version": "1.0.1", 4651 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.1.tgz", 4652 | "integrity": "sha1-1PM6tU6OOHeLDKXP07OvsS22hiA=", 4653 | "dev": true 4654 | }, 4655 | "standard": { 4656 | "version": "10.0.3", 4657 | "resolved": "https://registry.npmjs.org/standard/-/standard-10.0.3.tgz", 4658 | "integrity": "sha512-JURZ+85ExKLQULckDFijdX5WHzN6RC7fgiZNSV4jFQVo+3tPoQGHyBrGekye/yf0aOfb4210EM5qPNlc2cRh4w==", 4659 | "dev": true, 4660 | "requires": { 4661 | "eslint": "3.19.0", 4662 | "eslint-config-standard": "10.2.1", 4663 | "eslint-config-standard-jsx": "4.0.2", 4664 | "eslint-plugin-import": "2.2.0", 4665 | "eslint-plugin-node": "4.2.3", 4666 | "eslint-plugin-promise": "3.5.0", 4667 | "eslint-plugin-react": "6.10.3", 4668 | "eslint-plugin-standard": "3.0.1", 4669 | "standard-engine": "7.0.0" 4670 | } 4671 | }, 4672 | "standard-engine": { 4673 | "version": "7.0.0", 4674 | "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-7.0.0.tgz", 4675 | "integrity": "sha1-67d7nI/CyBZf+jU72Rug3/Qa9pA=", 4676 | "dev": true, 4677 | "requires": { 4678 | "deglob": "2.1.0", 4679 | "get-stdin": "5.0.1", 4680 | "minimist": "1.2.0", 4681 | "pkg-conf": "2.0.0" 4682 | } 4683 | }, 4684 | "string-width": { 4685 | "version": "1.0.2", 4686 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 4687 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 4688 | "dev": true, 4689 | "requires": { 4690 | "code-point-at": "1.1.0", 4691 | "is-fullwidth-code-point": "1.0.0", 4692 | "strip-ansi": "3.0.1" 4693 | } 4694 | }, 4695 | "string_decoder": { 4696 | "version": "1.0.3", 4697 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 4698 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 4699 | "dev": true, 4700 | "requires": { 4701 | "safe-buffer": "5.1.1" 4702 | } 4703 | }, 4704 | "stringstream": { 4705 | "version": "0.0.5", 4706 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 4707 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", 4708 | "dev": true 4709 | }, 4710 | "strip-ansi": { 4711 | "version": "3.0.1", 4712 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 4713 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 4714 | "dev": true, 4715 | "requires": { 4716 | "ansi-regex": "2.1.1" 4717 | } 4718 | }, 4719 | "strip-bom": { 4720 | "version": "3.0.0", 4721 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 4722 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 4723 | "dev": true 4724 | }, 4725 | "strip-json-comments": { 4726 | "version": "2.0.1", 4727 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 4728 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 4729 | "dev": true 4730 | }, 4731 | "supports-color": { 4732 | "version": "2.0.0", 4733 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 4734 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 4735 | "dev": true 4736 | }, 4737 | "table": { 4738 | "version": "3.8.3", 4739 | "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", 4740 | "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", 4741 | "dev": true, 4742 | "requires": { 4743 | "ajv": "4.11.8", 4744 | "ajv-keywords": "1.5.1", 4745 | "chalk": "1.1.3", 4746 | "lodash": "4.17.4", 4747 | "slice-ansi": "0.0.4", 4748 | "string-width": "2.1.1" 4749 | }, 4750 | "dependencies": { 4751 | "ansi-regex": { 4752 | "version": "3.0.0", 4753 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 4754 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 4755 | "dev": true 4756 | }, 4757 | "is-fullwidth-code-point": { 4758 | "version": "2.0.0", 4759 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 4760 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 4761 | "dev": true 4762 | }, 4763 | "string-width": { 4764 | "version": "2.1.1", 4765 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 4766 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 4767 | "dev": true, 4768 | "requires": { 4769 | "is-fullwidth-code-point": "2.0.0", 4770 | "strip-ansi": "4.0.0" 4771 | } 4772 | }, 4773 | "strip-ansi": { 4774 | "version": "4.0.0", 4775 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 4776 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 4777 | "dev": true, 4778 | "requires": { 4779 | "ansi-regex": "3.0.0" 4780 | } 4781 | } 4782 | } 4783 | }, 4784 | "tap": { 4785 | "version": "10.7.3", 4786 | "resolved": "https://registry.npmjs.org/tap/-/tap-10.7.3.tgz", 4787 | "integrity": "sha512-oS/FIq+tcmxVgYn5usKtLsX+sOHNEj+G7JIQE9SBjO5mVYB1rbaEJJiDbnYp8k0ZqY2Pe4HbYEpkvzm9jfLDyw==", 4788 | "dev": true, 4789 | "requires": { 4790 | "bind-obj-methods": "^1.0.0", 4791 | "bluebird": "^3.5.1", 4792 | "clean-yaml-object": "^0.1.0", 4793 | "color-support": "^1.1.0", 4794 | "coveralls": "^2.13.3", 4795 | "foreground-child": "^1.3.3", 4796 | "fs-exists-cached": "^1.0.0", 4797 | "function-loop": "^1.0.1", 4798 | "glob": "^7.0.0", 4799 | "isexe": "^2.0.0", 4800 | "js-yaml": "^3.10.0", 4801 | "nyc": "^11.3.0", 4802 | "opener": "^1.4.1", 4803 | "os-homedir": "^1.0.2", 4804 | "own-or": "^1.0.0", 4805 | "own-or-env": "^1.0.0", 4806 | "readable-stream": "^2.3.2", 4807 | "signal-exit": "^3.0.0", 4808 | "source-map-support": "^0.4.18", 4809 | "stack-utils": "^1.0.0", 4810 | "tap-mocha-reporter": "^3.0.6", 4811 | "tap-parser": "^5.3.1", 4812 | "tmatch": "^3.1.0", 4813 | "trivial-deferred": "^1.0.1", 4814 | "tsame": "^1.1.2", 4815 | "yapool": "^1.0.0" 4816 | } 4817 | }, 4818 | "tap-mocha-reporter": { 4819 | "version": "3.0.6", 4820 | "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.6.tgz", 4821 | "integrity": "sha512-UImgw3etckDQCoqZIAIKcQDt0w1JLVs3v0yxLlmwvGLZl6MGFxF7JME5PElXjAoDklVDU42P3vVu5jgr37P4Yg==", 4822 | "dev": true, 4823 | "requires": { 4824 | "color-support": "1.1.3", 4825 | "debug": "2.6.9", 4826 | "diff": "1.4.0", 4827 | "escape-string-regexp": "1.0.5", 4828 | "glob": "7.1.2", 4829 | "js-yaml": "3.10.0", 4830 | "readable-stream": "2.3.3", 4831 | "tap-parser": "5.4.0", 4832 | "unicode-length": "1.0.3" 4833 | } 4834 | }, 4835 | "tap-parser": { 4836 | "version": "5.4.0", 4837 | "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", 4838 | "integrity": "sha512-BIsIaGqv7uTQgTW1KLTMNPSEQf4zDDPgYOBRdgOfuB+JFOLRBfEu6cLa/KvMvmqggu1FKXDfitjLwsq4827RvA==", 4839 | "dev": true, 4840 | "requires": { 4841 | "events-to-array": "1.1.2", 4842 | "js-yaml": "3.10.0", 4843 | "readable-stream": "2.3.3" 4844 | } 4845 | }, 4846 | "text-table": { 4847 | "version": "0.2.0", 4848 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 4849 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 4850 | "dev": true 4851 | }, 4852 | "through": { 4853 | "version": "2.3.8", 4854 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4855 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 4856 | "dev": true 4857 | }, 4858 | "tmatch": { 4859 | "version": "3.1.0", 4860 | "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-3.1.0.tgz", 4861 | "integrity": "sha512-W3MSATOCN4pVu2qFxmJLIArSifeSOFqnfx9hiUaVgOmeRoI2NbU7RNga+6G+L8ojlFeQge+ZPCclWyUpQ8UeNQ==", 4862 | "dev": true 4863 | }, 4864 | "tough-cookie": { 4865 | "version": "2.3.3", 4866 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", 4867 | "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", 4868 | "dev": true, 4869 | "requires": { 4870 | "punycode": "1.4.1" 4871 | } 4872 | }, 4873 | "trivial-deferred": { 4874 | "version": "1.0.1", 4875 | "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", 4876 | "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", 4877 | "dev": true 4878 | }, 4879 | "tsame": { 4880 | "version": "1.1.2", 4881 | "resolved": "https://registry.npmjs.org/tsame/-/tsame-1.1.2.tgz", 4882 | "integrity": "sha512-ovCs24PGjmByVPr9tSIOs/yjUX9sJl0grEmOsj9dZA/UknQkgPOKcUqM84aSCvt9awHuhc/boMzTg3BHFalxWw==", 4883 | "dev": true 4884 | }, 4885 | "tunnel-agent": { 4886 | "version": "0.4.3", 4887 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", 4888 | "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", 4889 | "dev": true 4890 | }, 4891 | "tweetnacl": { 4892 | "version": "0.14.5", 4893 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 4894 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 4895 | "dev": true, 4896 | "optional": true 4897 | }, 4898 | "type-check": { 4899 | "version": "0.3.2", 4900 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 4901 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 4902 | "dev": true, 4903 | "requires": { 4904 | "prelude-ls": "1.1.2" 4905 | } 4906 | }, 4907 | "typedarray": { 4908 | "version": "0.0.6", 4909 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 4910 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 4911 | "dev": true 4912 | }, 4913 | "unicode-length": { 4914 | "version": "1.0.3", 4915 | "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", 4916 | "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", 4917 | "dev": true, 4918 | "requires": { 4919 | "punycode": "1.4.1", 4920 | "strip-ansi": "3.0.1" 4921 | } 4922 | }, 4923 | "uniq": { 4924 | "version": "1.0.1", 4925 | "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", 4926 | "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", 4927 | "dev": true 4928 | }, 4929 | "user-home": { 4930 | "version": "2.0.0", 4931 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", 4932 | "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", 4933 | "dev": true, 4934 | "requires": { 4935 | "os-homedir": "1.0.2" 4936 | } 4937 | }, 4938 | "util-deprecate": { 4939 | "version": "1.0.2", 4940 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4941 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 4942 | "dev": true 4943 | }, 4944 | "uuid": { 4945 | "version": "3.1.0", 4946 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", 4947 | "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", 4948 | "dev": true 4949 | }, 4950 | "verror": { 4951 | "version": "1.10.0", 4952 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 4953 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 4954 | "dev": true, 4955 | "requires": { 4956 | "assert-plus": "1.0.0", 4957 | "core-util-is": "1.0.2", 4958 | "extsprintf": "1.3.0" 4959 | }, 4960 | "dependencies": { 4961 | "assert-plus": { 4962 | "version": "1.0.0", 4963 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 4964 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 4965 | "dev": true 4966 | } 4967 | } 4968 | }, 4969 | "which": { 4970 | "version": "1.3.0", 4971 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 4972 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 4973 | "dev": true, 4974 | "requires": { 4975 | "isexe": "2.0.0" 4976 | } 4977 | }, 4978 | "wordwrap": { 4979 | "version": "1.0.0", 4980 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 4981 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 4982 | "dev": true 4983 | }, 4984 | "wrappy": { 4985 | "version": "1.0.2", 4986 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4987 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4988 | "dev": true 4989 | }, 4990 | "write": { 4991 | "version": "0.2.1", 4992 | "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 4993 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 4994 | "dev": true, 4995 | "requires": { 4996 | "mkdirp": "0.5.1" 4997 | }, 4998 | "dependencies": { 4999 | "minimist": { 5000 | "version": "0.0.8", 5001 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 5002 | "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", 5003 | "dev": true 5004 | }, 5005 | "mkdirp": { 5006 | "version": "0.5.1", 5007 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 5008 | "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", 5009 | "dev": true, 5010 | "requires": { 5011 | "minimist": "0.0.8" 5012 | } 5013 | } 5014 | } 5015 | }, 5016 | "xtend": { 5017 | "version": "4.0.1", 5018 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 5019 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 5020 | "dev": true 5021 | }, 5022 | "yallist": { 5023 | "version": "2.1.2", 5024 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 5025 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 5026 | "dev": true 5027 | }, 5028 | "yapool": { 5029 | "version": "1.0.0", 5030 | "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", 5031 | "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", 5032 | "dev": true 5033 | } 5034 | } 5035 | } 5036 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "git-tools", 3 | "version": "0.3.0", 4 | "description": "Tools for parsing data out of git repositories.", 5 | "keywords": [ 6 | "git" 7 | ], 8 | "homepage": "https://github.com/scottgonzalez/node-git-tools", 9 | "bugs": "https://github.com/scottgonzalez/node-git-tools/issues", 10 | "author": { 11 | "name": "Scott González", 12 | "email": "scott.gonzalez@gmail.com", 13 | "url": "http://scottgonzalez.com" 14 | }, 15 | "license": "MIT", 16 | "main": "git-tools.js", 17 | "scripts": { 18 | "lint": "standard", 19 | "nodeunit": "nodeunit test/**", 20 | "test": "npm run lint && npm run nodeunit" 21 | }, 22 | "repository": { 23 | "type": "git", 24 | "url": "git://github.com/scottgonzalez/node-git-tools.git" 25 | }, 26 | "dependencies": { 27 | "spawnback": "~1.0.0" 28 | }, 29 | "devDependencies": { 30 | "nodeunit": "^0.11.2", 31 | "rimraf": "~2.1.4", 32 | "standard": "^10.0.3" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /test/test.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs') 2 | var path = require('path') 3 | var rimraf = require('rimraf') 4 | var repoPath = path.join(__dirname, 'repo') 5 | var Repo = require('../git-tools') 6 | var testRepo = new Repo(repoPath) 7 | 8 | function createRepo (callback) { 9 | rimraf.sync(repoPath) 10 | fs.mkdirSync(repoPath) 11 | testRepo.exec('init', function (error) { 12 | if (error) { 13 | throw error 14 | } 15 | 16 | testRepo.exec( 17 | 'commit', '--allow-empty', '--author=John Doe ', '-m first commit', 18 | function (error) { 19 | if (error) { 20 | throw error 21 | } 22 | 23 | testRepo.exec('tag', '-a', 'v0.1', '-m', 'tag', callback) 24 | }) 25 | }) 26 | } 27 | 28 | exports.authors = { 29 | 'one commit': function (test) { 30 | createRepo(function (error) { 31 | if (error) { 32 | throw error 33 | } 34 | 35 | testRepo.authors(function (error, authors) { 36 | test.ifError(error) 37 | 38 | test.deepEqual(authors, [ 39 | { 40 | email: 'john.doe@example.com', 41 | name: 'John Doe', 42 | commits: 1, 43 | commitsPercent: 100 44 | } 45 | ], 'one author') 46 | test.done() 47 | }) 48 | }) 49 | } 50 | } 51 | 52 | exports.describe = { 53 | 'default description': function (test) { 54 | createRepo(function (error) { 55 | if (error) { 56 | throw error 57 | } 58 | 59 | testRepo.describe(function (error, description) { 60 | test.ifError(error) 61 | 62 | test.equal(description, 'v0.1', 'a tag') 63 | test.done() 64 | }) 65 | }) 66 | }, 67 | 68 | 'long description': function (test) { 69 | createRepo(function (error) { 70 | if (error) { 71 | throw error 72 | } 73 | 74 | testRepo.describe({ 75 | long: true 76 | }, function (error, description) { 77 | test.ifError(error) 78 | 79 | test.ok(/v0\.1-0-g.{7}/.test(description), 'a long tag') 80 | test.done() 81 | }) 82 | }) 83 | } 84 | } 85 | --------------------------------------------------------------------------------