├── .editorconfig ├── .gitattributes ├── .gitignore ├── .travis.yml ├── lerna.json ├── media └── demo.gif ├── package.json ├── packages ├── openg-cli │ ├── license │ ├── package.json │ ├── readme.md │ ├── src │ │ └── cli.js │ └── test │ │ └── test.js └── openg │ ├── license │ ├── package.json │ ├── readme.md │ ├── src │ └── index.js │ └── test │ └── test.js ├── readme.md └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [{package.json,*.yml}] 11 | indent_style = space 12 | indent_size = 2 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.js text eol=lf 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | test.html 3 | 4 | # Logs 5 | logs 6 | *.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | 13 | # Directory for instrumented libs generated by jscoverage/JSCover 14 | lib-cov 15 | 16 | # Coverage directory used by tools like istanbul 17 | coverage 18 | 19 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 20 | .grunt 21 | 22 | # node-waf configuration 23 | .lock-wscript 24 | 25 | # Compiled binary addons (http://nodejs.org/api/addons.html) 26 | build/Release 27 | 28 | # Dependency directory 29 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 30 | node_modules 31 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | before_script: 3 | - npm run install 4 | node_js: 5 | - '6' 6 | - '5' 7 | - '4' 8 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "lerna": "2.0.0-beta.34", 3 | "version": "independent", 4 | "packages": [ 5 | "packages/*" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /media/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawsbot/openg/225264be64526bf680799a94c86951c716fc843e/media/demo.gif -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "lerna": "2.0.0-beta.34" 4 | }, 5 | "scripts": { 6 | "test": "lerna run test", 7 | "install": "./node_modules/.bin/lerna bootstrap" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/openg-cli/license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Dawson Botsford (DawsonBotsford.com) 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/openg-cli/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "openg-cli", 3 | "version": "1.1.1", 4 | "description": "open Github repo pages for npm modules in your browser", 5 | "license": "MIT", 6 | "homepage": "https://github.com/dawsonbotsford/openg/blob/master/packages/openg-cli/readme.md", 7 | "repository": { 8 | "type": "git", 9 | "url": "git+https://github.com/dawsonbotsford/openg.git" 10 | }, 11 | "author": { 12 | "name": "Dawson Botsford", 13 | "email": "DawsonBotsford@gmail.com", 14 | "url": "dawsonbotsford.com" 15 | }, 16 | "bugs": { 17 | "url": "https://github.com/dawsonbotsford/openg/issues" 18 | }, 19 | "bin": { 20 | "openg": "src/cli.js" 21 | }, 22 | "engines": { 23 | "node": ">=4.0.0" 24 | }, 25 | "scripts": { 26 | "test": "xo && ava" 27 | }, 28 | "files": [ 29 | "src/cli.js" 30 | ], 31 | "keywords": [ 32 | "opn", 33 | "open", 34 | "browser", 35 | "util", 36 | "utils", 37 | "utilities", 38 | "github", 39 | "efficiency", 40 | "cli-app", 41 | "cli", 42 | "lean", 43 | "minimal", 44 | "documented", 45 | "tested", 46 | "licensed", 47 | "ava", 48 | "dawson" 49 | ], 50 | "dependencies": { 51 | "meow": "^3.7.0", 52 | "openg": "^2.1.1", 53 | "update-notifier": "^0.7.0" 54 | }, 55 | "devDependencies": { 56 | "ava": "^0.15.2", 57 | "shelljs": "^0.7.0", 58 | "xo": "^0.15.1" 59 | }, 60 | "xo": { 61 | "space": true 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /packages/openg-cli/readme.md: -------------------------------------------------------------------------------- 1 | # openg-cli 2 | [![npm version](https://img.shields.io/npm/v/openg.svg)](https://www.npmjs.com/package/openg) 3 | [![Build Status](https://travis-ci.org/dawsonbotsford/openg.svg?branch=master)](https://travis-ci.org/dawsonbotsford/openg) 4 | [![npm download count](http://img.shields.io/npm/dm/openg.svg?style=flat)](http://npmjs.org/openg-cli) 5 | [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) 6 | 7 | > cli to open Github repos for npm modules in-browser 8 | 9 |
10 | 11 | # CLI 12 | 13 | ## Install 14 | ``` 15 | $ npm install -g openg 16 | ``` 17 | 18 |
19 | 20 | ## Usage 21 | 22 | ```sh 23 | $ openg 24 | # opens the github repo page for the current directory in browser 25 | 26 | $ openg chalk 27 | # opens the github repo page for chalk in browser 28 | 29 | $ openg inf sist openg --issues 30 | # opens the github issues pages for inf, sist, and openg in browser 31 | ``` 32 | 33 |
34 | 35 | More help 36 | ```sh 37 | $ openg --help 38 | Usage 39 | $ openg [] 40 | 41 | $ openg [] 42 | 43 | Options 44 | -i, --issues Open the issue page for specified modules 45 | -d, --dryRun List what links would be opened instead of opening 46 | 47 | Examples 48 | $ openg 49 | # opens the github repo page for the current directory in browser 50 | 51 | $ openg express 52 | # opens the github repo page for express in browser 53 | 54 | $ openg inf sist openg --issues 55 | # opens the github issues pages for inf, sist, and openg in browser`, 56 | ``` 57 | 58 |
59 | 60 | ## [FAQ](https://github.com/dawsonbotsford/openg#faq) 61 | 62 |
63 | 64 | ## Related 65 | * [openm](https://github.com/dawsonbotsford/openm) 66 | * [opent](https://github.com/dawsonbotsford/opent) 67 | 68 |
69 | 70 | ## License 71 | 72 | MIT © [Dawson Botsford](http://dawsonbotsford.com) 73 | 74 | 75 | --- 76 | If you like this, star it. If you want to follow me, follow me. 77 | -------------------------------------------------------------------------------- /packages/openg-cli/src/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | const meow = require('meow'); 5 | const updateNotifier = require('update-notifier'); 6 | const openg = require('openg'); 7 | 8 | const cli = meow(` 9 | Usage 10 | $ openg [] 11 | 12 | $ openg [] 13 | 14 | Options 15 | -i, --issues Open the issue page for specified modules 16 | -d, --dryRun List what links would be opened instead of opening 17 | 18 | Examples 19 | $ openg 20 | # opens the github repo page for the current directory in browser 21 | 22 | $ openg express 23 | # opens the github repo page for express in browser 24 | 25 | $ openg inf sist openg --issues 26 | # opens the github issues pages for inf, sist, and openg in browser`, 27 | { 28 | alias: { 29 | i: 'issues', 30 | d: 'dryRun' 31 | } 32 | } 33 | ); 34 | 35 | updateNotifier({pkg: cli.pkg}).notify(); 36 | 37 | openg(cli.input, cli.flags); 38 | -------------------------------------------------------------------------------- /packages/openg-cli/test/test.js: -------------------------------------------------------------------------------- 1 | import test from 'ava'; 2 | 3 | const cliLocation = '../src/cli.js'; 4 | const shelljs = require('shelljs'); 5 | 6 | test('cli - invalid args', t => { 7 | t.true(shelljs.exec(`${cliLocation} thispackagenameisnotarealname0981234 --dryRun`, {silent: true}).code === 1); 8 | }); 9 | 10 | test('cli - valid args', t => { 11 | t.true(shelljs.exec(`${cliLocation} --dryRun`).code === 0); 12 | t.true(shelljs.exec(`${cliLocation} inf --dryRun`, {silent: true, wait: false}).code === 0); 13 | t.true(shelljs.exec(`${cliLocation} Inf --dryRun`, {silent: true, wait: false}).code === 0); 14 | t.true(shelljs.exec(`${cliLocation} inf openm --dryRun`, {silent: true}).code === 0); 15 | }); 16 | -------------------------------------------------------------------------------- /packages/openg/license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Dawson Botsford (dawsonbotsford.com) 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/openg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "openg", 3 | "version": "2.1.1", 4 | "description": "open Github repo pages for npm modules in your browser", 5 | "license": "MIT", 6 | "homepage": "https://github.com/dawsonbotsford/openg/blob/master/packages/openg/readme.md", 7 | "repository": { 8 | "type": "git", 9 | "url": "git+https://github.com/dawsonbotsford/openg.git" 10 | }, 11 | "author": { 12 | "name": "Dawson Botsford", 13 | "email": "DawsonBotsford@gmail.com", 14 | "url": "dawsonbotsford.com" 15 | }, 16 | "bugs": { 17 | "url": "https://github.com/dawsonbotsford/openg/issues" 18 | }, 19 | "engines": { 20 | "node": ">=4.0.0" 21 | }, 22 | "scripts": { 23 | "test": "xo && ava" 24 | }, 25 | "main": "src/index.js", 26 | "files": [ 27 | "src/index.js" 28 | ], 29 | "keywords": [ 30 | "open", 31 | "browser", 32 | "util", 33 | "utils", 34 | "utilities", 35 | "github", 36 | "efficiency", 37 | "cli-app", 38 | "cli", 39 | "lean", 40 | "minimal", 41 | "documented", 42 | "tested", 43 | "licensed", 44 | "ava", 45 | "dawson" 46 | ], 47 | "dependencies": { 48 | "arrify": "^1.0.1", 49 | "npm-name": "^3.0.0", 50 | "open": "0.0.5", 51 | "package-json": "^2.3.2", 52 | "shelljs": "^0.7.0" 53 | }, 54 | "devDependencies": { 55 | "ava": "^0.15.2", 56 | "xo": "^0.14.0" 57 | }, 58 | "xo": { 59 | "space": true 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /packages/openg/readme.md: -------------------------------------------------------------------------------- 1 | # openg 2 | [![npm version](https://img.shields.io/npm/v/openg.svg)](https://www.npmjs.com/package/openg) 3 | [![Build Status](https://travis-ci.org/dawsonbotsford/openg.svg?branch=master)](https://travis-ci.org/dawsonbotsford/openg) 4 | [![npm download count](http://img.shields.io/npm/dm/openg.svg?style=flat)](http://npmjs.org/openg) 5 | [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) 6 | 7 | > open Github repo pages for npm modules in your browser 8 | 9 |
10 | 11 | ## Install 12 | 13 | ``` 14 | npm install --save openg 15 | ``` 16 | 17 |
18 | 19 | ## Usage 20 | 21 | ```js 22 | const openg = require('openg'); 23 | 24 | openg('hackathons'); 25 | //=> returns a promise that opens the github page for the current directory in-browser 26 | 27 | openg('express'); 28 | //=> returns a promise that opens the github page for express in-browser 29 | 30 | openg(['inf', 'sist', 'openg'], { 31 | issues: true 32 | }); 33 | //=> returns a promise that opens the github issues pages for all in-browser 34 | ``` 35 |
36 | 37 | ## API 38 | 39 | ### openg(target, [opts]) 40 | 41 |
42 | 43 | #### target 44 | 45 | Type: `string` | `array` 46 | 47 | npm modules name(s) you want to open in your browser 48 | 49 |
50 | 51 | #### opts 52 | 53 | Type: *optional* `object` 54 | 55 | Pass these in to modify the behavior of `openg` 56 | 57 | ##### issues: true 58 | 59 | Open the GitHub issues page for specified repo(s) 60 | 61 | ##### dryRun: true 62 | 63 | Return the url's that would be opened and do **not** open them in-browser 64 | 65 | Example usage: 66 | ```js 67 | openg('openg', { 68 | issues: true, 69 | dryRun: true 70 | }).then(resp => { 71 | console.log(resp); 72 | }); 73 | 74 | //=> ['https://github.com/dawsonbotsford/openg/issues'] 75 | ``` 76 | 77 |
78 | 79 | #### returns 80 | 81 | Type: `promise` 82 | 83 | Array of expected url value(s) 84 | 85 |
86 | 87 | ## License 88 | 89 | MIT © [Dawson Botsford](http://dawsonbotsford.com) 90 | -------------------------------------------------------------------------------- /packages/openg/src/index.js: -------------------------------------------------------------------------------- 1 | // eslint import/no-extraneous-dependencies:0 2 | 'use strict'; 3 | const open = require('open'); 4 | const shelljs = require('shelljs'); 5 | const npmName = require('npm-name'); 6 | const packageJson = require('package-json'); 7 | const arrify = require('arrify'); 8 | 9 | module.exports = function (input, opts) { 10 | let packages = arrify(input); 11 | if (packages.length === 0) { 12 | // if it's a git repo 13 | const revParse = shelljs.exec('git rev-parse --show-toplevel', {silent: true}); 14 | if (revParse.code === 0) { 15 | const splitRevParse = revParse.stdout.split('/'); 16 | packages = [splitRevParse[splitRevParse.length - 1].trim()]; 17 | } else { 18 | throw new Error('Specify one or more npmjs arguments, none found'); 19 | } 20 | } 21 | 22 | return Promise.all(packages.map(myPackage => { 23 | myPackage = myPackage.toLowerCase(); 24 | return npmName(myPackage) 25 | .then(available => { 26 | // return available; 27 | if (available) { 28 | throw new Error(`package ${myPackage} not found`); 29 | } else { 30 | return packageJson(myPackage, 'latest').then(json => { 31 | // if issues flag passed in 32 | if (opts && opts.issues) { 33 | if (json && json.bugs && json.bugs.url) { 34 | if (opts.verbose) { 35 | console.log(json.bugs.url); 36 | } 37 | if (!opts.dryRun) { 38 | open(json.bugs.url); 39 | } 40 | return json.bugs.url; 41 | } 42 | throw new Error(`issue flag identified, but no "bugs" attribute found in package.json of ${myPackage}`); 43 | } 44 | // no issues flags passed in 45 | if (json.homepage) { 46 | if (opts.verbose) { 47 | console.log(json.homepage); 48 | } 49 | if (!opts.dryRun) { 50 | open(json.homepage); 51 | } 52 | return json.homepage; 53 | } 54 | throw new Error(`homepage not found in package.json of module "${myPackage}"`); 55 | }); 56 | } 57 | }).catch(err => { 58 | throw err; 59 | }); 60 | })); 61 | }; 62 | -------------------------------------------------------------------------------- /packages/openg/test/test.js: -------------------------------------------------------------------------------- 1 | import test from 'ava'; 2 | import openg from '../src/index'; 3 | 4 | test('invalid arg', t => { 5 | t.throws(openg('thispackagedoesnotexist123abc'), Error); 6 | }); 7 | 8 | test('string arg', async t => { 9 | await openg('openg', { 10 | dryRun: true 11 | }).then(resp => { 12 | t.deepEqual(resp, ['https://github.com/dawsonbotsford/openg/blob/master/packages/openg/readme.md']); 13 | }); 14 | await openg('openg', { 15 | issues: true, 16 | dryRun: true 17 | }).then(resp => { 18 | t.deepEqual(resp, ['https://github.com/dawsonbotsford/openg/issues']); 19 | }); 20 | }); 21 | 22 | test('array arg', async t => { 23 | await openg(['a', 'arrford'], { 24 | dryRun: true 25 | }).then(resp => { 26 | t.deepEqual(resp, ['https://github.com/alfateam/a#readme', 'https://github.com/dawsonbotsford/arrford#readme']); 27 | }); 28 | await openg(['a', 'arrford'], { 29 | issues: true, 30 | dryRun: true 31 | }).then(resp => { 32 | t.deepEqual(resp, ['https://github.com/alfateam/a/issues', 'https://github.com/dawsonbotsford/arrford/issues']); 33 | }); 34 | }); 35 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # openg 2 | [![Build Status](https://travis-ci.org/dawsbot/openg.svg?branch=master)](https://travis-ci.org/dawsbot/openg) 3 | [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) 4 | 5 | > open Github repo pages for npm modules in-browser 6 | 7 |
8 | 9 | ![demo gif](media/demo.gif) 10 | 11 |
12 | 13 | # CLI 14 | 15 | ## Install 16 | ``` 17 | $ npm install -g openg-cli 18 | ``` 19 | 20 | If you'd rather have the API, [click here](/packages/openg) 21 | 22 |
23 | 24 | ## Usage 25 | 26 | ```sh 27 | $ openg 28 | # opens the github repo page for the current directory in browser 29 | 30 | $ openg chalk 31 | # opens the github repo page for chalk in browser 32 | 33 | $ openg inf sist openg --issues 34 | # opens the github issues pages for all in browser 35 | ``` 36 | 37 |
38 | 39 | More help 40 | ```sh 41 | $ openg --help 42 | 43 | Usage 44 | $ openg [] 45 | 46 | $ openg [] 47 | 48 | Options 49 | -i, --issues Open the issue page for specified modules 50 | -d, --dryRun List what links would be opened instead of opening 51 | 52 | Examples 53 | $ openg 54 | # opens the github repo page for the current directory in browser 55 | 56 | $ openg express 57 | # opens the github repo page for express in browser 58 | 59 | $ openg inf sist openg --issues 60 | # opens the github issues pages for inf, sist, and openg in browser`, 61 | ``` 62 | 63 |
64 | 65 | ## FAQ 66 | 67 | #### How is this different than [npm repo](https://docs.npmjs.com/cli/repo)? 68 | 69 | npm repo is an npm built-in. Here are the differences: 70 | 71 | * `opts` allows you to open issues page(s) 72 | * `openg` supports multiple module openings, `npm repo` supports only one at a time. 73 | 74 |
75 | 76 | ## Contribute 77 | 78 | ```js 79 | npm run install 80 | ``` 81 | 82 | Since this is a [lerna](https://github.com/lerna/lern://github.com/lerna/lerna) project, both `openg-cli` and `openg` are contained within the `packages/` folder. 83 | 84 |
85 | 86 | ## Related 87 | 88 | * [openm](https://github.com/dawsbot/openm) 89 | * [opent](https://github.com/dawsbot/opent) 90 | 91 |
92 | 93 | ## License 94 | 95 | MIT © [Dawson Botsford](http://dawsonbotsford.com) 96 | 97 | 98 | --- 99 | If you like this, star it. If you want to follow me, follow me. 100 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | ansi-escapes@^1.1.0: 6 | version "1.4.0" 7 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 8 | 9 | ansi-regex@^2.0.0: 10 | version "2.1.1" 11 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 12 | 13 | ansi-styles@^2.2.1: 14 | version "2.2.1" 15 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 16 | 17 | array-find-index@^1.0.1: 18 | version "1.0.2" 19 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 20 | 21 | array-from@^2.1.1: 22 | version "2.1.1" 23 | resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" 24 | 25 | async@^1.5.0: 26 | version "1.5.2" 27 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 28 | 29 | balanced-match@^0.4.1: 30 | version "0.4.2" 31 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 32 | 33 | brace-expansion@^1.0.0: 34 | version "1.1.6" 35 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 36 | dependencies: 37 | balanced-match "^0.4.1" 38 | concat-map "0.0.1" 39 | 40 | builtin-modules@^1.0.0: 41 | version "1.1.1" 42 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 43 | 44 | camelcase-keys@^2.0.0: 45 | version "2.1.0" 46 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 47 | dependencies: 48 | camelcase "^2.0.0" 49 | map-obj "^1.0.0" 50 | 51 | camelcase@^2.0.0: 52 | version "2.1.1" 53 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 54 | 55 | chalk@^1.0.0, chalk@^1.1.1: 56 | version "1.1.3" 57 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 58 | dependencies: 59 | ansi-styles "^2.2.1" 60 | escape-string-regexp "^1.0.2" 61 | has-ansi "^2.0.0" 62 | strip-ansi "^3.0.0" 63 | supports-color "^2.0.0" 64 | 65 | cli-cursor@^1.0.1: 66 | version "1.0.2" 67 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 68 | dependencies: 69 | restore-cursor "^1.0.1" 70 | 71 | cli-width@^2.0.0: 72 | version "2.1.0" 73 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" 74 | 75 | cmd-shim@^2.0.2: 76 | version "2.0.2" 77 | resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" 78 | dependencies: 79 | graceful-fs "^4.1.2" 80 | mkdirp "~0.5.0" 81 | 82 | code-point-at@^1.0.0: 83 | version "1.1.0" 84 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 85 | 86 | command-join@^1.1.1: 87 | version "1.1.1" 88 | resolved "https://registry.yarnpkg.com/command-join/-/command-join-1.1.1.tgz#09e7609012e1dd8b4f0a14fde41a69eff1d2111f" 89 | dependencies: 90 | array-from "^2.1.1" 91 | repeat-string "^1.5.4" 92 | 93 | concat-map@0.0.1: 94 | version "0.0.1" 95 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 96 | 97 | cross-spawn@^4.0.0: 98 | version "4.0.2" 99 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 100 | dependencies: 101 | lru-cache "^4.0.1" 102 | which "^1.2.9" 103 | 104 | currently-unhandled@^0.4.1: 105 | version "0.4.1" 106 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 107 | dependencies: 108 | array-find-index "^1.0.1" 109 | 110 | decamelize@^1.1.2: 111 | version "1.2.0" 112 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 113 | 114 | error-ex@^1.2.0: 115 | version "1.3.0" 116 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 117 | dependencies: 118 | is-arrayish "^0.2.1" 119 | 120 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 121 | version "1.0.5" 122 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 123 | 124 | exit-hook@^1.0.0: 125 | version "1.1.1" 126 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 127 | 128 | figures@^1.3.5: 129 | version "1.7.0" 130 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 131 | dependencies: 132 | escape-string-regexp "^1.0.5" 133 | object-assign "^4.1.0" 134 | 135 | find-up@^1.0.0: 136 | version "1.1.2" 137 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 138 | dependencies: 139 | path-exists "^2.0.0" 140 | pinkie-promise "^2.0.0" 141 | 142 | fs.realpath@^1.0.0: 143 | version "1.0.0" 144 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 145 | 146 | get-stdin@^4.0.1: 147 | version "4.0.1" 148 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 149 | 150 | glob@^7.0.5, glob@^7.0.6: 151 | version "7.1.1" 152 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 153 | dependencies: 154 | fs.realpath "^1.0.0" 155 | inflight "^1.0.4" 156 | inherits "2" 157 | minimatch "^3.0.2" 158 | once "^1.3.0" 159 | path-is-absolute "^1.0.0" 160 | 161 | graceful-fs@^4.1.2: 162 | version "4.1.11" 163 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 164 | 165 | has-ansi@^2.0.0: 166 | version "2.0.0" 167 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 168 | dependencies: 169 | ansi-regex "^2.0.0" 170 | 171 | hosted-git-info@^2.1.4: 172 | version "2.1.5" 173 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" 174 | 175 | indent-string@^2.1.0: 176 | version "2.1.0" 177 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 178 | dependencies: 179 | repeating "^2.0.0" 180 | 181 | inflight@^1.0.4: 182 | version "1.0.6" 183 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 184 | dependencies: 185 | once "^1.3.0" 186 | wrappy "1" 187 | 188 | inherits@2: 189 | version "2.0.3" 190 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 191 | 192 | inquirer@^0.12.0: 193 | version "0.12.0" 194 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" 195 | dependencies: 196 | ansi-escapes "^1.1.0" 197 | ansi-regex "^2.0.0" 198 | chalk "^1.0.0" 199 | cli-cursor "^1.0.1" 200 | cli-width "^2.0.0" 201 | figures "^1.3.5" 202 | lodash "^4.3.0" 203 | readline2 "^1.0.1" 204 | run-async "^0.1.0" 205 | rx-lite "^3.1.2" 206 | string-width "^1.0.1" 207 | strip-ansi "^3.0.0" 208 | through "^2.3.6" 209 | 210 | is-arrayish@^0.2.1: 211 | version "0.2.1" 212 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 213 | 214 | is-builtin-module@^1.0.0: 215 | version "1.0.0" 216 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 217 | dependencies: 218 | builtin-modules "^1.0.0" 219 | 220 | is-finite@^1.0.0: 221 | version "1.0.2" 222 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 223 | dependencies: 224 | number-is-nan "^1.0.0" 225 | 226 | is-fullwidth-code-point@^1.0.0: 227 | version "1.0.0" 228 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 229 | dependencies: 230 | number-is-nan "^1.0.0" 231 | 232 | is-utf8@^0.2.0: 233 | version "0.2.1" 234 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 235 | 236 | isexe@^1.1.1: 237 | version "1.1.2" 238 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" 239 | 240 | lerna@2.0.0-beta.34: 241 | version "2.0.0-beta.34" 242 | resolved "https://registry.yarnpkg.com/lerna/-/lerna-2.0.0-beta.34.tgz#c6e0103212f9acc8491a56c283b9ef6ba7717ea2" 243 | dependencies: 244 | async "^1.5.0" 245 | chalk "^1.1.1" 246 | cmd-shim "^2.0.2" 247 | command-join "^1.1.1" 248 | cross-spawn "^4.0.0" 249 | glob "^7.0.6" 250 | inquirer "^0.12.0" 251 | lodash.find "^4.3.0" 252 | lodash.unionwith "^4.2.0" 253 | meow "^3.7.0" 254 | minimatch "^3.0.0" 255 | mkdirp "^0.5.1" 256 | normalize-path "^2.0.1" 257 | object-assign "^4.0.1" 258 | object-assign-sorted "^1.0.0" 259 | pad "^1.0.0" 260 | path-exists "^2.1.0" 261 | progress "^1.1.8" 262 | read-cmd-shim "^1.0.1" 263 | rimraf "^2.4.4" 264 | semver "^5.1.0" 265 | signal-exit "^2.1.2" 266 | sync-exec "^0.6.2" 267 | 268 | load-json-file@^1.0.0: 269 | version "1.1.0" 270 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 271 | dependencies: 272 | graceful-fs "^4.1.2" 273 | parse-json "^2.2.0" 274 | pify "^2.0.0" 275 | pinkie-promise "^2.0.0" 276 | strip-bom "^2.0.0" 277 | 278 | lodash.find@^4.3.0: 279 | version "4.6.0" 280 | resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" 281 | 282 | lodash.unionwith@^4.2.0: 283 | version "4.6.0" 284 | resolved "https://registry.yarnpkg.com/lodash.unionwith/-/lodash.unionwith-4.6.0.tgz#74d140b5ca8146e6c643c3724f5152538d9ac1f0" 285 | 286 | lodash@^4.3.0: 287 | version "4.17.4" 288 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 289 | 290 | loud-rejection@^1.0.0: 291 | version "1.6.0" 292 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 293 | dependencies: 294 | currently-unhandled "^0.4.1" 295 | signal-exit "^3.0.0" 296 | 297 | lru-cache@^4.0.1: 298 | version "4.0.2" 299 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" 300 | dependencies: 301 | pseudomap "^1.0.1" 302 | yallist "^2.0.0" 303 | 304 | map-obj@^1.0.0, map-obj@^1.0.1: 305 | version "1.0.1" 306 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 307 | 308 | meow@^3.7.0: 309 | version "3.7.0" 310 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 311 | dependencies: 312 | camelcase-keys "^2.0.0" 313 | decamelize "^1.1.2" 314 | loud-rejection "^1.0.0" 315 | map-obj "^1.0.1" 316 | minimist "^1.1.3" 317 | normalize-package-data "^2.3.4" 318 | object-assign "^4.0.1" 319 | read-pkg-up "^1.0.1" 320 | redent "^1.0.0" 321 | trim-newlines "^1.0.0" 322 | 323 | minimatch@^3.0.0, minimatch@^3.0.2: 324 | version "3.0.3" 325 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 326 | dependencies: 327 | brace-expansion "^1.0.0" 328 | 329 | minimist@0.0.8: 330 | version "0.0.8" 331 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 332 | 333 | minimist@^1.1.3: 334 | version "1.2.0" 335 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 336 | 337 | mkdirp@^0.5.1, mkdirp@~0.5.0: 338 | version "0.5.1" 339 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 340 | dependencies: 341 | minimist "0.0.8" 342 | 343 | mute-stream@0.0.5: 344 | version "0.0.5" 345 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" 346 | 347 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 348 | version "2.3.5" 349 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" 350 | dependencies: 351 | hosted-git-info "^2.1.4" 352 | is-builtin-module "^1.0.0" 353 | semver "2 || 3 || 4 || 5" 354 | validate-npm-package-license "^3.0.1" 355 | 356 | normalize-path@^2.0.1: 357 | version "2.0.1" 358 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" 359 | 360 | number-is-nan@^1.0.0: 361 | version "1.0.1" 362 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 363 | 364 | object-assign-sorted@^1.0.0: 365 | version "1.0.0" 366 | resolved "https://registry.yarnpkg.com/object-assign-sorted/-/object-assign-sorted-1.0.0.tgz#e739f698164014ec1f050f38decabad1e9b228bf" 367 | dependencies: 368 | object-assign "^4.0.1" 369 | sorted-object "^2.0.0" 370 | 371 | object-assign@^4.0.1, object-assign@^4.1.0: 372 | version "4.1.1" 373 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 374 | 375 | once@^1.3.0: 376 | version "1.4.0" 377 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 378 | dependencies: 379 | wrappy "1" 380 | 381 | onetime@^1.0.0: 382 | version "1.1.0" 383 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 384 | 385 | pad@^1.0.0: 386 | version "1.0.2" 387 | resolved "https://registry.yarnpkg.com/pad/-/pad-1.0.2.tgz#f6e36ff3ceb468e4ae2ed33ad5ecf25ace920960" 388 | 389 | parse-json@^2.2.0: 390 | version "2.2.0" 391 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 392 | dependencies: 393 | error-ex "^1.2.0" 394 | 395 | path-exists@^2.0.0, path-exists@^2.1.0: 396 | version "2.1.0" 397 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 398 | dependencies: 399 | pinkie-promise "^2.0.0" 400 | 401 | path-is-absolute@^1.0.0: 402 | version "1.0.1" 403 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 404 | 405 | path-type@^1.0.0: 406 | version "1.1.0" 407 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 408 | dependencies: 409 | graceful-fs "^4.1.2" 410 | pify "^2.0.0" 411 | pinkie-promise "^2.0.0" 412 | 413 | pify@^2.0.0: 414 | version "2.3.0" 415 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 416 | 417 | pinkie-promise@^2.0.0: 418 | version "2.0.1" 419 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 420 | dependencies: 421 | pinkie "^2.0.0" 422 | 423 | pinkie@^2.0.0: 424 | version "2.0.4" 425 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 426 | 427 | progress@^1.1.8: 428 | version "1.1.8" 429 | resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" 430 | 431 | pseudomap@^1.0.1: 432 | version "1.0.2" 433 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 434 | 435 | read-cmd-shim@^1.0.1: 436 | version "1.0.1" 437 | resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" 438 | dependencies: 439 | graceful-fs "^4.1.2" 440 | 441 | read-pkg-up@^1.0.1: 442 | version "1.0.1" 443 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 444 | dependencies: 445 | find-up "^1.0.0" 446 | read-pkg "^1.0.0" 447 | 448 | read-pkg@^1.0.0: 449 | version "1.1.0" 450 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 451 | dependencies: 452 | load-json-file "^1.0.0" 453 | normalize-package-data "^2.3.2" 454 | path-type "^1.0.0" 455 | 456 | readline2@^1.0.1: 457 | version "1.0.1" 458 | resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" 459 | dependencies: 460 | code-point-at "^1.0.0" 461 | is-fullwidth-code-point "^1.0.0" 462 | mute-stream "0.0.5" 463 | 464 | redent@^1.0.0: 465 | version "1.0.0" 466 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 467 | dependencies: 468 | indent-string "^2.1.0" 469 | strip-indent "^1.0.1" 470 | 471 | repeat-string@^1.5.4: 472 | version "1.6.1" 473 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 474 | 475 | repeating@^2.0.0: 476 | version "2.0.1" 477 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 478 | dependencies: 479 | is-finite "^1.0.0" 480 | 481 | restore-cursor@^1.0.1: 482 | version "1.0.1" 483 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 484 | dependencies: 485 | exit-hook "^1.0.0" 486 | onetime "^1.0.0" 487 | 488 | rimraf@^2.4.4: 489 | version "2.5.4" 490 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 491 | dependencies: 492 | glob "^7.0.5" 493 | 494 | run-async@^0.1.0: 495 | version "0.1.0" 496 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" 497 | dependencies: 498 | once "^1.3.0" 499 | 500 | rx-lite@^3.1.2: 501 | version "3.1.2" 502 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" 503 | 504 | "semver@2 || 3 || 4 || 5", semver@^5.1.0: 505 | version "5.3.0" 506 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 507 | 508 | signal-exit@^2.1.2: 509 | version "2.1.2" 510 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" 511 | 512 | signal-exit@^3.0.0: 513 | version "3.0.2" 514 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 515 | 516 | sorted-object@^2.0.0: 517 | version "2.0.1" 518 | resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" 519 | 520 | spdx-correct@~1.0.0: 521 | version "1.0.2" 522 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 523 | dependencies: 524 | spdx-license-ids "^1.0.2" 525 | 526 | spdx-expression-parse@~1.0.0: 527 | version "1.0.4" 528 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 529 | 530 | spdx-license-ids@^1.0.2: 531 | version "1.2.2" 532 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 533 | 534 | string-width@^1.0.1: 535 | version "1.0.2" 536 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 537 | dependencies: 538 | code-point-at "^1.0.0" 539 | is-fullwidth-code-point "^1.0.0" 540 | strip-ansi "^3.0.0" 541 | 542 | strip-ansi@^3.0.0: 543 | version "3.0.1" 544 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 545 | dependencies: 546 | ansi-regex "^2.0.0" 547 | 548 | strip-bom@^2.0.0: 549 | version "2.0.0" 550 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 551 | dependencies: 552 | is-utf8 "^0.2.0" 553 | 554 | strip-indent@^1.0.1: 555 | version "1.0.1" 556 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 557 | dependencies: 558 | get-stdin "^4.0.1" 559 | 560 | supports-color@^2.0.0: 561 | version "2.0.0" 562 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 563 | 564 | sync-exec@^0.6.2: 565 | version "0.6.2" 566 | resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.6.2.tgz#717d22cc53f0ce1def5594362f3a89a2ebb91105" 567 | 568 | through@^2.3.6: 569 | version "2.3.8" 570 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 571 | 572 | trim-newlines@^1.0.0: 573 | version "1.0.0" 574 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 575 | 576 | validate-npm-package-license@^3.0.1: 577 | version "3.0.1" 578 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 579 | dependencies: 580 | spdx-correct "~1.0.0" 581 | spdx-expression-parse "~1.0.0" 582 | 583 | which@^1.2.9: 584 | version "1.2.12" 585 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" 586 | dependencies: 587 | isexe "^1.1.1" 588 | 589 | wrappy@1: 590 | version "1.0.2" 591 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 592 | 593 | yallist@^2.0.0: 594 | version "2.0.0" 595 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" 596 | --------------------------------------------------------------------------------