├── .gitignore ├── .npmignore ├── README.md ├── bin ├── build.js ├── cli.js └── rewritefiles.js ├── package.json ├── src ├── bin │ ├── build.js │ └── cli.js └── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dabit3/create-new-cli/cba18c748f4fad1c720c342fed64b97a3d61be20/.npmignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Create New CLI](http://i.imgur.com/fz12yVT.png) 2 | 3 | ### CLI Project Generator 4 | 5 | With the rise in the popularity of projects like Create React App, Angular CLI, and Ionic CLI, as well as the productivity these clis bring to the table, there should be an easy way for developers to create their own CLI using boilerplates and also to introduce them to the world of CLI creation. 6 | 7 | This project will allow developers to easily and quickly create CLIs that give them the most basic functionality in just a few seconds, and publish their projects to npm for users to install and start using right away. 8 | 9 | ### Check out this video walkthrough that will show you how to create a new CLI using create-new-cli 10 | [![](http://i.imgur.com/F7fx2c6.png)](https://www.youtube.com/watch?v=gSZGWQS8aZ0) 11 | 12 | ## To create and publish your own CLI: 13 | 14 | 1. Install create-new-cli globally 15 | ``` 16 | npm i -g create-new-cli 17 | ``` 18 | 19 | 2. Create a new cli following the commmand prompts by running the create-new-cli command 20 | ``` 21 | create-new-cli 22 | ``` 23 | 24 | ##### In the above step, we will create a name and a command for our cli. The name will be the folder created for our project, and the command will be what the application is registered as in the npm registry, which will be the name field in our newly created package.json. 25 | 26 | ##### We will reference these two items as `` and `` in the following steps. 27 | 28 | 3. CD into newly created project directory 29 | ``` 30 | cd 31 | ``` 32 | 33 | 4. Publish to npm (or link to test locally) 34 | ``` 35 | npm publish OR npm link 36 | ``` 37 | 38 | 5. Install new cli globally on your own machine (skip this step if you ran npm link) 39 | ``` 40 | npm i -g 41 | ``` 42 | 43 | 6. Create new application using your new CLI 44 | ``` 45 | MyAppName 46 | ```` 47 | 48 | -------------------------------------------------------------------------------- /bin/build.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('shelljs/global'); 4 | const paths = require('path'); 5 | const figlet = require('figlet'); 6 | const chalk = require('chalk'); 7 | const execSync = require('child_process').execSync; 8 | const spawn = require('cross-spawn'); 9 | const Git = require("nodegit"); 10 | const fs = require('fs'); 11 | 12 | const commands = require('./rewritefiles'); 13 | 14 | function shouldUseYarn() { 15 | try { 16 | execSync('yarnpkg --version', { stdio: 'ignore' }); 17 | return true; 18 | } catch (e) { 19 | return false; 20 | } 21 | } 22 | 23 | const installPackages = () => { 24 | console.log(chalk.white.bold('Installing Packages')); 25 | return new Promise((resolve, reject) => { 26 | let command; 27 | let args = ['install']; 28 | 29 | if (shouldUseYarn()) { 30 | command = 'yarn'; 31 | } else { 32 | command = 'npm'; 33 | } 34 | 35 | const child = spawn(command, args, { stdio: 'inherit' }); 36 | child.on('close', code => { 37 | if (code !== 0) { 38 | reject({ 39 | command: `${command} ${args.join(' ')}` 40 | }); 41 | return; 42 | } 43 | resolve(); 44 | }) 45 | }) 46 | } 47 | 48 | const build = (appName, author, command, repo = false) => { 49 | cp('-r', __dirname + '/../src/.', appName); 50 | if (repo) { 51 | Git.Clone(repo, `${appName}/src`) 52 | .then(repository => { 53 | doReWrites(appName, author, command) 54 | }) 55 | } else { 56 | mkdir(`${appName}/src`) 57 | doReWrites(appName, author, command) 58 | } 59 | } 60 | 61 | function doReWrites(appName, author, command) { 62 | commands.rewritePackageJson(`${appName}/package.json`, author, command) 63 | .then(() => { 64 | commands.rewriteBuild(`${appName}/bin/build.js`, appName) 65 | .then(() => { 66 | cd(appName); 67 | installPackages() 68 | .then(() => { 69 | console.log('installed all packages..') 70 | console.log('----------------------------------------------------------'); 71 | figlet(`${appName}`, function(err, data) { 72 | if (err) { 73 | console.log('error...', err) 74 | return; 75 | } 76 | console.log(data) 77 | }); 78 | console.log(chalk.green(`Congratulations, ${appName} has now been successfully generated...`)) 79 | }) 80 | .catch(error => { 81 | console.log(chalk.red('An unexpected error occurred')) 82 | console.log(chalk.red(error)); 83 | }); 84 | }) 85 | }) 86 | } 87 | 88 | module.exports = build -------------------------------------------------------------------------------- /bin/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const program = require('commander'); 4 | const chalk = require('chalk'); 5 | const inquirer = require('inquirer'); 6 | const dashify = require('dashify'); 7 | 8 | const build = require('./build'); 9 | const pkg = require('../package.json'); 10 | 11 | let projectName; 12 | let helpCalled = false; 13 | 14 | program 15 | .version(pkg.version) 16 | .action(name => { 17 | projectName = name; 18 | }) 19 | 20 | program.on('--help', function() { 21 | help(); 22 | helpCalled = true; 23 | }); 24 | 25 | const isRepoPrompt = { 26 | type: 'list', 27 | name: 'isrepo', 28 | message: 'Would you like your project to be fetched from a git repo, or would you like to place your project from an existing folder?', 29 | choices: ['folder', 'repo'], 30 | }; 31 | 32 | const commandPrompt = { 33 | type: 'string', 34 | name: 'command', 35 | message: 'Please enter desired command to generate your CLI (kebab-case):', 36 | }; 37 | 38 | const namePrompt = { 39 | type: 'string', 40 | name: 'name', 41 | message: 'Name of your CLI? (CamelCase)', 42 | }; 43 | 44 | const authorPrompt = { 45 | type: 'string', 46 | name: 'author', 47 | message: 'CLI author name:', 48 | }; 49 | 50 | setImmediate(() => { 51 | if (!helpCalled) { 52 | console.log(''); 53 | console.log("Let's get started creating your new CLI.") 54 | console.log(''); 55 | 56 | inquirer.prompt([ 57 | commandPrompt, 58 | namePrompt, 59 | isRepoPrompt, 60 | authorPrompt, 61 | ]).then(answers => { 62 | const command = dashify(answers.command); 63 | const name = answers.name; 64 | const isRepo = answers.isrepo === 'repo'; 65 | const author = answers.author; 66 | 67 | if (isRepo) { 68 | repoPrompt(name, author, command) 69 | } else ( 70 | build(name, author, command) 71 | ) 72 | }) 73 | } 74 | }) 75 | 76 | function help() { 77 | console.log(''); 78 | console.log(` No arguments are required.`); 79 | console.log(''); 80 | console.log(` If you have any issues or requests, please file an issue at ${chalk.cyan('https://github.com/dabit3/create-new-cli/issues')}`); 81 | console.log(''); 82 | } 83 | 84 | function repoPrompt(name, author, command) { 85 | const gitPrompt = { 86 | type: 'string', 87 | name: 'repo', 88 | message: 'Base repo for your project (git url, use https):', 89 | }; 90 | inquirer.prompt([ 91 | gitPrompt 92 | ]) 93 | .then(answers => { 94 | const repo = answers.repo 95 | inquirer.prompt([ 96 | { 97 | type: 'confirm', 98 | name: 'confirmation', 99 | message: `CLI name: ${name}. Repo: ${answers.repo}. Author: ${author}.` 100 | } 101 | ]) 102 | .then(answers => { 103 | if (answers.confirmation) { 104 | build(name, author, command, repo) 105 | } else { 106 | console.log('Please try again.') 107 | } 108 | }) 109 | }) 110 | } 111 | 112 | program.parse(process.argv); 113 | 114 | -------------------------------------------------------------------------------- /bin/rewritefiles.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | const commands = {}; 4 | 5 | const rewritePackageJson = (file, author, name) => { 6 | return new Promise((resolve, reject) => { 7 | fs.readFile(file, 'utf8', function (err,data) { 8 | if (err) { 9 | return console.log(err); 10 | } 11 | let result1 = data.replace(/"name": "",/g, `"name": "${name}",`); 12 | const result2 = result1.replace(/"author": "",/g, `"author": "${author}",`); 13 | 14 | fs.writeFile(file, result2, 'utf8', function (err) { 15 | if (err) return console.log(err); 16 | resolve(); 17 | }); 18 | }); 19 | }) 20 | } 21 | 22 | const rewriteBuild = (file, name) => { 23 | return new Promise((resolve, reject) => { 24 | fs.readFile(file, 'utf8', function (err,data) { 25 | if (err) { 26 | return console.log(err); 27 | } 28 | let result = data.replace(/PROJECTNAME/g, `${name}`); 29 | 30 | fs.writeFile(file, result, 'utf8', function (err) { 31 | if (err) return console.log(err); 32 | resolve(); 33 | }); 34 | }); 35 | }) 36 | } 37 | 38 | commands.rewritePackageJson = rewritePackageJson; 39 | commands.rewriteBuild = rewriteBuild; 40 | 41 | module.exports = commands; 42 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "create-new-cli", 3 | "version": "0.1.6", 4 | "description": "Nodejs Project CLI Generator", 5 | "bin": "bin/cli.js", 6 | "main": "index.js", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "author": "nader dabit", 11 | "license": "ISC", 12 | "dependencies": { 13 | "chalk": "^1.1.3", 14 | "commander": "^2.9.0", 15 | "cross-spawn": "^5.1.0", 16 | "dashify": "^0.2.2", 17 | "figlet": "^1.2.0", 18 | "inquirer": "^3.1.0", 19 | "nodegit": "^0.18.3", 20 | "shelljs": "^0.7.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/bin/build.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('shelljs/global'); 4 | const path = require('path'); 5 | const fs = require('fs'); 6 | const figlet = require('figlet'); 7 | const chalk = require('chalk'); 8 | const execSync = require('child_process').execSync; 9 | const spawn = require('cross-spawn'); 10 | 11 | function shouldUseYarn() { 12 | try { 13 | execSync('yarnpkg --version', { stdio: 'ignore' }); 14 | return true; 15 | } catch (e) { 16 | return false; 17 | } 18 | } 19 | 20 | const installPackages = () => { 21 | console.log(chalk.white.bold('Installing Packages')); 22 | return new Promise((resolve, reject) => { 23 | let command; 24 | let args = ['install']; 25 | 26 | if (shouldUseYarn()) { 27 | command = 'yarn'; 28 | } else { 29 | command = 'npm'; 30 | } 31 | 32 | const child = spawn(command, args, { stdio: 'inherit' }); 33 | child.on('close', code => { 34 | if (code !== 0) { 35 | reject({ 36 | command: `${command} ${args.join(' ')}` 37 | }); 38 | return; 39 | } 40 | resolve(); 41 | }) 42 | }) 43 | } 44 | 45 | const build = (appName) => { 46 | cp('-r', __dirname + '/../src/.', appName); 47 | console.log('----------------------------------------------------------'); 48 | figlet('PROJECTNAME', function(err, data) { 49 | if (err) { 50 | return; 51 | } 52 | console.log(data); 53 | console.log('----------------------------------------------------------'); 54 | console.log(chalk.white.bold('Welcome to PROJECTNAME')); 55 | console.log('----------------------------------------------------------'); 56 | cd(appName); 57 | installPackages().then(() => { 58 | console.log(chalk.white.bold('Let\'s get started')); 59 | console.log(chalk.green('Step 1: cd into the newly created ' + appName + ' directory')); 60 | console.log('----------------------------------------------------------'); 61 | // add your own custom messages here. 62 | console.log('----------------------------------------------------------'); 63 | }) 64 | .catch(error => { 65 | console.log(chalk.red('An unexpected error occurred')) 66 | console.log(chalk.red(error)); 67 | }); 68 | }); 69 | } 70 | 71 | module.exports = build; -------------------------------------------------------------------------------- /src/bin/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const program = require('commander') 4 | const spawn = require('child_process').spawn; 5 | const package = require('../package.json'); 6 | const chalk = require('chalk'); 7 | 8 | const build = require('./build'); 9 | 10 | program 11 | .version(package.version) 12 | .usage('') 13 | .parse(process.argv); 14 | 15 | if (program.args.length > 0) { 16 | spawn(build(program.args[0]), { shell: true, stdio: 'inherit' }); 17 | } else if (program.args.length < 1) { 18 | console.log(chalk.red('Please supply a name for your new React XP app.')); 19 | } -------------------------------------------------------------------------------- /src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.1", 3 | "main": "index.js", 4 | "bin": "bin/cli.js", 5 | "name": "", 6 | "author": "", 7 | "description": "", 8 | "scripts": { 9 | "build-source": "node bin/build.js" 10 | }, 11 | "repository": "", 12 | "license": "MIT", 13 | "dependencies": { 14 | "chalk": "^1.1.3", 15 | "commander": "^2.9.0", 16 | "cross-spawn": "^5.1.0", 17 | "figlet": "^1.2.0", 18 | "shelljs": "^0.7.7" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abbrev@1: 6 | version "1.1.0" 7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" 8 | 9 | ajv@^4.9.1: 10 | version "4.11.8" 11 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 12 | dependencies: 13 | co "^4.6.0" 14 | json-stable-stringify "^1.0.1" 15 | 16 | ansi-escapes@^2.0.0: 17 | version "2.0.0" 18 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" 19 | 20 | ansi-regex@^2.0.0: 21 | version "2.1.1" 22 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 23 | 24 | ansi-styles@^2.2.1: 25 | version "2.2.1" 26 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 27 | 28 | aproba@^1.0.3: 29 | version "1.1.2" 30 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" 31 | 32 | are-we-there-yet@~1.1.2: 33 | version "1.1.4" 34 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 35 | dependencies: 36 | delegates "^1.0.0" 37 | readable-stream "^2.0.6" 38 | 39 | asap@~2.0.3: 40 | version "2.0.5" 41 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" 42 | 43 | asn1@~0.2.3: 44 | version "0.2.3" 45 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 46 | 47 | assert-plus@1.0.0, assert-plus@^1.0.0: 48 | version "1.0.0" 49 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 50 | 51 | assert-plus@^0.2.0: 52 | version "0.2.0" 53 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 54 | 55 | asynckit@^0.4.0: 56 | version "0.4.0" 57 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 58 | 59 | aws-sign2@~0.6.0: 60 | version "0.6.0" 61 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 62 | 63 | aws4@^1.2.1: 64 | version "1.6.0" 65 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 66 | 67 | balanced-match@^0.4.1: 68 | version "0.4.2" 69 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 70 | 71 | bcrypt-pbkdf@^1.0.0: 72 | version "1.0.1" 73 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 74 | dependencies: 75 | tweetnacl "^0.14.3" 76 | 77 | block-stream@*: 78 | version "0.0.9" 79 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 80 | dependencies: 81 | inherits "~2.0.0" 82 | 83 | boom@2.x.x: 84 | version "2.10.1" 85 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 86 | dependencies: 87 | hoek "2.x.x" 88 | 89 | brace-expansion@^1.1.7: 90 | version "1.1.7" 91 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" 92 | dependencies: 93 | balanced-match "^0.4.1" 94 | concat-map "0.0.1" 95 | 96 | caseless@~0.12.0: 97 | version "0.12.0" 98 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 99 | 100 | chalk@^1.0.0, chalk@^1.1.3: 101 | version "1.1.3" 102 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 103 | dependencies: 104 | ansi-styles "^2.2.1" 105 | escape-string-regexp "^1.0.2" 106 | has-ansi "^2.0.0" 107 | strip-ansi "^3.0.0" 108 | supports-color "^2.0.0" 109 | 110 | cli-cursor@^2.1.0: 111 | version "2.1.0" 112 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 113 | dependencies: 114 | restore-cursor "^2.0.0" 115 | 116 | cli-width@^2.0.0: 117 | version "2.1.0" 118 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" 119 | 120 | co@^4.6.0: 121 | version "4.6.0" 122 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 123 | 124 | code-point-at@^1.0.0: 125 | version "1.1.0" 126 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 127 | 128 | combined-stream@^1.0.5, combined-stream@~1.0.5: 129 | version "1.0.5" 130 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 131 | dependencies: 132 | delayed-stream "~1.0.0" 133 | 134 | commander@^2.9.0: 135 | version "2.9.0" 136 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 137 | dependencies: 138 | graceful-readlink ">= 1.0.0" 139 | 140 | concat-map@0.0.1: 141 | version "0.0.1" 142 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 143 | 144 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 145 | version "1.1.0" 146 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 147 | 148 | core-util-is@~1.0.0: 149 | version "1.0.2" 150 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 151 | 152 | cross-spawn@^5.1.0: 153 | version "5.1.0" 154 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 155 | dependencies: 156 | lru-cache "^4.0.1" 157 | shebang-command "^1.2.0" 158 | which "^1.2.9" 159 | 160 | cryptiles@2.x.x: 161 | version "2.0.5" 162 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 163 | dependencies: 164 | boom "2.x.x" 165 | 166 | dashdash@^1.12.0: 167 | version "1.14.1" 168 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 169 | dependencies: 170 | assert-plus "^1.0.0" 171 | 172 | dashify@^0.2.2: 173 | version "0.2.2" 174 | resolved "https://registry.yarnpkg.com/dashify/-/dashify-0.2.2.tgz#6a07415a01c91faf4a32e38d9dfba71f61cb20fe" 175 | 176 | debug@^2.2.0: 177 | version "2.6.8" 178 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" 179 | dependencies: 180 | ms "2.0.0" 181 | 182 | deep-extend@~0.4.0: 183 | version "0.4.2" 184 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 185 | 186 | delayed-stream@~1.0.0: 187 | version "1.0.0" 188 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 189 | 190 | delegates@^1.0.0: 191 | version "1.0.0" 192 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 193 | 194 | ecc-jsbn@~0.1.1: 195 | version "0.1.1" 196 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 197 | dependencies: 198 | jsbn "~0.1.0" 199 | 200 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 201 | version "1.0.5" 202 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 203 | 204 | extend@~3.0.0: 205 | version "3.0.1" 206 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 207 | 208 | external-editor@^2.0.4: 209 | version "2.0.4" 210 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" 211 | dependencies: 212 | iconv-lite "^0.4.17" 213 | jschardet "^1.4.2" 214 | tmp "^0.0.31" 215 | 216 | extsprintf@1.0.2: 217 | version "1.0.2" 218 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 219 | 220 | figlet@^1.2.0: 221 | version "1.2.0" 222 | resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410" 223 | 224 | figures@^2.0.0: 225 | version "2.0.0" 226 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 227 | dependencies: 228 | escape-string-regexp "^1.0.5" 229 | 230 | forever-agent@~0.6.1: 231 | version "0.6.1" 232 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 233 | 234 | form-data@~2.1.1: 235 | version "2.1.4" 236 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 237 | dependencies: 238 | asynckit "^0.4.0" 239 | combined-stream "^1.0.5" 240 | mime-types "^2.1.12" 241 | 242 | fs-extra@~0.26.2: 243 | version "0.26.7" 244 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" 245 | dependencies: 246 | graceful-fs "^4.1.2" 247 | jsonfile "^2.1.0" 248 | klaw "^1.0.0" 249 | path-is-absolute "^1.0.0" 250 | rimraf "^2.2.8" 251 | 252 | fs.realpath@^1.0.0: 253 | version "1.0.0" 254 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 255 | 256 | fstream-ignore@^1.0.5: 257 | version "1.0.5" 258 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 259 | dependencies: 260 | fstream "^1.0.0" 261 | inherits "2" 262 | minimatch "^3.0.0" 263 | 264 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 265 | version "1.0.11" 266 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 267 | dependencies: 268 | graceful-fs "^4.1.2" 269 | inherits "~2.0.0" 270 | mkdirp ">=0.5 0" 271 | rimraf "2" 272 | 273 | gauge@~2.7.3: 274 | version "2.7.4" 275 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 276 | dependencies: 277 | aproba "^1.0.3" 278 | console-control-strings "^1.0.0" 279 | has-unicode "^2.0.0" 280 | object-assign "^4.1.0" 281 | signal-exit "^3.0.0" 282 | string-width "^1.0.1" 283 | strip-ansi "^3.0.1" 284 | wide-align "^1.1.0" 285 | 286 | getpass@^0.1.1: 287 | version "0.1.7" 288 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 289 | dependencies: 290 | assert-plus "^1.0.0" 291 | 292 | glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: 293 | version "7.1.2" 294 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 295 | dependencies: 296 | fs.realpath "^1.0.0" 297 | inflight "^1.0.4" 298 | inherits "2" 299 | minimatch "^3.0.4" 300 | once "^1.3.0" 301 | path-is-absolute "^1.0.0" 302 | 303 | graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: 304 | version "4.1.11" 305 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 306 | 307 | "graceful-readlink@>= 1.0.0": 308 | version "1.0.1" 309 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 310 | 311 | har-schema@^1.0.5: 312 | version "1.0.5" 313 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 314 | 315 | har-validator@~4.2.1: 316 | version "4.2.1" 317 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 318 | dependencies: 319 | ajv "^4.9.1" 320 | har-schema "^1.0.5" 321 | 322 | has-ansi@^2.0.0: 323 | version "2.0.0" 324 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 325 | dependencies: 326 | ansi-regex "^2.0.0" 327 | 328 | has-unicode@^2.0.0: 329 | version "2.0.1" 330 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 331 | 332 | hawk@~3.1.3: 333 | version "3.1.3" 334 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 335 | dependencies: 336 | boom "2.x.x" 337 | cryptiles "2.x.x" 338 | hoek "2.x.x" 339 | sntp "1.x.x" 340 | 341 | hoek@2.x.x: 342 | version "2.16.3" 343 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 344 | 345 | http-signature@~1.1.0: 346 | version "1.1.1" 347 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 348 | dependencies: 349 | assert-plus "^0.2.0" 350 | jsprim "^1.2.2" 351 | sshpk "^1.7.0" 352 | 353 | iconv-lite@^0.4.17: 354 | version "0.4.17" 355 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" 356 | 357 | inflight@^1.0.4: 358 | version "1.0.6" 359 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 360 | dependencies: 361 | once "^1.3.0" 362 | wrappy "1" 363 | 364 | inherits@2, inherits@~2.0.0, inherits@~2.0.1: 365 | version "2.0.3" 366 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 367 | 368 | ini@~1.3.0: 369 | version "1.3.4" 370 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 371 | 372 | inquirer@^3.1.0: 373 | version "3.1.0" 374 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.1.0.tgz#e05400d48b94937c2d3caa7038663ba9189aab01" 375 | dependencies: 376 | ansi-escapes "^2.0.0" 377 | chalk "^1.0.0" 378 | cli-cursor "^2.1.0" 379 | cli-width "^2.0.0" 380 | external-editor "^2.0.4" 381 | figures "^2.0.0" 382 | lodash "^4.3.0" 383 | mute-stream "0.0.7" 384 | run-async "^2.2.0" 385 | rx-lite "^4.0.8" 386 | rx-lite-aggregates "^4.0.8" 387 | string-width "^2.0.0" 388 | strip-ansi "^3.0.0" 389 | through "^2.3.6" 390 | 391 | interpret@^1.0.0: 392 | version "1.0.3" 393 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" 394 | 395 | is-fullwidth-code-point@^1.0.0: 396 | version "1.0.0" 397 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 398 | dependencies: 399 | number-is-nan "^1.0.0" 400 | 401 | is-fullwidth-code-point@^2.0.0: 402 | version "2.0.0" 403 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 404 | 405 | is-promise@^2.1.0: 406 | version "2.1.0" 407 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 408 | 409 | is-typedarray@~1.0.0: 410 | version "1.0.0" 411 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 412 | 413 | isarray@~1.0.0: 414 | version "1.0.0" 415 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 416 | 417 | isexe@^2.0.0: 418 | version "2.0.0" 419 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 420 | 421 | isstream@~0.1.2: 422 | version "0.1.2" 423 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 424 | 425 | jsbn@~0.1.0: 426 | version "0.1.1" 427 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 428 | 429 | jschardet@^1.4.2: 430 | version "1.4.2" 431 | resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a" 432 | 433 | json-schema@0.2.3: 434 | version "0.2.3" 435 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 436 | 437 | json-stable-stringify@^1.0.1: 438 | version "1.0.1" 439 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 440 | dependencies: 441 | jsonify "~0.0.0" 442 | 443 | json-stringify-safe@~5.0.1: 444 | version "5.0.1" 445 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 446 | 447 | jsonfile@^2.1.0: 448 | version "2.4.0" 449 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" 450 | optionalDependencies: 451 | graceful-fs "^4.1.6" 452 | 453 | jsonify@~0.0.0: 454 | version "0.0.0" 455 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 456 | 457 | jsprim@^1.2.2: 458 | version "1.4.0" 459 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" 460 | dependencies: 461 | assert-plus "1.0.0" 462 | extsprintf "1.0.2" 463 | json-schema "0.2.3" 464 | verror "1.3.6" 465 | 466 | klaw@^1.0.0: 467 | version "1.3.1" 468 | resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" 469 | optionalDependencies: 470 | graceful-fs "^4.1.9" 471 | 472 | lodash@^4.13.1, lodash@^4.3.0: 473 | version "4.17.4" 474 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 475 | 476 | lru-cache@^4.0.1: 477 | version "4.1.0" 478 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.0.tgz#59be49a683b8d986a939f1ca60fdb6989f4b2046" 479 | dependencies: 480 | pseudomap "^1.0.1" 481 | yallist "^2.0.0" 482 | 483 | mime-db@~1.27.0: 484 | version "1.27.0" 485 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" 486 | 487 | mime-types@^2.1.12, mime-types@~2.1.7: 488 | version "2.1.15" 489 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" 490 | dependencies: 491 | mime-db "~1.27.0" 492 | 493 | mimic-fn@^1.0.0: 494 | version "1.1.0" 495 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 496 | 497 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 498 | version "3.0.4" 499 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 500 | dependencies: 501 | brace-expansion "^1.1.7" 502 | 503 | minimist@0.0.8: 504 | version "0.0.8" 505 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 506 | 507 | minimist@^1.2.0: 508 | version "1.2.0" 509 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 510 | 511 | "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: 512 | version "0.5.1" 513 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 514 | dependencies: 515 | minimist "0.0.8" 516 | 517 | ms@2.0.0: 518 | version "2.0.0" 519 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 520 | 521 | mute-stream@0.0.7: 522 | version "0.0.7" 523 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 524 | 525 | nan@^2.2.0: 526 | version "2.6.2" 527 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" 528 | 529 | node-gyp@^3.5.0: 530 | version "3.6.2" 531 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" 532 | dependencies: 533 | fstream "^1.0.0" 534 | glob "^7.0.3" 535 | graceful-fs "^4.1.2" 536 | minimatch "^3.0.2" 537 | mkdirp "^0.5.0" 538 | nopt "2 || 3" 539 | npmlog "0 || 1 || 2 || 3 || 4" 540 | osenv "0" 541 | request "2" 542 | rimraf "2" 543 | semver "~5.3.0" 544 | tar "^2.0.0" 545 | which "1" 546 | 547 | node-pre-gyp@~0.6.32: 548 | version "0.6.36" 549 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" 550 | dependencies: 551 | mkdirp "^0.5.1" 552 | nopt "^4.0.1" 553 | npmlog "^4.0.2" 554 | rc "^1.1.7" 555 | request "^2.81.0" 556 | rimraf "^2.6.1" 557 | semver "^5.3.0" 558 | tar "^2.2.1" 559 | tar-pack "^3.4.0" 560 | 561 | nodegit-promise@~4.0.0: 562 | version "4.0.0" 563 | resolved "https://registry.yarnpkg.com/nodegit-promise/-/nodegit-promise-4.0.0.tgz#5722b184f2df7327161064a791d2e842c9167b34" 564 | dependencies: 565 | asap "~2.0.3" 566 | 567 | nodegit@^0.18.3: 568 | version "0.18.3" 569 | resolved "https://registry.yarnpkg.com/nodegit/-/nodegit-0.18.3.tgz#305b6a305ea485fe5f1679fe37e6224a669ae9fc" 570 | dependencies: 571 | fs-extra "~0.26.2" 572 | lodash "^4.13.1" 573 | nan "^2.2.0" 574 | node-gyp "^3.5.0" 575 | node-pre-gyp "~0.6.32" 576 | promisify-node "~0.3.0" 577 | 578 | "nopt@2 || 3": 579 | version "3.0.6" 580 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 581 | dependencies: 582 | abbrev "1" 583 | 584 | nopt@^4.0.1: 585 | version "4.0.1" 586 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 587 | dependencies: 588 | abbrev "1" 589 | osenv "^0.1.4" 590 | 591 | "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2: 592 | version "4.1.0" 593 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" 594 | dependencies: 595 | are-we-there-yet "~1.1.2" 596 | console-control-strings "~1.1.0" 597 | gauge "~2.7.3" 598 | set-blocking "~2.0.0" 599 | 600 | number-is-nan@^1.0.0: 601 | version "1.0.1" 602 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 603 | 604 | oauth-sign@~0.8.1: 605 | version "0.8.2" 606 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 607 | 608 | object-assign@^4.1.0: 609 | version "4.1.1" 610 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 611 | 612 | once@^1.3.0, once@^1.3.3: 613 | version "1.4.0" 614 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 615 | dependencies: 616 | wrappy "1" 617 | 618 | onetime@^2.0.0: 619 | version "2.0.1" 620 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 621 | dependencies: 622 | mimic-fn "^1.0.0" 623 | 624 | os-homedir@^1.0.0: 625 | version "1.0.2" 626 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 627 | 628 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: 629 | version "1.0.2" 630 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 631 | 632 | osenv@0, osenv@^0.1.4: 633 | version "0.1.4" 634 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 635 | dependencies: 636 | os-homedir "^1.0.0" 637 | os-tmpdir "^1.0.0" 638 | 639 | path-is-absolute@^1.0.0: 640 | version "1.0.1" 641 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 642 | 643 | path-parse@^1.0.5: 644 | version "1.0.5" 645 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 646 | 647 | performance-now@^0.2.0: 648 | version "0.2.0" 649 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 650 | 651 | process-nextick-args@~1.0.6: 652 | version "1.0.7" 653 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 654 | 655 | promisify-node@~0.3.0: 656 | version "0.3.0" 657 | resolved "https://registry.yarnpkg.com/promisify-node/-/promisify-node-0.3.0.tgz#b4b55acf90faa7d2b8b90ca396899086c03060cf" 658 | dependencies: 659 | nodegit-promise "~4.0.0" 660 | 661 | pseudomap@^1.0.1: 662 | version "1.0.2" 663 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 664 | 665 | punycode@^1.4.1: 666 | version "1.4.1" 667 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 668 | 669 | qs@~6.4.0: 670 | version "6.4.0" 671 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 672 | 673 | rc@^1.1.7: 674 | version "1.2.1" 675 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" 676 | dependencies: 677 | deep-extend "~0.4.0" 678 | ini "~1.3.0" 679 | minimist "^1.2.0" 680 | strip-json-comments "~2.0.1" 681 | 682 | readable-stream@^2.0.6, readable-stream@^2.1.4: 683 | version "2.2.11" 684 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" 685 | dependencies: 686 | core-util-is "~1.0.0" 687 | inherits "~2.0.1" 688 | isarray "~1.0.0" 689 | process-nextick-args "~1.0.6" 690 | safe-buffer "~5.0.1" 691 | string_decoder "~1.0.0" 692 | util-deprecate "~1.0.1" 693 | 694 | rechoir@^0.6.2: 695 | version "0.6.2" 696 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 697 | dependencies: 698 | resolve "^1.1.6" 699 | 700 | request@2, request@^2.81.0: 701 | version "2.81.0" 702 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 703 | dependencies: 704 | aws-sign2 "~0.6.0" 705 | aws4 "^1.2.1" 706 | caseless "~0.12.0" 707 | combined-stream "~1.0.5" 708 | extend "~3.0.0" 709 | forever-agent "~0.6.1" 710 | form-data "~2.1.1" 711 | har-validator "~4.2.1" 712 | hawk "~3.1.3" 713 | http-signature "~1.1.0" 714 | is-typedarray "~1.0.0" 715 | isstream "~0.1.2" 716 | json-stringify-safe "~5.0.1" 717 | mime-types "~2.1.7" 718 | oauth-sign "~0.8.1" 719 | performance-now "^0.2.0" 720 | qs "~6.4.0" 721 | safe-buffer "^5.0.1" 722 | stringstream "~0.0.4" 723 | tough-cookie "~2.3.0" 724 | tunnel-agent "^0.6.0" 725 | uuid "^3.0.0" 726 | 727 | resolve@^1.1.6: 728 | version "1.3.3" 729 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" 730 | dependencies: 731 | path-parse "^1.0.5" 732 | 733 | restore-cursor@^2.0.0: 734 | version "2.0.0" 735 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 736 | dependencies: 737 | onetime "^2.0.0" 738 | signal-exit "^3.0.2" 739 | 740 | rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: 741 | version "2.6.1" 742 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" 743 | dependencies: 744 | glob "^7.0.5" 745 | 746 | run-async@^2.2.0: 747 | version "2.3.0" 748 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 749 | dependencies: 750 | is-promise "^2.1.0" 751 | 752 | rx-lite-aggregates@^4.0.8: 753 | version "4.0.8" 754 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" 755 | dependencies: 756 | rx-lite "*" 757 | 758 | rx-lite@*, rx-lite@^4.0.8: 759 | version "4.0.8" 760 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" 761 | 762 | safe-buffer@^5.0.1: 763 | version "5.1.0" 764 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.0.tgz#fe4c8460397f9eaaaa58e73be46273408a45e223" 765 | 766 | safe-buffer@~5.0.1: 767 | version "5.0.1" 768 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" 769 | 770 | semver@^5.3.0, semver@~5.3.0: 771 | version "5.3.0" 772 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 773 | 774 | set-blocking@~2.0.0: 775 | version "2.0.0" 776 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 777 | 778 | shebang-command@^1.2.0: 779 | version "1.2.0" 780 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 781 | dependencies: 782 | shebang-regex "^1.0.0" 783 | 784 | shebang-regex@^1.0.0: 785 | version "1.0.0" 786 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 787 | 788 | shelljs@^0.7.8: 789 | version "0.7.8" 790 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3" 791 | dependencies: 792 | glob "^7.0.0" 793 | interpret "^1.0.0" 794 | rechoir "^0.6.2" 795 | 796 | signal-exit@^3.0.0, signal-exit@^3.0.2: 797 | version "3.0.2" 798 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 799 | 800 | sntp@1.x.x: 801 | version "1.0.9" 802 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 803 | dependencies: 804 | hoek "2.x.x" 805 | 806 | sshpk@^1.7.0: 807 | version "1.13.1" 808 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 809 | dependencies: 810 | asn1 "~0.2.3" 811 | assert-plus "^1.0.0" 812 | dashdash "^1.12.0" 813 | getpass "^0.1.1" 814 | optionalDependencies: 815 | bcrypt-pbkdf "^1.0.0" 816 | ecc-jsbn "~0.1.1" 817 | jsbn "~0.1.0" 818 | tweetnacl "~0.14.0" 819 | 820 | string-width@^1.0.1, string-width@^1.0.2: 821 | version "1.0.2" 822 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 823 | dependencies: 824 | code-point-at "^1.0.0" 825 | is-fullwidth-code-point "^1.0.0" 826 | strip-ansi "^3.0.0" 827 | 828 | string-width@^2.0.0: 829 | version "2.0.0" 830 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" 831 | dependencies: 832 | is-fullwidth-code-point "^2.0.0" 833 | strip-ansi "^3.0.0" 834 | 835 | string_decoder@~1.0.0: 836 | version "1.0.2" 837 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.2.tgz#b29e1f4e1125fa97a10382b8a533737b7491e179" 838 | dependencies: 839 | safe-buffer "~5.0.1" 840 | 841 | stringstream@~0.0.4: 842 | version "0.0.5" 843 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 844 | 845 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 846 | version "3.0.1" 847 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 848 | dependencies: 849 | ansi-regex "^2.0.0" 850 | 851 | strip-json-comments@~2.0.1: 852 | version "2.0.1" 853 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 854 | 855 | supports-color@^2.0.0: 856 | version "2.0.0" 857 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 858 | 859 | tar-pack@^3.4.0: 860 | version "3.4.0" 861 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" 862 | dependencies: 863 | debug "^2.2.0" 864 | fstream "^1.0.10" 865 | fstream-ignore "^1.0.5" 866 | once "^1.3.3" 867 | readable-stream "^2.1.4" 868 | rimraf "^2.5.1" 869 | tar "^2.2.1" 870 | uid-number "^0.0.6" 871 | 872 | tar@^2.0.0, tar@^2.2.1: 873 | version "2.2.1" 874 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 875 | dependencies: 876 | block-stream "*" 877 | fstream "^1.0.2" 878 | inherits "2" 879 | 880 | through@^2.3.6: 881 | version "2.3.8" 882 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 883 | 884 | tmp@^0.0.31: 885 | version "0.0.31" 886 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" 887 | dependencies: 888 | os-tmpdir "~1.0.1" 889 | 890 | tough-cookie@~2.3.0: 891 | version "2.3.2" 892 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 893 | dependencies: 894 | punycode "^1.4.1" 895 | 896 | tunnel-agent@^0.6.0: 897 | version "0.6.0" 898 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 899 | dependencies: 900 | safe-buffer "^5.0.1" 901 | 902 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 903 | version "0.14.5" 904 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 905 | 906 | uid-number@^0.0.6: 907 | version "0.0.6" 908 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 909 | 910 | util-deprecate@~1.0.1: 911 | version "1.0.2" 912 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 913 | 914 | uuid@^3.0.0: 915 | version "3.0.1" 916 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" 917 | 918 | verror@1.3.6: 919 | version "1.3.6" 920 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 921 | dependencies: 922 | extsprintf "1.0.2" 923 | 924 | which@1, which@^1.2.9: 925 | version "1.2.14" 926 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" 927 | dependencies: 928 | isexe "^2.0.0" 929 | 930 | wide-align@^1.1.0: 931 | version "1.1.2" 932 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 933 | dependencies: 934 | string-width "^1.0.2" 935 | 936 | wrappy@1: 937 | version "1.0.2" 938 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 939 | 940 | yallist@^2.0.0: 941 | version "2.1.2" 942 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 943 | --------------------------------------------------------------------------------