├── .gitignore ├── .npmignore ├── .travis.yml ├── License ├── Readme.md ├── appveyor.yml ├── cli.js ├── index.js ├── lib ├── darwin.js ├── linux.js └── win32.js ├── package.json ├── test └── index.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | 6 | # Runtime data 7 | pids 8 | *.pid 9 | *.seed 10 | 11 | # Dependency directory 12 | # https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git 13 | node_modules 14 | 15 | # Coverage information 16 | .nyc_output 17 | coverage 18 | 19 | # Mac stuff 20 | .DS_Store 21 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | .travis.yml 3 | appveyor.yml 4 | .nyc_output 5 | worklog 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | os: 4 | - linux 5 | - osx 6 | 7 | after_success: "npm run coverage && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js" 8 | 9 | node_js: 10 | - "4" 11 | - "6" 12 | -------------------------------------------------------------------------------- /License: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Max Rittmüller 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | ## Due to tight resources and serious issues with this project, I'm deprecating it. I highly recommend [auto-launch](https://www.npmjs.com/package/auto-launch), it has a similar API and should be easy to switch over to. Sorry for the circumstances. 2 | 3 | 4 | # node-autostart 5 | [![Build Status](https://travis-ci.org/maxrimue/node-autostart.svg)](https://travis-ci.org/maxrimue/node-autostart) 6 | [![Build status](https://ci.appveyor.com/api/projects/status/rm9qiglp1lafov9u?svg=true)](https://ci.appveyor.com/project/maxrimue/node-autostart) 7 | [![Coverage Status](https://coveralls.io/repos/maxrimue/node-autostart/badge.svg?branch=master&service=github)](https://coveralls.io/github/maxrimue/node-autostart?branch=master) 8 | [![Dependency Status](https://david-dm.org/maxrimue/node-autostart.svg)](https://david-dm.org/maxrimue/node-autostart) [![devDependency Status](https://david-dm.org/maxrimue/node-autostart/dev-status.svg)](https://david-dm.org/maxrimue/node-autostart#info=devDependencies) 9 | [![npm](https://img.shields.io/npm/dt/node-autostart.svg)](https://www.npmjs.com/package/node-autostart) 10 | 11 | node-autostart is a Node.js module that enables your module to activate autostart easily. You can also use it as a global module to set-up autostart for anything and anywhere via the command line interface (CLI). Currently, it supports: 12 | 13 | - [x] Linux 14 | - [x] OS X 15 | - [x] Windows 16 | 17 | ### Install: 18 | 19 | ``` 20 | npm install -g node-autostart 21 | ``` 22 | for use in CLI, and: 23 | ``` 24 | npm install --save node-autostart 25 | ``` 26 | as a dependency for your module. 27 | 28 | ## Documentation 29 | You can use `node-autostart` both programmatically and per CLI. 'Enabling autostart' means to make the OS run a certain command at logon of the user who 'enabled the autostart' via a program. The command could be, for example, `npm start` in a certain directory, or whatever floats your boat. Here's an example for use via the CLI: 30 | ``` 31 | autostart enable -n "MyAwesomeApp" -p "/home/me/MyAwesomeApp" -c "npm start" 32 | ``` 33 | to enable, 34 | ``` 35 | autostart check -n "MyAwesomeApp" 36 | ``` 37 | to see if it is enabled, and: 38 | ``` 39 | autostart disable -n "MyAwesomeApp" 40 | ``` 41 | to disable it. 42 | To use it inside your Node.js app, look at the API for Programmatic Use, if you want to use it in the CLI, use `autostart -h` for further information. 43 | 44 | ### API for Programmatic Use 45 | 46 | First, require this module inside your app like this: 47 | ```javascript 48 | var autostart = require('node-autostart') 49 | ``` 50 | Now, you can simply enable autostart and disable it, and you can also check if it is enabled: 51 | ```javascript 52 | autostart.enableAutostart(key, command, path, function (err) { 53 | if(err) console.error(err); 54 | }) 55 | 56 | autostart.disableAutostart(key, function (err) { 57 | if(err) console.error(err); 58 | }) 59 | 60 | autostart.isAutostartEnabled(key, function (err, isEnabled) { 61 | if(err) console.error(err); 62 | 63 | if(isEnabled) { 64 | console.log('Autostart is enabled'); 65 | } 66 | else { 67 | console.log('Autostart is not enabled'); 68 | } 69 | 70 | }) 71 | ``` 72 | If you wish, you can also use Promises instead of Callbacks: 73 | ```javascript 74 | autostart.enableAutostart(key, command, path).then(() => { 75 | // Success! 76 | }).catch((err) => { 77 | console.error(err); 78 | // Something bad happened 79 | }); 80 | 81 | autostart.disableAutostart(key).then(() => { 82 | // Success! 83 | }).catch((err) => { 84 | console.error(err); 85 | // Something bad happened 86 | }); 87 | 88 | autostart.isAutostartEnabled(key).then((isEnabled) => { 89 | console.log('Autostart is ' + isEnabled ? 'enabled' : 'not enabled'); 90 | // Success! 91 | }).catch((err) => { 92 | console.error(err); 93 | // Something bad happened 94 | }); 95 | ``` 96 | #### Variables 97 | `key`: Unique identifier for startup items (always required! (Make it unique)) 98 | 99 | `command`: Command to be executed in the specified path 100 | 101 | `path`: Place in which the command will be executed (Use `process.cwd()` if you just want it to happen in your current working directory) 102 | #### Functions 103 | `.enableAutostart` 104 | Requires `key`, `command` and `path`, returns `err`. 105 | 106 | `.disableAutostart` 107 | Requires `key`, returns `err`. 108 | 109 | `.isAutostartEnabled` 110 | Requires `key`, returns `err` and `isEnabled`. 111 | 112 | ### License 113 | The MIT License (MIT) 114 | 115 | Copyright (c) 2015 Max Rittmüller 116 | 117 | Permission is hereby granted, free of charge, to any person obtaining a copy 118 | of this software and associated documentation files (the "Software"), to deal 119 | in the Software without restriction, including without limitation the rights 120 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 121 | copies of the Software, and to permit persons to whom the Software is 122 | furnished to do so, subject to the following conditions: 123 | 124 | The above copyright notice and this permission notice shall be included in all 125 | copies or substantial portions of the Software. 126 | 127 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 128 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 129 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 130 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 131 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 132 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 133 | SOFTWARE. 134 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | # http://www.appveyor.com/docs/appveyor-yml 2 | 3 | environment: 4 | matrix: 5 | - nodejs_version: "4" 6 | - nodejs_version: "6" 7 | 8 | install: 9 | - ps: Install-Product node $env:nodejs_version 10 | - yarn install 11 | 12 | test_script: 13 | - cmd: npm t 14 | 15 | os: 16 | - Windows Server 2012 R2 17 | 18 | build: off 19 | 20 | version: "{build}" 21 | -------------------------------------------------------------------------------- /cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 'use strict'; 3 | const yargs = require('yargs'); 4 | const autostart = require('./index.js'); 5 | 6 | yargs 7 | .usage('Usage: $0 [options]') 8 | .command('enable', 'Enable autostart here with a custom key', (yargs, argv) => { 9 | argv = yargs 10 | .option('n', { 11 | demand: true, 12 | alias: 'name', 13 | describe: 'Name of the key for identifying startup objects', 14 | type: 'string', 15 | nargs: 1 16 | }) 17 | .option('c', { 18 | demand: false, 19 | alias: 'command', 20 | describe: 'Command to execute in the path', 21 | type: 'string', 22 | default: 'npm start' 23 | }) 24 | .option('p', { 25 | demand: false, 26 | alias: 'path', 27 | describe: 'Place of execution of command', 28 | type: 'string', 29 | default: process.cwd() 30 | }) 31 | .help('h') 32 | .alias('h', 'help') 33 | .showHelpOnFail(false, 'Use --help for further information') 34 | .argv; 35 | 36 | autostart.enableAutostart(argv.n, argv.c, argv.p, err => { 37 | if (err) { 38 | console.error('An error occured while trying to enable autostart, here are the details:'); 39 | console.error(err); 40 | process.exit(1); 41 | } 42 | 43 | console.log('Done!'); 44 | process.exit(0); 45 | }); 46 | }) 47 | .command('disable', 'Disable autostart with key', (yargs, argv) => { 48 | argv = yargs 49 | .option('n', { 50 | demand: true, 51 | alias: 'name', 52 | describe: 'Name of the key for identifying startup objecst', 53 | type: 'string', 54 | nargs: 1 55 | }) 56 | .help('h') 57 | .alias('h', 'help') 58 | .showHelpOnFail(false, 'Use --help for further information') 59 | .argv; 60 | 61 | autostart.disableAutostart(argv.n, err => { 62 | if (err) { 63 | console.error('An error occured while trying to disable autostart, here are the details:'); 64 | console.error(err); 65 | process.exit(1); 66 | } 67 | 68 | console.log('Done!'); 69 | process.exit(0); 70 | }); 71 | }) 72 | .command('check', 'Check if autostart is enabled by key', (yargs, argv) => { 73 | argv = yargs 74 | .option('n', { 75 | demand: true, 76 | alias: 'name', 77 | describe: 'Name of the key for identifying startup objects', 78 | type: 'string', 79 | nargs: 1 80 | }) 81 | .help('h') 82 | .alias('h', 'help') 83 | .showHelpOnFail(false, 'Use --help for further information') 84 | .argv; 85 | 86 | autostart.isAutostartEnabled(argv.n, (err, isEnabled) => { 87 | if (err) { 88 | console.error('An error occured, here are the details:'); 89 | console.error(err); 90 | process.exit(1); 91 | } 92 | 93 | console.log('Done!'); 94 | if (isEnabled) { 95 | console.log('Autostart is enabled'); 96 | process.exit(0); 97 | } else if (!isEnabled) { 98 | console.log('Autostart is not enabled'); 99 | process.exit(0); 100 | } 101 | }); 102 | }) 103 | .demand(1) 104 | .help('h') 105 | .alias('h', 'help') 106 | .showHelpOnFail(false, 'Use --help for further information') 107 | .argv; 108 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | let autostart; 4 | /* istanbul ignore next */ 5 | switch (process.platform) { 6 | case 'darwin': 7 | autostart = require('./lib/darwin.js'); 8 | break; 9 | case 'linux': 10 | autostart = require('./lib/linux.js'); 11 | break; 12 | case 'win32': 13 | autostart = require('./lib/win32.js'); 14 | break; 15 | default: 16 | autostart = null; 17 | } 18 | 19 | function enableAutostart(key, command, path, callback) { 20 | if (arguments.length < 3) { 21 | throw new Error('Not enough arguments passed to enableAutostart()'); 22 | } else if (typeof key !== 'string') { 23 | throw new TypeError('Passed "key" to enableAutostart() is not a string.'); 24 | } else if (typeof command !== 'string') { 25 | throw new TypeError('Passed "command" to enableAutostart() is not a string.'); 26 | } else if (typeof path !== 'string') { 27 | throw new TypeError('Passed "path" to enableAutostart() is not a string.'); 28 | } 29 | 30 | if (typeof callback !== 'function') { 31 | return new Promise((resolve, reject) => { 32 | autostart.enableAutostart(key, command, path, error => { 33 | if (error) { 34 | reject(error); 35 | } else { 36 | resolve(); 37 | } 38 | }); 39 | }); 40 | } 41 | 42 | return autostart.enableAutostart(key, command, path, error => { 43 | callback(error); 44 | }); 45 | } 46 | 47 | function disableAutostart(key, callback) { 48 | if (arguments.length < 1) { 49 | throw new Error('Not enough arguments passed to disableAutostart()'); 50 | } else if (typeof key !== 'string') { 51 | throw new TypeError('Passed "key" to disableAutostart() is not a string.'); 52 | } 53 | 54 | if (typeof callback !== 'function') { 55 | return new Promise((resolve, reject) => { 56 | autostart.disableAutostart(key, error => { 57 | if (error) { 58 | reject(error); 59 | } else { 60 | resolve(); 61 | } 62 | }); 63 | }); 64 | } 65 | 66 | autostart.disableAutostart(key, error => { 67 | callback(error); 68 | }); 69 | } 70 | 71 | /** 72 | * Checks if autostart is enabled 73 | * @param {String} key 74 | * @param {Function} callback 75 | */ 76 | 77 | function isAutostartEnabled(key, callback) { 78 | if (arguments.length < 1) { 79 | throw new Error('Not enough arguments passed to isAutostartEnabled()'); 80 | } else if (typeof key !== 'string') { 81 | throw new TypeError('Passed "key" to disableAutostart() is not a string.'); 82 | } 83 | 84 | if (typeof callback !== 'function') { 85 | return new Promise((resolve, reject) => { 86 | autostart.isAutostartEnabled(key, (error, isEnabled) => { 87 | if (error) { 88 | reject(error); 89 | } else { 90 | resolve(isEnabled); 91 | } 92 | }); 93 | }); 94 | } 95 | 96 | autostart.isAutostartEnabled(key, (error, isEnabled) => { 97 | callback(error, isEnabled); 98 | }); 99 | } 100 | 101 | module.exports = { 102 | enableAutostart, 103 | disableAutostart, 104 | isAutostartEnabled 105 | }; 106 | -------------------------------------------------------------------------------- /lib/darwin.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const fs = require('fs'); 3 | const username = require('username'); 4 | const fileExists = require('file-exists'); 5 | 6 | function isAutostartEnabled(key, callback) { 7 | let err; 8 | 9 | if (process.env.FORCEERROR === 'true') { 10 | err = new Error('Test error'); 11 | } else { 12 | err = null; 13 | } 14 | 15 | callback(err, fileExists(`/Users/${username.sync()}/Library/LaunchAgents/${key}.plist`)); 16 | } 17 | 18 | function enableAutostart(key, command, path, callback) { 19 | isAutostartEnabled(key, (error, isEnabled) => { 20 | if (isEnabled) { 21 | callback('Autostart already is enabled'); 22 | return; 23 | } 24 | 25 | // Adding a service with the given key to launchd, 26 | // by placing a launchd compatible .plist 27 | // in the user's LaunchAgents folder 28 | const plistFileContent = `Label${key} 31 | ProgramArgumentsbash-c 32 | cd ${path} && ${command} 33 | RunAtLoad`; 34 | 35 | const plistFileName = `/Users/${username.sync()}/Library/LaunchAgents/${key}.plist`; 36 | 37 | fs.writeFile(plistFileName, plistFileContent, err => { 38 | callback(err); 39 | }); 40 | }); 41 | } 42 | 43 | function disableAutostart(key, callback) { 44 | isAutostartEnabled(key, (error, isEnabled) => { 45 | if (error) { 46 | callback(error); 47 | return; 48 | } 49 | 50 | if (!isEnabled) { 51 | callback('Autostart is not enabled'); 52 | return; 53 | } 54 | 55 | // Removing the launchd .plist with the name of the passed key 56 | const plistFileName = `/Users/${username.sync()}/Library/LaunchAgents/${key}.plist`; 57 | 58 | fs.unlink(plistFileName, err => { 59 | callback(err); 60 | }); 61 | }); 62 | } 63 | 64 | module.exports = { 65 | enableAutostart, 66 | disableAutostart, 67 | isAutostartEnabled 68 | }; 69 | -------------------------------------------------------------------------------- /lib/linux.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | let crontab = require('crontab'); 3 | 4 | function isAutostartEnabled(key, callback) { 5 | // Variable for temporarily saving crontab.load() as crontab.load() overwrites 'crontab' 6 | const tmpLoad = crontab.load; 7 | crontab.load((error, crontabData) => { 8 | // Make crontab's data globally available 9 | crontab = crontabData; 10 | crontab.load = tmpLoad; 11 | 12 | let err = null; 13 | 14 | if (process.env.FORCEERROR === 'true') { 15 | err = new Error('Test Error'); 16 | } 17 | 18 | if (err || error) { 19 | callback(err || error, null); 20 | return; 21 | } 22 | 23 | if (crontab.jobs({ 24 | comment: key 25 | }).length === 0) { 26 | callback(null, false); 27 | } else { 28 | callback(null, true); 29 | } 30 | }); 31 | } 32 | 33 | function enableAutostart(key, command, path, callback) { 34 | isAutostartEnabled(key, (error, isEnabled) => { 35 | if (error) { 36 | callback(error); 37 | return; 38 | } 39 | 40 | if (isEnabled) { 41 | callback('Autostart already is enabled'); 42 | return; 43 | } 44 | 45 | const linuxCommand = `cd ${path} && ${command}`; 46 | crontab.create(linuxCommand, '@reboot', key); 47 | 48 | crontab.save(err => { 49 | callback(err); 50 | }); 51 | }); 52 | } 53 | 54 | function disableAutostart(key, callback) { 55 | isAutostartEnabled(key, (error, isEnabled) => { 56 | if (error) { 57 | callback(error); 58 | return; 59 | } 60 | 61 | if (!isEnabled) { 62 | callback('Autostart is not enabled'); 63 | return; 64 | } 65 | 66 | crontab.remove({ 67 | comment: key 68 | }); 69 | 70 | crontab.save(err => { 71 | callback(err); 72 | }); 73 | }); 74 | } 75 | 76 | module.exports = { 77 | enableAutostart, 78 | disableAutostart, 79 | isAutostartEnabled 80 | }; 81 | -------------------------------------------------------------------------------- /lib/win32.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const fs = require('fs'); 3 | const os = require('os'); 4 | const username = require('username'); 5 | const fileExists = require('file-exists'); 6 | 7 | function getWinStartupPath() { 8 | if (os.release().substring(2, 0).replace('.', '') >= 6) { 9 | const firstPart = `C:\\Users\\${username.sync()}\\AppData\\`; 10 | const secondPart = 'Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup'; 11 | return `${firstPart}${secondPart}`; 12 | } 13 | 14 | return `C:\\Documents and Settings\\${username.sync()}\\Start Menu\\Programs\\Startup`; 15 | } 16 | 17 | function isAutostartEnabled(key, callback) { 18 | let err; 19 | 20 | if (process.env.FORCEERROR === 'true') { 21 | err = new Error('Test error'); 22 | } else { 23 | err = null; 24 | } 25 | 26 | callback(err, fileExists(`${getWinStartupPath()}/${key}.bat`)); 27 | } 28 | 29 | function enableAutostart(key, command, path, callback) { 30 | isAutostartEnabled(key, (error, isEnabled) => { 31 | if (error) { 32 | callback(error); 33 | return; 34 | } 35 | 36 | if (isEnabled) { 37 | callback('Autostart already is enabled'); 38 | return; 39 | } 40 | 41 | const batchFileContent = `cd ${path} && ${command}`; 42 | fs.writeFile(`${getWinStartupPath()}/${key}.bat`, batchFileContent, err => { 43 | callback(err); 44 | }); 45 | }); 46 | } 47 | 48 | function disableAutostart(key, callback) { 49 | isAutostartEnabled(key, (error, isEnabled) => { 50 | if (error) { 51 | callback(error); 52 | return; 53 | } 54 | 55 | if (!isEnabled) { 56 | callback('Autostart is not enabled'); 57 | return; 58 | } 59 | 60 | fs.unlink(`${getWinStartupPath()}/${key}.bat`, err => { 61 | callback(err); 62 | }); 63 | }); 64 | } 65 | 66 | module.exports = { 67 | enableAutostart, 68 | disableAutostart, 69 | isAutostartEnabled 70 | }; 71 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "URL": "https://www.npmjs.com/package/node-autostart", 3 | "author": "Max Rittmüller", 4 | "bin": { 5 | "autostart": "cli.js" 6 | }, 7 | "bugs": { 8 | "url": "https://github.com/maxrimue/node-autostart/issues" 9 | }, 10 | "dependencies": { 11 | "colors": "1.x.x", 12 | "crontab": "1.x.x", 13 | "file-exists": "^2.0.0", 14 | "mock-fs": "^4.0.0", 15 | "username": "2.x.x", 16 | "yargs": "^7.0.1" 17 | }, 18 | "description": "Enable autostart for your node apps", 19 | "devDependencies": { 20 | "chai": "3.x.x", 21 | "coveralls": "^2.11.12", 22 | "mocha": "3.2.0", 23 | "nyc": "^10.0.0", 24 | "xo": "^0.19.0" 25 | }, 26 | "engines": { 27 | "node": ">= 4" 28 | }, 29 | "homepage": "https://github.com/maxrimue/node-autostart#readme", 30 | "keywords": [ 31 | "autostart", 32 | "startup", 33 | "CLI", 34 | "daemon", 35 | "launchd", 36 | "launchctl", 37 | "logon", 38 | "cron", 39 | "cronjob" 40 | ], 41 | "license": "MIT", 42 | "main": "lib/index.js", 43 | "name": "node-autostart", 44 | "repository": { 45 | "type": "git", 46 | "url": "git+https://github.com/maxrimue/node-autostart.git" 47 | }, 48 | "scripts": { 49 | "coverage": "nyc report --reporter=text-lcov | coveralls", 50 | "test": "xo && nyc mocha" 51 | }, 52 | "version": "3.0.3", 53 | "xo": { 54 | "space": true, 55 | "rules": { 56 | "no-unused-expressions": 0, 57 | "no-undef": 0, 58 | "xo/filename-case": 0 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | process.env.NODE_ENV = 'test'; 3 | const expect = require('chai').expect; 4 | const autostart = require('../index.js'); 5 | 6 | describe('Arguments', () => { 7 | it('should not accept too few arguments', () => { 8 | expect(() => autostart.enableAutostart('someString', 'anotherString')).to.throw(Error); 9 | expect(() => autostart.disableAutostart()).to.throw(Error); 10 | expect(() => autostart.isAutostartEnabled()).to.throw(Error); 11 | }); 12 | 13 | it('should not accept arguments with wrong types', () => { 14 | expect(() => autostart.enableAutostart(1, 2, 3)).to.throw(Error); 15 | expect(() => autostart.enableAutostart('string', 2, 3)).to.throw(Error); 16 | expect(() => autostart.enableAutostart('string', 'string', 3)).to.throw(Error); 17 | expect(() => autostart.disableAutostart(1)).to.throw(Error); 18 | expect(() => autostart.isAutostartEnabled(1)).to.throw(Error); 19 | }); 20 | }); 21 | 22 | describe('isAutostartEnabled(): callback:', () => { 23 | it('should respond with isEnabled=false and not throw for fake service', done => { 24 | autostart.isAutostartEnabled('TestService1', (err, isEnabled) => { 25 | expect(isEnabled).to.equal(false); 26 | expect(err).to.equal(null); 27 | done(); 28 | }); 29 | }); 30 | it('should throw an error if FORCEERROR is enabled', done => { 31 | process.env.FORCEERROR = true; 32 | autostart.isAutostartEnabled('TestService1', err => { 33 | expect(err).to.not.equal(null); 34 | process.env.FORCEERROR = false; 35 | done(); 36 | }); 37 | }); 38 | }); 39 | 40 | describe('isAutostartEnabled(): promise:', () => { 41 | it('should respond with isEnabled=false and not throw for fake service', () => { 42 | return autostart.isAutostartEnabled('TestService1'); 43 | }); 44 | it('should throw an error if FORCEERROR is enabled', done => { 45 | process.env.FORCEERROR = true; 46 | autostart.isAutostartEnabled('TestService1').catch(err => { 47 | expect(err).to.not.equal(null); 48 | process.env.FORCEERROR = false; 49 | done(); 50 | }); 51 | }); 52 | }); 53 | 54 | describe('enableAutostart(): callback:', () => { 55 | it('should be able to create a test service', done => { 56 | autostart.enableAutostart('TestService1', 'echo "test"', process.cwd(), err => { 57 | expect(err).to.equal(null); 58 | done(); 59 | }); 60 | }); 61 | it('should refuse to create a service with the name of an already existing one', done => { 62 | autostart.enableAutostart('TestService1', 'echo "test"', process.cwd(), err => { 63 | expect(err).to.equal('Autostart already is enabled'); 64 | done(); 65 | }); 66 | }); 67 | it('should fail if crontab (linux) throws an error', done => { 68 | process.env.FORCEERROR = true; 69 | autostart.enableAutostart('TestService1', 'echo "test"', process.cwd(), err => { 70 | expect(err).to.not.equal(null); 71 | process.env.FORCEERROR = false; 72 | done(); 73 | }); 74 | }); 75 | }); 76 | 77 | describe('enableAutostart(): promise:', () => { 78 | it('should be able to create a test service', () => { 79 | return autostart.enableAutostart('TestService2', 'echo "test"', process.cwd()).then(() => {}); 80 | }); 81 | it('should refuse to create a service with the name of an already existing one', done => { 82 | autostart.enableAutostart('TestService2', 'echo "test"', process.cwd()).catch(err => { 83 | expect(err).to.equal('Autostart already is enabled'); 84 | done(); 85 | }); 86 | }); 87 | it('should fail if crontab (linux) throws an error', done => { 88 | process.env.FORCEERROR = true; 89 | autostart.enableAutostart('TestService2', 'echo "test"', process.cwd()).catch(err => { 90 | expect(err).to.not.equal(null); 91 | process.env.FORCEERROR = false; 92 | done(); 93 | }); 94 | }); 95 | }); 96 | 97 | describe('disableAutostart(): callback:', () => { 98 | it('should be able to delete the test service', done => { 99 | autostart.disableAutostart('TestService1', err => { 100 | expect(err).to.equal(null); 101 | done(); 102 | }); 103 | }); 104 | it('should refuse to remove nonexistant service', done => { 105 | autostart.disableAutostart('TestService1', err => { 106 | expect(err).to.equal('Autostart is not enabled'); 107 | done(); 108 | }); 109 | }); 110 | it('should fail if crontab (linux) throws an error', done => { 111 | process.env.FORCEERROR = true; 112 | autostart.disableAutostart('SomeNameIHopeNobodyWillEverTake', err => { 113 | expect(err).to.not.equal(null); 114 | process.env.FORCEERROR = false; 115 | done(); 116 | }); 117 | }); 118 | }); 119 | 120 | describe('disableAutostart(): promise:', () => { 121 | it('should be able to delete the test service', () => { 122 | return autostart.disableAutostart('TestService2').then(() => {}); 123 | }); 124 | it('should refuse to remove nonexistant service', done => { 125 | autostart.disableAutostart('TestService2').catch(err => { 126 | expect(err).to.equal('Autostart is not enabled'); 127 | done(); 128 | }); 129 | }); 130 | it('should fail if crontab (linux) throws an error', done => { 131 | process.env.FORCEERROR = true; 132 | autostart.disableAutostart('SomeNameIHopeNobodyWillEverTake').catch(err => { 133 | expect(err).to.not.equal(null); 134 | process.env.FORCEERROR = false; 135 | done(); 136 | }); 137 | }); 138 | }); 139 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | acorn-jsx@^3.0.0: 6 | version "3.0.1" 7 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" 8 | dependencies: 9 | acorn "^3.0.4" 10 | 11 | acorn@^3.0.4: 12 | version "3.3.0" 13 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 14 | 15 | acorn@^4.0.1: 16 | version "4.0.3" 17 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" 18 | 19 | acorn@^5.0.1: 20 | version "5.0.3" 21 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d" 22 | 23 | ajv-keywords@^1.0.0: 24 | version "1.1.1" 25 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" 26 | 27 | ajv@^4.7.0: 28 | version "4.9.0" 29 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.9.0.tgz#5a358085747b134eb567d6d15e015f1d7802f45c" 30 | dependencies: 31 | co "^4.6.0" 32 | json-stable-stringify "^1.0.1" 33 | 34 | align-text@^0.1.1, align-text@^0.1.3: 35 | version "0.1.4" 36 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 37 | dependencies: 38 | kind-of "^3.0.2" 39 | longest "^1.0.1" 40 | repeat-string "^1.5.2" 41 | 42 | amdefine@>=0.0.4: 43 | version "1.0.1" 44 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 45 | 46 | ansi-align@^1.1.0: 47 | version "1.1.0" 48 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" 49 | dependencies: 50 | string-width "^1.0.1" 51 | 52 | ansi-escapes@^1.1.0, ansi-escapes@^1.4.0: 53 | version "1.4.0" 54 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 55 | 56 | ansi-regex@^2.0.0: 57 | version "2.0.0" 58 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" 59 | 60 | ansi-styles@^2.2.1: 61 | version "2.2.1" 62 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 63 | 64 | append-transform@^0.3.0: 65 | version "0.3.0" 66 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.3.0.tgz#d6933ce4a85f09445d9ccc4cc119051b7381a813" 67 | 68 | archy@^1.0.0: 69 | version "1.0.0" 70 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 71 | 72 | argparse@^1.0.7: 73 | version "1.0.9" 74 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" 75 | dependencies: 76 | sprintf-js "~1.0.2" 77 | 78 | arr-diff@^2.0.0: 79 | version "2.0.0" 80 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 81 | dependencies: 82 | arr-flatten "^1.0.1" 83 | 84 | arr-flatten@^1.0.1: 85 | version "1.0.1" 86 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" 87 | 88 | array-differ@^1.0.0: 89 | version "1.0.0" 90 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 91 | 92 | array-find-index@^1.0.1: 93 | version "1.0.2" 94 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 95 | 96 | array-union@^1.0.1: 97 | version "1.0.2" 98 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 99 | dependencies: 100 | array-uniq "^1.0.1" 101 | 102 | array-uniq@^1.0.1: 103 | version "1.0.3" 104 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 105 | 106 | array-unique@^0.2.1: 107 | version "0.2.1" 108 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 109 | 110 | arrify@^1.0.0, arrify@^1.0.1: 111 | version "1.0.1" 112 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 113 | 114 | asn1@~0.2.3: 115 | version "0.2.3" 116 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 117 | 118 | assert-plus@^0.2.0: 119 | version "0.2.0" 120 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 121 | 122 | assert-plus@^1.0.0: 123 | version "1.0.0" 124 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 125 | 126 | assertion-error@^1.0.1: 127 | version "1.0.2" 128 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" 129 | 130 | async@^1.4.0, async@^1.4.2: 131 | version "1.5.2" 132 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 133 | 134 | async@~0.2.6: 135 | version "0.2.10" 136 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 137 | 138 | asynckit@^0.4.0: 139 | version "0.4.0" 140 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 141 | 142 | aws-sign2@~0.6.0: 143 | version "0.6.0" 144 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 145 | 146 | aws4@^1.2.1: 147 | version "1.5.0" 148 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" 149 | 150 | babel-code-frame@^6.16.0: 151 | version "6.16.0" 152 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de" 153 | dependencies: 154 | chalk "^1.1.0" 155 | esutils "^2.0.2" 156 | js-tokens "^2.0.0" 157 | 158 | babel-generator@^6.18.0: 159 | version "6.19.0" 160 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.19.0.tgz#9b2f244204777a3d6810ec127c673c87b349fac5" 161 | dependencies: 162 | babel-messages "^6.8.0" 163 | babel-runtime "^6.9.0" 164 | babel-types "^6.19.0" 165 | detect-indent "^4.0.0" 166 | jsesc "^1.3.0" 167 | lodash "^4.2.0" 168 | source-map "^0.5.0" 169 | 170 | babel-messages@^6.8.0: 171 | version "6.8.0" 172 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" 173 | dependencies: 174 | babel-runtime "^6.0.0" 175 | 176 | babel-runtime@^6.0.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: 177 | version "6.18.0" 178 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" 179 | dependencies: 180 | core-js "^2.4.0" 181 | regenerator-runtime "^0.9.5" 182 | 183 | babel-template@^6.16.0: 184 | version "6.16.0" 185 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" 186 | dependencies: 187 | babel-runtime "^6.9.0" 188 | babel-traverse "^6.16.0" 189 | babel-types "^6.16.0" 190 | babylon "^6.11.0" 191 | lodash "^4.2.0" 192 | 193 | babel-traverse@^6.16.0, babel-traverse@^6.18.0: 194 | version "6.19.0" 195 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.19.0.tgz#68363fb821e26247d52a519a84b2ceab8df4f55a" 196 | dependencies: 197 | babel-code-frame "^6.16.0" 198 | babel-messages "^6.8.0" 199 | babel-runtime "^6.9.0" 200 | babel-types "^6.19.0" 201 | babylon "^6.11.0" 202 | debug "^2.2.0" 203 | globals "^9.0.0" 204 | invariant "^2.2.0" 205 | lodash "^4.2.0" 206 | 207 | babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0: 208 | version "6.19.0" 209 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.19.0.tgz#8db2972dbed01f1192a8b602ba1e1e4c516240b9" 210 | dependencies: 211 | babel-runtime "^6.9.1" 212 | esutils "^2.0.2" 213 | lodash "^4.2.0" 214 | to-fast-properties "^1.0.1" 215 | 216 | babylon@^6.11.0, babylon@^6.13.0: 217 | version "6.14.1" 218 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" 219 | 220 | balanced-match@^0.4.1: 221 | version "0.4.2" 222 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 223 | 224 | bcrypt-pbkdf@^1.0.0: 225 | version "1.0.0" 226 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" 227 | dependencies: 228 | tweetnacl "^0.14.3" 229 | 230 | bl@~1.1.2: 231 | version "1.1.2" 232 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" 233 | dependencies: 234 | readable-stream "~2.0.5" 235 | 236 | boom@2.x.x: 237 | version "2.10.1" 238 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 239 | dependencies: 240 | hoek "2.x.x" 241 | 242 | boxen@^1.0.0: 243 | version "1.0.0" 244 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.0.0.tgz#b2694baf1f605f708ff0177c12193b22f29aaaab" 245 | dependencies: 246 | ansi-align "^1.1.0" 247 | camelcase "^4.0.0" 248 | chalk "^1.1.1" 249 | cli-boxes "^1.0.0" 250 | string-width "^2.0.0" 251 | term-size "^0.1.0" 252 | widest-line "^1.0.0" 253 | 254 | brace-expansion@^1.0.0: 255 | version "1.1.6" 256 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 257 | dependencies: 258 | balanced-match "^0.4.1" 259 | concat-map "0.0.1" 260 | 261 | braces@^1.8.2: 262 | version "1.8.5" 263 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 264 | dependencies: 265 | expand-range "^1.8.1" 266 | preserve "^0.2.0" 267 | repeat-element "^1.1.2" 268 | 269 | browser-stdout@1.3.0: 270 | version "1.3.0" 271 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" 272 | 273 | buf-compare@^1.0.0: 274 | version "1.0.1" 275 | resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" 276 | 277 | buffer-shims@~1.0.0: 278 | version "1.0.0" 279 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 280 | 281 | builtin-modules@^1.0.0, builtin-modules@^1.1.1: 282 | version "1.1.1" 283 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 284 | 285 | caching-transform@^1.0.0: 286 | version "1.0.1" 287 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" 288 | dependencies: 289 | md5-hex "^1.2.0" 290 | mkdirp "^0.5.1" 291 | write-file-atomic "^1.1.4" 292 | 293 | caller-path@^0.1.0: 294 | version "0.1.0" 295 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" 296 | dependencies: 297 | callsites "^0.2.0" 298 | 299 | callsites@^0.2.0: 300 | version "0.2.0" 301 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" 302 | 303 | camelcase-keys@^2.0.0: 304 | version "2.1.0" 305 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 306 | dependencies: 307 | camelcase "^2.0.0" 308 | map-obj "^1.0.0" 309 | 310 | camelcase@^1.0.2: 311 | version "1.2.1" 312 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 313 | 314 | camelcase@^2.0.0: 315 | version "2.1.1" 316 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 317 | 318 | camelcase@^3.0.0: 319 | version "3.0.0" 320 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 321 | 322 | camelcase@^4.0.0: 323 | version "4.1.0" 324 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 325 | 326 | capture-stack-trace@^1.0.0: 327 | version "1.0.0" 328 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" 329 | 330 | caseless@~0.11.0: 331 | version "0.11.0" 332 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 333 | 334 | center-align@^0.1.1: 335 | version "0.1.3" 336 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 337 | dependencies: 338 | align-text "^0.1.3" 339 | lazy-cache "^1.0.3" 340 | 341 | chai@3.x.x: 342 | version "3.5.0" 343 | resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" 344 | dependencies: 345 | assertion-error "^1.0.1" 346 | deep-eql "^0.1.3" 347 | type-detect "^1.0.0" 348 | 349 | chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: 350 | version "1.1.3" 351 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 352 | dependencies: 353 | ansi-styles "^2.2.1" 354 | escape-string-regexp "^1.0.2" 355 | has-ansi "^2.0.0" 356 | strip-ansi "^3.0.0" 357 | supports-color "^2.0.0" 358 | 359 | circular-json@^0.3.0: 360 | version "0.3.1" 361 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" 362 | 363 | cli-boxes@^1.0.0: 364 | version "1.0.0" 365 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 366 | 367 | cli-cursor@^1.0.1: 368 | version "1.0.2" 369 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 370 | dependencies: 371 | restore-cursor "^1.0.1" 372 | 373 | cli-width@^2.0.0: 374 | version "2.1.0" 375 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" 376 | 377 | cliui@^2.1.0: 378 | version "2.1.0" 379 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 380 | dependencies: 381 | center-align "^0.1.1" 382 | right-align "^0.1.1" 383 | wordwrap "0.0.2" 384 | 385 | cliui@^3.2.0: 386 | version "3.2.0" 387 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 388 | dependencies: 389 | string-width "^1.0.1" 390 | strip-ansi "^3.0.1" 391 | wrap-ansi "^2.0.0" 392 | 393 | co@^4.6.0: 394 | version "4.6.0" 395 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 396 | 397 | code-point-at@^1.0.0: 398 | version "1.1.0" 399 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 400 | 401 | colors@1.x.x: 402 | version "1.1.2" 403 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 404 | 405 | combined-stream@^1.0.5, combined-stream@~1.0.5: 406 | version "1.0.5" 407 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 408 | dependencies: 409 | delayed-stream "~1.0.0" 410 | 411 | commander@2.9.0, commander@^2.9.0: 412 | version "2.9.0" 413 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 414 | dependencies: 415 | graceful-readlink ">= 1.0.0" 416 | 417 | commondir@^1.0.1: 418 | version "1.0.1" 419 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 420 | 421 | concat-map@0.0.1: 422 | version "0.0.1" 423 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 424 | 425 | concat-stream@^1.5.2: 426 | version "1.6.0" 427 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" 428 | dependencies: 429 | inherits "^2.0.3" 430 | readable-stream "^2.2.2" 431 | typedarray "^0.0.6" 432 | 433 | configstore@^3.0.0: 434 | version "3.0.0" 435 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.0.0.tgz#e1b8669c1803ccc50b545e92f8e6e79aa80e0196" 436 | dependencies: 437 | dot-prop "^4.1.0" 438 | graceful-fs "^4.1.2" 439 | mkdirp "^0.5.0" 440 | unique-string "^1.0.0" 441 | write-file-atomic "^1.1.2" 442 | xdg-basedir "^3.0.0" 443 | 444 | contains-path@^0.1.0: 445 | version "0.1.0" 446 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 447 | 448 | convert-source-map@^1.3.0: 449 | version "1.3.0" 450 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" 451 | 452 | core-assert@^0.2.0: 453 | version "0.2.1" 454 | resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" 455 | dependencies: 456 | buf-compare "^1.0.0" 457 | is-error "^2.2.0" 458 | 459 | core-js@^2.0.0, core-js@^2.4.0: 460 | version "2.4.1" 461 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 462 | 463 | core-util-is@~1.0.0: 464 | version "1.0.2" 465 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 466 | 467 | coveralls@^2.11.12: 468 | version "2.11.15" 469 | resolved "https://registry.yarnpkg.com/coveralls/-/coveralls-2.11.15.tgz#37d3474369d66c14f33fa73a9d25cee6e099fca0" 470 | dependencies: 471 | js-yaml "3.6.1" 472 | lcov-parse "0.0.10" 473 | log-driver "1.2.5" 474 | minimist "1.2.0" 475 | request "2.75.0" 476 | 477 | create-error-class@^3.0.0: 478 | version "3.0.2" 479 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 480 | dependencies: 481 | capture-stack-trace "^1.0.0" 482 | 483 | crontab@1.x.x: 484 | version "1.1.3" 485 | resolved "https://registry.yarnpkg.com/crontab/-/crontab-1.1.3.tgz#5469a2a76c505d8b7808e5b769061ab26dca3420" 486 | dependencies: 487 | underscore "^1.6.0" 488 | 489 | cross-spawn-async@^2.1.1: 490 | version "2.2.5" 491 | resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" 492 | dependencies: 493 | lru-cache "^4.0.0" 494 | which "^1.2.8" 495 | 496 | cross-spawn@^4, cross-spawn@^4.0.0: 497 | version "4.0.2" 498 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 499 | dependencies: 500 | lru-cache "^4.0.1" 501 | which "^1.2.9" 502 | 503 | cryptiles@2.x.x: 504 | version "2.0.5" 505 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 506 | dependencies: 507 | boom "2.x.x" 508 | 509 | crypto-random-string@^1.0.0: 510 | version "1.0.0" 511 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" 512 | 513 | currently-unhandled@^0.4.1: 514 | version "0.4.1" 515 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 516 | dependencies: 517 | array-find-index "^1.0.1" 518 | 519 | d@^0.1.1, d@~0.1.1: 520 | version "0.1.1" 521 | resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" 522 | dependencies: 523 | es5-ext "~0.10.2" 524 | 525 | dashdash@^1.12.0: 526 | version "1.14.1" 527 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 528 | dependencies: 529 | assert-plus "^1.0.0" 530 | 531 | debug-log@^1.0.1: 532 | version "1.0.1" 533 | resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" 534 | 535 | debug@2.2.0, debug@^2.1.1, debug@^2.2.0: 536 | version "2.2.0" 537 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 538 | dependencies: 539 | ms "0.7.1" 540 | 541 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: 542 | version "1.2.0" 543 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 544 | 545 | deep-assign@^1.0.0: 546 | version "1.0.0" 547 | resolved "https://registry.yarnpkg.com/deep-assign/-/deep-assign-1.0.0.tgz#b092743be8427dc621ea0067cdec7e70dd19f37b" 548 | dependencies: 549 | is-obj "^1.0.0" 550 | 551 | deep-eql@^0.1.3: 552 | version "0.1.3" 553 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" 554 | dependencies: 555 | type-detect "0.1.1" 556 | 557 | deep-extend@~0.4.0: 558 | version "0.4.1" 559 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" 560 | 561 | deep-is@~0.1.3: 562 | version "0.1.3" 563 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 564 | 565 | deep-strict-equal@^0.2.0: 566 | version "0.2.0" 567 | resolved "https://registry.yarnpkg.com/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz#4a078147a8ab57f6a0d4f5547243cd22f44eb4e4" 568 | dependencies: 569 | core-assert "^0.2.0" 570 | 571 | default-require-extensions@^1.0.0: 572 | version "1.0.0" 573 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" 574 | dependencies: 575 | strip-bom "^2.0.0" 576 | 577 | del@^2.0.2: 578 | version "2.2.2" 579 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" 580 | dependencies: 581 | globby "^5.0.0" 582 | is-path-cwd "^1.0.0" 583 | is-path-in-cwd "^1.0.0" 584 | object-assign "^4.0.1" 585 | pify "^2.0.0" 586 | pinkie-promise "^2.0.0" 587 | rimraf "^2.2.8" 588 | 589 | delayed-stream@~1.0.0: 590 | version "1.0.0" 591 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 592 | 593 | detect-indent@^4.0.0: 594 | version "4.0.0" 595 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 596 | dependencies: 597 | repeating "^2.0.0" 598 | 599 | diff@1.4.0: 600 | version "1.4.0" 601 | resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" 602 | 603 | doctrine@1.5.0: 604 | version "1.5.0" 605 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 606 | dependencies: 607 | esutils "^2.0.2" 608 | isarray "^1.0.0" 609 | 610 | doctrine@^2.0.0: 611 | version "2.0.0" 612 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" 613 | dependencies: 614 | esutils "^2.0.2" 615 | isarray "^1.0.0" 616 | 617 | dot-prop@^4.1.0: 618 | version "4.1.1" 619 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.1.1.tgz#a8493f0b7b5eeec82525b5c7587fa7de7ca859c1" 620 | dependencies: 621 | is-obj "^1.0.0" 622 | 623 | duplexer3@^0.1.4: 624 | version "0.1.4" 625 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 626 | 627 | ecc-jsbn@~0.1.1: 628 | version "0.1.1" 629 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 630 | dependencies: 631 | jsbn "~0.1.0" 632 | 633 | enhance-visitors@^1.0.0: 634 | version "1.0.0" 635 | resolved "https://registry.yarnpkg.com/enhance-visitors/-/enhance-visitors-1.0.0.tgz#aa945d05da465672a1ebd38fee2ed3da8518e95a" 636 | dependencies: 637 | lodash "^4.13.1" 638 | 639 | error-ex@^1.2.0: 640 | version "1.3.0" 641 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 642 | dependencies: 643 | is-arrayish "^0.2.1" 644 | 645 | es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: 646 | version "0.10.12" 647 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" 648 | dependencies: 649 | es6-iterator "2" 650 | es6-symbol "~3.1" 651 | 652 | es6-iterator@2: 653 | version "2.0.0" 654 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" 655 | dependencies: 656 | d "^0.1.1" 657 | es5-ext "^0.10.7" 658 | es6-symbol "3" 659 | 660 | es6-map@^0.1.3: 661 | version "0.1.4" 662 | resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" 663 | dependencies: 664 | d "~0.1.1" 665 | es5-ext "~0.10.11" 666 | es6-iterator "2" 667 | es6-set "~0.1.3" 668 | es6-symbol "~3.1.0" 669 | event-emitter "~0.3.4" 670 | 671 | es6-set@~0.1.3: 672 | version "0.1.4" 673 | resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" 674 | dependencies: 675 | d "~0.1.1" 676 | es5-ext "~0.10.11" 677 | es6-iterator "2" 678 | es6-symbol "3" 679 | event-emitter "~0.3.4" 680 | 681 | es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: 682 | version "3.1.0" 683 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" 684 | dependencies: 685 | d "~0.1.1" 686 | es5-ext "~0.10.11" 687 | 688 | es6-weak-map@^2.0.1: 689 | version "2.0.1" 690 | resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" 691 | dependencies: 692 | d "^0.1.1" 693 | es5-ext "^0.10.8" 694 | es6-iterator "2" 695 | es6-symbol "3" 696 | 697 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 698 | version "1.0.5" 699 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 700 | 701 | escope@^3.6.0: 702 | version "3.6.0" 703 | resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" 704 | dependencies: 705 | es6-map "^0.1.3" 706 | es6-weak-map "^2.0.1" 707 | esrecurse "^4.1.0" 708 | estraverse "^4.1.1" 709 | 710 | eslint-config-xo@^0.18.0: 711 | version "0.18.1" 712 | resolved "https://registry.yarnpkg.com/eslint-config-xo/-/eslint-config-xo-0.18.1.tgz#f3bc873b33b2c82513d881eacb2ee3428407ad33" 713 | 714 | eslint-formatter-pretty@^1.0.0: 715 | version "1.1.0" 716 | resolved "https://registry.yarnpkg.com/eslint-formatter-pretty/-/eslint-formatter-pretty-1.1.0.tgz#ab4d06da02fed8c13ae9f0dc540a433ef7ed6f5e" 717 | dependencies: 718 | ansi-escapes "^1.4.0" 719 | chalk "^1.1.3" 720 | log-symbols "^1.0.2" 721 | plur "^2.1.2" 722 | string-width "^2.0.0" 723 | 724 | eslint-import-resolver-node@^0.2.0: 725 | version "0.2.3" 726 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" 727 | dependencies: 728 | debug "^2.2.0" 729 | object-assign "^4.0.1" 730 | resolve "^1.1.6" 731 | 732 | eslint-module-utils@^2.0.0: 733 | version "2.0.0" 734 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" 735 | dependencies: 736 | debug "2.2.0" 737 | pkg-dir "^1.0.0" 738 | 739 | eslint-plugin-ava@^4.2.0: 740 | version "4.2.0" 741 | resolved "https://registry.yarnpkg.com/eslint-plugin-ava/-/eslint-plugin-ava-4.2.0.tgz#12e4664659c1fae7895fa3f346c313ceb8907c77" 742 | dependencies: 743 | arrify "^1.0.1" 744 | deep-strict-equal "^0.2.0" 745 | enhance-visitors "^1.0.0" 746 | espree "^3.1.3" 747 | espurify "^1.5.0" 748 | multimatch "^2.1.0" 749 | pkg-up "^1.0.0" 750 | req-all "^1.0.0" 751 | 752 | eslint-plugin-import@^2.0.0: 753 | version "2.2.0" 754 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e" 755 | dependencies: 756 | builtin-modules "^1.1.1" 757 | contains-path "^0.1.0" 758 | debug "^2.2.0" 759 | doctrine "1.5.0" 760 | eslint-import-resolver-node "^0.2.0" 761 | eslint-module-utils "^2.0.0" 762 | has "^1.0.1" 763 | lodash.cond "^4.3.0" 764 | minimatch "^3.0.3" 765 | pkg-up "^1.0.0" 766 | 767 | eslint-plugin-no-use-extend-native@^0.3.2: 768 | version "0.3.12" 769 | resolved "https://registry.yarnpkg.com/eslint-plugin-no-use-extend-native/-/eslint-plugin-no-use-extend-native-0.3.12.tgz#3ad9a00c2df23b5d7f7f6be91550985a4ab701ea" 770 | dependencies: 771 | is-get-set-prop "^1.0.0" 772 | is-js-type "^2.0.0" 773 | is-obj-prop "^1.0.0" 774 | is-proto-prop "^1.0.0" 775 | 776 | eslint-plugin-promise@^3.4.0: 777 | version "3.5.0" 778 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz#78fbb6ffe047201627569e85a6c5373af2a68fca" 779 | 780 | eslint-plugin-unicorn@^2.1.0: 781 | version "2.1.1" 782 | resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-2.1.1.tgz#3e9294366799b715e16a6df89159495b68930cb3" 783 | dependencies: 784 | lodash.camelcase "^4.1.1" 785 | lodash.kebabcase "^4.0.1" 786 | lodash.snakecase "^4.0.1" 787 | lodash.upperfirst "^4.2.0" 788 | req-all "^1.0.0" 789 | 790 | eslint@^3.18.0: 791 | version "3.19.0" 792 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc" 793 | dependencies: 794 | babel-code-frame "^6.16.0" 795 | chalk "^1.1.3" 796 | concat-stream "^1.5.2" 797 | debug "^2.1.1" 798 | doctrine "^2.0.0" 799 | escope "^3.6.0" 800 | espree "^3.4.0" 801 | esquery "^1.0.0" 802 | estraverse "^4.2.0" 803 | esutils "^2.0.2" 804 | file-entry-cache "^2.0.0" 805 | glob "^7.0.3" 806 | globals "^9.14.0" 807 | ignore "^3.2.0" 808 | imurmurhash "^0.1.4" 809 | inquirer "^0.12.0" 810 | is-my-json-valid "^2.10.0" 811 | is-resolvable "^1.0.0" 812 | js-yaml "^3.5.1" 813 | json-stable-stringify "^1.0.0" 814 | levn "^0.3.0" 815 | lodash "^4.0.0" 816 | mkdirp "^0.5.0" 817 | natural-compare "^1.4.0" 818 | optionator "^0.8.2" 819 | path-is-inside "^1.0.1" 820 | pluralize "^1.2.1" 821 | progress "^1.1.8" 822 | require-uncached "^1.0.2" 823 | shelljs "^0.7.5" 824 | strip-bom "^3.0.0" 825 | strip-json-comments "~2.0.1" 826 | table "^3.7.8" 827 | text-table "~0.2.0" 828 | user-home "^2.0.0" 829 | 830 | espree@^3.1.3: 831 | version "3.3.2" 832 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" 833 | dependencies: 834 | acorn "^4.0.1" 835 | acorn-jsx "^3.0.0" 836 | 837 | espree@^3.4.0: 838 | version "3.4.2" 839 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.2.tgz#38dbdedbedc95b8961a1fbf04734a8f6a9c8c592" 840 | dependencies: 841 | acorn "^5.0.1" 842 | acorn-jsx "^3.0.0" 843 | 844 | esprima@^2.6.0: 845 | version "2.7.3" 846 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 847 | 848 | espurify@^1.5.0: 849 | version "1.6.0" 850 | resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.0.tgz#6cb993582d9422bd6f2d4b258aadb14833f394f0" 851 | dependencies: 852 | core-js "^2.0.0" 853 | 854 | esquery@^1.0.0: 855 | version "1.0.0" 856 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" 857 | dependencies: 858 | estraverse "^4.0.0" 859 | 860 | esrecurse@^4.1.0: 861 | version "4.1.0" 862 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" 863 | dependencies: 864 | estraverse "~4.1.0" 865 | object-assign "^4.0.1" 866 | 867 | estraverse@^4.0.0, estraverse@^4.1.1, estraverse@^4.2.0: 868 | version "4.2.0" 869 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 870 | 871 | estraverse@~4.1.0: 872 | version "4.1.1" 873 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" 874 | 875 | esutils@^2.0.2: 876 | version "2.0.2" 877 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 878 | 879 | event-emitter@~0.3.4: 880 | version "0.3.4" 881 | resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" 882 | dependencies: 883 | d "~0.1.1" 884 | es5-ext "~0.10.7" 885 | 886 | execa@^0.4.0: 887 | version "0.4.0" 888 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.4.0.tgz#4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3" 889 | dependencies: 890 | cross-spawn-async "^2.1.1" 891 | is-stream "^1.1.0" 892 | npm-run-path "^1.0.0" 893 | object-assign "^4.0.1" 894 | path-key "^1.0.0" 895 | strip-eof "^1.0.0" 896 | 897 | execa@^0.5.0: 898 | version "0.5.0" 899 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.5.0.tgz#a57456764b990e3e52f6eff7f17a9cc2ff2e7ccc" 900 | dependencies: 901 | cross-spawn "^4.0.0" 902 | get-stream "^2.2.0" 903 | is-stream "^1.1.0" 904 | npm-run-path "^2.0.0" 905 | signal-exit "^3.0.0" 906 | strip-eof "^1.0.0" 907 | 908 | exit-hook@^1.0.0: 909 | version "1.1.1" 910 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 911 | 912 | expand-brackets@^0.1.4: 913 | version "0.1.5" 914 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 915 | dependencies: 916 | is-posix-bracket "^0.1.0" 917 | 918 | expand-range@^1.8.1: 919 | version "1.8.2" 920 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 921 | dependencies: 922 | fill-range "^2.1.0" 923 | 924 | extend@~3.0.0: 925 | version "3.0.0" 926 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" 927 | 928 | extglob@^0.3.1: 929 | version "0.3.2" 930 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 931 | dependencies: 932 | is-extglob "^1.0.0" 933 | 934 | extsprintf@1.0.2: 935 | version "1.0.2" 936 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 937 | 938 | fast-levenshtein@~2.0.4: 939 | version "2.0.5" 940 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" 941 | 942 | figures@^1.3.5: 943 | version "1.7.0" 944 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 945 | dependencies: 946 | escape-string-regexp "^1.0.5" 947 | object-assign "^4.1.0" 948 | 949 | file-entry-cache@^2.0.0: 950 | version "2.0.0" 951 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 952 | dependencies: 953 | flat-cache "^1.2.1" 954 | object-assign "^4.0.1" 955 | 956 | file-exists@^2.0.0: 957 | version "2.0.0" 958 | resolved "https://registry.yarnpkg.com/file-exists/-/file-exists-2.0.0.tgz#a24150665150e62d55bc5449281d88d2b0810dca" 959 | 960 | filename-regex@^2.0.0: 961 | version "2.0.0" 962 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" 963 | 964 | fill-range@^2.1.0: 965 | version "2.2.3" 966 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 967 | dependencies: 968 | is-number "^2.1.0" 969 | isobject "^2.0.0" 970 | randomatic "^1.1.3" 971 | repeat-element "^1.1.2" 972 | repeat-string "^1.5.2" 973 | 974 | find-cache-dir@^0.1.1: 975 | version "0.1.1" 976 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" 977 | dependencies: 978 | commondir "^1.0.1" 979 | mkdirp "^0.5.1" 980 | pkg-dir "^1.0.0" 981 | 982 | find-up@^1.0.0, find-up@^1.1.2: 983 | version "1.1.2" 984 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 985 | dependencies: 986 | path-exists "^2.0.0" 987 | pinkie-promise "^2.0.0" 988 | 989 | find-up@^2.0.0: 990 | version "2.0.0" 991 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.0.0.tgz#71e6dc2dad9222143cfc0fa5de7ab739e7320c05" 992 | dependencies: 993 | path-exists "^2.0.0" 994 | 995 | flat-cache@^1.2.1: 996 | version "1.2.1" 997 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" 998 | dependencies: 999 | circular-json "^0.3.0" 1000 | del "^2.0.2" 1001 | graceful-fs "^4.1.2" 1002 | write "^0.2.1" 1003 | 1004 | for-in@^0.1.5: 1005 | version "0.1.6" 1006 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" 1007 | 1008 | for-own@^0.1.4: 1009 | version "0.1.4" 1010 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" 1011 | dependencies: 1012 | for-in "^0.1.5" 1013 | 1014 | foreground-child@^1.3.3, foreground-child@^1.5.3: 1015 | version "1.5.3" 1016 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.3.tgz#94dd6aba671389867de8e57e99f1c2ecfb15c01a" 1017 | dependencies: 1018 | cross-spawn "^4" 1019 | signal-exit "^3.0.0" 1020 | 1021 | forever-agent@~0.6.1: 1022 | version "0.6.1" 1023 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1024 | 1025 | form-data@~2.0.0: 1026 | version "2.0.0" 1027 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25" 1028 | dependencies: 1029 | asynckit "^0.4.0" 1030 | combined-stream "^1.0.5" 1031 | mime-types "^2.1.11" 1032 | 1033 | fs.realpath@^1.0.0: 1034 | version "1.0.0" 1035 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1036 | 1037 | function-bind@^1.0.2: 1038 | version "1.1.0" 1039 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" 1040 | 1041 | generate-function@^2.0.0: 1042 | version "2.0.0" 1043 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 1044 | 1045 | generate-object-property@^1.1.0: 1046 | version "1.2.0" 1047 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 1048 | dependencies: 1049 | is-property "^1.0.0" 1050 | 1051 | get-caller-file@^1.0.1: 1052 | version "1.0.2" 1053 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1054 | 1055 | get-set-props@^0.1.0: 1056 | version "0.1.0" 1057 | resolved "https://registry.yarnpkg.com/get-set-props/-/get-set-props-0.1.0.tgz#998475c178445686d0b32246da5df8dbcfbe8ea3" 1058 | 1059 | get-stdin@^4.0.1: 1060 | version "4.0.1" 1061 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1062 | 1063 | get-stdin@^5.0.0: 1064 | version "5.0.1" 1065 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" 1066 | 1067 | get-stream@^2.2.0: 1068 | version "2.3.1" 1069 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" 1070 | dependencies: 1071 | object-assign "^4.0.1" 1072 | pinkie-promise "^2.0.0" 1073 | 1074 | get-stream@^3.0.0: 1075 | version "3.0.0" 1076 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1077 | 1078 | getpass@^0.1.1: 1079 | version "0.1.6" 1080 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" 1081 | dependencies: 1082 | assert-plus "^1.0.0" 1083 | 1084 | glob-base@^0.3.0: 1085 | version "0.3.0" 1086 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1087 | dependencies: 1088 | glob-parent "^2.0.0" 1089 | is-glob "^2.0.0" 1090 | 1091 | glob-parent@^2.0.0: 1092 | version "2.0.0" 1093 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1094 | dependencies: 1095 | is-glob "^2.0.0" 1096 | 1097 | glob@7.0.5: 1098 | version "7.0.5" 1099 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" 1100 | dependencies: 1101 | fs.realpath "^1.0.0" 1102 | inflight "^1.0.4" 1103 | inherits "2" 1104 | minimatch "^3.0.2" 1105 | once "^1.3.0" 1106 | path-is-absolute "^1.0.0" 1107 | 1108 | glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: 1109 | version "7.1.1" 1110 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 1111 | dependencies: 1112 | fs.realpath "^1.0.0" 1113 | inflight "^1.0.4" 1114 | inherits "2" 1115 | minimatch "^3.0.2" 1116 | once "^1.3.0" 1117 | path-is-absolute "^1.0.0" 1118 | 1119 | globals@^9.0.0, globals@^9.14.0: 1120 | version "9.14.0" 1121 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" 1122 | 1123 | globby@^5.0.0: 1124 | version "5.0.0" 1125 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" 1126 | dependencies: 1127 | array-union "^1.0.1" 1128 | arrify "^1.0.0" 1129 | glob "^7.0.3" 1130 | object-assign "^4.0.1" 1131 | pify "^2.0.0" 1132 | pinkie-promise "^2.0.0" 1133 | 1134 | globby@^6.0.0: 1135 | version "6.1.0" 1136 | resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" 1137 | dependencies: 1138 | array-union "^1.0.1" 1139 | glob "^7.0.3" 1140 | object-assign "^4.0.1" 1141 | pify "^2.0.0" 1142 | pinkie-promise "^2.0.0" 1143 | 1144 | got@^6.7.1: 1145 | version "6.7.1" 1146 | resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" 1147 | dependencies: 1148 | create-error-class "^3.0.0" 1149 | duplexer3 "^0.1.4" 1150 | get-stream "^3.0.0" 1151 | is-redirect "^1.0.0" 1152 | is-retry-allowed "^1.0.0" 1153 | is-stream "^1.0.0" 1154 | lowercase-keys "^1.0.0" 1155 | safe-buffer "^5.0.1" 1156 | timed-out "^4.0.0" 1157 | unzip-response "^2.0.1" 1158 | url-parse-lax "^1.0.0" 1159 | 1160 | graceful-fs@^4.1.2: 1161 | version "4.1.11" 1162 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1163 | 1164 | "graceful-readlink@>= 1.0.0": 1165 | version "1.0.1" 1166 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 1167 | 1168 | growl@1.9.2: 1169 | version "1.9.2" 1170 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 1171 | 1172 | handlebars@^4.0.3: 1173 | version "4.0.6" 1174 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" 1175 | dependencies: 1176 | async "^1.4.0" 1177 | optimist "^0.6.1" 1178 | source-map "^0.4.4" 1179 | optionalDependencies: 1180 | uglify-js "^2.6" 1181 | 1182 | har-validator@~2.0.6: 1183 | version "2.0.6" 1184 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 1185 | dependencies: 1186 | chalk "^1.1.1" 1187 | commander "^2.9.0" 1188 | is-my-json-valid "^2.12.4" 1189 | pinkie-promise "^2.0.0" 1190 | 1191 | has-ansi@^2.0.0: 1192 | version "2.0.0" 1193 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1194 | dependencies: 1195 | ansi-regex "^2.0.0" 1196 | 1197 | has-flag@^1.0.0: 1198 | version "1.0.0" 1199 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1200 | 1201 | has-flag@^2.0.0: 1202 | version "2.0.0" 1203 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1204 | 1205 | has@^1.0.1: 1206 | version "1.0.1" 1207 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 1208 | dependencies: 1209 | function-bind "^1.0.2" 1210 | 1211 | hawk@~3.1.3: 1212 | version "3.1.3" 1213 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1214 | dependencies: 1215 | boom "2.x.x" 1216 | cryptiles "2.x.x" 1217 | hoek "2.x.x" 1218 | sntp "1.x.x" 1219 | 1220 | hoek@2.x.x: 1221 | version "2.16.3" 1222 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1223 | 1224 | hosted-git-info@^2.1.4: 1225 | version "2.1.5" 1226 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" 1227 | 1228 | http-signature@~1.1.0: 1229 | version "1.1.1" 1230 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1231 | dependencies: 1232 | assert-plus "^0.2.0" 1233 | jsprim "^1.2.2" 1234 | sshpk "^1.7.0" 1235 | 1236 | ignore@^3.2.0: 1237 | version "3.2.0" 1238 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" 1239 | 1240 | imurmurhash@^0.1.4: 1241 | version "0.1.4" 1242 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1243 | 1244 | indent-string@^2.1.0: 1245 | version "2.1.0" 1246 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1247 | dependencies: 1248 | repeating "^2.0.0" 1249 | 1250 | inflight@^1.0.4: 1251 | version "1.0.6" 1252 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1253 | dependencies: 1254 | once "^1.3.0" 1255 | wrappy "1" 1256 | 1257 | inherits@2, inherits@^2.0.3, inherits@~2.0.1: 1258 | version "2.0.3" 1259 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1260 | 1261 | ini@~1.3.0: 1262 | version "1.3.4" 1263 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 1264 | 1265 | inquirer@^0.12.0: 1266 | version "0.12.0" 1267 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" 1268 | dependencies: 1269 | ansi-escapes "^1.1.0" 1270 | ansi-regex "^2.0.0" 1271 | chalk "^1.0.0" 1272 | cli-cursor "^1.0.1" 1273 | cli-width "^2.0.0" 1274 | figures "^1.3.5" 1275 | lodash "^4.3.0" 1276 | readline2 "^1.0.1" 1277 | run-async "^0.1.0" 1278 | rx-lite "^3.1.2" 1279 | string-width "^1.0.1" 1280 | strip-ansi "^3.0.0" 1281 | through "^2.3.6" 1282 | 1283 | interpret@^1.0.0: 1284 | version "1.0.1" 1285 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" 1286 | 1287 | invariant@^2.2.0: 1288 | version "2.2.2" 1289 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1290 | dependencies: 1291 | loose-envify "^1.0.0" 1292 | 1293 | invert-kv@^1.0.0: 1294 | version "1.0.0" 1295 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1296 | 1297 | irregular-plurals@^1.0.0: 1298 | version "1.2.0" 1299 | resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" 1300 | 1301 | is-arrayish@^0.2.1: 1302 | version "0.2.1" 1303 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1304 | 1305 | is-buffer@^1.0.2: 1306 | version "1.1.4" 1307 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 1308 | 1309 | is-builtin-module@^1.0.0: 1310 | version "1.0.0" 1311 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1312 | dependencies: 1313 | builtin-modules "^1.0.0" 1314 | 1315 | is-dotfile@^1.0.0: 1316 | version "1.0.2" 1317 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" 1318 | 1319 | is-equal-shallow@^0.1.3: 1320 | version "0.1.3" 1321 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1322 | dependencies: 1323 | is-primitive "^2.0.0" 1324 | 1325 | is-error@^2.2.0: 1326 | version "2.2.1" 1327 | resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" 1328 | 1329 | is-extendable@^0.1.1: 1330 | version "0.1.1" 1331 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1332 | 1333 | is-extglob@^1.0.0: 1334 | version "1.0.0" 1335 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1336 | 1337 | is-finite@^1.0.0: 1338 | version "1.0.2" 1339 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1340 | dependencies: 1341 | number-is-nan "^1.0.0" 1342 | 1343 | is-fullwidth-code-point@^1.0.0: 1344 | version "1.0.0" 1345 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1346 | dependencies: 1347 | number-is-nan "^1.0.0" 1348 | 1349 | is-fullwidth-code-point@^2.0.0: 1350 | version "2.0.0" 1351 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1352 | 1353 | is-get-set-prop@^1.0.0: 1354 | version "1.0.0" 1355 | resolved "https://registry.yarnpkg.com/is-get-set-prop/-/is-get-set-prop-1.0.0.tgz#2731877e4d78a6a69edcce6bb9d68b0779e76312" 1356 | dependencies: 1357 | get-set-props "^0.1.0" 1358 | lowercase-keys "^1.0.0" 1359 | 1360 | is-glob@^2.0.0, is-glob@^2.0.1: 1361 | version "2.0.1" 1362 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1363 | dependencies: 1364 | is-extglob "^1.0.0" 1365 | 1366 | is-js-type@^2.0.0: 1367 | version "2.0.0" 1368 | resolved "https://registry.yarnpkg.com/is-js-type/-/is-js-type-2.0.0.tgz#73617006d659b4eb4729bba747d28782df0f7e22" 1369 | dependencies: 1370 | js-types "^1.0.0" 1371 | 1372 | is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: 1373 | version "2.15.0" 1374 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" 1375 | dependencies: 1376 | generate-function "^2.0.0" 1377 | generate-object-property "^1.1.0" 1378 | jsonpointer "^4.0.0" 1379 | xtend "^4.0.0" 1380 | 1381 | is-npm@^1.0.0: 1382 | version "1.0.0" 1383 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" 1384 | 1385 | is-number@^2.0.2, is-number@^2.1.0: 1386 | version "2.1.0" 1387 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1388 | dependencies: 1389 | kind-of "^3.0.2" 1390 | 1391 | is-obj-prop@^1.0.0: 1392 | version "1.0.0" 1393 | resolved "https://registry.yarnpkg.com/is-obj-prop/-/is-obj-prop-1.0.0.tgz#b34de79c450b8d7c73ab2cdf67dc875adb85f80e" 1394 | dependencies: 1395 | lowercase-keys "^1.0.0" 1396 | obj-props "^1.0.0" 1397 | 1398 | is-obj@^1.0.0: 1399 | version "1.0.1" 1400 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1401 | 1402 | is-path-cwd@^1.0.0: 1403 | version "1.0.0" 1404 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 1405 | 1406 | is-path-in-cwd@^1.0.0: 1407 | version "1.0.0" 1408 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" 1409 | dependencies: 1410 | is-path-inside "^1.0.0" 1411 | 1412 | is-path-inside@^1.0.0: 1413 | version "1.0.0" 1414 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" 1415 | dependencies: 1416 | path-is-inside "^1.0.1" 1417 | 1418 | is-plain-obj@^1.0.0: 1419 | version "1.1.0" 1420 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1421 | 1422 | is-posix-bracket@^0.1.0: 1423 | version "0.1.1" 1424 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1425 | 1426 | is-primitive@^2.0.0: 1427 | version "2.0.0" 1428 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1429 | 1430 | is-property@^1.0.0: 1431 | version "1.0.2" 1432 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1433 | 1434 | is-proto-prop@^1.0.0: 1435 | version "1.0.0" 1436 | resolved "https://registry.yarnpkg.com/is-proto-prop/-/is-proto-prop-1.0.0.tgz#b3951f95c089924fb5d4fcda6542ab3e83e2b220" 1437 | dependencies: 1438 | lowercase-keys "^1.0.0" 1439 | proto-props "^0.2.0" 1440 | 1441 | is-redirect@^1.0.0: 1442 | version "1.0.0" 1443 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" 1444 | 1445 | is-resolvable@^1.0.0: 1446 | version "1.0.0" 1447 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" 1448 | dependencies: 1449 | tryit "^1.0.1" 1450 | 1451 | is-retry-allowed@^1.0.0: 1452 | version "1.1.0" 1453 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 1454 | 1455 | is-stream@^1.0.0, is-stream@^1.1.0: 1456 | version "1.1.0" 1457 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1458 | 1459 | is-typedarray@~1.0.0: 1460 | version "1.0.0" 1461 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1462 | 1463 | is-utf8@^0.2.0: 1464 | version "0.2.1" 1465 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1466 | 1467 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1468 | version "1.0.0" 1469 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1470 | 1471 | isexe@^1.1.1: 1472 | version "1.1.2" 1473 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" 1474 | 1475 | isobject@^2.0.0: 1476 | version "2.1.0" 1477 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1478 | dependencies: 1479 | isarray "1.0.0" 1480 | 1481 | isstream@~0.1.2: 1482 | version "0.1.2" 1483 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1484 | 1485 | istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0: 1486 | version "1.0.0" 1487 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.0.tgz#c3f9b6d226da12424064cce87fce0fb57fdfa7a2" 1488 | 1489 | istanbul-lib-hook@^1.0.0-alpha.4: 1490 | version "1.0.0-alpha.4" 1491 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0-alpha.4.tgz#8c5bb9f6fbd8526e0ae6cf639af28266906b938f" 1492 | dependencies: 1493 | append-transform "^0.3.0" 1494 | 1495 | istanbul-lib-instrument@^1.3.0: 1496 | version "1.3.0" 1497 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.3.0.tgz#19f0a973397454989b98330333063a5b56df0e58" 1498 | dependencies: 1499 | babel-generator "^6.18.0" 1500 | babel-template "^6.16.0" 1501 | babel-traverse "^6.18.0" 1502 | babel-types "^6.18.0" 1503 | babylon "^6.13.0" 1504 | istanbul-lib-coverage "^1.0.0" 1505 | semver "^5.3.0" 1506 | 1507 | istanbul-lib-report@^1.0.0-alpha.3: 1508 | version "1.0.0-alpha.3" 1509 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" 1510 | dependencies: 1511 | async "^1.4.2" 1512 | istanbul-lib-coverage "^1.0.0-alpha" 1513 | mkdirp "^0.5.1" 1514 | path-parse "^1.0.5" 1515 | rimraf "^2.4.3" 1516 | supports-color "^3.1.2" 1517 | 1518 | istanbul-lib-source-maps@^1.1.0: 1519 | version "1.1.0" 1520 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" 1521 | dependencies: 1522 | istanbul-lib-coverage "^1.0.0-alpha.0" 1523 | mkdirp "^0.5.1" 1524 | rimraf "^2.4.4" 1525 | source-map "^0.5.3" 1526 | 1527 | istanbul-reports@^1.0.0: 1528 | version "1.0.0" 1529 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.0.tgz#24b4eb2b1d29d50f103b369bd422f6e640aa0777" 1530 | dependencies: 1531 | handlebars "^4.0.3" 1532 | 1533 | jodid25519@^1.0.0: 1534 | version "1.0.2" 1535 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 1536 | dependencies: 1537 | jsbn "~0.1.0" 1538 | 1539 | js-tokens@^2.0.0: 1540 | version "2.0.0" 1541 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" 1542 | 1543 | js-types@^1.0.0: 1544 | version "1.0.0" 1545 | resolved "https://registry.yarnpkg.com/js-types/-/js-types-1.0.0.tgz#d242e6494ed572ad3c92809fc8bed7f7687cbf03" 1546 | 1547 | js-yaml@3.6.1, js-yaml@^3.5.1: 1548 | version "3.6.1" 1549 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" 1550 | dependencies: 1551 | argparse "^1.0.7" 1552 | esprima "^2.6.0" 1553 | 1554 | jsbn@~0.1.0: 1555 | version "0.1.0" 1556 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" 1557 | 1558 | jsesc@^1.3.0: 1559 | version "1.3.0" 1560 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 1561 | 1562 | json-schema@0.2.3: 1563 | version "0.2.3" 1564 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1565 | 1566 | json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: 1567 | version "1.0.1" 1568 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1569 | dependencies: 1570 | jsonify "~0.0.0" 1571 | 1572 | json-stringify-safe@~5.0.1: 1573 | version "5.0.1" 1574 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1575 | 1576 | json3@3.3.2: 1577 | version "3.3.2" 1578 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 1579 | 1580 | jsonify@~0.0.0: 1581 | version "0.0.0" 1582 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1583 | 1584 | jsonpointer@^4.0.0: 1585 | version "4.0.0" 1586 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" 1587 | 1588 | jsprim@^1.2.2: 1589 | version "1.3.1" 1590 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" 1591 | dependencies: 1592 | extsprintf "1.0.2" 1593 | json-schema "0.2.3" 1594 | verror "1.3.6" 1595 | 1596 | kind-of@^3.0.2: 1597 | version "3.0.4" 1598 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" 1599 | dependencies: 1600 | is-buffer "^1.0.2" 1601 | 1602 | latest-version@^3.0.0: 1603 | version "3.1.0" 1604 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" 1605 | dependencies: 1606 | package-json "^4.0.0" 1607 | 1608 | lazy-cache@^1.0.3: 1609 | version "1.0.4" 1610 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 1611 | 1612 | lazy-req@^2.0.0: 1613 | version "2.0.0" 1614 | resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-2.0.0.tgz#c9450a363ecdda2e6f0c70132ad4f37f8f06f2b4" 1615 | 1616 | lcid@^1.0.0: 1617 | version "1.0.0" 1618 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1619 | dependencies: 1620 | invert-kv "^1.0.0" 1621 | 1622 | lcov-parse@0.0.10: 1623 | version "0.0.10" 1624 | resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3" 1625 | 1626 | levn@^0.3.0, levn@~0.3.0: 1627 | version "0.3.0" 1628 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1629 | dependencies: 1630 | prelude-ls "~1.1.2" 1631 | type-check "~0.3.2" 1632 | 1633 | load-json-file@^1.0.0: 1634 | version "1.1.0" 1635 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 1636 | dependencies: 1637 | graceful-fs "^4.1.2" 1638 | parse-json "^2.2.0" 1639 | pify "^2.0.0" 1640 | pinkie-promise "^2.0.0" 1641 | strip-bom "^2.0.0" 1642 | 1643 | load-json-file@^2.0.0: 1644 | version "2.0.0" 1645 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 1646 | dependencies: 1647 | graceful-fs "^4.1.2" 1648 | parse-json "^2.2.0" 1649 | pify "^2.0.0" 1650 | strip-bom "^3.0.0" 1651 | 1652 | lodash._baseassign@^3.0.0: 1653 | version "3.2.0" 1654 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" 1655 | dependencies: 1656 | lodash._basecopy "^3.0.0" 1657 | lodash.keys "^3.0.0" 1658 | 1659 | lodash._basecopy@^3.0.0: 1660 | version "3.0.1" 1661 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 1662 | 1663 | lodash._basecreate@^3.0.0: 1664 | version "3.0.3" 1665 | resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" 1666 | 1667 | lodash._getnative@^3.0.0: 1668 | version "3.9.1" 1669 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 1670 | 1671 | lodash._isiterateecall@^3.0.0: 1672 | version "3.0.9" 1673 | resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" 1674 | 1675 | lodash.camelcase@^4.1.1: 1676 | version "4.3.0" 1677 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 1678 | 1679 | lodash.cond@^4.3.0: 1680 | version "4.5.2" 1681 | resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" 1682 | 1683 | lodash.create@3.1.1: 1684 | version "3.1.1" 1685 | resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" 1686 | dependencies: 1687 | lodash._baseassign "^3.0.0" 1688 | lodash._basecreate "^3.0.0" 1689 | lodash._isiterateecall "^3.0.0" 1690 | 1691 | lodash.isarguments@^3.0.0: 1692 | version "3.1.0" 1693 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 1694 | 1695 | lodash.isarray@^3.0.0: 1696 | version "3.0.4" 1697 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 1698 | 1699 | lodash.isequal@^4.4.0: 1700 | version "4.5.0" 1701 | resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" 1702 | 1703 | lodash.kebabcase@^4.0.1: 1704 | version "4.1.1" 1705 | resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" 1706 | 1707 | lodash.keys@^3.0.0: 1708 | version "3.1.2" 1709 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 1710 | dependencies: 1711 | lodash._getnative "^3.0.0" 1712 | lodash.isarguments "^3.0.0" 1713 | lodash.isarray "^3.0.0" 1714 | 1715 | lodash.snakecase@^4.0.1: 1716 | version "4.1.1" 1717 | resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" 1718 | 1719 | lodash.upperfirst@^4.2.0: 1720 | version "4.3.1" 1721 | resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" 1722 | 1723 | lodash@^4.0.0, lodash@^4.13.1, lodash@^4.2.0, lodash@^4.3.0: 1724 | version "4.17.2" 1725 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42" 1726 | 1727 | log-driver@1.2.5: 1728 | version "1.2.5" 1729 | resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.5.tgz#7ae4ec257302fd790d557cb10c97100d857b0056" 1730 | 1731 | log-symbols@^1.0.2: 1732 | version "1.0.2" 1733 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" 1734 | dependencies: 1735 | chalk "^1.0.0" 1736 | 1737 | longest@^1.0.1: 1738 | version "1.0.1" 1739 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 1740 | 1741 | loose-envify@^1.0.0: 1742 | version "1.3.0" 1743 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" 1744 | dependencies: 1745 | js-tokens "^2.0.0" 1746 | 1747 | loud-rejection@^1.0.0: 1748 | version "1.6.0" 1749 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 1750 | dependencies: 1751 | currently-unhandled "^0.4.1" 1752 | signal-exit "^3.0.0" 1753 | 1754 | lowercase-keys@^1.0.0: 1755 | version "1.0.0" 1756 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 1757 | 1758 | lru-cache@^4.0.0, lru-cache@^4.0.1: 1759 | version "4.0.1" 1760 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.1.tgz#1343955edaf2e37d9b9e7ee7241e27c4b9fb72be" 1761 | dependencies: 1762 | pseudomap "^1.0.1" 1763 | yallist "^2.0.0" 1764 | 1765 | map-obj@^1.0.0, map-obj@^1.0.1: 1766 | version "1.0.1" 1767 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1768 | 1769 | md5-hex@^1.2.0: 1770 | version "1.3.0" 1771 | resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" 1772 | dependencies: 1773 | md5-o-matic "^0.1.1" 1774 | 1775 | md5-o-matic@^0.1.1: 1776 | version "0.1.1" 1777 | resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" 1778 | 1779 | mem@^0.1.0: 1780 | version "0.1.1" 1781 | resolved "https://registry.yarnpkg.com/mem/-/mem-0.1.1.tgz#24df988c3102b03c074c1b296239c5b2e6647825" 1782 | 1783 | meow@^3.4.2: 1784 | version "3.7.0" 1785 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 1786 | dependencies: 1787 | camelcase-keys "^2.0.0" 1788 | decamelize "^1.1.2" 1789 | loud-rejection "^1.0.0" 1790 | map-obj "^1.0.1" 1791 | minimist "^1.1.3" 1792 | normalize-package-data "^2.3.4" 1793 | object-assign "^4.0.1" 1794 | read-pkg-up "^1.0.1" 1795 | redent "^1.0.0" 1796 | trim-newlines "^1.0.0" 1797 | 1798 | merge-source-map@^1.0.2: 1799 | version "1.0.3" 1800 | resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" 1801 | dependencies: 1802 | source-map "^0.5.3" 1803 | 1804 | micromatch@^2.3.11: 1805 | version "2.3.11" 1806 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1807 | dependencies: 1808 | arr-diff "^2.0.0" 1809 | array-unique "^0.2.1" 1810 | braces "^1.8.2" 1811 | expand-brackets "^0.1.4" 1812 | extglob "^0.3.1" 1813 | filename-regex "^2.0.0" 1814 | is-extglob "^1.0.0" 1815 | is-glob "^2.0.1" 1816 | kind-of "^3.0.2" 1817 | normalize-path "^2.0.1" 1818 | object.omit "^2.0.0" 1819 | parse-glob "^3.0.4" 1820 | regex-cache "^0.4.2" 1821 | 1822 | mime-db@~1.25.0: 1823 | version "1.25.0" 1824 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" 1825 | 1826 | mime-types@^2.1.11, mime-types@~2.1.7: 1827 | version "2.1.13" 1828 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" 1829 | dependencies: 1830 | mime-db "~1.25.0" 1831 | 1832 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3: 1833 | version "3.0.3" 1834 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 1835 | dependencies: 1836 | brace-expansion "^1.0.0" 1837 | 1838 | minimist@0.0.8, minimist@~0.0.1: 1839 | version "0.0.8" 1840 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1841 | 1842 | minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0: 1843 | version "1.2.0" 1844 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1845 | 1846 | mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: 1847 | version "0.5.1" 1848 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1849 | dependencies: 1850 | minimist "0.0.8" 1851 | 1852 | mocha@3.2.0: 1853 | version "3.2.0" 1854 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" 1855 | dependencies: 1856 | browser-stdout "1.3.0" 1857 | commander "2.9.0" 1858 | debug "2.2.0" 1859 | diff "1.4.0" 1860 | escape-string-regexp "1.0.5" 1861 | glob "7.0.5" 1862 | growl "1.9.2" 1863 | json3 "3.3.2" 1864 | lodash.create "3.1.1" 1865 | mkdirp "0.5.1" 1866 | supports-color "3.1.2" 1867 | 1868 | mock-fs@^4.0.0: 1869 | version "4.3.0" 1870 | resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.3.0.tgz#c2fab8d784283287e9b6ae7538f2dc56c1a05ed7" 1871 | 1872 | ms@0.7.1: 1873 | version "0.7.1" 1874 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 1875 | 1876 | multimatch@^2.1.0: 1877 | version "2.1.0" 1878 | resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" 1879 | dependencies: 1880 | array-differ "^1.0.0" 1881 | array-union "^1.0.1" 1882 | arrify "^1.0.0" 1883 | minimatch "^3.0.0" 1884 | 1885 | mute-stream@0.0.5: 1886 | version "0.0.5" 1887 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" 1888 | 1889 | natural-compare@^1.4.0: 1890 | version "1.4.0" 1891 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1892 | 1893 | node-uuid@~1.4.7: 1894 | version "1.4.7" 1895 | resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" 1896 | 1897 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 1898 | version "2.3.5" 1899 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" 1900 | dependencies: 1901 | hosted-git-info "^2.1.4" 1902 | is-builtin-module "^1.0.0" 1903 | semver "2 || 3 || 4 || 5" 1904 | validate-npm-package-license "^3.0.1" 1905 | 1906 | normalize-path@^2.0.1: 1907 | version "2.0.1" 1908 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" 1909 | 1910 | npm-run-path@^1.0.0: 1911 | version "1.0.0" 1912 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" 1913 | dependencies: 1914 | path-key "^1.0.0" 1915 | 1916 | npm-run-path@^2.0.0: 1917 | version "2.0.2" 1918 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 1919 | dependencies: 1920 | path-key "^2.0.0" 1921 | 1922 | number-is-nan@^1.0.0: 1923 | version "1.0.1" 1924 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1925 | 1926 | nyc@^10.0.0: 1927 | version "10.0.0" 1928 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.0.0.tgz#95bd4a2c3487f33e1e78f213c6d5a53d88074ce6" 1929 | dependencies: 1930 | archy "^1.0.0" 1931 | arrify "^1.0.1" 1932 | caching-transform "^1.0.0" 1933 | convert-source-map "^1.3.0" 1934 | debug-log "^1.0.1" 1935 | default-require-extensions "^1.0.0" 1936 | find-cache-dir "^0.1.1" 1937 | find-up "^1.1.2" 1938 | foreground-child "^1.5.3" 1939 | glob "^7.0.6" 1940 | istanbul-lib-coverage "^1.0.0" 1941 | istanbul-lib-hook "^1.0.0-alpha.4" 1942 | istanbul-lib-instrument "^1.3.0" 1943 | istanbul-lib-report "^1.0.0-alpha.3" 1944 | istanbul-lib-source-maps "^1.1.0" 1945 | istanbul-reports "^1.0.0" 1946 | md5-hex "^1.2.0" 1947 | merge-source-map "^1.0.2" 1948 | micromatch "^2.3.11" 1949 | mkdirp "^0.5.0" 1950 | resolve-from "^2.0.0" 1951 | rimraf "^2.5.4" 1952 | signal-exit "^3.0.1" 1953 | spawn-wrap "^1.2.4" 1954 | test-exclude "^3.3.0" 1955 | yargs "^6.4.0" 1956 | yargs-parser "^4.0.2" 1957 | 1958 | oauth-sign@~0.8.1: 1959 | version "0.8.2" 1960 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1961 | 1962 | obj-props@^1.0.0: 1963 | version "1.1.0" 1964 | resolved "https://registry.yarnpkg.com/obj-props/-/obj-props-1.1.0.tgz#626313faa442befd4a44e9a02c3cb6bde937b511" 1965 | 1966 | object-assign@^4.0.1, object-assign@^4.1.0: 1967 | version "4.1.0" 1968 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" 1969 | 1970 | object.omit@^2.0.0: 1971 | version "2.0.1" 1972 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1973 | dependencies: 1974 | for-own "^0.1.4" 1975 | is-extendable "^0.1.1" 1976 | 1977 | once@^1.3.0: 1978 | version "1.4.0" 1979 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1980 | dependencies: 1981 | wrappy "1" 1982 | 1983 | onetime@^1.0.0: 1984 | version "1.1.0" 1985 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 1986 | 1987 | optimist@^0.6.1: 1988 | version "0.6.1" 1989 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1990 | dependencies: 1991 | minimist "~0.0.1" 1992 | wordwrap "~0.0.2" 1993 | 1994 | optionator@^0.8.2: 1995 | version "0.8.2" 1996 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 1997 | dependencies: 1998 | deep-is "~0.1.3" 1999 | fast-levenshtein "~2.0.4" 2000 | levn "~0.3.0" 2001 | prelude-ls "~1.1.2" 2002 | type-check "~0.3.2" 2003 | wordwrap "~1.0.0" 2004 | 2005 | os-homedir@^1.0.0, os-homedir@^1.0.1: 2006 | version "1.0.2" 2007 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2008 | 2009 | os-locale@^1.4.0: 2010 | version "1.4.0" 2011 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 2012 | dependencies: 2013 | lcid "^1.0.0" 2014 | 2015 | package-json@^4.0.0: 2016 | version "4.0.1" 2017 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" 2018 | dependencies: 2019 | got "^6.7.1" 2020 | registry-auth-token "^3.0.1" 2021 | registry-url "^3.0.3" 2022 | semver "^5.1.0" 2023 | 2024 | parse-gitignore@^0.3.1: 2025 | version "0.3.1" 2026 | resolved "https://registry.yarnpkg.com/parse-gitignore/-/parse-gitignore-0.3.1.tgz#09adda265a4a5be2ce5e905b95a02f7f0e0044fa" 2027 | dependencies: 2028 | array-unique "^0.2.1" 2029 | is-glob "^2.0.1" 2030 | 2031 | parse-glob@^3.0.4: 2032 | version "3.0.4" 2033 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2034 | dependencies: 2035 | glob-base "^0.3.0" 2036 | is-dotfile "^1.0.0" 2037 | is-extglob "^1.0.0" 2038 | is-glob "^2.0.0" 2039 | 2040 | parse-json@^2.2.0: 2041 | version "2.2.0" 2042 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2043 | dependencies: 2044 | error-ex "^1.2.0" 2045 | 2046 | path-exists@^2.0.0: 2047 | version "2.1.0" 2048 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2049 | dependencies: 2050 | pinkie-promise "^2.0.0" 2051 | 2052 | path-exists@^3.0.0: 2053 | version "3.0.0" 2054 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2055 | 2056 | path-is-absolute@^1.0.0: 2057 | version "1.0.1" 2058 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2059 | 2060 | path-is-inside@^1.0.1: 2061 | version "1.0.2" 2062 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2063 | 2064 | path-key@^1.0.0: 2065 | version "1.0.0" 2066 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af" 2067 | 2068 | path-key@^2.0.0: 2069 | version "2.0.1" 2070 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2071 | 2072 | path-parse@^1.0.5: 2073 | version "1.0.5" 2074 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 2075 | 2076 | path-type@^1.0.0: 2077 | version "1.1.0" 2078 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2079 | dependencies: 2080 | graceful-fs "^4.1.2" 2081 | pify "^2.0.0" 2082 | pinkie-promise "^2.0.0" 2083 | 2084 | path-type@^2.0.0: 2085 | version "2.0.0" 2086 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2087 | dependencies: 2088 | pify "^2.0.0" 2089 | 2090 | pify@^2.0.0: 2091 | version "2.3.0" 2092 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2093 | 2094 | pinkie-promise@^2.0.0: 2095 | version "2.0.1" 2096 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2097 | dependencies: 2098 | pinkie "^2.0.0" 2099 | 2100 | pinkie@^2.0.0: 2101 | version "2.0.4" 2102 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2103 | 2104 | pkg-conf@^2.0.0: 2105 | version "2.0.0" 2106 | resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" 2107 | dependencies: 2108 | find-up "^2.0.0" 2109 | load-json-file "^2.0.0" 2110 | 2111 | pkg-dir@^1.0.0: 2112 | version "1.0.0" 2113 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" 2114 | dependencies: 2115 | find-up "^1.0.0" 2116 | 2117 | pkg-up@^1.0.0: 2118 | version "1.0.0" 2119 | resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" 2120 | dependencies: 2121 | find-up "^1.0.0" 2122 | 2123 | plur@^2.1.2: 2124 | version "2.1.2" 2125 | resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" 2126 | dependencies: 2127 | irregular-plurals "^1.0.0" 2128 | 2129 | pluralize@^1.2.1: 2130 | version "1.2.1" 2131 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" 2132 | 2133 | prelude-ls@~1.1.2: 2134 | version "1.1.2" 2135 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2136 | 2137 | prepend-http@^1.0.1: 2138 | version "1.0.4" 2139 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 2140 | 2141 | preserve@^0.2.0: 2142 | version "0.2.0" 2143 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2144 | 2145 | process-nextick-args@~1.0.6: 2146 | version "1.0.7" 2147 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 2148 | 2149 | progress@^1.1.8: 2150 | version "1.1.8" 2151 | resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" 2152 | 2153 | proto-props@^0.2.0: 2154 | version "0.2.1" 2155 | resolved "https://registry.yarnpkg.com/proto-props/-/proto-props-0.2.1.tgz#5e01dc2675a0de9abfa76e799dfa334d6f483f4b" 2156 | 2157 | pseudomap@^1.0.1: 2158 | version "1.0.2" 2159 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2160 | 2161 | punycode@^1.4.1: 2162 | version "1.4.1" 2163 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2164 | 2165 | qs@~6.2.0: 2166 | version "6.2.1" 2167 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" 2168 | 2169 | randomatic@^1.1.3: 2170 | version "1.1.6" 2171 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" 2172 | dependencies: 2173 | is-number "^2.0.2" 2174 | kind-of "^3.0.2" 2175 | 2176 | rc@^1.0.1, rc@^1.1.6: 2177 | version "1.1.6" 2178 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" 2179 | dependencies: 2180 | deep-extend "~0.4.0" 2181 | ini "~1.3.0" 2182 | minimist "^1.2.0" 2183 | strip-json-comments "~1.0.4" 2184 | 2185 | read-pkg-up@^1.0.1: 2186 | version "1.0.1" 2187 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 2188 | dependencies: 2189 | find-up "^1.0.0" 2190 | read-pkg "^1.0.0" 2191 | 2192 | read-pkg-up@^2.0.0: 2193 | version "2.0.0" 2194 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 2195 | dependencies: 2196 | find-up "^2.0.0" 2197 | read-pkg "^2.0.0" 2198 | 2199 | read-pkg@^1.0.0: 2200 | version "1.1.0" 2201 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 2202 | dependencies: 2203 | load-json-file "^1.0.0" 2204 | normalize-package-data "^2.3.2" 2205 | path-type "^1.0.0" 2206 | 2207 | read-pkg@^2.0.0: 2208 | version "2.0.0" 2209 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2210 | dependencies: 2211 | load-json-file "^2.0.0" 2212 | normalize-package-data "^2.3.2" 2213 | path-type "^2.0.0" 2214 | 2215 | readable-stream@^2.2.2: 2216 | version "2.2.9" 2217 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" 2218 | dependencies: 2219 | buffer-shims "~1.0.0" 2220 | core-util-is "~1.0.0" 2221 | inherits "~2.0.1" 2222 | isarray "~1.0.0" 2223 | process-nextick-args "~1.0.6" 2224 | string_decoder "~1.0.0" 2225 | util-deprecate "~1.0.1" 2226 | 2227 | readable-stream@~2.0.5: 2228 | version "2.0.6" 2229 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 2230 | dependencies: 2231 | core-util-is "~1.0.0" 2232 | inherits "~2.0.1" 2233 | isarray "~1.0.0" 2234 | process-nextick-args "~1.0.6" 2235 | string_decoder "~0.10.x" 2236 | util-deprecate "~1.0.1" 2237 | 2238 | readline2@^1.0.1: 2239 | version "1.0.1" 2240 | resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" 2241 | dependencies: 2242 | code-point-at "^1.0.0" 2243 | is-fullwidth-code-point "^1.0.0" 2244 | mute-stream "0.0.5" 2245 | 2246 | rechoir@^0.6.2: 2247 | version "0.6.2" 2248 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 2249 | dependencies: 2250 | resolve "^1.1.6" 2251 | 2252 | redent@^1.0.0: 2253 | version "1.0.0" 2254 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 2255 | dependencies: 2256 | indent-string "^2.1.0" 2257 | strip-indent "^1.0.1" 2258 | 2259 | regenerator-runtime@^0.9.5: 2260 | version "0.9.6" 2261 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" 2262 | 2263 | regex-cache@^0.4.2: 2264 | version "0.4.3" 2265 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 2266 | dependencies: 2267 | is-equal-shallow "^0.1.3" 2268 | is-primitive "^2.0.0" 2269 | 2270 | registry-auth-token@^3.0.1: 2271 | version "3.1.0" 2272 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" 2273 | dependencies: 2274 | rc "^1.1.6" 2275 | 2276 | registry-url@^3.0.3: 2277 | version "3.1.0" 2278 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 2279 | dependencies: 2280 | rc "^1.0.1" 2281 | 2282 | repeat-element@^1.1.2: 2283 | version "1.1.2" 2284 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2285 | 2286 | repeat-string@^1.5.2: 2287 | version "1.6.1" 2288 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2289 | 2290 | repeating@^2.0.0: 2291 | version "2.0.1" 2292 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2293 | dependencies: 2294 | is-finite "^1.0.0" 2295 | 2296 | req-all@^1.0.0: 2297 | version "1.0.0" 2298 | resolved "https://registry.yarnpkg.com/req-all/-/req-all-1.0.0.tgz#d128569451c340b432409c656cf166260cd2628d" 2299 | 2300 | request@2.75.0: 2301 | version "2.75.0" 2302 | resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" 2303 | dependencies: 2304 | aws-sign2 "~0.6.0" 2305 | aws4 "^1.2.1" 2306 | bl "~1.1.2" 2307 | caseless "~0.11.0" 2308 | combined-stream "~1.0.5" 2309 | extend "~3.0.0" 2310 | forever-agent "~0.6.1" 2311 | form-data "~2.0.0" 2312 | har-validator "~2.0.6" 2313 | hawk "~3.1.3" 2314 | http-signature "~1.1.0" 2315 | is-typedarray "~1.0.0" 2316 | isstream "~0.1.2" 2317 | json-stringify-safe "~5.0.1" 2318 | mime-types "~2.1.7" 2319 | node-uuid "~1.4.7" 2320 | oauth-sign "~0.8.1" 2321 | qs "~6.2.0" 2322 | stringstream "~0.0.4" 2323 | tough-cookie "~2.3.0" 2324 | tunnel-agent "~0.4.1" 2325 | 2326 | require-directory@^2.1.1: 2327 | version "2.1.1" 2328 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2329 | 2330 | require-main-filename@^1.0.1: 2331 | version "1.0.1" 2332 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2333 | 2334 | require-uncached@^1.0.2: 2335 | version "1.0.3" 2336 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" 2337 | dependencies: 2338 | caller-path "^0.1.0" 2339 | resolve-from "^1.0.0" 2340 | 2341 | resolve-cwd@^1.0.0: 2342 | version "1.0.0" 2343 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" 2344 | dependencies: 2345 | resolve-from "^2.0.0" 2346 | 2347 | resolve-from@^1.0.0: 2348 | version "1.0.1" 2349 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" 2350 | 2351 | resolve-from@^2.0.0: 2352 | version "2.0.0" 2353 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" 2354 | 2355 | resolve@^1.1.6: 2356 | version "1.1.7" 2357 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 2358 | 2359 | restore-cursor@^1.0.1: 2360 | version "1.0.1" 2361 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 2362 | dependencies: 2363 | exit-hook "^1.0.0" 2364 | onetime "^1.0.0" 2365 | 2366 | right-align@^0.1.1: 2367 | version "0.1.3" 2368 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 2369 | dependencies: 2370 | align-text "^0.1.1" 2371 | 2372 | rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4: 2373 | version "2.5.4" 2374 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 2375 | dependencies: 2376 | glob "^7.0.5" 2377 | 2378 | run-async@^0.1.0: 2379 | version "0.1.0" 2380 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" 2381 | dependencies: 2382 | once "^1.3.0" 2383 | 2384 | rx-lite@^3.1.2: 2385 | version "3.1.2" 2386 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" 2387 | 2388 | safe-buffer@^5.0.1: 2389 | version "5.0.1" 2390 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" 2391 | 2392 | semver-diff@^2.0.0: 2393 | version "2.1.0" 2394 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" 2395 | dependencies: 2396 | semver "^5.0.3" 2397 | 2398 | "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: 2399 | version "5.3.0" 2400 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 2401 | 2402 | set-blocking@^2.0.0: 2403 | version "2.0.0" 2404 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2405 | 2406 | shelljs@^0.7.5: 2407 | version "0.7.5" 2408 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.5.tgz#2eef7a50a21e1ccf37da00df767ec69e30ad0675" 2409 | dependencies: 2410 | glob "^7.0.0" 2411 | interpret "^1.0.0" 2412 | rechoir "^0.6.2" 2413 | 2414 | signal-exit@^2.0.0: 2415 | version "2.1.2" 2416 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" 2417 | 2418 | signal-exit@^3.0.0, signal-exit@^3.0.1: 2419 | version "3.0.1" 2420 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" 2421 | 2422 | slice-ansi@0.0.4: 2423 | version "0.0.4" 2424 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" 2425 | 2426 | slide@^1.1.5: 2427 | version "1.1.6" 2428 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 2429 | 2430 | sntp@1.x.x: 2431 | version "1.0.9" 2432 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 2433 | dependencies: 2434 | hoek "2.x.x" 2435 | 2436 | sort-keys@^1.1.1: 2437 | version "1.1.2" 2438 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" 2439 | dependencies: 2440 | is-plain-obj "^1.0.0" 2441 | 2442 | source-map@^0.4.4: 2443 | version "0.4.4" 2444 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 2445 | dependencies: 2446 | amdefine ">=0.0.4" 2447 | 2448 | source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1: 2449 | version "0.5.6" 2450 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 2451 | 2452 | spawn-wrap@^1.2.4: 2453 | version "1.2.4" 2454 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.2.4.tgz#920eb211a769c093eebfbd5b0e7a5d2e68ab2e40" 2455 | dependencies: 2456 | foreground-child "^1.3.3" 2457 | mkdirp "^0.5.0" 2458 | os-homedir "^1.0.1" 2459 | rimraf "^2.3.3" 2460 | signal-exit "^2.0.0" 2461 | which "^1.2.4" 2462 | 2463 | spdx-correct@~1.0.0: 2464 | version "1.0.2" 2465 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 2466 | dependencies: 2467 | spdx-license-ids "^1.0.2" 2468 | 2469 | spdx-expression-parse@~1.0.0: 2470 | version "1.0.4" 2471 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 2472 | 2473 | spdx-license-ids@^1.0.2: 2474 | version "1.2.2" 2475 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 2476 | 2477 | sprintf-js@~1.0.2: 2478 | version "1.0.3" 2479 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2480 | 2481 | sshpk@^1.7.0: 2482 | version "1.10.1" 2483 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" 2484 | dependencies: 2485 | asn1 "~0.2.3" 2486 | assert-plus "^1.0.0" 2487 | dashdash "^1.12.0" 2488 | getpass "^0.1.1" 2489 | optionalDependencies: 2490 | bcrypt-pbkdf "^1.0.0" 2491 | ecc-jsbn "~0.1.1" 2492 | jodid25519 "^1.0.0" 2493 | jsbn "~0.1.0" 2494 | tweetnacl "~0.14.0" 2495 | 2496 | string-width@^1.0.1, string-width@^1.0.2: 2497 | version "1.0.2" 2498 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2499 | dependencies: 2500 | code-point-at "^1.0.0" 2501 | is-fullwidth-code-point "^1.0.0" 2502 | strip-ansi "^3.0.0" 2503 | 2504 | string-width@^2.0.0: 2505 | version "2.0.0" 2506 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" 2507 | dependencies: 2508 | is-fullwidth-code-point "^2.0.0" 2509 | strip-ansi "^3.0.0" 2510 | 2511 | string_decoder@~0.10.x: 2512 | version "0.10.31" 2513 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 2514 | 2515 | string_decoder@~1.0.0: 2516 | version "1.0.0" 2517 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" 2518 | dependencies: 2519 | buffer-shims "~1.0.0" 2520 | 2521 | stringstream@~0.0.4: 2522 | version "0.0.5" 2523 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 2524 | 2525 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2526 | version "3.0.1" 2527 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2528 | dependencies: 2529 | ansi-regex "^2.0.0" 2530 | 2531 | strip-bom@^2.0.0: 2532 | version "2.0.0" 2533 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 2534 | dependencies: 2535 | is-utf8 "^0.2.0" 2536 | 2537 | strip-bom@^3.0.0: 2538 | version "3.0.0" 2539 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 2540 | 2541 | strip-eof@^1.0.0: 2542 | version "1.0.0" 2543 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 2544 | 2545 | strip-indent@^1.0.1: 2546 | version "1.0.1" 2547 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 2548 | dependencies: 2549 | get-stdin "^4.0.1" 2550 | 2551 | strip-json-comments@~1.0.4: 2552 | version "1.0.4" 2553 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" 2554 | 2555 | strip-json-comments@~2.0.1: 2556 | version "2.0.1" 2557 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2558 | 2559 | supports-color@3.1.2, supports-color@^3.1.2: 2560 | version "3.1.2" 2561 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" 2562 | dependencies: 2563 | has-flag "^1.0.0" 2564 | 2565 | supports-color@^2.0.0: 2566 | version "2.0.0" 2567 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2568 | 2569 | table@^3.7.8: 2570 | version "3.8.3" 2571 | resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" 2572 | dependencies: 2573 | ajv "^4.7.0" 2574 | ajv-keywords "^1.0.0" 2575 | chalk "^1.1.1" 2576 | lodash "^4.0.0" 2577 | slice-ansi "0.0.4" 2578 | string-width "^2.0.0" 2579 | 2580 | term-size@^0.1.0: 2581 | version "0.1.1" 2582 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-0.1.1.tgz#87360b96396cab5760963714cda0d0cbeecad9ca" 2583 | dependencies: 2584 | execa "^0.4.0" 2585 | 2586 | test-exclude@^3.3.0: 2587 | version "3.3.0" 2588 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977" 2589 | dependencies: 2590 | arrify "^1.0.1" 2591 | micromatch "^2.3.11" 2592 | object-assign "^4.1.0" 2593 | read-pkg-up "^1.0.1" 2594 | require-main-filename "^1.0.1" 2595 | 2596 | text-table@~0.2.0: 2597 | version "0.2.0" 2598 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2599 | 2600 | the-argv@^1.0.0: 2601 | version "1.0.0" 2602 | resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522" 2603 | 2604 | through@^2.3.6: 2605 | version "2.3.8" 2606 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 2607 | 2608 | timed-out@^4.0.0: 2609 | version "4.0.1" 2610 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" 2611 | 2612 | to-fast-properties@^1.0.1: 2613 | version "1.0.2" 2614 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" 2615 | 2616 | tough-cookie@~2.3.0: 2617 | version "2.3.2" 2618 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 2619 | dependencies: 2620 | punycode "^1.4.1" 2621 | 2622 | trim-newlines@^1.0.0: 2623 | version "1.0.0" 2624 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 2625 | 2626 | tryit@^1.0.1: 2627 | version "1.0.3" 2628 | resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" 2629 | 2630 | tunnel-agent@~0.4.1: 2631 | version "0.4.3" 2632 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 2633 | 2634 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2635 | version "0.14.3" 2636 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" 2637 | 2638 | type-check@~0.3.2: 2639 | version "0.3.2" 2640 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 2641 | dependencies: 2642 | prelude-ls "~1.1.2" 2643 | 2644 | type-detect@0.1.1: 2645 | version "0.1.1" 2646 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" 2647 | 2648 | type-detect@^1.0.0: 2649 | version "1.0.0" 2650 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" 2651 | 2652 | typedarray@^0.0.6: 2653 | version "0.0.6" 2654 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 2655 | 2656 | uglify-js@^2.6: 2657 | version "2.7.4" 2658 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2" 2659 | dependencies: 2660 | async "~0.2.6" 2661 | source-map "~0.5.1" 2662 | uglify-to-browserify "~1.0.0" 2663 | yargs "~3.10.0" 2664 | 2665 | uglify-to-browserify@~1.0.0: 2666 | version "1.0.2" 2667 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 2668 | 2669 | underscore@^1.6.0: 2670 | version "1.8.3" 2671 | resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" 2672 | 2673 | unique-string@^1.0.0: 2674 | version "1.0.0" 2675 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" 2676 | dependencies: 2677 | crypto-random-string "^1.0.0" 2678 | 2679 | unzip-response@^2.0.1: 2680 | version "2.0.1" 2681 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" 2682 | 2683 | update-notifier@^2.1.0: 2684 | version "2.1.0" 2685 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.1.0.tgz#ec0c1e53536b76647a24b77cb83966d9315123d9" 2686 | dependencies: 2687 | boxen "^1.0.0" 2688 | chalk "^1.0.0" 2689 | configstore "^3.0.0" 2690 | is-npm "^1.0.0" 2691 | latest-version "^3.0.0" 2692 | lazy-req "^2.0.0" 2693 | semver-diff "^2.0.0" 2694 | xdg-basedir "^3.0.0" 2695 | 2696 | url-parse-lax@^1.0.0: 2697 | version "1.0.0" 2698 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 2699 | dependencies: 2700 | prepend-http "^1.0.1" 2701 | 2702 | user-home@^2.0.0: 2703 | version "2.0.0" 2704 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" 2705 | dependencies: 2706 | os-homedir "^1.0.0" 2707 | 2708 | username@2.x.x: 2709 | version "2.2.2" 2710 | resolved "https://registry.yarnpkg.com/username/-/username-2.2.2.tgz#904ecc6237a47a32bc62f5665d32c4f9ff943637" 2711 | dependencies: 2712 | execa "^0.4.0" 2713 | mem "^0.1.0" 2714 | 2715 | util-deprecate@~1.0.1: 2716 | version "1.0.2" 2717 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2718 | 2719 | validate-npm-package-license@^3.0.1: 2720 | version "3.0.1" 2721 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 2722 | dependencies: 2723 | spdx-correct "~1.0.0" 2724 | spdx-expression-parse "~1.0.0" 2725 | 2726 | verror@1.3.6: 2727 | version "1.3.6" 2728 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 2729 | dependencies: 2730 | extsprintf "1.0.2" 2731 | 2732 | which-module@^1.0.0: 2733 | version "1.0.0" 2734 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 2735 | 2736 | which@^1.2.4, which@^1.2.8, which@^1.2.9: 2737 | version "1.2.12" 2738 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" 2739 | dependencies: 2740 | isexe "^1.1.1" 2741 | 2742 | widest-line@^1.0.0: 2743 | version "1.0.0" 2744 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" 2745 | dependencies: 2746 | string-width "^1.0.1" 2747 | 2748 | window-size@0.1.0: 2749 | version "0.1.0" 2750 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 2751 | 2752 | window-size@^0.2.0: 2753 | version "0.2.0" 2754 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" 2755 | 2756 | wordwrap@0.0.2: 2757 | version "0.0.2" 2758 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 2759 | 2760 | wordwrap@~0.0.2: 2761 | version "0.0.3" 2762 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 2763 | 2764 | wordwrap@~1.0.0: 2765 | version "1.0.0" 2766 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 2767 | 2768 | wrap-ansi@^2.0.0: 2769 | version "2.0.0" 2770 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f" 2771 | dependencies: 2772 | string-width "^1.0.1" 2773 | 2774 | wrappy@1: 2775 | version "1.0.2" 2776 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2777 | 2778 | write-file-atomic@^1.1.2, write-file-atomic@^1.1.4: 2779 | version "1.2.0" 2780 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" 2781 | dependencies: 2782 | graceful-fs "^4.1.2" 2783 | imurmurhash "^0.1.4" 2784 | slide "^1.1.5" 2785 | 2786 | write-json-file@^2.0.0: 2787 | version "2.0.0" 2788 | resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.0.0.tgz#0eaec981fcf9288dbc2806cbd26e06ab9bdca4ed" 2789 | dependencies: 2790 | graceful-fs "^4.1.2" 2791 | mkdirp "^0.5.1" 2792 | pify "^2.0.0" 2793 | sort-keys "^1.1.1" 2794 | write-file-atomic "^1.1.2" 2795 | 2796 | write-pkg@^2.0.0: 2797 | version "2.0.0" 2798 | resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-2.0.0.tgz#93b922ee9a429f9bd74cdc69e549733c9e468156" 2799 | dependencies: 2800 | write-json-file "^2.0.0" 2801 | 2802 | write@^0.2.1: 2803 | version "0.2.1" 2804 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 2805 | dependencies: 2806 | mkdirp "^0.5.1" 2807 | 2808 | xdg-basedir@^3.0.0: 2809 | version "3.0.0" 2810 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" 2811 | 2812 | xo-init@^0.5.0: 2813 | version "0.5.0" 2814 | resolved "https://registry.yarnpkg.com/xo-init/-/xo-init-0.5.0.tgz#8e28dec79676cc5e042fde5fd8f710e2646b0e36" 2815 | dependencies: 2816 | arrify "^1.0.0" 2817 | execa "^0.5.0" 2818 | minimist "^1.1.3" 2819 | path-exists "^3.0.0" 2820 | read-pkg-up "^2.0.0" 2821 | the-argv "^1.0.0" 2822 | write-pkg "^2.0.0" 2823 | 2824 | xo@^0.19.0: 2825 | version "0.19.0" 2826 | resolved "https://registry.yarnpkg.com/xo/-/xo-0.19.0.tgz#ef757f0038c4a7a52e324c2ff89e97b59bb4637a" 2827 | dependencies: 2828 | arrify "^1.0.0" 2829 | debug "^2.2.0" 2830 | deep-assign "^1.0.0" 2831 | eslint "^3.18.0" 2832 | eslint-config-xo "^0.18.0" 2833 | eslint-formatter-pretty "^1.0.0" 2834 | eslint-plugin-ava "^4.2.0" 2835 | eslint-plugin-import "^2.0.0" 2836 | eslint-plugin-no-use-extend-native "^0.3.2" 2837 | eslint-plugin-promise "^3.4.0" 2838 | eslint-plugin-unicorn "^2.1.0" 2839 | get-stdin "^5.0.0" 2840 | globby "^6.0.0" 2841 | has-flag "^2.0.0" 2842 | lodash.isequal "^4.4.0" 2843 | meow "^3.4.2" 2844 | multimatch "^2.1.0" 2845 | parse-gitignore "^0.3.1" 2846 | path-exists "^3.0.0" 2847 | pkg-conf "^2.0.0" 2848 | resolve-cwd "^1.0.0" 2849 | resolve-from "^2.0.0" 2850 | update-notifier "^2.1.0" 2851 | xo-init "^0.5.0" 2852 | 2853 | xtend@^4.0.0: 2854 | version "4.0.1" 2855 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 2856 | 2857 | y18n@^3.2.1: 2858 | version "3.2.1" 2859 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 2860 | 2861 | yallist@^2.0.0: 2862 | version "2.0.0" 2863 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" 2864 | 2865 | yargs-parser@^4.0.2, yargs-parser@^4.1.0: 2866 | version "4.1.0" 2867 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.1.0.tgz#313df030f20124124aeae8fbab2da53ec28c56d7" 2868 | dependencies: 2869 | camelcase "^3.0.0" 2870 | 2871 | yargs-parser@^5.0.0: 2872 | version "5.0.0" 2873 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" 2874 | dependencies: 2875 | camelcase "^3.0.0" 2876 | 2877 | yargs@^6.4.0: 2878 | version "6.4.0" 2879 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" 2880 | dependencies: 2881 | camelcase "^3.0.0" 2882 | cliui "^3.2.0" 2883 | decamelize "^1.1.1" 2884 | get-caller-file "^1.0.1" 2885 | os-locale "^1.4.0" 2886 | read-pkg-up "^1.0.1" 2887 | require-directory "^2.1.1" 2888 | require-main-filename "^1.0.1" 2889 | set-blocking "^2.0.0" 2890 | string-width "^1.0.2" 2891 | which-module "^1.0.0" 2892 | window-size "^0.2.0" 2893 | y18n "^3.2.1" 2894 | yargs-parser "^4.1.0" 2895 | 2896 | yargs@^7.0.1: 2897 | version "7.1.0" 2898 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" 2899 | dependencies: 2900 | camelcase "^3.0.0" 2901 | cliui "^3.2.0" 2902 | decamelize "^1.1.1" 2903 | get-caller-file "^1.0.1" 2904 | os-locale "^1.4.0" 2905 | read-pkg-up "^1.0.1" 2906 | require-directory "^2.1.1" 2907 | require-main-filename "^1.0.1" 2908 | set-blocking "^2.0.0" 2909 | string-width "^1.0.2" 2910 | which-module "^1.0.0" 2911 | y18n "^3.2.1" 2912 | yargs-parser "^5.0.0" 2913 | 2914 | yargs@~3.10.0: 2915 | version "3.10.0" 2916 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 2917 | dependencies: 2918 | camelcase "^1.0.2" 2919 | cliui "^2.1.0" 2920 | decamelize "^1.0.0" 2921 | window-size "0.1.0" 2922 | --------------------------------------------------------------------------------