├── .editorconfig ├── .gitignore ├── .travis.yml ├── .verb.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── appveyor.yml ├── index.js ├── package.json ├── test.js ├── utils.js └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [*.md] 11 | trim_trailing_whitespace = false 12 | insert_final_newline = false 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Always-ignore dirs # 2 | # #################### 3 | _gh_pages 4 | node_modules 5 | jspm_packages 6 | bower_components 7 | components 8 | vendor 9 | build 10 | dest 11 | src 12 | lib-cov 13 | coverage 14 | nbproject 15 | cache 16 | temp 17 | tmp 18 | try-catch-core 19 | 20 | # Packages # 21 | # ########## 22 | *.7z 23 | *.dmg 24 | *.gz 25 | *.iso 26 | *.jar 27 | *.rar 28 | *.tar 29 | *.zip 30 | 31 | # OS, Logs and databases # 32 | # ######################### 33 | logs 34 | *.pid 35 | *.dat 36 | *.log 37 | *.sql 38 | *.sqlite 39 | *~ 40 | ~* 41 | 42 | # Another files # 43 | # ############### 44 | Icon? 45 | .DS_Store* 46 | Thumbs.db 47 | ehthumbs.db 48 | Desktop.ini 49 | npm-debug.log 50 | .directory 51 | ._* 52 | lcov.info 53 | 54 | # Runtime data 55 | pids 56 | *.pid 57 | *.seed 58 | *.pid.lock 59 | 60 | 61 | # nyc test coverage 62 | .nyc_output 63 | 64 | # Grunt intermediate storage 65 | # see here: http://gruntjs.com/creating-plugins#storing-task-files 66 | .grunt 67 | 68 | # Optional npm cache directory 69 | .npm 70 | 71 | # Optional REPL history 72 | .node_repl_history 73 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | 4 | node_js: 5 | - "node" 6 | - "6" 7 | - "4" 8 | - "0.12" 9 | - "0.10" 10 | 11 | matrix: 12 | fast_finish: true 13 | allow_failures: 14 | - node_js: "4" 15 | - node_js: "0.12" 16 | - node_js: "0.10" 17 | 18 | notifications: 19 | email: false 20 | 21 | after_success: bash <(curl -s https://codecov.io/bash) 22 | -------------------------------------------------------------------------------- /.verb.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | 5 |

6 | 7 | # {%= name %} {%= badge('npm') %} {%= badge('downloads') %} [![npm total downloads][downloads-img]][downloads-url] 8 | 9 | > {%= description %} 10 | 11 | [![codeclimate][codeclimate-img]][codeclimate-url] 12 | [![codestyle][standard-img]][standard-url] 13 | [![linux build][travis-img]][travis-url] 14 | [![windows build][appveyor-img]][appveyor-url] 15 | [![codecov][coverage-img]][coverage-url] 16 | [![dependency status][david-img]][david-url] 17 | 18 | ## Install 19 | ``` 20 | npm i {%= name %} --save 21 | ``` 22 | 23 | ## Usage 24 | > For more use-cases see the [tests](./test.js) 25 | 26 | ```js 27 | const fs = require('fs') 28 | const {%= varname %} = require('{%= name %}') 29 | 30 | {%= varname %}((cb) => { 31 | fs.readFile('./package.json', 'utf8', cb) 32 | }, (err, res) => { 33 | if (err) return console.error(err) 34 | 35 | let json = JSON.parse(res) 36 | console.log(json.name) // => '{%= name %}' 37 | }) 38 | ``` 39 | 40 | ## Background 41 | Why this exists? What is useful for? What's its core purpose and why not to use something other? Why not plain try/catch block? What is this? 42 | 43 | ### What is this? 44 | Simply said, just try/catch block. But on steroids. Simple try/catch block with a callback to be called when some function completes - no matter that function is asynchronous or synchronous, no matter it throws. 45 | 46 | ### Why this exists? 47 | > There are few reasons why this is built. 48 | 49 | - **simplicity:** built on [try-catch-callback][], [once][] and [dezalgo][] - with few lines of code 50 | - **flexibility:** allows to pass custom function context and custom arguments 51 | - **guarantees:** completion is always handled and always in next tick 52 | - **low-level:** allows to build more robust wrappers around it in higher level, such as [always-done][] to handle completion of **anything** - observables, promises, streams, synchronous and async/await functions. 53 | 54 | ### What is useful for? 55 | It's always useful to have low-level libs as this one. Because you can build more higher level libs on top of this one. For example you can create one library to handle completion of generator functions. It would be simply one type check, converting that generator function to function that returns a promise, than handle that promise in the callback. 56 | 57 | Brilliant example of higher level lib is [always-done][] which just pass given function to this lib, and handles the returned value inside callback with a few checks. 58 | 59 | Another thing can be to be used as _"thunkify"_ lib, because if you does not give a callback it returns a function (thunk) that accepts a callback. 60 | 61 | ### Why not plain try/catch? 62 | Guarantees. This package gives you guarantees that you will get correct result and/or error of execution of some function. And removes the boilerplate stuff. Also works with both synchronous and asynchronous functions. But the very main thing that it does is that it calls the given callback in the next tick of event loop and that callback always will be called only once. 63 | 64 | **[back to top](#readme)** 65 | 66 | ## API 67 | {%= apidocs('index.js') %} 68 | 69 | **[back to top](#readme)** 70 | 71 | ## Supports 72 | > Handle completion of synchronous functions (functions that retunrs something) and asynchronous (also known as callbacks), but not `async/await` or other functions that returns promises, streams and etc - for such thing use [always-done][]. 73 | 74 | ### Successful completion of sync functions 75 | 76 | ```js 77 | const {%= varname %} = require('{%= name %}') 78 | 79 | {%= varname %}(() => { 80 | return 123 81 | }, (err, res) => { 82 | console.log(err, res) // => null, 123 83 | }) 84 | ``` 85 | 86 | **[back to top](#readme)** 87 | 88 | ### Failing completion of synchronous 89 | 90 | ```js 91 | const {%= varname %} = require('{%= name %}') 92 | 93 | {%= varname %}(() => { 94 | foo // ReferenceError 95 | return 123 96 | }, (err) => { 97 | console.log(err) // => ReferenceError: foo is not defined 98 | }) 99 | ``` 100 | 101 | **[back to top](#readme)** 102 | 103 | ### Completion of async functions (callbacks) 104 | 105 | ```js 106 | const fs = require('fs') 107 | const {%= varname %} = require('{%= name %}') 108 | 109 | {%= varname %}((cb) => { 110 | // do some async stuff 111 | fs.readFile('./package.json', 'utf8', cb) 112 | }, (e, res) => { 113 | console.log(res) // => contents of package.json 114 | }) 115 | ``` 116 | 117 | **[back to top](#readme)** 118 | 119 | ### Failing completion of callbacks 120 | 121 | ```js 122 | const fs = require('fs') 123 | const {%= varname %} = require('{%= name %}') 124 | 125 | {%= varname %}((cb) => { 126 | fs.stat('foo-bar-baz', cb) 127 | }, (err) => { 128 | console.log(err) // => ENOENT Error, file not found 129 | }) 130 | ``` 131 | 132 | **[back to top](#readme)** 133 | 134 | ### Passing custom context 135 | 136 | ```js 137 | const {%= varname %} = require('{%= name %}') 138 | const opts = { 139 | context: { foo: 'bar' } 140 | } 141 | 142 | {%= varname %}(function () { 143 | console.log(this.foo) // => 'bar' 144 | }, opts, () => { 145 | console.log('done') 146 | }) 147 | ``` 148 | 149 | **[back to top](#readme)** 150 | 151 | ### Passing custom arguments 152 | > It may be strange, but this allows you to pass more arguments to that first function and the last argument always will be "callback" until `fn` is async or sync but with `passCallback: true` option. 153 | 154 | ```js 155 | const {%= varname %} = require('{%= name %}') 156 | const options = { 157 | args: [1, 2] 158 | } 159 | 160 | {%= varname %}((a, b) => { 161 | console.log(arguments.length) // => 2 162 | console.log(a) // => 1 163 | console.log(b) // => 2 164 | 165 | return a + b + 3 166 | }, options, (e, res) => { 167 | console.log(res) // => 9 168 | }) 169 | ``` 170 | 171 | **[back to top](#readme)** 172 | 173 | ### Returning a thunk 174 | > Can be used as _thunkify_ lib without problems, just don't pass a done callback. 175 | 176 | ```js 177 | const fs = require('fs') 178 | const {%= varname %} = require('{%= name %}') 179 | const readFileThunk = {%= varname %}((cb) => { 180 | fs.readFile('./package.json', cb) 181 | }) 182 | 183 | readFileThunk((err, res) => { 184 | console.log(err, res) // => null, Buffer 185 | }) 186 | ``` 187 | 188 | **[back to top](#readme)** 189 | 190 | {% if (verb.related && verb.related.list && verb.related.list.length) { %} 191 | ## Related 192 | {%= related(verb.related.list, {words: 12}) %} 193 | {% } %} 194 | 195 | ## Contributing 196 | Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/{%= repository %}/issues/new). 197 | Please read the [contributing guidelines](CONTRIBUTING.md) for advice on opening issues, pull requests, and coding standards. 198 | If you need some help and can spent some cash, feel free to [contact me at CodeMentor.io](https://www.codementor.io/tunnckocore?utm_source=github&utm_medium=button&utm_term=tunnckocore&utm_campaign=github) too. 199 | 200 | **In short:** If you want to contribute to that project, please follow these things 201 | 202 | 1. Please DO NOT edit [README.md](README.md), [CHANGELOG.md](CHANGELOG.md) and [.verb.md](.verb.md) files. See ["Building docs"](#building-docs) section. 203 | 2. Ensure anything is okey by installing the dependencies and run the tests. See ["Running tests"](#running-tests) section. 204 | 3. Always use `npm run commit` to commit changes instead of `git commit`, because it is interactive and user-friendly. It uses [commitizen][] behind the scenes, which follows Conventional Changelog idealogy. 205 | 4. Do NOT bump the version in package.json. For that we use `npm run release`, which is [standard-version][] and follows Conventional Changelog idealogy. 206 | 207 | Thanks a lot! :) 208 | 209 | ## Building docs 210 | Documentation and that readme is generated using [verb-generate-readme][], which is a [verb][] generator, so you need to install both of them and then run `verb` command like that 211 | 212 | ``` 213 | $ npm install verbose/verb#dev verb-generate-readme --global && verb 214 | ``` 215 | 216 | _Please don't edit the README directly. Any changes to the readme must be made in [.verb.md](.verb.md)._ 217 | 218 | ## Running tests 219 | Clone repository and run the following in that cloned directory 220 | 221 | ``` 222 | $ npm install && npm test 223 | ``` 224 | 225 | ## Author 226 | {%= includeEither('authors', 'author') %} 227 | + [codementor/tunnckoCore](https://codementor.io/tunnckoCore) 228 | 229 | ## License 230 | {%= copyright({ start: 2016, linkify: true, prefix: 'Copyright', symbol: '©' }) %} {%= license %} 231 | 232 | *** 233 | 234 | {%= include('footer') %} 235 | _Project scaffolded using [charlike][] cli._ 236 | 237 | {%= reflinks(verb.reflinks) %} 238 | 239 | [downloads-url]: https://www.npmjs.com/package/{%= name %} 240 | [downloads-img]: https://img.shields.io/npm/dt/{%= name %}.svg 241 | 242 | [codeclimate-url]: https://codeclimate.com/github/{%= repository %} 243 | [codeclimate-img]: https://img.shields.io/codeclimate/github/{%= repository %}.svg 244 | 245 | [travis-url]: https://travis-ci.org/{%= repository %} 246 | [travis-img]: https://img.shields.io/travis/{%= repository %}/master.svg?label=linux 247 | 248 | [appveyor-url]: https://ci.appveyor.com/project/tunnckoCore/{%= name %} 249 | [appveyor-img]: https://img.shields.io/appveyor/ci/tunnckoCore/{%= name %}/master.svg?label=windows 250 | 251 | [coverage-url]: https://codecov.io/gh/{%= repository %} 252 | [coverage-img]: https://img.shields.io/codecov/c/github/{%= repository %}/master.svg 253 | 254 | [david-url]: https://david-dm.org/{%= repository %} 255 | [david-img]: https://img.shields.io/david/{%= repository %}.svg 256 | 257 | [standard-url]: https://github.com/feross/standard 258 | [standard-img]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | 6 | ## [2.0.3](https://github.com/hybridables/try-catch-core/compare/v2.0.2...v2.0.3) (2017-03-01) 7 | 8 | 9 | ### Bug Fixes 10 | 11 | * **options:** immutable options object ([ef536f3](https://github.com/hybridables/try-catch-core/commit/ef536f3)), closes [#7](https://github.com/hybridables/try-catch-core/issues/7) 12 | * **package:** add missed dep ([4486bc0](https://github.com/hybridables/try-catch-core/commit/4486bc0)) 13 | * **package:** remove lazy-cache dependency ([8e2dc1f](https://github.com/hybridables/try-catch-core/commit/8e2dc1f)) 14 | * **package:** update devDeps, npm scripts, travis, appveyor ([c5ad0ae](https://github.com/hybridables/try-catch-core/commit/c5ad0ae)) 15 | 16 | 17 | 18 | 19 | ## [2.0.2](https://github.com/hybridables/try-catch-core/compare/v2.0.1...v2.0.2) (2016-11-01) 20 | 21 | 22 | ### Bug Fixes 23 | 24 | * **docs:** fix few docs typos ([5f6931d](https://github.com/hybridables/try-catch-core/commit/5f6931d)) 25 | 26 | 27 | 28 | 29 | ## [2.0.1](https://github.com/hybridables/try-catch-core/compare/v2.0.0...v2.0.1) (2016-11-01) 30 | 31 | 32 | ### Bug Fixes 33 | 34 | * **sync:** fix synchronous completion ([58c704b](https://github.com/hybridables/try-catch-core/commit/58c704b)) 35 | 36 | 37 | 38 | 39 | # [2.0.0](https://github.com/hybridables/try-catch-core/compare/v1.0.4...v2.0.0) (2016-11-01) 40 | 41 | 42 | ### Code Refactoring 43 | 44 | * **arguments:** switch arguments order, use latest dependencies ([0646c0a](https://github.com/hybridables/try-catch-core/commit/0646c0a)) 45 | 46 | 47 | ### BREAKING CHANGES 48 | 49 | * arguments: switch arguments order - options argument before done callback argument 50 | 51 | 52 | 53 | 54 | ## [1.0.4](https://github.com/hybridables/try-catch-core/compare/v1.0.3...v1.0.4) (2016-11-01) 55 | 56 | 57 | ### Bug Fixes 58 | 59 | * **links:** move to [@hybridables](https://github.com/hybridables) org ([dc7c3f0](https://github.com/hybridables/try-catch-core/commit/dc7c3f0)) 60 | * **options:** pass options to try-catch-callback ([aba375d](https://github.com/hybridables/try-catch-core/commit/aba375d)) 61 | 62 | 63 | 64 | 65 | ## [1.0.3](https://github.com/tunnckocore/try-catch-core/compare/v1.0.2...v1.0.3) (2016-09-22) 66 | 67 | 68 | ### Bug Fixes 69 | 70 | * **dependency:** use `try-catch-callback` ([447b20b](https://github.com/tunnckocore/try-catch-core/commit/447b20b)) 71 | 72 | 73 | 74 | 75 | ## [1.0.2](https://github.com/tunnckocore/try-catch-core/compare/v1.0.1...v1.0.2) (2016-09-22) 76 | 77 | 78 | ### Bug Fixes 79 | 80 | * **index.js:** add check if cb is not a function ([4818f61](https://github.com/tunnckocore/try-catch-core/commit/4818f61)) 81 | 82 | 83 | 84 | 85 | ## [1.0.1](https://github.com/tunnckocore/try-catch-core/compare/v1.0.0...v1.0.1) (2016-09-21) 86 | 87 | 88 | ### Bug Fixes 89 | 90 | * **contributing.md:** fix the name of the package ([6297e9e](https://github.com/tunnckocore/try-catch-core/commit/6297e9e)) 91 | * **package:** add keywords ([a2b7900](https://github.com/tunnckocore/try-catch-core/commit/a2b7900)) 92 | 93 | 94 | 95 | 96 | 97 | ## 1.0.0 - 2016-09-21 98 | - First release 99 | 100 | ## 0.0.0 - 2016-09-21 101 | - Initial commit -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to try-catch-core 2 | 3 | :sparkles: Thanks for your contribution in advance! :tada: 4 | 5 | First and foremost, thank you! We appreciate that you want to contribute to `try-catch-core`, your time is valuable, and your contributions mean a lot to us. 6 | 7 | ## What does "contributing" mean? 8 | 9 | There are many ways to contribute to an open source project, including: 10 | 11 | - Updating or correcting documentation 12 | - Feature requests 13 | - Submitting bug reports 14 | 15 | But you aren't limited to these things. Use your imagination. If you like a project, and you see something that can or should be improved, then you have an opportunity (but not an obligation) to contribute. 16 | 17 | ### Improve documentation 18 | 19 | As a user of `try-catch-core` you're the perfect candidate to help us improve our documentation. Typo corrections, error fixes, better explanations, more examples, etc. Open issues for things that could be improved. Anything. Even improvements to this document. 20 | 21 | Use the [`docs` label](https://github.com/tunnckoCore/try-catch-core/labels/docs) to find suggestions for what we'd love to see more documentation on. 22 | 23 | ### Improve issues 24 | 25 | Some issues are created with missing information, not reproducible, or plain invalid. Help make them easier to resolve. Handling issues takes a lot of time that we could rather spend on fixing bugs and adding features. 26 | 27 | ### Give feedback on issues 28 | 29 | We're always looking for more opinions on discussions in the issue tracker. It's a good opportunity to influence the future direction of AVA. 30 | 31 | The [`question` label](https://github.com/tunnckoCore/try-catch-core/labels/question) is a good place to find ongoing discussions. 32 | 33 | 34 | ## Why should I contribute? 35 | 36 | Regardless of the details, being an effective contributor means that you're adding _adding value_ to a project. 37 | 38 | Here are just a few of the advantages of adding value to a project: 39 | 40 | - you gain the appreciation and respect of the project's maintainers and community 41 | - you gain valuable experience 42 | - you get noticed by job recruiters 43 | - you become more attrative to potential employers. 44 | 45 | ## Getting familiarized with a project 46 | 47 | Before you attempt to contribute to a project, take a moment to get familiarized with it. In most cases you can learn all you need to know within a couple of minutes. 48 | 49 | ### Required 50 | 51 | The following items are a pre-requisite for contributing to any project. Avoid creating issues or doing pull requests until you've done all of these things: 52 | 53 | - **Review the readme**: Oftentimes a project readme has links to documentation, advice on creating issues or bug reports, and so on. 54 | - **Read contributing guidelines**: look for a `CONTRIBUTING.md` file and, if one exists, read it in its entirety before creating issues or doing a pull request. Typically this is in the root of the project, but it might be in `.github/CONTRIBUTING.md`. 55 | - **Search issues**: Before creating bug reports, feature requests, or submitting issues of any kind, you should always search for existing issues (closed or open) that address the same thing. 56 | 57 | ### Recommended 58 | 59 | - **Review unit tests** - one of the best ways to get familiarized with a project is through its unit tests. Of course, this depends on the type of project, complexity, test coverage, and so on. But when applicable, test are often a good source of insight. 60 | - **Get familiarized with the code** - If the codebase is small, and you're familiar with the language, take a moment to review the code to see if you find anything that can be improved. If the codebase is large, you might be able to provide domain expertise or fixes for specific areas. 61 | - **Ask questions** - Depending the project type and size, it might be good to start by searching google to find anwers to your questions. Then, check to see if the project uses [gitter](https://gitter.im) or has a [slack](https://slack.com) channel, or something similar. Also visit [stackoverflow](https://stackoverflow.com) and do a search to see if others have already asked the same question. As a last resort, create an issue on the project's GitHub repository. 62 | 63 | 64 | ## Details of Highly Effective Bug Reports 65 | 66 | ### Rationale 67 | 68 | The easier you make it for a maintainter or members of the community to react, the more likely it is for them to react quickly. 69 | 70 | Like you, maintainers have to make decisions about where to spend their time. Not only within a given project, but oftentimes across multiple projects. If you're experiencing a bug and you want to make a report, bug reports that are clearly described and organized are much more likely to get addressed by the maintainers or member of the community. 71 | 72 | Providing these details up front will make everyone happy. If you don't provide these details, maintainers will have to ask you for them, which can be annoying for experienced maintainers who have had to ask for these crucial details many times. 73 | 74 | ### The details 75 | 76 | Always include the following essential details in every bug report: 77 | 78 | 1. **version**: what version of `try-catch-core` were you using when you experienced the bug? 79 | 2. **description**: clear description of the bug, and minimum steps to reproduce it. 80 | 3. **error messages**: paste any error messages into the issue or a [github gist](https://gist.github.com/), use [gfm code blocks][gfm]. 81 | 4. **code**: paste any code necessary for reproducing the bug and use [gfm code blocks][gfm] to wrap the code. 82 | 5. **title**: use a clear and descriptive title. 83 | 84 | See GitHub's guide to [Creating and highlighting code blocks][gfm] for more details. 85 | 86 | ## Submitting a pull requests 87 | 88 | **Working on your first Pull Request?** 89 | 90 | You can learn how from this *free* video series ["How to Contribute to an Open Source Project on GitHub"][howto-oss-github] 91 | 92 | **Details** 93 | 94 | - Non-trivial changes are often best discussed in an issue first, to prevent you from doing unnecessary work. 95 | - For ambitious tasks, you should try to get your work in front of the community for feedback as soon as possible. Open a pull request as soon as you have done the minimum needed to demonstrate your idea. At this early stage, don't worry about making things perfect, or 100% complete. Add a [WIP] prefix to the title, and describe what you still need to do. This lets reviewers know not to nit-pick small details or point out improvements you already know you need to make. 96 | - New features should be accompanied with tests and documentation. 97 | - Don't include unrelated changes. 98 | - Lint and test immediately after you fork by running `$ npm test`. 99 | - Lint and test before submitting the pull request by running `$ npm test`. 100 | - Make the pull request from a [topic branch](https://github.com/dchelimsky/rspec/wiki/Topic-Branches), not master. 101 | - Use a clear and descriptive title for the pull request and commits. 102 | - Write a convincing description of why we should land your pull request. It's your job to convince us. Answer "why" it's needed and provide use-cases. 103 | - You might be asked to do changes to your pull request. There's never a need to open another pull request. [Just update the existing one.][amending] 104 | 105 | ## Other ways to contribute 106 | 107 | ### Show your support 108 | 109 | Sometimes we find a project we like but just don't have time to contribute. That's okay, there are other ways to show support: 110 | 111 | - Star the project 112 | - Tweet about it 113 | - Tell your friends 114 | 115 | ### Show your appreciation 116 | 117 | Maintainers are people too. You can make someone's day by letting them know you appreciate their work. If you use a library in one of your own projects, let the author know you care: 118 | 119 | - Add a link to the project on your project's readme 120 | - Say "thanks" on twitter 121 | 122 | ## Attribution 123 | 124 | This document is adapted from a few Contributing Guides. It is more general and can apply in most cases. Everyone is free to re-use it or re-adapt it. 125 | 126 | ### Good to read 127 | 128 | - [Awesome Contributing][awesomelist] 129 | - [Idiomatic Contributing][idiomatic] 130 | - [AVA's Contributing Guide][avajs] 131 | - [Amending a commit Guide][amending] 132 | - [Creating and highlighting code blocks][gfm] 133 | - [Contributing to Open Source (GitHub)][os-on-github] 134 | - [How to contribute to Open Source Project (Egghead.io videos)][howto-oss-github] 135 | 136 | ### Authors 137 | 138 | **Charlike Mike Reagent** 139 | 140 | * [github/tunnckoCore](https://github.com/tunnckoCore) 141 | * [twitter/tunnckoCore](http://twitter.com/tunnckoCore) 142 | 143 | ## License 144 | 145 | Released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). 146 | Copyright © 2016, [Charlike Mike Reagent](http://www.tunnckocore.tk). 147 | 148 | [gfm]: https://help.github.com/articles/creating-and-highlighting-code-blocks/ 149 | [avajs]: https://github.com/avajs/ava/blob/master/contributing.md 150 | [idiomatic]: https://github.com/jonschlinkert/idiomatic-contributing 151 | [awesomelist]: https://github.com/jonschlinkert/awesome-contributing 152 | [amending]: https://github.com/RichardLitt/docs/blob/master/amending-a-commit-guide.md 153 | [os-on-github]: https://guides.github.com/activities/contributing-to-open-source/ 154 | [howto-oss-github]: http://j.mp/how-to-contrib-on-github -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Charlike Mike Reagent 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | 5 |

6 | 7 | # try-catch-core [![NPM version](https://img.shields.io/npm/v/try-catch-core.svg?style=flat)](https://www.npmjs.com/package/try-catch-core) [![NPM monthly downloads](https://img.shields.io/npm/dm/try-catch-core.svg?style=flat)](https://npmjs.org/package/try-catch-core) [![npm total downloads][downloads-img]][downloads-url] 8 | 9 | > Low-level package to handle completion and errors of sync or asynchronous functions, using [once][] and [dezalgo][] libs. Useful for and used in higher-level libs such as [always-done][] to handle completion of anything. 10 | 11 | [![codeclimate][codeclimate-img]][codeclimate-url] 12 | [![codestyle][standard-img]][standard-url] 13 | [![linux build][travis-img]][travis-url] 14 | [![windows build][appveyor-img]][appveyor-url] 15 | [![codecov][coverage-img]][coverage-url] 16 | [![dependency status][david-img]][david-url] 17 | 18 | ## Install 19 | ``` 20 | npm i try-catch-core --save 21 | ``` 22 | 23 | ## Usage 24 | > For more use-cases see the [tests](./test.js) 25 | 26 | ```js 27 | const fs = require('fs') 28 | const tryCatchCore = require('try-catch-core') 29 | 30 | tryCatchCore((cb) => { 31 | fs.readFile('./package.json', 'utf8', cb) 32 | }, (err, res) => { 33 | if (err) return console.error(err) 34 | 35 | let json = JSON.parse(res) 36 | console.log(json.name) // => 'try-catch-core' 37 | }) 38 | ``` 39 | 40 | ## Background 41 | Why this exists? What is useful for? What's its core purpose and why not to use something other? Why not plain try/catch block? What is this? 42 | 43 | ### What is this? 44 | Simply said, just try/catch block. But on steroids. Simple try/catch block with a callback to be called when some function completes - no matter that function is asynchronous or synchronous, no matter it throws. 45 | 46 | ### Why this exists? 47 | > There are few reasons why this is built. 48 | 49 | - **simplicity:** built on [try-catch-callback][], [once][] and [dezalgo][] - with few lines of code 50 | - **flexibility:** allows to pass custom function context and custom arguments 51 | - **guarantees:** completion is always handled and always in next tick 52 | - **low-level:** allows to build more robust wrappers around it in higher level, such as [always-done][] to handle completion of **anything** - observables, promises, streams, synchronous and async/await functions. 53 | 54 | ### What is useful for? 55 | It's always useful to have low-level libs as this one. Because you can build more higher level libs on top of this one. For example you can create one library to handle completion of generator functions. It would be simply one type check, converting that generator function to function that returns a promise, than handle that promise in the callback. 56 | 57 | Brilliant example of higher level lib is [always-done][] which just pass given function to this lib, and handles the returned value inside callback with a few checks. 58 | 59 | Another thing can be to be used as _"thunkify"_ lib, because if you does not give a callback it returns a function (thunk) that accepts a callback. 60 | 61 | ### Why not plain try/catch? 62 | Guarantees. This package gives you guarantees that you will get correct result and/or error of execution of some function. And removes the boilerplate stuff. Also works with both synchronous and asynchronous functions. But the very main thing that it does is that it calls the given callback in the next tick of event loop and that callback always will be called only once. 63 | 64 | **[back to top](#readme)** 65 | 66 | ## API 67 | 68 | ### [tryCatchCore](index.js#L51) 69 | > Executes given `fn` and pass results/errors to the `callback` if given, otherwise returns a thunk. In below example you will see how passing custom arguments can be useful and why such options exists. 70 | 71 | **Params** 72 | 73 | * `` **{Function}**: function to be called. 74 | * `[opts]` **{Object}**: optional options, such as `context` and `args`, passed to [try-catch-callback][] 75 | * `[opts.context]` **{Object}**: context to be passed to `fn` 76 | * `[opts.args]` **{Array}**: custom argument(s) to be pass to `fn`, given value is arrayified 77 | * `[opts.passCallback]` **{Boolean}**: pass `true` if you want `cb` to be passed to `fn` args. 78 | * `[cb]` **{Function}**: callback with `cb(err, res)` signature. 79 | * `returns` **{Function}** `thunk`: if `cb` not given. 80 | 81 | **Example** 82 | 83 | ```js 84 | var tryCatch = require('try-catch-core') 85 | var options = { 86 | context: { num: 123, bool: true } 87 | args: [require('assert')] 88 | } 89 | 90 | // `next` is always there, until 91 | // you pass `passCallback: false` to options 92 | tryCatch(function (assert, next) { 93 | assert.strictEqual(this.num, 123) 94 | assert.strictEqual(this.bool, true) 95 | next() 96 | }, function (err) { 97 | console.log('done', err) 98 | }) 99 | ``` 100 | 101 | **[back to top](#readme)** 102 | 103 | ## Supports 104 | > Handle completion of synchronous functions (functions that retunrs something) and asynchronous (also known as callbacks), but not `async/await` or other functions that returns promises, streams and etc - for such thing use [always-done][]. 105 | 106 | ### Successful completion of sync functions 107 | 108 | ```js 109 | const tryCatchCore = require('try-catch-core') 110 | 111 | tryCatchCore(() => { 112 | return 123 113 | }, (err, res) => { 114 | console.log(err, res) // => null, 123 115 | }) 116 | ``` 117 | 118 | **[back to top](#readme)** 119 | 120 | ### Failing completion of synchronous 121 | 122 | ```js 123 | const tryCatchCore = require('try-catch-core') 124 | 125 | tryCatchCore(() => { 126 | foo // ReferenceError 127 | return 123 128 | }, (err) => { 129 | console.log(err) // => ReferenceError: foo is not defined 130 | }) 131 | ``` 132 | 133 | **[back to top](#readme)** 134 | 135 | ### Completion of async functions (callbacks) 136 | 137 | ```js 138 | const fs = require('fs') 139 | const tryCatchCore = require('try-catch-core') 140 | 141 | tryCatchCore((cb) => { 142 | // do some async stuff 143 | fs.readFile('./package.json', 'utf8', cb) 144 | }, (e, res) => { 145 | console.log(res) // => contents of package.json 146 | }) 147 | ``` 148 | 149 | **[back to top](#readme)** 150 | 151 | ### Failing completion of callbacks 152 | 153 | ```js 154 | const fs = require('fs') 155 | const tryCatchCore = require('try-catch-core') 156 | 157 | tryCatchCore((cb) => { 158 | fs.stat('foo-bar-baz', cb) 159 | }, (err) => { 160 | console.log(err) // => ENOENT Error, file not found 161 | }) 162 | ``` 163 | 164 | **[back to top](#readme)** 165 | 166 | ### Passing custom context 167 | 168 | ```js 169 | const tryCatchCore = require('try-catch-core') 170 | const opts = { 171 | context: { foo: 'bar' } 172 | } 173 | 174 | tryCatchCore(function () { 175 | console.log(this.foo) // => 'bar' 176 | }, opts, () => { 177 | console.log('done') 178 | }) 179 | ``` 180 | 181 | **[back to top](#readme)** 182 | 183 | ### Passing custom arguments 184 | > It may be strange, but this allows you to pass more arguments to that first function and the last argument always will be "callback" until `fn` is async or sync but with `passCallback: true` option. 185 | 186 | ```js 187 | const tryCatchCore = require('try-catch-core') 188 | const options = { 189 | args: [1, 2] 190 | } 191 | 192 | tryCatchCore((a, b) => { 193 | console.log(arguments.length) // => 2 194 | console.log(a) // => 1 195 | console.log(b) // => 2 196 | 197 | return a + b + 3 198 | }, options, (e, res) => { 199 | console.log(res) // => 9 200 | }) 201 | ``` 202 | 203 | **[back to top](#readme)** 204 | 205 | ### Returning a thunk 206 | > Can be used as _thunkify_ lib without problems, just don't pass a done callback. 207 | 208 | ```js 209 | const fs = require('fs') 210 | const tryCatchCore = require('try-catch-core') 211 | const readFileThunk = tryCatchCore((cb) => { 212 | fs.readFile('./package.json', cb) 213 | }) 214 | 215 | readFileThunk((err, res) => { 216 | console.log(err, res) // => null, Buffer 217 | }) 218 | ``` 219 | 220 | **[back to top](#readme)** 221 | 222 | ## Related 223 | - [catchup](https://www.npmjs.com/package/catchup): Graceful error handling. Because core `domain` module is deprecated. This share almost… [more](https://github.com/tunnckocore/catchup#readme) | [homepage](https://github.com/tunnckocore/catchup#readme "Graceful error handling. Because core `domain` module is deprecated. This share almost the same API.") 224 | - [function-arguments](https://www.npmjs.com/package/function-arguments): Get arguments of a function, useful for and used in dependency injectors… [more](https://github.com/tunnckocore/function-arguments#readme) | [homepage](https://github.com/tunnckocore/function-arguments#readme "Get arguments of a function, useful for and used in dependency injectors. Works for regular functions, generator functions and arrow functions.") 225 | - [gana-compile](https://www.npmjs.com/package/gana-compile): Pretty small synchronous template engine built on ES2015 Template Strings, working on… [more](https://github.com/tunnckocore/gana-compile#readme) | [homepage](https://github.com/tunnckocore/gana-compile#readme "Pretty small synchronous template engine built on ES2015 Template Strings, working on `node@0.10` too. No RegExps, support for helpers and what you want. Use [gana][] if you wanna both async and sync support.") 226 | - [gana](https://www.npmjs.com/package/gana): Small and powerful template engine with only sync and async compile. The… [more](https://github.com/tunnckocore/gana#readme) | [homepage](https://github.com/tunnckocore/gana#readme "Small and powerful template engine with only sync and async compile. The mid-level between [es6-template][] and [gana-compile][].") 227 | - [is-async-function](https://www.npmjs.com/package/is-async-function): Is function really asynchronous function? Trying to guess that based on check… [more](https://github.com/tunnckocore/is-async-function#readme) | [homepage](https://github.com/tunnckocore/is-async-function#readme "Is function really asynchronous function? Trying to guess that based on check if [common-callback-names][] exists as function arguments names or you can pass your custom.") 228 | - [relike](https://www.npmjs.com/package/relike): Simple promisify async or sync function with sane defaults. Lower level than… [more](https://github.com/hybridables/relike#readme) | [homepage](https://github.com/hybridables/relike#readme "Simple promisify async or sync function with sane defaults. Lower level than `promisify` thing. Can be used to create `promisify` method.") 229 | - [try-catch-callback](https://www.npmjs.com/package/try-catch-callback): try/catch block with a callback, used in [try-catch-core][]. Use it when you… [more](https://github.com/hybridables/try-catch-callback#readme) | [homepage](https://github.com/hybridables/try-catch-callback#readme "try/catch block with a callback, used in [try-catch-core][]. Use it when you don't care about asyncness so much and don't want guarantees. If you care use [try-catch-core][].") 230 | - [try-require-please](https://www.npmjs.com/package/try-require-please): Try to require the given module, failing loudly with default message if… [more](https://github.com/tunnckocore/try-require-please#readme) | [homepage](https://github.com/tunnckocore/try-require-please#readme "Try to require the given module, failing loudly with default message if module does not exists.") 231 | 232 | ## Contributing 233 | Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/hybridables/try-catch-core/issues/new). 234 | Please read the [contributing guidelines](CONTRIBUTING.md) for advice on opening issues, pull requests, and coding standards. 235 | If you need some help and can spent some cash, feel free to [contact me at CodeMentor.io](https://www.codementor.io/tunnckocore?utm_source=github&utm_medium=button&utm_term=tunnckocore&utm_campaign=github) too. 236 | 237 | **In short:** If you want to contribute to that project, please follow these things 238 | 239 | 1. Please DO NOT edit [README.md](README.md), [CHANGELOG.md](CHANGELOG.md) and [.verb.md](.verb.md) files. See ["Building docs"](#building-docs) section. 240 | 2. Ensure anything is okey by installing the dependencies and run the tests. See ["Running tests"](#running-tests) section. 241 | 3. Always use `npm run commit` to commit changes instead of `git commit`, because it is interactive and user-friendly. It uses [commitizen][] behind the scenes, which follows Conventional Changelog idealogy. 242 | 4. Do NOT bump the version in package.json. For that we use `npm run release`, which is [standard-version][] and follows Conventional Changelog idealogy. 243 | 244 | Thanks a lot! :) 245 | 246 | ## Building docs 247 | Documentation and that readme is generated using [verb-generate-readme][], which is a [verb][] generator, so you need to install both of them and then run `verb` command like that 248 | 249 | ``` 250 | $ npm install verbose/verb#dev verb-generate-readme --global && verb 251 | ``` 252 | 253 | _Please don't edit the README directly. Any changes to the readme must be made in [.verb.md](.verb.md)._ 254 | 255 | ## Running tests 256 | Clone repository and run the following in that cloned directory 257 | 258 | ``` 259 | $ npm install && npm test 260 | ``` 261 | 262 | ## Author 263 | **Charlike Mike Reagent** 264 | 265 | + [github/tunnckoCore](https://github.com/tunnckoCore) 266 | + [twitter/tunnckoCore](https://twitter.com/tunnckoCore) 267 | + [codementor/tunnckoCore](https://codementor.io/tunnckoCore) 268 | 269 | ## License 270 | Copyright © 2016-2017, [Charlike Mike Reagent](http://www.tunnckocore.tk). MIT 271 | 272 | *** 273 | 274 | _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.4.2, on March 01, 2017._ 275 | _Project scaffolded using [charlike][] cli._ 276 | 277 | [always-done]: https://github.com/hybridables/always-done 278 | [common-callback-names]: https://github.com/tunnckocore/common-callback-names 279 | [dezalgo]: https://github.com/npm/dezalgo 280 | [es6-template]: https://github.com/tunnckocore/es6-template 281 | [gana-compile]: https://github.com/tunnckocore/gana-compile 282 | [gana]: https://github.com/tunnckocore/gana 283 | [once]: https://github.com/isaacs/once 284 | [try-catch-callback]: https://github.com/hybridables/try-catch-callback 285 | [try-catch-core]: https://github.com/hybridables/try-catch-core 286 | 287 | [downloads-url]: https://www.npmjs.com/package/try-catch-core 288 | [downloads-img]: https://img.shields.io/npm/dt/try-catch-core.svg 289 | 290 | [codeclimate-url]: https://codeclimate.com/github/hybridables/try-catch-core 291 | [codeclimate-img]: https://img.shields.io/codeclimate/github/hybridables/try-catch-core.svg 292 | 293 | [travis-url]: https://travis-ci.org/hybridables/try-catch-core 294 | [travis-img]: https://img.shields.io/travis/hybridables/try-catch-core/master.svg?label=linux 295 | 296 | [appveyor-url]: https://ci.appveyor.com/project/tunnckoCore/try-catch-core 297 | [appveyor-img]: https://img.shields.io/appveyor/ci/tunnckoCore/try-catch-core/master.svg?label=windows 298 | 299 | [coverage-url]: https://codecov.io/gh/hybridables/try-catch-core 300 | [coverage-img]: https://img.shields.io/codecov/c/github/hybridables/try-catch-core/master.svg 301 | 302 | [david-url]: https://david-dm.org/hybridables/try-catch-core 303 | [david-img]: https://img.shields.io/david/hybridables/try-catch-core.svg 304 | 305 | [standard-url]: https://github.com/feross/standard 306 | [standard-img]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg 307 | 308 | [charlike]: https://github.com/tunnckocore/charlike 309 | [commitizen]: https://github.com/commitizen/cz-cli 310 | [standard-version]: https://github.com/conventional-changelog/standard-version 311 | [verb-generate-readme]: https://github.com/verbose/verb-generate-readme 312 | [verb]: https://github.com/verbose/verb -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | environment: 2 | matrix: 3 | # node.js 4 | - nodejs_version: "7" 5 | - nodejs_version: "6" 6 | - nodejs_version: "4" 7 | 8 | # Install scripts. (runs after repo cloning) 9 | install: 10 | # Get the latest stable version of Node.js or io.js 11 | - ps: Install-Product node $env:nodejs_version 12 | # install modules 13 | - npm install 14 | 15 | # Post-install test scripts. 16 | test_script: 17 | # Output useful info for debugging. 18 | - node --version 19 | - npm --version 20 | # run tests 21 | - npm test 22 | 23 | # Don't actually build. 24 | build: off 25 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * try-catch-core 3 | * 4 | * Copyright (c) 2016 Charlike Mike Reagent <@tunnckoCore> (http://www.tunnckocore.tk) 5 | * Released under the MIT license. 6 | */ 7 | 8 | 'use strict' 9 | 10 | var utils = require('./utils') 11 | 12 | /** 13 | * > Executes given `fn` and pass results/errors 14 | * to the `callback` if given, otherwise returns 15 | * a thunk. In below example you will see how passing 16 | * custom arguments can be useful and why such options 17 | * exists. 18 | * 19 | * **Example** 20 | * 21 | * ```js 22 | * var tryCatch = require('try-catch-core') 23 | * var options = { 24 | * context: { num: 123, bool: true } 25 | * args: [require('assert')] 26 | * } 27 | * 28 | * // `next` is always there, until 29 | * // you pass `passCallback: false` to options 30 | * tryCatch(function (assert, next) { 31 | * assert.strictEqual(this.num, 123) 32 | * assert.strictEqual(this.bool, true) 33 | * next() 34 | * }, function (err) { 35 | * console.log('done', err) 36 | * }) 37 | * ``` 38 | * 39 | * @param {Function} `` function to be called. 40 | * @param {Object} `[opts]` optional options, such as `context` and `args`, passed to [try-catch-callback][] 41 | * @param {Object} `[opts.context]` context to be passed to `fn` 42 | * @param {Array} `[opts.args]` custom argument(s) to be pass to `fn`, given value is arrayified 43 | * @param {Boolean} `[opts.passCallback]` pass `true` if you want `cb` to be passed to `fn` args. 44 | * @param {Function} `[cb]` callback with `cb(err, res)` signature. 45 | * @return {Function} `thunk` if `cb` not given. 46 | * @throws {TypError} if `fn` not a function. 47 | * @throws {TypError} if no function is passed to `thunk`. 48 | * @api public 49 | */ 50 | 51 | module.exports = function tryCatchCore (fn, opts, cb) { 52 | if (typeof fn !== 'function') { 53 | throw new TypeError('try-catch-core: expect `fn` to be a function') 54 | } 55 | if (typeof opts === 'function') { 56 | cb = opts 57 | opts = null 58 | } 59 | if (typeof cb !== 'function') { 60 | return function thunk (done) { 61 | tryCatch.call(this, fn, opts, done) 62 | } 63 | } 64 | tryCatch.call(this, fn, opts, cb) 65 | } 66 | 67 | function tryCatch (fn, opts, cb) { 68 | if (typeof cb !== 'function') { 69 | throw new TypeError('try-catch-core: expect `cb` to be a function') 70 | } 71 | var isAsyncFn = utils.isAsync(fn) 72 | cb = isAsyncFn 73 | ? utils.once(utils.dezalgo(cb)) 74 | : utils.once(cb) 75 | opts = utils.extend({}, opts) 76 | opts.passCallback = typeof opts.passCallback === 'boolean' 77 | ? opts.passCallback 78 | : isAsyncFn // if `fn` is async, pass callback automatically 79 | 80 | utils.tryCatchCallback.call(this, fn, opts, cb) 81 | } 82 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "try-catch-core", 3 | "version": "2.0.3", 4 | "description": "Low-level package to handle completion and errors of sync or asynchronous functions, using [once][] and [dezalgo][] libs. Useful for and used in higher-level libs such as [always-done][] to handle completion of anything.", 5 | "repository": "hybridables/try-catch-core", 6 | "author": "Charlike Mike Reagent <@tunnckoCore> (http://www.tunnckocore.tk)", 7 | "precommit.silent": true, 8 | "main": "index.js", 9 | "license": "MIT", 10 | "scripts": { 11 | "lint": "standard **/*.js --fix --verbose", 12 | "test": "npm-run-all -s lint test:*", 13 | "test:api": "nyc --reporter lcov node test.js", 14 | "test:report": "nyc report", 15 | "prerelease": "npm test", 16 | "release": "standard-version --sign --no-verify", 17 | "git": "npm-run-all -s git:*", 18 | "git:add": "git add --all", 19 | "git:cz": "git-cz", 20 | "commit": "npm-run-all -s test git" 21 | }, 22 | "dependencies": { 23 | "dezalgo": "^1.0.3", 24 | "extend-shallow": "^2.0.1", 25 | "is-async-function": "^1.2.2", 26 | "once": "^1.4.0", 27 | "try-catch-callback": "^2.0.0" 28 | }, 29 | "devDependencies": { 30 | "commitizen": "^2.8.6", 31 | "cz-conventional-changelog": "^1.2.0", 32 | "mukla": "^0.4.1", 33 | "npm-run-all": "^4.0.2", 34 | "nyc": "^10.1.2", 35 | "pre-commit": "^1.1.3", 36 | "standard": "^9.0.0", 37 | "standard-version": "^3.0.0" 38 | }, 39 | "files": [ 40 | "index.js", 41 | "utils.js" 42 | ], 43 | "keywords": [ 44 | "async", 45 | "block", 46 | "callback", 47 | "catch", 48 | "cb", 49 | "core", 50 | "dezalgo", 51 | "done", 52 | "next", 53 | "once", 54 | "onetime", 55 | "safe", 56 | "sync", 57 | "synchronous", 58 | "try", 59 | "try-catch-core", 60 | "trycatch" 61 | ], 62 | "config": { 63 | "commitizen": { 64 | "path": "./node_modules/cz-conventional-changelog" 65 | } 66 | }, 67 | "verb": { 68 | "run": true, 69 | "toc": { 70 | "render": true, 71 | "method": "preWrite", 72 | "maxdepth": 4 73 | }, 74 | "layout": "empty", 75 | "tasks": [ 76 | "readme" 77 | ], 78 | "related": { 79 | "list": [ 80 | "try-require-please", 81 | "gana-compile", 82 | "is-async-function", 83 | "function-arguments", 84 | "relike", 85 | "gana", 86 | "catchup", 87 | "try-catch-callback" 88 | ] 89 | }, 90 | "reflinks": [ 91 | "always-done", 92 | "common-callback-names", 93 | "dezalgo", 94 | "es6-template", 95 | "gana", 96 | "gana-compile", 97 | "once", 98 | "try-catch-callback", 99 | "try-catch-core", 100 | "charlike", 101 | "commitizen", 102 | "standard-version", 103 | "verb", 104 | "verb-generate-readme" 105 | ], 106 | "lint": { 107 | "reflinks": true 108 | } 109 | }, 110 | "nyc": { 111 | "check-coverage": true, 112 | "statements": 100, 113 | "functions": 100, 114 | "branches": 100, 115 | "lines": 100 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * try-catch-core 3 | * 4 | * Copyright (c) 2016 Charlike Mike Reagent <@tunnckoCore> (http://www.tunnckocore.tk) 5 | * Released under the MIT license. 6 | */ 7 | 8 | 'use strict' 9 | 10 | var fs = require('fs') 11 | var test = require('mukla') 12 | var tryCatchCore = require('./index') 13 | var utils = require('./utils') 14 | 15 | test('should throw TypeError if `fn` (the 1st arg) not a function', function (done) { 16 | function fixture () { 17 | tryCatchCore(123) 18 | } 19 | test.throws(fixture, TypeError) 20 | test.throws(fixture, /try-catch-core: expect `fn` to be a function/) 21 | done() 22 | }) 23 | 24 | test('should throw TypeError if no function is passed to `thunk`', function (done) { 25 | var thunk = tryCatchCore(function () { 26 | return 'foobar' 27 | }) 28 | function fixture () { 29 | thunk(123) 30 | } 31 | test.throws(fixture, TypeError) 32 | test.throws(fixture, /try-catch-core: expect `cb` to be a function/) 33 | done() 34 | }) 35 | 36 | test('should return thunk if `cb` not a function', function (done) { 37 | var thunk = tryCatchCore(function (next) { 38 | next(null, 123) 39 | }) 40 | test.strictEqual(typeof thunk, 'function') 41 | test.strictEqual(utils.isAsync(thunk), true) 42 | 43 | thunk(function (err, num) { 44 | test.ifError(err) 45 | test.strictEqual(num, 123) 46 | done() 47 | }) 48 | }) 49 | 50 | test('should be able `fn` to return sync result and get it in `cb`', function (done) { 51 | tryCatchCore(function () { 52 | return 'foo bar' 53 | }, function cb (err, res) { 54 | test.ifError(err) 55 | test.strictEqual(res, 'foo bar') 56 | done() 57 | }) 58 | }) 59 | 60 | test('should pass error to `cb` if throws in `fn`', function (done) { 61 | tryCatchCore(function () { 62 | qux // eslint-disable-line no-undef, no-unused-expressions 63 | return 'foo bar' 64 | }, function cb (err, res) { 65 | test.ifError(!err) 66 | test.strictEqual(err.name, 'ReferenceError') 67 | test.strictEqual(err.message, 'qux is not defined') 68 | test.strictEqual(res, undefined) 69 | done() 70 | }) 71 | }) 72 | 73 | test('should pass error from `fs.readFile` to `cb`', function (done) { 74 | tryCatchCore(function (next) { 75 | fs.readFile('not-existing', next) 76 | }, function cb (err, res) { 77 | test.ifError(!err) 78 | test.strictEqual(err.name, 'Error') 79 | test.ok(/no such file or directory/.test(err.message)) 80 | test.strictEqual(res, undefined) 81 | done() 82 | }) 83 | }) 84 | 85 | test('should pass result from `fs.readFile` to the callback', function (done) { 86 | tryCatchCore(function (next) { 87 | fs.readFile('package.json', 'utf-8', next) 88 | }, function cb (err, str) { 89 | test.ifError(err) 90 | test.strictEqual(typeof str, 'string') 91 | test.strictEqual(JSON.parse(str).name, 'try-catch-core') 92 | test.strictEqual(JSON.parse(str).license, 'MIT') 93 | done() 94 | }) 95 | }) 96 | 97 | test('should get result of `fs.readFileSync`', function (done) { 98 | tryCatchCore(function () { 99 | return fs.readFileSync('./README.md', 'utf8') 100 | }, function (err, res) { 101 | test.strictEqual(err, null) 102 | test.strictEqual(res.indexOf('try-catch-core') !== -1, true) 103 | done() 104 | }) 105 | }) 106 | 107 | test('should be able to pass custom arguments through options', function (done) { 108 | tryCatchCore(function (foo, bar, next) { 109 | test.strictEqual(arguments.length, 3) 110 | test.strictEqual(foo, 1) 111 | test.strictEqual(bar, 2) 112 | next(null, foo) 113 | }, { args: [ 1, 2 ] }, function (err, res) { 114 | test.strictEqual(err, null) 115 | test.strictEqual(res, 1) 116 | done() 117 | }) 118 | }) 119 | 120 | test('should not pass a callback to `fn` if passCallback:false', function (done) { 121 | tryCatchCore(function () { 122 | test.strictEqual(arguments.length, 0) 123 | }, { passCallback: false }, function (err, res) { 124 | test.strictEqual(err, null) 125 | test.strictEqual(res, undefined) 126 | done() 127 | }) 128 | }) 129 | 130 | test('should pass custom context to `fn` through options', function (done) { 131 | tryCatchCore(function () { 132 | test.strictEqual(this.foo, 'bar') 133 | }, { context: { foo: 'bar' } }, done) 134 | }) 135 | -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * each-promise 3 | * 4 | * Copyright (c) Charlike Mike Reagent <@tunnckoCore> (http://www.tunnckocore.tk) 5 | * Released under the MIT license. 6 | */ 7 | 8 | 'use strict' 9 | 10 | var once = require('once') 11 | var dezalgo = require('dezalgo') 12 | var tryCatch = require('try-catch-callback') 13 | var isAsyncFn = require('is-async-function') 14 | var extendShallow = require('extend-shallow') 15 | 16 | var utils = {} 17 | utils.once = once 18 | utils.extend = extendShallow 19 | utils.dezalgo = dezalgo 20 | utils.isAsync = isAsyncFn 21 | utils.tryCatchCallback = tryCatch 22 | 23 | /** 24 | * Expose `utils` modules 25 | */ 26 | 27 | module.exports = utils 28 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | JSONStream@^1.0.4: 6 | version "1.2.1" 7 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.2.1.tgz#32aa5790e799481083b49b4b7fa94e23bae69bf9" 8 | dependencies: 9 | jsonparse "^1.2.0" 10 | through ">=2.2.7 <3" 11 | 12 | acorn-jsx@^3.0.0: 13 | version "3.0.1" 14 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" 15 | dependencies: 16 | acorn "^3.0.4" 17 | 18 | acorn@4.0.4: 19 | version "4.0.4" 20 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" 21 | 22 | acorn@^3.0.4: 23 | version "3.3.0" 24 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 25 | 26 | ajv-keywords@^1.0.0: 27 | version "1.1.1" 28 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.1.1.tgz#02550bc605a3e576041565628af972e06c549d50" 29 | 30 | ajv@^4.7.0: 31 | version "4.8.2" 32 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.8.2.tgz#65486936ca36fea39a1504332a78bebd5d447bdc" 33 | dependencies: 34 | co "^4.6.0" 35 | json-stable-stringify "^1.0.1" 36 | 37 | align-text@^0.1.1, align-text@^0.1.3: 38 | version "0.1.4" 39 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 40 | dependencies: 41 | kind-of "^3.0.2" 42 | longest "^1.0.1" 43 | repeat-string "^1.5.2" 44 | 45 | amdefine@>=0.0.4: 46 | version "1.0.0" 47 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33" 48 | 49 | ansi-escapes@^1.1.0: 50 | version "1.4.0" 51 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 52 | 53 | ansi-regex@^2.0.0: 54 | version "2.0.0" 55 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" 56 | 57 | ansi-styles@^2.2.1: 58 | version "2.2.1" 59 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 60 | 61 | append-transform@^0.4.0: 62 | version "0.4.0" 63 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" 64 | dependencies: 65 | default-require-extensions "^1.0.0" 66 | 67 | archy@^1.0.0: 68 | version "1.0.0" 69 | resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" 70 | 71 | argparse@^1.0.7: 72 | version "1.0.9" 73 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" 74 | dependencies: 75 | sprintf-js "~1.0.2" 76 | 77 | arr-diff@^2.0.0: 78 | version "2.0.0" 79 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 80 | dependencies: 81 | arr-flatten "^1.0.1" 82 | 83 | arr-flatten@^1.0.1: 84 | version "1.0.1" 85 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" 86 | 87 | arr-includes@^2.0.0: 88 | version "2.0.2" 89 | resolved "https://registry.yarnpkg.com/arr-includes/-/arr-includes-2.0.2.tgz#a2fc0f9b6926c7476017fdc95def7b67954e7db8" 90 | dependencies: 91 | lazy-arrayify "^1.0.3" 92 | lazy-cache "^2.0.1" 93 | 94 | array-filter@~0.0.0: 95 | version "0.0.1" 96 | resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" 97 | 98 | array-find-index@^1.0.1: 99 | version "1.0.2" 100 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 101 | 102 | array-ify@^1.0.0: 103 | version "1.0.0" 104 | resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" 105 | 106 | array-map@~0.0.0: 107 | version "0.0.0" 108 | resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" 109 | 110 | array-reduce@~0.0.0: 111 | version "0.0.0" 112 | resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" 113 | 114 | array-union@^1.0.1: 115 | version "1.0.2" 116 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 117 | dependencies: 118 | array-uniq "^1.0.1" 119 | 120 | array-uniq@^1.0.1: 121 | version "1.0.3" 122 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 123 | 124 | array-unique@^0.2.1: 125 | version "0.2.1" 126 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 127 | 128 | array.prototype.find@^2.0.1: 129 | version "2.0.3" 130 | resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.3.tgz#08c3ec33e32ec4bab362a2958e686ae92f59271d" 131 | dependencies: 132 | define-properties "^1.1.2" 133 | es-abstract "^1.7.0" 134 | 135 | arrify@^1.0.0, arrify@^1.0.1: 136 | version "1.0.1" 137 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 138 | 139 | asap@^2.0.0: 140 | version "2.0.5" 141 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" 142 | 143 | async-done@^1.2.0: 144 | version "1.2.2" 145 | resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.2.2.tgz#ba4280da55a16e15f4bb8bf3a844a91878740e31" 146 | dependencies: 147 | end-of-stream "^1.1.0" 148 | next-tick "^1.0.0" 149 | once "^1.3.2" 150 | stream-exhaust "^1.0.1" 151 | 152 | async@^1.4.0, async@^1.4.2: 153 | version "1.5.2" 154 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 155 | 156 | async@~0.2.6: 157 | version "0.2.10" 158 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 159 | 160 | babel-code-frame@^6.16.0: 161 | version "6.16.0" 162 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de" 163 | dependencies: 164 | chalk "^1.1.0" 165 | esutils "^2.0.2" 166 | js-tokens "^2.0.0" 167 | 168 | babel-generator@^6.18.0: 169 | version "6.18.0" 170 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.18.0.tgz#e4f104cb3063996d9850556a45aae4a022060a07" 171 | dependencies: 172 | babel-messages "^6.8.0" 173 | babel-runtime "^6.9.0" 174 | babel-types "^6.18.0" 175 | detect-indent "^4.0.0" 176 | jsesc "^1.3.0" 177 | lodash "^4.2.0" 178 | source-map "^0.5.0" 179 | 180 | babel-messages@^6.8.0: 181 | version "6.8.0" 182 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" 183 | dependencies: 184 | babel-runtime "^6.0.0" 185 | 186 | babel-runtime@^6.0.0, babel-runtime@^6.9.0, babel-runtime@^6.9.1: 187 | version "6.18.0" 188 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" 189 | dependencies: 190 | core-js "^2.4.0" 191 | regenerator-runtime "^0.9.5" 192 | 193 | babel-template@^6.16.0: 194 | version "6.16.0" 195 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" 196 | dependencies: 197 | babel-runtime "^6.9.0" 198 | babel-traverse "^6.16.0" 199 | babel-types "^6.16.0" 200 | babylon "^6.11.0" 201 | lodash "^4.2.0" 202 | 203 | babel-traverse@^6.16.0, babel-traverse@^6.18.0: 204 | version "6.18.0" 205 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.18.0.tgz#5aeaa980baed2a07c8c47329cd90c3b90c80f05e" 206 | dependencies: 207 | babel-code-frame "^6.16.0" 208 | babel-messages "^6.8.0" 209 | babel-runtime "^6.9.0" 210 | babel-types "^6.18.0" 211 | babylon "^6.11.0" 212 | debug "^2.2.0" 213 | globals "^9.0.0" 214 | invariant "^2.2.0" 215 | lodash "^4.2.0" 216 | 217 | babel-types@^6.16.0, babel-types@^6.18.0: 218 | version "6.18.0" 219 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.18.0.tgz#1f7d5a73474c59eb9151b2417bbff4e4fce7c3f8" 220 | dependencies: 221 | babel-runtime "^6.9.1" 222 | esutils "^2.0.2" 223 | lodash "^4.2.0" 224 | to-fast-properties "^1.0.1" 225 | 226 | babylon@^6.11.0, babylon@^6.13.0: 227 | version "6.13.1" 228 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb" 229 | 230 | balanced-match@^0.4.1: 231 | version "0.4.2" 232 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 233 | 234 | brace-expansion@^1.0.0: 235 | version "1.1.6" 236 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 237 | dependencies: 238 | balanced-match "^0.4.1" 239 | concat-map "0.0.1" 240 | 241 | braces@^1.8.2: 242 | version "1.8.5" 243 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 244 | dependencies: 245 | expand-range "^1.8.1" 246 | preserve "^0.2.0" 247 | repeat-element "^1.1.2" 248 | 249 | buf-compare@^1.0.0: 250 | version "1.0.1" 251 | resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" 252 | 253 | builtin-modules@^1.0.0: 254 | version "1.1.1" 255 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 256 | 257 | caching-transform@^1.0.0: 258 | version "1.0.1" 259 | resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" 260 | dependencies: 261 | md5-hex "^1.2.0" 262 | mkdirp "^0.5.1" 263 | write-file-atomic "^1.1.4" 264 | 265 | caller-path@^0.1.0: 266 | version "0.1.0" 267 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" 268 | dependencies: 269 | callsites "^0.2.0" 270 | 271 | callsites@^0.2.0: 272 | version "0.2.0" 273 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" 274 | 275 | camelcase-keys@^2.0.0: 276 | version "2.1.0" 277 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 278 | dependencies: 279 | camelcase "^2.0.0" 280 | map-obj "^1.0.0" 281 | 282 | camelcase@^1.0.2: 283 | version "1.2.1" 284 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 285 | 286 | camelcase@^2.0.0: 287 | version "2.1.1" 288 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 289 | 290 | camelcase@^3.0.0: 291 | version "3.0.0" 292 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 293 | 294 | center-align@^0.1.1: 295 | version "0.1.3" 296 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 297 | dependencies: 298 | align-text "^0.1.3" 299 | lazy-cache "^1.0.3" 300 | 301 | chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: 302 | version "1.1.3" 303 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 304 | dependencies: 305 | ansi-styles "^2.2.1" 306 | escape-string-regexp "^1.0.2" 307 | has-ansi "^2.0.0" 308 | strip-ansi "^3.0.0" 309 | supports-color "^2.0.0" 310 | 311 | circular-json@^0.3.0: 312 | version "0.3.1" 313 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" 314 | 315 | cli-cursor@^1.0.1: 316 | version "1.0.2" 317 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" 318 | dependencies: 319 | restore-cursor "^1.0.1" 320 | 321 | cli-width@^2.0.0: 322 | version "2.1.0" 323 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" 324 | 325 | cliui@^2.1.0: 326 | version "2.1.0" 327 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 328 | dependencies: 329 | center-align "^0.1.1" 330 | right-align "^0.1.1" 331 | wordwrap "0.0.2" 332 | 333 | cliui@^3.2.0: 334 | version "3.2.0" 335 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 336 | dependencies: 337 | string-width "^1.0.1" 338 | strip-ansi "^3.0.1" 339 | wrap-ansi "^2.0.0" 340 | 341 | co@^4.6.0: 342 | version "4.6.0" 343 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 344 | 345 | code-point-at@^1.0.0: 346 | version "1.0.1" 347 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" 348 | dependencies: 349 | number-is-nan "^1.0.0" 350 | 351 | commitizen@^2.8.6: 352 | version "2.8.6" 353 | resolved "https://registry.yarnpkg.com/commitizen/-/commitizen-2.8.6.tgz#578483abbf5b67368d1ccdb9d9d978c74972011b" 354 | dependencies: 355 | chalk "1.1.3" 356 | cz-conventional-changelog "1.2.0" 357 | dedent "0.6.0" 358 | detect-indent "4.0.0" 359 | find-node-modules "1.0.3" 360 | find-root "1.0.0" 361 | glob "7.0.5" 362 | home-or-tmp "2.0.0" 363 | inquirer "1.1.2" 364 | lodash "4.15.0" 365 | minimist "1.2.0" 366 | path-exists "2.1.0" 367 | shelljs "0.5.3" 368 | strip-json-comments "2.0.1" 369 | 370 | common-callback-names@^1.0.2: 371 | version "1.0.2" 372 | resolved "https://registry.yarnpkg.com/common-callback-names/-/common-callback-names-1.0.2.tgz#d7464feeb7f39392541a6f039061caab02dd5988" 373 | 374 | commondir@^1.0.1: 375 | version "1.0.1" 376 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 377 | 378 | compare-func@^1.3.1: 379 | version "1.3.2" 380 | resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" 381 | dependencies: 382 | array-ify "^1.0.0" 383 | dot-prop "^3.0.0" 384 | 385 | concat-map@0.0.1: 386 | version "0.0.1" 387 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 388 | 389 | concat-stream@^1.4.10, concat-stream@^1.4.6, concat-stream@^1.4.7: 390 | version "1.5.2" 391 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" 392 | dependencies: 393 | inherits "~2.0.1" 394 | readable-stream "~2.0.0" 395 | typedarray "~0.0.5" 396 | 397 | conventional-changelog-angular@^1.0.0: 398 | version "1.3.0" 399 | resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-1.3.0.tgz#3f64185978aa13ab0954c9e46a78969fd59c6801" 400 | dependencies: 401 | compare-func "^1.3.1" 402 | github-url-from-git "^1.4.0" 403 | q "^1.4.1" 404 | 405 | conventional-changelog-atom@^0.1.0: 406 | version "0.1.0" 407 | resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-0.1.0.tgz#67a47c66a42b2f8909ef1587c9989ae1de730b92" 408 | dependencies: 409 | q "^1.4.1" 410 | 411 | conventional-changelog-codemirror@^0.1.0: 412 | version "0.1.0" 413 | resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.1.0.tgz#7577a591dbf9b538e7a150a7ee62f65a2872b334" 414 | dependencies: 415 | q "^1.4.1" 416 | 417 | conventional-changelog-core@^1.3.0: 418 | version "1.5.0" 419 | resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-1.5.0.tgz#72b17509535a23d7c6cb70ad4384f74247748013" 420 | dependencies: 421 | conventional-changelog-writer "^1.1.0" 422 | conventional-commits-parser "^1.0.0" 423 | dateformat "^1.0.12" 424 | get-pkg-repo "^1.0.0" 425 | git-raw-commits "^1.1.0" 426 | git-remote-origin-url "^2.0.0" 427 | git-semver-tags "^1.1.0" 428 | lodash "^4.0.0" 429 | normalize-package-data "^2.3.5" 430 | q "^1.4.1" 431 | read-pkg "^1.1.0" 432 | read-pkg-up "^1.0.1" 433 | through2 "^2.0.0" 434 | 435 | conventional-changelog-ember@^0.2.0: 436 | version "0.2.2" 437 | resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-0.2.2.tgz#bad70a891386bc3046484a8f4f1e5aa2dc0ad208" 438 | dependencies: 439 | q "^1.4.1" 440 | 441 | conventional-changelog-eslint@^0.1.0: 442 | version "0.1.0" 443 | resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-0.1.0.tgz#a52411e999e0501ce500b856b0a643d0330907e2" 444 | dependencies: 445 | q "^1.4.1" 446 | 447 | conventional-changelog-express@^0.1.0: 448 | version "0.1.0" 449 | resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-0.1.0.tgz#55c6c841c811962036c037bdbd964a54ae310fce" 450 | dependencies: 451 | q "^1.4.1" 452 | 453 | conventional-changelog-jquery@^0.1.0: 454 | version "0.1.0" 455 | resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-0.1.0.tgz#0208397162e3846986e71273b6c79c5b5f80f510" 456 | dependencies: 457 | q "^1.4.1" 458 | 459 | conventional-changelog-jscs@^0.1.0: 460 | version "0.1.0" 461 | resolved "https://registry.yarnpkg.com/conventional-changelog-jscs/-/conventional-changelog-jscs-0.1.0.tgz#0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c" 462 | dependencies: 463 | q "^1.4.1" 464 | 465 | conventional-changelog-jshint@^0.1.0: 466 | version "0.1.0" 467 | resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-0.1.0.tgz#00cab8e9a3317487abd94c4d84671342918d2a07" 468 | dependencies: 469 | compare-func "^1.3.1" 470 | q "^1.4.1" 471 | 472 | conventional-changelog-writer@^1.1.0: 473 | version "1.4.1" 474 | resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-1.4.1.tgz#3f4cb4d003ebb56989d30d345893b52a43639c8e" 475 | dependencies: 476 | compare-func "^1.3.1" 477 | conventional-commits-filter "^1.0.0" 478 | dateformat "^1.0.11" 479 | handlebars "^4.0.2" 480 | json-stringify-safe "^5.0.1" 481 | lodash "^4.0.0" 482 | meow "^3.3.0" 483 | semver "^5.0.1" 484 | split "^1.0.0" 485 | through2 "^2.0.0" 486 | 487 | conventional-changelog@^1.1.0: 488 | version "1.1.0" 489 | resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-1.1.0.tgz#8ae3fb59feb74bbee0a25833ee1f83dad4a07874" 490 | dependencies: 491 | conventional-changelog-angular "^1.0.0" 492 | conventional-changelog-atom "^0.1.0" 493 | conventional-changelog-codemirror "^0.1.0" 494 | conventional-changelog-core "^1.3.0" 495 | conventional-changelog-ember "^0.2.0" 496 | conventional-changelog-eslint "^0.1.0" 497 | conventional-changelog-express "^0.1.0" 498 | conventional-changelog-jquery "^0.1.0" 499 | conventional-changelog-jscs "^0.1.0" 500 | conventional-changelog-jshint "^0.1.0" 501 | 502 | conventional-commit-types@^2.0.0: 503 | version "2.1.0" 504 | resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.1.0.tgz#45d860386c9a2e6537ee91d8a1b61bd0411b3d04" 505 | 506 | conventional-commits-filter@^1.0.0: 507 | version "1.0.0" 508 | resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz#6fc2a659372bc3f2339cf9ffff7e1b0344b93039" 509 | dependencies: 510 | is-subset "^0.1.1" 511 | modify-values "^1.0.0" 512 | 513 | conventional-commits-parser@^1.0.0, conventional-commits-parser@^1.0.1: 514 | version "1.3.0" 515 | resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-1.3.0.tgz#e327b53194e1a7ad5dc63479ee9099a52b024865" 516 | dependencies: 517 | JSONStream "^1.0.4" 518 | is-text-path "^1.0.0" 519 | lodash "^4.2.1" 520 | meow "^3.3.0" 521 | split2 "^2.0.0" 522 | through2 "^2.0.0" 523 | trim-off-newlines "^1.0.0" 524 | 525 | conventional-recommended-bump@^0.3.0: 526 | version "0.3.0" 527 | resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-0.3.0.tgz#e839de8f57cbb43445c8b4967401de0644c425d8" 528 | dependencies: 529 | concat-stream "^1.4.10" 530 | conventional-commits-filter "^1.0.0" 531 | conventional-commits-parser "^1.0.1" 532 | git-latest-semver-tag "^1.0.0" 533 | git-raw-commits "^1.0.0" 534 | meow "^3.3.0" 535 | object-assign "^4.0.1" 536 | 537 | convert-source-map@^1.3.0: 538 | version "1.3.0" 539 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" 540 | 541 | core-assert@^0.2.0: 542 | version "0.2.1" 543 | resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" 544 | dependencies: 545 | buf-compare "^1.0.0" 546 | is-error "^2.2.0" 547 | 548 | core-js@^2.4.0: 549 | version "2.4.1" 550 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 551 | 552 | core-util-is@~1.0.0: 553 | version "1.0.2" 554 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 555 | 556 | cross-spawn-async@^2.0.0: 557 | version "2.2.5" 558 | resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" 559 | dependencies: 560 | lru-cache "^4.0.0" 561 | which "^1.2.8" 562 | 563 | cross-spawn@2.0.x: 564 | version "2.0.1" 565 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-2.0.1.tgz#ab6fd893a099759d9b85220e3a64397de946b0f6" 566 | dependencies: 567 | cross-spawn-async "^2.0.0" 568 | spawn-sync "1.0.13" 569 | 570 | cross-spawn@^4: 571 | version "4.0.2" 572 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" 573 | dependencies: 574 | lru-cache "^4.0.1" 575 | which "^1.2.9" 576 | 577 | cross-spawn@^5.0.1: 578 | version "5.1.0" 579 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 580 | dependencies: 581 | lru-cache "^4.0.1" 582 | shebang-command "^1.2.0" 583 | which "^1.2.9" 584 | 585 | currently-unhandled@^0.4.1: 586 | version "0.4.1" 587 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 588 | dependencies: 589 | array-find-index "^1.0.1" 590 | 591 | cz-conventional-changelog@1.2.0, cz-conventional-changelog@^1.2.0: 592 | version "1.2.0" 593 | resolved "https://registry.yarnpkg.com/cz-conventional-changelog/-/cz-conventional-changelog-1.2.0.tgz#2bca04964c8919b23f3fd6a89ef5e6008b31b3f8" 594 | dependencies: 595 | conventional-commit-types "^2.0.0" 596 | lodash.map "^4.5.1" 597 | longest "^1.0.1" 598 | pad-right "^0.2.2" 599 | right-pad "^1.0.1" 600 | word-wrap "^1.0.3" 601 | 602 | d@^0.1.1, d@~0.1.1: 603 | version "0.1.1" 604 | resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" 605 | dependencies: 606 | es5-ext "~0.10.2" 607 | 608 | dargs@^4.0.1: 609 | version "4.1.0" 610 | resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" 611 | dependencies: 612 | number-is-nan "^1.0.0" 613 | 614 | dateformat@^1.0.11, dateformat@^1.0.12: 615 | version "1.0.12" 616 | resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" 617 | dependencies: 618 | get-stdin "^4.0.1" 619 | meow "^3.3.0" 620 | 621 | debug-log@^1.0.0, debug-log@^1.0.1: 622 | version "1.0.1" 623 | resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" 624 | 625 | debug@^2.1.1, debug@^2.2.0: 626 | version "2.2.0" 627 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 628 | dependencies: 629 | ms "0.7.1" 630 | 631 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: 632 | version "1.2.0" 633 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 634 | 635 | dedent@0.6.0: 636 | version "0.6.0" 637 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.6.0.tgz#0e6da8f0ce52838ef5cec5c8f9396b0c1b64a3cb" 638 | 639 | deep-is@~0.1.3: 640 | version "0.1.3" 641 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 642 | 643 | default-require-extensions@^1.0.0: 644 | version "1.0.0" 645 | resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" 646 | dependencies: 647 | strip-bom "^2.0.0" 648 | 649 | define-properties@^1.1.2: 650 | version "1.1.2" 651 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" 652 | dependencies: 653 | foreach "^2.0.5" 654 | object-keys "^1.0.8" 655 | 656 | deglob@^2.1.0: 657 | version "2.1.0" 658 | resolved "https://registry.yarnpkg.com/deglob/-/deglob-2.1.0.tgz#4d44abe16ef32c779b4972bd141a80325029a14a" 659 | dependencies: 660 | find-root "^1.0.0" 661 | glob "^7.0.5" 662 | ignore "^3.0.9" 663 | pkg-config "^1.1.0" 664 | run-parallel "^1.1.2" 665 | uniq "^1.0.1" 666 | 667 | del@^2.0.2: 668 | version "2.2.2" 669 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" 670 | dependencies: 671 | globby "^5.0.0" 672 | is-path-cwd "^1.0.0" 673 | is-path-in-cwd "^1.0.0" 674 | object-assign "^4.0.1" 675 | pify "^2.0.0" 676 | pinkie-promise "^2.0.0" 677 | rimraf "^2.2.8" 678 | 679 | detect-indent@4.0.0, detect-indent@^4.0.0: 680 | version "4.0.0" 681 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 682 | dependencies: 683 | repeating "^2.0.0" 684 | 685 | dezalgo@^1.0.3: 686 | version "1.0.3" 687 | resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" 688 | dependencies: 689 | asap "^2.0.0" 690 | wrappy "1" 691 | 692 | doctrine@^1.2.2: 693 | version "1.5.0" 694 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 695 | dependencies: 696 | esutils "^2.0.2" 697 | isarray "^1.0.0" 698 | 699 | dot-prop@^3.0.0: 700 | version "3.0.0" 701 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 702 | dependencies: 703 | is-obj "^1.0.0" 704 | 705 | duplexer@~0.1.1: 706 | version "0.1.1" 707 | resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" 708 | 709 | end-of-stream@^1.1.0: 710 | version "1.1.0" 711 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.1.0.tgz#e9353258baa9108965efc41cb0ef8ade2f3cfb07" 712 | dependencies: 713 | once "~1.3.0" 714 | 715 | error-ex@^1.2.0: 716 | version "1.3.0" 717 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 718 | dependencies: 719 | is-arrayish "^0.2.1" 720 | 721 | error-symbol@^0.1.0: 722 | version "0.1.0" 723 | resolved "https://registry.yarnpkg.com/error-symbol/-/error-symbol-0.1.0.tgz#0a4dae37d600d15a29ba453d8ef920f1844333f6" 724 | 725 | es-abstract@^1.4.3, es-abstract@^1.7.0: 726 | version "1.7.0" 727 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" 728 | dependencies: 729 | es-to-primitive "^1.1.1" 730 | function-bind "^1.1.0" 731 | is-callable "^1.1.3" 732 | is-regex "^1.0.3" 733 | 734 | es-to-primitive@^1.1.1: 735 | version "1.1.1" 736 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" 737 | dependencies: 738 | is-callable "^1.1.1" 739 | is-date-object "^1.0.1" 740 | is-symbol "^1.0.1" 741 | 742 | es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: 743 | version "0.10.12" 744 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" 745 | dependencies: 746 | es6-iterator "2" 747 | es6-symbol "~3.1" 748 | 749 | es6-iterator@2: 750 | version "2.0.0" 751 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" 752 | dependencies: 753 | d "^0.1.1" 754 | es5-ext "^0.10.7" 755 | es6-symbol "3" 756 | 757 | es6-map@^0.1.3: 758 | version "0.1.4" 759 | resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" 760 | dependencies: 761 | d "~0.1.1" 762 | es5-ext "~0.10.11" 763 | es6-iterator "2" 764 | es6-set "~0.1.3" 765 | es6-symbol "~3.1.0" 766 | event-emitter "~0.3.4" 767 | 768 | es6-set@~0.1.3: 769 | version "0.1.4" 770 | resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" 771 | dependencies: 772 | d "~0.1.1" 773 | es5-ext "~0.10.11" 774 | es6-iterator "2" 775 | es6-symbol "3" 776 | event-emitter "~0.3.4" 777 | 778 | es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: 779 | version "3.1.0" 780 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" 781 | dependencies: 782 | d "~0.1.1" 783 | es5-ext "~0.10.11" 784 | 785 | es6-weak-map@^2.0.1: 786 | version "2.0.1" 787 | resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" 788 | dependencies: 789 | d "^0.1.1" 790 | es5-ext "^0.10.8" 791 | es6-iterator "2" 792 | es6-symbol "3" 793 | 794 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 795 | version "1.0.5" 796 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 797 | 798 | escope@^3.6.0: 799 | version "3.6.0" 800 | resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" 801 | dependencies: 802 | es6-map "^0.1.3" 803 | es6-weak-map "^2.0.1" 804 | esrecurse "^4.1.0" 805 | estraverse "^4.1.1" 806 | 807 | eslint-config-standard-jsx@3.3.0: 808 | version "3.3.0" 809 | resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.3.0.tgz#cab0801a15a360bf63facb97ab22fbdd88d8a5e0" 810 | 811 | eslint-config-standard@7.0.0: 812 | version "7.0.0" 813 | resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-7.0.0.tgz#4f161bc65695e4bc61331c55b9eeaca458cd99c6" 814 | 815 | eslint-plugin-promise@~3.4.0: 816 | version "3.4.2" 817 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.2.tgz#1be2793eafe2d18b5b123b8136c269f804fe7122" 818 | 819 | eslint-plugin-react@~6.9.0: 820 | version "6.9.0" 821 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz#54c2e9906b76f9d10142030bdc34e9d6840a0bb2" 822 | dependencies: 823 | array.prototype.find "^2.0.1" 824 | doctrine "^1.2.2" 825 | jsx-ast-utils "^1.3.4" 826 | 827 | eslint-plugin-standard@~2.0.1: 828 | version "2.0.1" 829 | resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3" 830 | 831 | eslint@~3.15.0: 832 | version "3.15.0" 833 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz#bdcc6a6c5ffe08160e7b93c066695362a91e30f2" 834 | dependencies: 835 | babel-code-frame "^6.16.0" 836 | chalk "^1.1.3" 837 | concat-stream "^1.4.6" 838 | debug "^2.1.1" 839 | doctrine "^1.2.2" 840 | escope "^3.6.0" 841 | espree "^3.4.0" 842 | estraverse "^4.2.0" 843 | esutils "^2.0.2" 844 | file-entry-cache "^2.0.0" 845 | glob "^7.0.3" 846 | globals "^9.14.0" 847 | ignore "^3.2.0" 848 | imurmurhash "^0.1.4" 849 | inquirer "^0.12.0" 850 | is-my-json-valid "^2.10.0" 851 | is-resolvable "^1.0.0" 852 | js-yaml "^3.5.1" 853 | json-stable-stringify "^1.0.0" 854 | levn "^0.3.0" 855 | lodash "^4.0.0" 856 | mkdirp "^0.5.0" 857 | natural-compare "^1.4.0" 858 | optionator "^0.8.2" 859 | path-is-inside "^1.0.1" 860 | pluralize "^1.2.1" 861 | progress "^1.1.8" 862 | require-uncached "^1.0.2" 863 | shelljs "^0.7.5" 864 | strip-bom "^3.0.0" 865 | strip-json-comments "~2.0.1" 866 | table "^3.7.8" 867 | text-table "~0.2.0" 868 | user-home "^2.0.0" 869 | 870 | espree@^3.4.0: 871 | version "3.4.0" 872 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" 873 | dependencies: 874 | acorn "4.0.4" 875 | acorn-jsx "^3.0.0" 876 | 877 | esprima@^2.6.0: 878 | version "2.7.3" 879 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 880 | 881 | esrecurse@^4.1.0: 882 | version "4.1.0" 883 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" 884 | dependencies: 885 | estraverse "~4.1.0" 886 | object-assign "^4.0.1" 887 | 888 | estraverse@^4.1.1, estraverse@^4.2.0: 889 | version "4.2.0" 890 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 891 | 892 | estraverse@~4.1.0: 893 | version "4.1.1" 894 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" 895 | 896 | esutils@^2.0.2: 897 | version "2.0.2" 898 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 899 | 900 | event-emitter@~0.3.4: 901 | version "0.3.4" 902 | resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" 903 | dependencies: 904 | d "~0.1.1" 905 | es5-ext "~0.10.7" 906 | 907 | event-stream@~3.3.0: 908 | version "3.3.4" 909 | resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" 910 | dependencies: 911 | duplexer "~0.1.1" 912 | from "~0" 913 | map-stream "~0.1.0" 914 | pause-stream "0.0.11" 915 | split "0.3" 916 | stream-combiner "~0.0.4" 917 | through "~2.3.1" 918 | 919 | exit-hook@^1.0.0: 920 | version "1.1.1" 921 | resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" 922 | 923 | expand-brackets@^0.1.4: 924 | version "0.1.5" 925 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 926 | dependencies: 927 | is-posix-bracket "^0.1.0" 928 | 929 | expand-range@^1.8.1: 930 | version "1.8.2" 931 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 932 | dependencies: 933 | fill-range "^2.1.0" 934 | 935 | extend-shallow@^2.0.1: 936 | version "2.0.1" 937 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 938 | dependencies: 939 | is-extendable "^0.1.0" 940 | 941 | extend@^3.0.0: 942 | version "3.0.0" 943 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" 944 | 945 | external-editor@^1.0.1: 946 | version "1.1.1" 947 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" 948 | dependencies: 949 | extend "^3.0.0" 950 | spawn-sync "^1.0.15" 951 | tmp "^0.0.29" 952 | 953 | extglob@^0.3.1: 954 | version "0.3.2" 955 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 956 | dependencies: 957 | is-extglob "^1.0.0" 958 | 959 | fast-levenshtein@~2.0.4: 960 | version "2.0.5" 961 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" 962 | 963 | figures@^1.3.5, figures@^1.5.0: 964 | version "1.7.0" 965 | resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" 966 | dependencies: 967 | escape-string-regexp "^1.0.5" 968 | object-assign "^4.1.0" 969 | 970 | file-entry-cache@^2.0.0: 971 | version "2.0.0" 972 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 973 | dependencies: 974 | flat-cache "^1.2.1" 975 | object-assign "^4.0.1" 976 | 977 | filename-regex@^2.0.0: 978 | version "2.0.0" 979 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" 980 | 981 | fill-range@^2.1.0: 982 | version "2.2.3" 983 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 984 | dependencies: 985 | is-number "^2.1.0" 986 | isobject "^2.0.0" 987 | randomatic "^1.1.3" 988 | repeat-element "^1.1.2" 989 | repeat-string "^1.5.2" 990 | 991 | find-cache-dir@^0.1.1: 992 | version "0.1.1" 993 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" 994 | dependencies: 995 | commondir "^1.0.1" 996 | mkdirp "^0.5.1" 997 | pkg-dir "^1.0.0" 998 | 999 | find-node-modules@1.0.3: 1000 | version "1.0.3" 1001 | resolved "https://registry.yarnpkg.com/find-node-modules/-/find-node-modules-1.0.3.tgz#36117ea45c13d5d8352f82ba791c2b835d730a14" 1002 | dependencies: 1003 | findup-sync "^0.2.1" 1004 | merge "^1.2.0" 1005 | 1006 | find-root@1.0.0, find-root@^1.0.0: 1007 | version "1.0.0" 1008 | resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.0.0.tgz#962ff211aab25c6520feeeb8d6287f8f6e95807a" 1009 | 1010 | find-up@^1.0.0, find-up@^1.1.2: 1011 | version "1.1.2" 1012 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1013 | dependencies: 1014 | path-exists "^2.0.0" 1015 | pinkie-promise "^2.0.0" 1016 | 1017 | find-up@^2.0.0: 1018 | version "2.1.0" 1019 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1020 | dependencies: 1021 | locate-path "^2.0.0" 1022 | 1023 | findup-sync@^0.2.1: 1024 | version "0.2.1" 1025 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.2.1.tgz#e0a90a450075c49466ee513732057514b81e878c" 1026 | dependencies: 1027 | glob "~4.3.0" 1028 | 1029 | flat-cache@^1.2.1: 1030 | version "1.2.1" 1031 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" 1032 | dependencies: 1033 | circular-json "^0.3.0" 1034 | del "^2.0.2" 1035 | graceful-fs "^4.1.2" 1036 | write "^0.2.1" 1037 | 1038 | fn-name@^2.0.1: 1039 | version "2.0.1" 1040 | resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" 1041 | 1042 | for-in@^0.1.5: 1043 | version "0.1.6" 1044 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" 1045 | 1046 | for-own@^0.1.4: 1047 | version "0.1.4" 1048 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" 1049 | dependencies: 1050 | for-in "^0.1.5" 1051 | 1052 | foreach@^2.0.5: 1053 | version "2.0.5" 1054 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 1055 | 1056 | foreground-child@^1.3.3, foreground-child@^1.5.3: 1057 | version "1.5.3" 1058 | resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.3.tgz#94dd6aba671389867de8e57e99f1c2ecfb15c01a" 1059 | dependencies: 1060 | cross-spawn "^4" 1061 | signal-exit "^3.0.0" 1062 | 1063 | from@~0: 1064 | version "0.1.3" 1065 | resolved "https://registry.yarnpkg.com/from/-/from-0.1.3.tgz#ef63ac2062ac32acf7862e0d40b44b896f22f3bc" 1066 | 1067 | fs-access@^1.0.0: 1068 | version "1.0.1" 1069 | resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" 1070 | dependencies: 1071 | null-check "^1.0.0" 1072 | 1073 | fs.realpath@^1.0.0: 1074 | version "1.0.0" 1075 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1076 | 1077 | function-arguments@^1.0.6: 1078 | version "1.0.8" 1079 | resolved "https://registry.yarnpkg.com/function-arguments/-/function-arguments-1.0.8.tgz#b9a01daca6b894eff8c3d36840375ed9636a6c0f" 1080 | 1081 | function-bind@^1.0.2, function-bind@^1.1.0: 1082 | version "1.1.0" 1083 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" 1084 | 1085 | generate-function@^2.0.0: 1086 | version "2.0.0" 1087 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 1088 | 1089 | generate-object-property@^1.1.0: 1090 | version "1.2.0" 1091 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 1092 | dependencies: 1093 | is-property "^1.0.0" 1094 | 1095 | get-caller-file@^1.0.1: 1096 | version "1.0.2" 1097 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1098 | 1099 | get-fn-name@^1.0.0: 1100 | version "1.0.0" 1101 | resolved "https://registry.yarnpkg.com/get-fn-name/-/get-fn-name-1.0.0.tgz#0aa8fadcf99598ebcb44cab0f1a7e95472c316c9" 1102 | dependencies: 1103 | fn-name "^2.0.1" 1104 | 1105 | get-pkg-repo@^1.0.0: 1106 | version "1.3.0" 1107 | resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.3.0.tgz#43c6b4c048b75dd604fc5388edecde557f6335df" 1108 | dependencies: 1109 | hosted-git-info "^2.1.4" 1110 | meow "^3.3.0" 1111 | normalize-package-data "^2.3.0" 1112 | parse-github-repo-url "^1.3.0" 1113 | through2 "^2.0.0" 1114 | 1115 | get-stdin@^4.0.1: 1116 | version "4.0.1" 1117 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1118 | 1119 | get-stdin@^5.0.1: 1120 | version "5.0.1" 1121 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" 1122 | 1123 | git-latest-semver-tag@^1.0.0: 1124 | version "1.0.2" 1125 | resolved "https://registry.yarnpkg.com/git-latest-semver-tag/-/git-latest-semver-tag-1.0.2.tgz#061130cbf4274111cc6be4612b3ff3a6d93e2660" 1126 | dependencies: 1127 | git-semver-tags "^1.1.2" 1128 | meow "^3.3.0" 1129 | 1130 | git-raw-commits@^1.0.0, git-raw-commits@^1.1.0: 1131 | version "1.1.2" 1132 | resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.1.2.tgz#a12d8492aeba2881802d700825ed81c9f39e6f2f" 1133 | dependencies: 1134 | dargs "^4.0.1" 1135 | lodash.template "^4.0.2" 1136 | meow "^3.3.0" 1137 | split2 "^2.0.0" 1138 | through2 "^2.0.0" 1139 | 1140 | git-remote-origin-url@^2.0.0: 1141 | version "2.0.0" 1142 | resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" 1143 | dependencies: 1144 | gitconfiglocal "^1.0.0" 1145 | pify "^2.3.0" 1146 | 1147 | git-semver-tags@^1.1.0, git-semver-tags@^1.1.2: 1148 | version "1.1.2" 1149 | resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-1.1.2.tgz#aecf9b1b2447a6b548d48647f53edba0acad879f" 1150 | dependencies: 1151 | meow "^3.3.0" 1152 | semver "^5.0.1" 1153 | 1154 | gitconfiglocal@^1.0.0: 1155 | version "1.0.0" 1156 | resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" 1157 | dependencies: 1158 | ini "^1.3.2" 1159 | 1160 | github-url-from-git@^1.4.0: 1161 | version "1.4.0" 1162 | resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.4.0.tgz#285e6b520819001bde128674704379e4ff03e0de" 1163 | 1164 | glob-base@^0.3.0: 1165 | version "0.3.0" 1166 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1167 | dependencies: 1168 | glob-parent "^2.0.0" 1169 | is-glob "^2.0.0" 1170 | 1171 | glob-parent@^2.0.0: 1172 | version "2.0.0" 1173 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1174 | dependencies: 1175 | is-glob "^2.0.0" 1176 | 1177 | glob@7.0.5: 1178 | version "7.0.5" 1179 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" 1180 | dependencies: 1181 | fs.realpath "^1.0.0" 1182 | inflight "^1.0.4" 1183 | inherits "2" 1184 | minimatch "^3.0.2" 1185 | once "^1.3.0" 1186 | path-is-absolute "^1.0.0" 1187 | 1188 | glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: 1189 | version "7.1.1" 1190 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 1191 | dependencies: 1192 | fs.realpath "^1.0.0" 1193 | inflight "^1.0.4" 1194 | inherits "2" 1195 | minimatch "^3.0.2" 1196 | once "^1.3.0" 1197 | path-is-absolute "^1.0.0" 1198 | 1199 | glob@~4.3.0: 1200 | version "4.3.5" 1201 | resolved "https://registry.yarnpkg.com/glob/-/glob-4.3.5.tgz#80fbb08ca540f238acce5d11d1e9bc41e75173d3" 1202 | dependencies: 1203 | inflight "^1.0.4" 1204 | inherits "2" 1205 | minimatch "^2.0.1" 1206 | once "^1.3.0" 1207 | 1208 | globals@^9.0.0: 1209 | version "9.12.0" 1210 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" 1211 | 1212 | globals@^9.14.0: 1213 | version "9.16.0" 1214 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" 1215 | 1216 | globby@^5.0.0: 1217 | version "5.0.0" 1218 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" 1219 | dependencies: 1220 | array-union "^1.0.1" 1221 | arrify "^1.0.0" 1222 | glob "^7.0.3" 1223 | object-assign "^4.0.1" 1224 | pify "^2.0.0" 1225 | pinkie-promise "^2.0.0" 1226 | 1227 | graceful-fs@^4.1.2: 1228 | version "4.1.9" 1229 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" 1230 | 1231 | handlebars@^4.0.2, handlebars@^4.0.3: 1232 | version "4.0.5" 1233 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.5.tgz#92c6ed6bb164110c50d4d8d0fbddc70806c6f8e7" 1234 | dependencies: 1235 | async "^1.4.0" 1236 | optimist "^0.6.1" 1237 | source-map "^0.4.4" 1238 | optionalDependencies: 1239 | uglify-js "^2.6" 1240 | 1241 | has-ansi@^2.0.0: 1242 | version "2.0.0" 1243 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1244 | dependencies: 1245 | ansi-regex "^2.0.0" 1246 | 1247 | has-flag@^1.0.0: 1248 | version "1.0.0" 1249 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1250 | 1251 | has@^1.0.1: 1252 | version "1.0.1" 1253 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 1254 | dependencies: 1255 | function-bind "^1.0.2" 1256 | 1257 | home-or-tmp@2.0.0, home-or-tmp@^2.0.0: 1258 | version "2.0.0" 1259 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1260 | dependencies: 1261 | os-homedir "^1.0.0" 1262 | os-tmpdir "^1.0.1" 1263 | 1264 | hosted-git-info@^2.1.4: 1265 | version "2.1.5" 1266 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" 1267 | 1268 | ignore@^3.0.9, ignore@^3.2.0: 1269 | version "3.2.0" 1270 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" 1271 | 1272 | imurmurhash@^0.1.4: 1273 | version "0.1.4" 1274 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1275 | 1276 | indent-string@^2.1.0: 1277 | version "2.1.0" 1278 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1279 | dependencies: 1280 | repeating "^2.0.0" 1281 | 1282 | inflight@^1.0.4: 1283 | version "1.0.6" 1284 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1285 | dependencies: 1286 | once "^1.3.0" 1287 | wrappy "1" 1288 | 1289 | inherits@2, inherits@~2.0.1: 1290 | version "2.0.3" 1291 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1292 | 1293 | ini@^1.3.2: 1294 | version "1.3.4" 1295 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 1296 | 1297 | inquirer@1.1.2: 1298 | version "1.1.2" 1299 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.1.2.tgz#ac3ba5f06b8e7291abd9f22912c03f09cfe2dd1f" 1300 | dependencies: 1301 | ansi-escapes "^1.1.0" 1302 | chalk "^1.0.0" 1303 | cli-cursor "^1.0.1" 1304 | cli-width "^2.0.0" 1305 | external-editor "^1.0.1" 1306 | figures "^1.3.5" 1307 | lodash "^4.3.0" 1308 | mute-stream "0.0.6" 1309 | pinkie-promise "^2.0.0" 1310 | run-async "^2.2.0" 1311 | rx "^4.1.0" 1312 | string-width "^1.0.1" 1313 | strip-ansi "^3.0.0" 1314 | through "^2.3.6" 1315 | 1316 | inquirer@^0.12.0: 1317 | version "0.12.0" 1318 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" 1319 | dependencies: 1320 | ansi-escapes "^1.1.0" 1321 | ansi-regex "^2.0.0" 1322 | chalk "^1.0.0" 1323 | cli-cursor "^1.0.1" 1324 | cli-width "^2.0.0" 1325 | figures "^1.3.5" 1326 | lodash "^4.3.0" 1327 | readline2 "^1.0.1" 1328 | run-async "^0.1.0" 1329 | rx-lite "^3.1.2" 1330 | string-width "^1.0.1" 1331 | strip-ansi "^3.0.0" 1332 | through "^2.3.6" 1333 | 1334 | interpret@^1.0.0: 1335 | version "1.0.1" 1336 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" 1337 | 1338 | invariant@^2.2.0: 1339 | version "2.2.1" 1340 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" 1341 | dependencies: 1342 | loose-envify "^1.0.0" 1343 | 1344 | invert-kv@^1.0.0: 1345 | version "1.0.0" 1346 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1347 | 1348 | is-arrayish@^0.2.1: 1349 | version "0.2.1" 1350 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1351 | 1352 | is-async-function@^1.2.2: 1353 | version "1.2.2" 1354 | resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-1.2.2.tgz#96ab443cab7f822a65822cce0d54331f422f3cff" 1355 | dependencies: 1356 | arr-includes "^2.0.0" 1357 | common-callback-names "^1.0.2" 1358 | function-arguments "^1.0.6" 1359 | lazy-arrayify "^1.0.3" 1360 | lazy-cache "^2.0.1" 1361 | 1362 | is-buffer@^1.0.2: 1363 | version "1.1.4" 1364 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 1365 | 1366 | is-builtin-module@^1.0.0: 1367 | version "1.0.0" 1368 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1369 | dependencies: 1370 | builtin-modules "^1.0.0" 1371 | 1372 | is-callable@^1.1.1, is-callable@^1.1.3: 1373 | version "1.1.3" 1374 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" 1375 | 1376 | is-date-object@^1.0.1: 1377 | version "1.0.1" 1378 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1379 | 1380 | is-dotfile@^1.0.0: 1381 | version "1.0.2" 1382 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" 1383 | 1384 | is-equal-shallow@^0.1.3: 1385 | version "0.1.3" 1386 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1387 | dependencies: 1388 | is-primitive "^2.0.0" 1389 | 1390 | is-error@^2.2.0: 1391 | version "2.2.1" 1392 | resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" 1393 | 1394 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1395 | version "0.1.1" 1396 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1397 | 1398 | is-extglob@^1.0.0: 1399 | version "1.0.0" 1400 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1401 | 1402 | is-finite@^1.0.0: 1403 | version "1.0.2" 1404 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1405 | dependencies: 1406 | number-is-nan "^1.0.0" 1407 | 1408 | is-fullwidth-code-point@^1.0.0: 1409 | version "1.0.0" 1410 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1411 | dependencies: 1412 | number-is-nan "^1.0.0" 1413 | 1414 | is-fullwidth-code-point@^2.0.0: 1415 | version "2.0.0" 1416 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1417 | 1418 | is-glob@^2.0.0, is-glob@^2.0.1: 1419 | version "2.0.1" 1420 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1421 | dependencies: 1422 | is-extglob "^1.0.0" 1423 | 1424 | is-my-json-valid@^2.10.0: 1425 | version "2.15.0" 1426 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" 1427 | dependencies: 1428 | generate-function "^2.0.0" 1429 | generate-object-property "^1.1.0" 1430 | jsonpointer "^4.0.0" 1431 | xtend "^4.0.0" 1432 | 1433 | is-number@^2.0.2, is-number@^2.1.0: 1434 | version "2.1.0" 1435 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1436 | dependencies: 1437 | kind-of "^3.0.2" 1438 | 1439 | is-obj@^1.0.0: 1440 | version "1.0.1" 1441 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1442 | 1443 | is-path-cwd@^1.0.0: 1444 | version "1.0.0" 1445 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 1446 | 1447 | is-path-in-cwd@^1.0.0: 1448 | version "1.0.0" 1449 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" 1450 | dependencies: 1451 | is-path-inside "^1.0.0" 1452 | 1453 | is-path-inside@^1.0.0: 1454 | version "1.0.0" 1455 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" 1456 | dependencies: 1457 | path-is-inside "^1.0.1" 1458 | 1459 | is-posix-bracket@^0.1.0: 1460 | version "0.1.1" 1461 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1462 | 1463 | is-primitive@^2.0.0: 1464 | version "2.0.0" 1465 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1466 | 1467 | is-promise@^2.1.0: 1468 | version "2.1.0" 1469 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 1470 | 1471 | is-property@^1.0.0: 1472 | version "1.0.2" 1473 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1474 | 1475 | is-regex@^1.0.3: 1476 | version "1.0.4" 1477 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1478 | dependencies: 1479 | has "^1.0.1" 1480 | 1481 | is-resolvable@^1.0.0: 1482 | version "1.0.0" 1483 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" 1484 | dependencies: 1485 | tryit "^1.0.1" 1486 | 1487 | is-subset@^0.1.1: 1488 | version "0.1.1" 1489 | resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" 1490 | 1491 | is-symbol@^1.0.1: 1492 | version "1.0.1" 1493 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" 1494 | 1495 | is-text-path@^1.0.0: 1496 | version "1.0.1" 1497 | resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" 1498 | dependencies: 1499 | text-extensions "^1.0.0" 1500 | 1501 | is-utf8@^0.2.0: 1502 | version "0.2.1" 1503 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1504 | 1505 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1506 | version "1.0.0" 1507 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1508 | 1509 | isexe@^1.1.1: 1510 | version "1.1.2" 1511 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" 1512 | 1513 | isobject@^2.0.0: 1514 | version "2.1.0" 1515 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1516 | dependencies: 1517 | isarray "1.0.0" 1518 | 1519 | istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0: 1520 | version "1.0.0" 1521 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.0.tgz#c3f9b6d226da12424064cce87fce0fb57fdfa7a2" 1522 | 1523 | istanbul-lib-coverage@^1.0.1: 1524 | version "1.0.1" 1525 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz#f263efb519c051c5f1f3343034fc40e7b43ff212" 1526 | 1527 | istanbul-lib-hook@^1.0.0: 1528 | version "1.0.0" 1529 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0.tgz#fc5367ee27f59268e8f060b0c7aaf051d9c425c5" 1530 | dependencies: 1531 | append-transform "^0.4.0" 1532 | 1533 | istanbul-lib-instrument@^1.4.2: 1534 | version "1.4.2" 1535 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz#0e2fdfac93c1dabf2e31578637dc78a19089f43e" 1536 | dependencies: 1537 | babel-generator "^6.18.0" 1538 | babel-template "^6.16.0" 1539 | babel-traverse "^6.18.0" 1540 | babel-types "^6.18.0" 1541 | babylon "^6.13.0" 1542 | istanbul-lib-coverage "^1.0.0" 1543 | semver "^5.3.0" 1544 | 1545 | istanbul-lib-report@^1.0.0-alpha.3: 1546 | version "1.0.0-alpha.3" 1547 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" 1548 | dependencies: 1549 | async "^1.4.2" 1550 | istanbul-lib-coverage "^1.0.0-alpha" 1551 | mkdirp "^0.5.1" 1552 | path-parse "^1.0.5" 1553 | rimraf "^2.4.3" 1554 | supports-color "^3.1.2" 1555 | 1556 | istanbul-lib-source-maps@^1.1.0: 1557 | version "1.1.0" 1558 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" 1559 | dependencies: 1560 | istanbul-lib-coverage "^1.0.0-alpha.0" 1561 | mkdirp "^0.5.1" 1562 | rimraf "^2.4.4" 1563 | source-map "^0.5.3" 1564 | 1565 | istanbul-reports@^1.0.0: 1566 | version "1.0.1" 1567 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.1.tgz#9a17176bc4a6cbebdae52b2f15961d52fa623fbc" 1568 | dependencies: 1569 | handlebars "^4.0.3" 1570 | 1571 | js-tokens@^2.0.0: 1572 | version "2.0.0" 1573 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" 1574 | 1575 | js-yaml@^3.5.1: 1576 | version "3.6.1" 1577 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" 1578 | dependencies: 1579 | argparse "^1.0.7" 1580 | esprima "^2.6.0" 1581 | 1582 | jsesc@^1.3.0: 1583 | version "1.3.0" 1584 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 1585 | 1586 | json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: 1587 | version "1.0.1" 1588 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1589 | dependencies: 1590 | jsonify "~0.0.0" 1591 | 1592 | json-stringify-safe@^5.0.1: 1593 | version "5.0.1" 1594 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1595 | 1596 | jsonify@~0.0.0: 1597 | version "0.0.0" 1598 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1599 | 1600 | jsonparse@^1.2.0: 1601 | version "1.2.0" 1602 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.2.0.tgz#5c0c5685107160e72fe7489bddea0b44c2bc67bd" 1603 | 1604 | jsonpointer@^4.0.0: 1605 | version "4.0.0" 1606 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" 1607 | 1608 | jsx-ast-utils@^1.3.4: 1609 | version "1.4.0" 1610 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz#5afe38868f56bc8cc7aeaef0100ba8c75bd12591" 1611 | dependencies: 1612 | object-assign "^4.1.0" 1613 | 1614 | kind-of@^3.0.2: 1615 | version "3.0.4" 1616 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" 1617 | dependencies: 1618 | is-buffer "^1.0.2" 1619 | 1620 | lazy-arrayify@^1.0.3: 1621 | version "1.0.3" 1622 | resolved "https://registry.yarnpkg.com/lazy-arrayify/-/lazy-arrayify-1.0.3.tgz#2fd5d9734bec2f988d6636b9780fe7221cc001b7" 1623 | dependencies: 1624 | isarray "^1.0.0" 1625 | lazy-cache "^2.0.0" 1626 | 1627 | lazy-cache@^1.0.3: 1628 | version "1.0.4" 1629 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 1630 | 1631 | lazy-cache@^2.0.0, lazy-cache@^2.0.1: 1632 | version "2.0.1" 1633 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.1.tgz#8fe998dd9bc587136005d5e53225c4e0306c921d" 1634 | dependencies: 1635 | set-getter "^0.1.0" 1636 | 1637 | lcid@^1.0.0: 1638 | version "1.0.0" 1639 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1640 | dependencies: 1641 | invert-kv "^1.0.0" 1642 | 1643 | levn@^0.3.0, levn@~0.3.0: 1644 | version "0.3.0" 1645 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1646 | dependencies: 1647 | prelude-ls "~1.1.2" 1648 | type-check "~0.3.2" 1649 | 1650 | load-json-file@^1.0.0: 1651 | version "1.1.0" 1652 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 1653 | dependencies: 1654 | graceful-fs "^4.1.2" 1655 | parse-json "^2.2.0" 1656 | pify "^2.0.0" 1657 | pinkie-promise "^2.0.0" 1658 | strip-bom "^2.0.0" 1659 | 1660 | load-json-file@^2.0.0: 1661 | version "2.0.0" 1662 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 1663 | dependencies: 1664 | graceful-fs "^4.1.2" 1665 | parse-json "^2.2.0" 1666 | pify "^2.0.0" 1667 | strip-bom "^3.0.0" 1668 | 1669 | locate-path@^2.0.0: 1670 | version "2.0.0" 1671 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1672 | dependencies: 1673 | p-locate "^2.0.0" 1674 | path-exists "^3.0.0" 1675 | 1676 | lodash._reinterpolate@~3.0.0: 1677 | version "3.0.0" 1678 | resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" 1679 | 1680 | lodash.map@^4.5.1: 1681 | version "4.6.0" 1682 | resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" 1683 | 1684 | lodash.template@^4.0.2: 1685 | version "4.4.0" 1686 | resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" 1687 | dependencies: 1688 | lodash._reinterpolate "~3.0.0" 1689 | lodash.templatesettings "^4.0.0" 1690 | 1691 | lodash.templatesettings@^4.0.0: 1692 | version "4.1.0" 1693 | resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316" 1694 | dependencies: 1695 | lodash._reinterpolate "~3.0.0" 1696 | 1697 | lodash@4.15.0, lodash@^4.0.0, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0: 1698 | version "4.15.0" 1699 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.15.0.tgz#3162391d8f0140aa22cf8f6b3c34d6b7f63d3aa9" 1700 | 1701 | longest@^1.0.1: 1702 | version "1.0.1" 1703 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 1704 | 1705 | loose-envify@^1.0.0: 1706 | version "1.3.0" 1707 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" 1708 | dependencies: 1709 | js-tokens "^2.0.0" 1710 | 1711 | loud-rejection@^1.0.0: 1712 | version "1.6.0" 1713 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 1714 | dependencies: 1715 | currently-unhandled "^0.4.1" 1716 | signal-exit "^3.0.0" 1717 | 1718 | lru-cache@^4.0.0, lru-cache@^4.0.1: 1719 | version "4.0.1" 1720 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.1.tgz#1343955edaf2e37d9b9e7ee7241e27c4b9fb72be" 1721 | dependencies: 1722 | pseudomap "^1.0.1" 1723 | yallist "^2.0.0" 1724 | 1725 | map-obj@^1.0.0, map-obj@^1.0.1: 1726 | version "1.0.1" 1727 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1728 | 1729 | map-stream@~0.1.0: 1730 | version "0.1.0" 1731 | resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" 1732 | 1733 | md5-hex@^1.2.0: 1734 | version "1.3.0" 1735 | resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" 1736 | dependencies: 1737 | md5-o-matic "^0.1.1" 1738 | 1739 | md5-o-matic@^0.1.1: 1740 | version "0.1.1" 1741 | resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" 1742 | 1743 | meow@^3.3.0: 1744 | version "3.7.0" 1745 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 1746 | dependencies: 1747 | camelcase-keys "^2.0.0" 1748 | decamelize "^1.1.2" 1749 | loud-rejection "^1.0.0" 1750 | map-obj "^1.0.1" 1751 | minimist "^1.1.3" 1752 | normalize-package-data "^2.3.4" 1753 | object-assign "^4.0.1" 1754 | read-pkg-up "^1.0.1" 1755 | redent "^1.0.0" 1756 | trim-newlines "^1.0.0" 1757 | 1758 | merge-source-map@^1.0.2: 1759 | version "1.0.3" 1760 | resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" 1761 | dependencies: 1762 | source-map "^0.5.3" 1763 | 1764 | merge@^1.2.0: 1765 | version "1.2.0" 1766 | resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" 1767 | 1768 | micromatch@^2.3.11: 1769 | version "2.3.11" 1770 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1771 | dependencies: 1772 | arr-diff "^2.0.0" 1773 | array-unique "^0.2.1" 1774 | braces "^1.8.2" 1775 | expand-brackets "^0.1.4" 1776 | extglob "^0.3.1" 1777 | filename-regex "^2.0.0" 1778 | is-extglob "^1.0.0" 1779 | is-glob "^2.0.1" 1780 | kind-of "^3.0.2" 1781 | normalize-path "^2.0.1" 1782 | object.omit "^2.0.0" 1783 | parse-glob "^3.0.4" 1784 | regex-cache "^0.4.2" 1785 | 1786 | minimatch@^2.0.1: 1787 | version "2.0.10" 1788 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" 1789 | dependencies: 1790 | brace-expansion "^1.0.0" 1791 | 1792 | minimatch@^3.0.2: 1793 | version "3.0.3" 1794 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 1795 | dependencies: 1796 | brace-expansion "^1.0.0" 1797 | 1798 | minimist@0.0.8: 1799 | version "0.0.8" 1800 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1801 | 1802 | minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.3: 1803 | version "1.2.0" 1804 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1805 | 1806 | minimist@~0.0.1: 1807 | version "0.0.10" 1808 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 1809 | 1810 | mkdirp@^0.5.0, mkdirp@^0.5.1: 1811 | version "0.5.1" 1812 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1813 | dependencies: 1814 | minimist "0.0.8" 1815 | 1816 | modify-values@^1.0.0: 1817 | version "1.0.0" 1818 | resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2" 1819 | 1820 | ms@0.7.1: 1821 | version "0.7.1" 1822 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 1823 | 1824 | mukla@^0.4.1: 1825 | version "0.4.4" 1826 | resolved "https://registry.yarnpkg.com/mukla/-/mukla-0.4.4.tgz#70d45c163b864d3837f95d336c149b4b1d28291e" 1827 | dependencies: 1828 | async-done "^1.2.0" 1829 | core-assert "^0.2.0" 1830 | error-symbol "^0.1.0" 1831 | extend-shallow "^2.0.1" 1832 | get-fn-name "^1.0.0" 1833 | lazy-cache "^2.0.1" 1834 | stack-utils "^0.4.0" 1835 | success-symbol "^0.1.0" 1836 | 1837 | mute-stream@0.0.5: 1838 | version "0.0.5" 1839 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" 1840 | 1841 | mute-stream@0.0.6: 1842 | version "0.0.6" 1843 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" 1844 | 1845 | natural-compare@^1.4.0: 1846 | version "1.4.0" 1847 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1848 | 1849 | next-tick@^1.0.0: 1850 | version "1.0.0" 1851 | resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" 1852 | 1853 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5: 1854 | version "2.3.5" 1855 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" 1856 | dependencies: 1857 | hosted-git-info "^2.1.4" 1858 | is-builtin-module "^1.0.0" 1859 | semver "2 || 3 || 4 || 5" 1860 | validate-npm-package-license "^3.0.1" 1861 | 1862 | normalize-path@^2.0.1: 1863 | version "2.0.1" 1864 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" 1865 | 1866 | npm-run-all@^4.0.2: 1867 | version "4.0.2" 1868 | resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.0.2.tgz#a84669348e6db6ccbe052200b4cdb6bfe034a4fe" 1869 | dependencies: 1870 | chalk "^1.1.3" 1871 | cross-spawn "^5.0.1" 1872 | minimatch "^3.0.2" 1873 | ps-tree "^1.0.1" 1874 | read-pkg "^2.0.0" 1875 | shell-quote "^1.6.1" 1876 | string.prototype.padend "^3.0.0" 1877 | 1878 | null-check@^1.0.0: 1879 | version "1.0.0" 1880 | resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" 1881 | 1882 | number-is-nan@^1.0.0: 1883 | version "1.0.1" 1884 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1885 | 1886 | nyc@^10.1.2: 1887 | version "10.1.2" 1888 | resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.1.2.tgz#ea7acaa20a235210101604f4e7d56d28453b0274" 1889 | dependencies: 1890 | archy "^1.0.0" 1891 | arrify "^1.0.1" 1892 | caching-transform "^1.0.0" 1893 | convert-source-map "^1.3.0" 1894 | debug-log "^1.0.1" 1895 | default-require-extensions "^1.0.0" 1896 | find-cache-dir "^0.1.1" 1897 | find-up "^1.1.2" 1898 | foreground-child "^1.5.3" 1899 | glob "^7.0.6" 1900 | istanbul-lib-coverage "^1.0.1" 1901 | istanbul-lib-hook "^1.0.0" 1902 | istanbul-lib-instrument "^1.4.2" 1903 | istanbul-lib-report "^1.0.0-alpha.3" 1904 | istanbul-lib-source-maps "^1.1.0" 1905 | istanbul-reports "^1.0.0" 1906 | md5-hex "^1.2.0" 1907 | merge-source-map "^1.0.2" 1908 | micromatch "^2.3.11" 1909 | mkdirp "^0.5.0" 1910 | resolve-from "^2.0.0" 1911 | rimraf "^2.5.4" 1912 | signal-exit "^3.0.1" 1913 | spawn-wrap "1.2.4" 1914 | test-exclude "^3.3.0" 1915 | yargs "^6.6.0" 1916 | yargs-parser "^4.0.2" 1917 | 1918 | object-assign@^4.0.1, object-assign@^4.1.0: 1919 | version "4.1.0" 1920 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" 1921 | 1922 | object-keys@^1.0.8: 1923 | version "1.0.11" 1924 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" 1925 | 1926 | object.omit@^2.0.0: 1927 | version "2.0.1" 1928 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1929 | dependencies: 1930 | for-own "^0.1.4" 1931 | is-extendable "^0.1.1" 1932 | 1933 | once@^1.3.0, once@^1.3.2, once@^1.4.0: 1934 | version "1.4.0" 1935 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1936 | dependencies: 1937 | wrappy "1" 1938 | 1939 | once@~1.3.0: 1940 | version "1.3.3" 1941 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" 1942 | dependencies: 1943 | wrappy "1" 1944 | 1945 | onetime@^1.0.0: 1946 | version "1.1.0" 1947 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" 1948 | 1949 | optimist@^0.6.1: 1950 | version "0.6.1" 1951 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1952 | dependencies: 1953 | minimist "~0.0.1" 1954 | wordwrap "~0.0.2" 1955 | 1956 | optionator@^0.8.2: 1957 | version "0.8.2" 1958 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 1959 | dependencies: 1960 | deep-is "~0.1.3" 1961 | fast-levenshtein "~2.0.4" 1962 | levn "~0.3.0" 1963 | prelude-ls "~1.1.2" 1964 | type-check "~0.3.2" 1965 | wordwrap "~1.0.0" 1966 | 1967 | os-homedir@^1.0.0, os-homedir@^1.0.1: 1968 | version "1.0.2" 1969 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1970 | 1971 | os-locale@^1.4.0: 1972 | version "1.4.0" 1973 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 1974 | dependencies: 1975 | lcid "^1.0.0" 1976 | 1977 | os-shim@^0.1.2: 1978 | version "0.1.3" 1979 | resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" 1980 | 1981 | os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: 1982 | version "1.0.2" 1983 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1984 | 1985 | p-limit@^1.1.0: 1986 | version "1.1.0" 1987 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" 1988 | 1989 | p-locate@^2.0.0: 1990 | version "2.0.0" 1991 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 1992 | dependencies: 1993 | p-limit "^1.1.0" 1994 | 1995 | pad-right@^0.2.2: 1996 | version "0.2.2" 1997 | resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774" 1998 | dependencies: 1999 | repeat-string "^1.5.2" 2000 | 2001 | parse-github-repo-url@^1.3.0: 2002 | version "1.3.0" 2003 | resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.3.0.tgz#d4de02d68e2e60f0d6a182e7a8cb21b6f38c730b" 2004 | 2005 | parse-glob@^3.0.4: 2006 | version "3.0.4" 2007 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2008 | dependencies: 2009 | glob-base "^0.3.0" 2010 | is-dotfile "^1.0.0" 2011 | is-extglob "^1.0.0" 2012 | is-glob "^2.0.0" 2013 | 2014 | parse-json@^2.2.0: 2015 | version "2.2.0" 2016 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2017 | dependencies: 2018 | error-ex "^1.2.0" 2019 | 2020 | path-exists@2.1.0, path-exists@^2.0.0: 2021 | version "2.1.0" 2022 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2023 | dependencies: 2024 | pinkie-promise "^2.0.0" 2025 | 2026 | path-exists@^3.0.0: 2027 | version "3.0.0" 2028 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2029 | 2030 | path-is-absolute@^1.0.0: 2031 | version "1.0.1" 2032 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2033 | 2034 | path-is-inside@^1.0.1: 2035 | version "1.0.2" 2036 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2037 | 2038 | path-parse@^1.0.5: 2039 | version "1.0.5" 2040 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 2041 | 2042 | path-type@^1.0.0: 2043 | version "1.1.0" 2044 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2045 | dependencies: 2046 | graceful-fs "^4.1.2" 2047 | pify "^2.0.0" 2048 | pinkie-promise "^2.0.0" 2049 | 2050 | path-type@^2.0.0: 2051 | version "2.0.0" 2052 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2053 | dependencies: 2054 | pify "^2.0.0" 2055 | 2056 | pause-stream@0.0.11: 2057 | version "0.0.11" 2058 | resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" 2059 | dependencies: 2060 | through "~2.3" 2061 | 2062 | pify@^2.0.0, pify@^2.3.0: 2063 | version "2.3.0" 2064 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2065 | 2066 | pinkie-promise@^2.0.0: 2067 | version "2.0.1" 2068 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2069 | dependencies: 2070 | pinkie "^2.0.0" 2071 | 2072 | pinkie@^2.0.0: 2073 | version "2.0.4" 2074 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2075 | 2076 | pkg-conf@^2.0.0: 2077 | version "2.0.0" 2078 | resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.0.0.tgz#071c87650403bccfb9c627f58751bfe47c067279" 2079 | dependencies: 2080 | find-up "^2.0.0" 2081 | load-json-file "^2.0.0" 2082 | 2083 | pkg-config@^1.1.0: 2084 | version "1.1.1" 2085 | resolved "https://registry.yarnpkg.com/pkg-config/-/pkg-config-1.1.1.tgz#557ef22d73da3c8837107766c52eadabde298fe4" 2086 | dependencies: 2087 | debug-log "^1.0.0" 2088 | find-root "^1.0.0" 2089 | xtend "^4.0.1" 2090 | 2091 | pkg-dir@^1.0.0: 2092 | version "1.0.0" 2093 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" 2094 | dependencies: 2095 | find-up "^1.0.0" 2096 | 2097 | pluralize@^1.2.1: 2098 | version "1.2.1" 2099 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" 2100 | 2101 | pre-commit@^1.1.3: 2102 | version "1.1.3" 2103 | resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.1.3.tgz#6d5ed90740472072958c711a15f676aa2c231377" 2104 | dependencies: 2105 | cross-spawn "2.0.x" 2106 | which "1.2.x" 2107 | 2108 | prelude-ls@~1.1.2: 2109 | version "1.1.2" 2110 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2111 | 2112 | preserve@^0.2.0: 2113 | version "0.2.0" 2114 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2115 | 2116 | process-nextick-args@~1.0.6: 2117 | version "1.0.7" 2118 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 2119 | 2120 | progress@^1.1.8: 2121 | version "1.1.8" 2122 | resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" 2123 | 2124 | ps-tree@^1.0.1: 2125 | version "1.1.0" 2126 | resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" 2127 | dependencies: 2128 | event-stream "~3.3.0" 2129 | 2130 | pseudomap@^1.0.1: 2131 | version "1.0.2" 2132 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2133 | 2134 | q@^1.4.1: 2135 | version "1.4.1" 2136 | resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" 2137 | 2138 | randomatic@^1.1.3: 2139 | version "1.1.5" 2140 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" 2141 | dependencies: 2142 | is-number "^2.0.2" 2143 | kind-of "^3.0.2" 2144 | 2145 | read-pkg-up@^1.0.1: 2146 | version "1.0.1" 2147 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 2148 | dependencies: 2149 | find-up "^1.0.0" 2150 | read-pkg "^1.0.0" 2151 | 2152 | read-pkg@^1.0.0, read-pkg@^1.1.0: 2153 | version "1.1.0" 2154 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 2155 | dependencies: 2156 | load-json-file "^1.0.0" 2157 | normalize-package-data "^2.3.2" 2158 | path-type "^1.0.0" 2159 | 2160 | read-pkg@^2.0.0: 2161 | version "2.0.0" 2162 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2163 | dependencies: 2164 | load-json-file "^2.0.0" 2165 | normalize-package-data "^2.3.2" 2166 | path-type "^2.0.0" 2167 | 2168 | readable-stream@~2.0.0: 2169 | version "2.0.6" 2170 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 2171 | dependencies: 2172 | core-util-is "~1.0.0" 2173 | inherits "~2.0.1" 2174 | isarray "~1.0.0" 2175 | process-nextick-args "~1.0.6" 2176 | string_decoder "~0.10.x" 2177 | util-deprecate "~1.0.1" 2178 | 2179 | readline2@^1.0.1: 2180 | version "1.0.1" 2181 | resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" 2182 | dependencies: 2183 | code-point-at "^1.0.0" 2184 | is-fullwidth-code-point "^1.0.0" 2185 | mute-stream "0.0.5" 2186 | 2187 | rechoir@^0.6.2: 2188 | version "0.6.2" 2189 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 2190 | dependencies: 2191 | resolve "^1.1.6" 2192 | 2193 | redent@^1.0.0: 2194 | version "1.0.0" 2195 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 2196 | dependencies: 2197 | indent-string "^2.1.0" 2198 | strip-indent "^1.0.1" 2199 | 2200 | regenerator-runtime@^0.9.5: 2201 | version "0.9.5" 2202 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz#403d6d40a4bdff9c330dd9392dcbb2d9a8bba1fc" 2203 | 2204 | regex-cache@^0.4.2: 2205 | version "0.4.3" 2206 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 2207 | dependencies: 2208 | is-equal-shallow "^0.1.3" 2209 | is-primitive "^2.0.0" 2210 | 2211 | repeat-element@^1.1.2: 2212 | version "1.1.2" 2213 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2214 | 2215 | repeat-string@^1.5.2: 2216 | version "1.6.1" 2217 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2218 | 2219 | repeating@^2.0.0: 2220 | version "2.0.1" 2221 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2222 | dependencies: 2223 | is-finite "^1.0.0" 2224 | 2225 | require-directory@^2.1.1: 2226 | version "2.1.1" 2227 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2228 | 2229 | require-main-filename@^1.0.1: 2230 | version "1.0.1" 2231 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2232 | 2233 | require-uncached@^1.0.2: 2234 | version "1.0.2" 2235 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.2.tgz#67dad3b733089e77030124678a459589faf6a7ec" 2236 | dependencies: 2237 | caller-path "^0.1.0" 2238 | resolve-from "^1.0.0" 2239 | 2240 | resolve-from@^1.0.0: 2241 | version "1.0.1" 2242 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" 2243 | 2244 | resolve-from@^2.0.0: 2245 | version "2.0.0" 2246 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" 2247 | 2248 | resolve@^1.1.6: 2249 | version "1.3.2" 2250 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235" 2251 | dependencies: 2252 | path-parse "^1.0.5" 2253 | 2254 | restore-cursor@^1.0.1: 2255 | version "1.0.1" 2256 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" 2257 | dependencies: 2258 | exit-hook "^1.0.0" 2259 | onetime "^1.0.0" 2260 | 2261 | right-align@^0.1.1: 2262 | version "0.1.3" 2263 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 2264 | dependencies: 2265 | align-text "^0.1.1" 2266 | 2267 | right-pad@^1.0.1: 2268 | version "1.0.1" 2269 | resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" 2270 | 2271 | rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4: 2272 | version "2.5.4" 2273 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 2274 | dependencies: 2275 | glob "^7.0.5" 2276 | 2277 | run-async@^0.1.0: 2278 | version "0.1.0" 2279 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" 2280 | dependencies: 2281 | once "^1.3.0" 2282 | 2283 | run-async@^2.2.0: 2284 | version "2.2.0" 2285 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.2.0.tgz#8783abd83c7bb86f41ee0602fc82404b3bd6e8b9" 2286 | dependencies: 2287 | is-promise "^2.1.0" 2288 | pinkie-promise "^2.0.0" 2289 | 2290 | run-parallel@^1.1.2: 2291 | version "1.1.6" 2292 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.6.tgz#29003c9a2163e01e2d2dfc90575f2c6c1d61a039" 2293 | 2294 | rx-lite@^3.1.2: 2295 | version "3.1.2" 2296 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" 2297 | 2298 | rx@^4.1.0: 2299 | version "4.1.0" 2300 | resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" 2301 | 2302 | "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0: 2303 | version "5.3.0" 2304 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 2305 | 2306 | set-blocking@^2.0.0: 2307 | version "2.0.0" 2308 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2309 | 2310 | set-getter@^0.1.0: 2311 | version "0.1.0" 2312 | resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" 2313 | dependencies: 2314 | to-object-path "^0.3.0" 2315 | 2316 | shebang-command@^1.2.0: 2317 | version "1.2.0" 2318 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2319 | dependencies: 2320 | shebang-regex "^1.0.0" 2321 | 2322 | shebang-regex@^1.0.0: 2323 | version "1.0.0" 2324 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2325 | 2326 | shell-quote@^1.6.1: 2327 | version "1.6.1" 2328 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" 2329 | dependencies: 2330 | array-filter "~0.0.0" 2331 | array-map "~0.0.0" 2332 | array-reduce "~0.0.0" 2333 | jsonify "~0.0.0" 2334 | 2335 | shelljs@0.5.3: 2336 | version "0.5.3" 2337 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113" 2338 | 2339 | shelljs@^0.7.5: 2340 | version "0.7.6" 2341 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" 2342 | dependencies: 2343 | glob "^7.0.0" 2344 | interpret "^1.0.0" 2345 | rechoir "^0.6.2" 2346 | 2347 | signal-exit@^2.0.0: 2348 | version "2.1.2" 2349 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" 2350 | 2351 | signal-exit@^3.0.0, signal-exit@^3.0.1: 2352 | version "3.0.1" 2353 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" 2354 | 2355 | slice-ansi@0.0.4: 2356 | version "0.0.4" 2357 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" 2358 | 2359 | slide@^1.1.5: 2360 | version "1.1.6" 2361 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 2362 | 2363 | source-map@^0.4.4: 2364 | version "0.4.4" 2365 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 2366 | dependencies: 2367 | amdefine ">=0.0.4" 2368 | 2369 | source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1: 2370 | version "0.5.6" 2371 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 2372 | 2373 | spawn-sync@1.0.13: 2374 | version "1.0.13" 2375 | resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.13.tgz#904091b9ad48a0f3afb0e84752154c01e82fd8d8" 2376 | dependencies: 2377 | concat-stream "^1.4.7" 2378 | os-shim "^0.1.2" 2379 | 2380 | spawn-sync@^1.0.15: 2381 | version "1.0.15" 2382 | resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" 2383 | dependencies: 2384 | concat-stream "^1.4.7" 2385 | os-shim "^0.1.2" 2386 | 2387 | spawn-wrap@1.2.4: 2388 | version "1.2.4" 2389 | resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.2.4.tgz#920eb211a769c093eebfbd5b0e7a5d2e68ab2e40" 2390 | dependencies: 2391 | foreground-child "^1.3.3" 2392 | mkdirp "^0.5.0" 2393 | os-homedir "^1.0.1" 2394 | rimraf "^2.3.3" 2395 | signal-exit "^2.0.0" 2396 | which "^1.2.4" 2397 | 2398 | spdx-correct@~1.0.0: 2399 | version "1.0.2" 2400 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 2401 | dependencies: 2402 | spdx-license-ids "^1.0.2" 2403 | 2404 | spdx-expression-parse@~1.0.0: 2405 | version "1.0.4" 2406 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 2407 | 2408 | spdx-license-ids@^1.0.2: 2409 | version "1.2.2" 2410 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 2411 | 2412 | split2@^2.0.0: 2413 | version "2.1.0" 2414 | resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.0.tgz#7382c148cb622c4b28af7c727f9673730b73f474" 2415 | dependencies: 2416 | through2 "~2.0.0" 2417 | 2418 | split@0.3: 2419 | version "0.3.3" 2420 | resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" 2421 | dependencies: 2422 | through "2" 2423 | 2424 | split@^1.0.0: 2425 | version "1.0.0" 2426 | resolved "https://registry.yarnpkg.com/split/-/split-1.0.0.tgz#c4395ce683abcd254bc28fe1dabb6e5c27dcffae" 2427 | dependencies: 2428 | through "2" 2429 | 2430 | sprintf-js@~1.0.2: 2431 | version "1.0.3" 2432 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2433 | 2434 | stack-utils@^0.4.0: 2435 | version "0.4.0" 2436 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" 2437 | 2438 | standard-engine@~5.4.0: 2439 | version "5.4.0" 2440 | resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-5.4.0.tgz#e0e86959ea0786425d3383e40c1bf70d2f985579" 2441 | dependencies: 2442 | deglob "^2.1.0" 2443 | get-stdin "^5.0.1" 2444 | home-or-tmp "^2.0.0" 2445 | minimist "^1.1.0" 2446 | pkg-conf "^2.0.0" 2447 | 2448 | standard-version@^3.0.0: 2449 | version "3.0.0" 2450 | resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-3.0.0.tgz#dc1dc9f6ad3436e3ace8a9b050634d8a04762929" 2451 | dependencies: 2452 | chalk "^1.1.3" 2453 | conventional-changelog "^1.1.0" 2454 | conventional-recommended-bump "^0.3.0" 2455 | figures "^1.5.0" 2456 | fs-access "^1.0.0" 2457 | object-assign "^4.1.0" 2458 | semver "^5.1.0" 2459 | yargs "^6.0.0" 2460 | 2461 | standard@^9.0.0: 2462 | version "9.0.0" 2463 | resolved "https://registry.yarnpkg.com/standard/-/standard-9.0.0.tgz#58b2acad4dc33823a7477568033c973fc5b6a995" 2464 | dependencies: 2465 | eslint "~3.15.0" 2466 | eslint-config-standard "7.0.0" 2467 | eslint-config-standard-jsx "3.3.0" 2468 | eslint-plugin-promise "~3.4.0" 2469 | eslint-plugin-react "~6.9.0" 2470 | eslint-plugin-standard "~2.0.1" 2471 | standard-engine "~5.4.0" 2472 | 2473 | stream-combiner@~0.0.4: 2474 | version "0.0.4" 2475 | resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" 2476 | dependencies: 2477 | duplexer "~0.1.1" 2478 | 2479 | stream-exhaust@^1.0.1: 2480 | version "1.0.1" 2481 | resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.1.tgz#c0c4455e54ce5a179ca8736e73334b4e7fd67553" 2482 | 2483 | string-width@^1.0.1, string-width@^1.0.2: 2484 | version "1.0.2" 2485 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2486 | dependencies: 2487 | code-point-at "^1.0.0" 2488 | is-fullwidth-code-point "^1.0.0" 2489 | strip-ansi "^3.0.0" 2490 | 2491 | string-width@^2.0.0: 2492 | version "2.0.0" 2493 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" 2494 | dependencies: 2495 | is-fullwidth-code-point "^2.0.0" 2496 | strip-ansi "^3.0.0" 2497 | 2498 | string.prototype.padend@^3.0.0: 2499 | version "3.0.0" 2500 | resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" 2501 | dependencies: 2502 | define-properties "^1.1.2" 2503 | es-abstract "^1.4.3" 2504 | function-bind "^1.0.2" 2505 | 2506 | string_decoder@~0.10.x: 2507 | version "0.10.31" 2508 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 2509 | 2510 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2511 | version "3.0.1" 2512 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2513 | dependencies: 2514 | ansi-regex "^2.0.0" 2515 | 2516 | strip-bom@^2.0.0: 2517 | version "2.0.0" 2518 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 2519 | dependencies: 2520 | is-utf8 "^0.2.0" 2521 | 2522 | strip-bom@^3.0.0: 2523 | version "3.0.0" 2524 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 2525 | 2526 | strip-indent@^1.0.1: 2527 | version "1.0.1" 2528 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 2529 | dependencies: 2530 | get-stdin "^4.0.1" 2531 | 2532 | strip-json-comments@2.0.1, strip-json-comments@~2.0.1: 2533 | version "2.0.1" 2534 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2535 | 2536 | success-symbol@^0.1.0: 2537 | version "0.1.0" 2538 | resolved "https://registry.yarnpkg.com/success-symbol/-/success-symbol-0.1.0.tgz#24022e486f3bf1cdca094283b769c472d3b72897" 2539 | 2540 | supports-color@^2.0.0: 2541 | version "2.0.0" 2542 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2543 | 2544 | supports-color@^3.1.2: 2545 | version "3.1.2" 2546 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" 2547 | dependencies: 2548 | has-flag "^1.0.0" 2549 | 2550 | table@^3.7.8: 2551 | version "3.8.3" 2552 | resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" 2553 | dependencies: 2554 | ajv "^4.7.0" 2555 | ajv-keywords "^1.0.0" 2556 | chalk "^1.1.1" 2557 | lodash "^4.0.0" 2558 | slice-ansi "0.0.4" 2559 | string-width "^2.0.0" 2560 | 2561 | test-exclude@^3.3.0: 2562 | version "3.3.0" 2563 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977" 2564 | dependencies: 2565 | arrify "^1.0.1" 2566 | micromatch "^2.3.11" 2567 | object-assign "^4.1.0" 2568 | read-pkg-up "^1.0.1" 2569 | require-main-filename "^1.0.1" 2570 | 2571 | text-extensions@^1.0.0: 2572 | version "1.3.3" 2573 | resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.3.3.tgz#fef0c8ce07f5bb3b8297bcf075304531754124bf" 2574 | 2575 | text-table@~0.2.0: 2576 | version "0.2.0" 2577 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2578 | 2579 | through2@^2.0.0, through2@~2.0.0: 2580 | version "2.0.1" 2581 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.1.tgz#384e75314d49f32de12eebb8136b8eb6b5d59da9" 2582 | dependencies: 2583 | readable-stream "~2.0.0" 2584 | xtend "~4.0.0" 2585 | 2586 | through@2, "through@>=2.2.7 <3", through@^2.3.6, through@~2.3, through@~2.3.1: 2587 | version "2.3.8" 2588 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 2589 | 2590 | tmp@^0.0.29: 2591 | version "0.0.29" 2592 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" 2593 | dependencies: 2594 | os-tmpdir "~1.0.1" 2595 | 2596 | to-fast-properties@^1.0.1: 2597 | version "1.0.2" 2598 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" 2599 | 2600 | to-object-path@^0.3.0: 2601 | version "0.3.0" 2602 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 2603 | dependencies: 2604 | kind-of "^3.0.2" 2605 | 2606 | trim-newlines@^1.0.0: 2607 | version "1.0.0" 2608 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 2609 | 2610 | trim-off-newlines@^1.0.0: 2611 | version "1.0.1" 2612 | resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" 2613 | 2614 | try-catch-callback@^2.0.0: 2615 | version "2.0.0" 2616 | resolved "https://registry.yarnpkg.com/try-catch-callback/-/try-catch-callback-2.0.0.tgz#4bbb06d9884cdbe5bf949fb52d4647d5f9c4c7c2" 2617 | 2618 | tryit@^1.0.1: 2619 | version "1.0.3" 2620 | resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" 2621 | 2622 | type-check@~0.3.2: 2623 | version "0.3.2" 2624 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 2625 | dependencies: 2626 | prelude-ls "~1.1.2" 2627 | 2628 | typedarray@~0.0.5: 2629 | version "0.0.6" 2630 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 2631 | 2632 | uglify-js@^2.6: 2633 | version "2.7.4" 2634 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2" 2635 | dependencies: 2636 | async "~0.2.6" 2637 | source-map "~0.5.1" 2638 | uglify-to-browserify "~1.0.0" 2639 | yargs "~3.10.0" 2640 | 2641 | uglify-to-browserify@~1.0.0: 2642 | version "1.0.2" 2643 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 2644 | 2645 | uniq@^1.0.1: 2646 | version "1.0.1" 2647 | resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" 2648 | 2649 | user-home@^2.0.0: 2650 | version "2.0.0" 2651 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" 2652 | dependencies: 2653 | os-homedir "^1.0.0" 2654 | 2655 | util-deprecate@~1.0.1: 2656 | version "1.0.2" 2657 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2658 | 2659 | validate-npm-package-license@^3.0.1: 2660 | version "3.0.1" 2661 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 2662 | dependencies: 2663 | spdx-correct "~1.0.0" 2664 | spdx-expression-parse "~1.0.0" 2665 | 2666 | which-module@^1.0.0: 2667 | version "1.0.0" 2668 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 2669 | 2670 | which@1.2.x, which@^1.2.4, which@^1.2.8, which@^1.2.9: 2671 | version "1.2.11" 2672 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" 2673 | dependencies: 2674 | isexe "^1.1.1" 2675 | 2676 | window-size@0.1.0: 2677 | version "0.1.0" 2678 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 2679 | 2680 | window-size@^0.2.0: 2681 | version "0.2.0" 2682 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" 2683 | 2684 | word-wrap@^1.0.3: 2685 | version "1.1.0" 2686 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.1.0.tgz#356153d61d10610d600785c5d701288e0ae764a6" 2687 | 2688 | wordwrap@0.0.2: 2689 | version "0.0.2" 2690 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 2691 | 2692 | wordwrap@~0.0.2: 2693 | version "0.0.3" 2694 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 2695 | 2696 | wordwrap@~1.0.0: 2697 | version "1.0.0" 2698 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 2699 | 2700 | wrap-ansi@^2.0.0: 2701 | version "2.0.0" 2702 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f" 2703 | dependencies: 2704 | string-width "^1.0.1" 2705 | 2706 | wrappy@1: 2707 | version "1.0.2" 2708 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2709 | 2710 | write-file-atomic@^1.1.4: 2711 | version "1.2.0" 2712 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.2.0.tgz#14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab" 2713 | dependencies: 2714 | graceful-fs "^4.1.2" 2715 | imurmurhash "^0.1.4" 2716 | slide "^1.1.5" 2717 | 2718 | write@^0.2.1: 2719 | version "0.2.1" 2720 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 2721 | dependencies: 2722 | mkdirp "^0.5.1" 2723 | 2724 | xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0: 2725 | version "4.0.1" 2726 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 2727 | 2728 | y18n@^3.2.1: 2729 | version "3.2.1" 2730 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 2731 | 2732 | yallist@^2.0.0: 2733 | version "2.0.0" 2734 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" 2735 | 2736 | yargs-parser@^4.0.2: 2737 | version "4.0.2" 2738 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.0.2.tgz#7f7173a8c7cca1d81dc7c18692fc07c2c2e2b1e0" 2739 | dependencies: 2740 | camelcase "^3.0.0" 2741 | 2742 | yargs-parser@^4.2.0: 2743 | version "4.2.1" 2744 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" 2745 | dependencies: 2746 | camelcase "^3.0.0" 2747 | 2748 | yargs@^6.0.0: 2749 | version "6.3.0" 2750 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.3.0.tgz#19c6dbb768744d571eb6ebae0c174cf2f71b188d" 2751 | dependencies: 2752 | camelcase "^3.0.0" 2753 | cliui "^3.2.0" 2754 | decamelize "^1.1.1" 2755 | get-caller-file "^1.0.1" 2756 | os-locale "^1.4.0" 2757 | read-pkg-up "^1.0.1" 2758 | require-directory "^2.1.1" 2759 | require-main-filename "^1.0.1" 2760 | set-blocking "^2.0.0" 2761 | string-width "^1.0.2" 2762 | which-module "^1.0.0" 2763 | window-size "^0.2.0" 2764 | y18n "^3.2.1" 2765 | yargs-parser "^4.0.2" 2766 | 2767 | yargs@^6.6.0: 2768 | version "6.6.0" 2769 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" 2770 | dependencies: 2771 | camelcase "^3.0.0" 2772 | cliui "^3.2.0" 2773 | decamelize "^1.1.1" 2774 | get-caller-file "^1.0.1" 2775 | os-locale "^1.4.0" 2776 | read-pkg-up "^1.0.1" 2777 | require-directory "^2.1.1" 2778 | require-main-filename "^1.0.1" 2779 | set-blocking "^2.0.0" 2780 | string-width "^1.0.2" 2781 | which-module "^1.0.0" 2782 | y18n "^3.2.1" 2783 | yargs-parser "^4.2.0" 2784 | 2785 | yargs@~3.10.0: 2786 | version "3.10.0" 2787 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 2788 | dependencies: 2789 | camelcase "^1.0.2" 2790 | cliui "^2.1.0" 2791 | decamelize "^1.0.0" 2792 | window-size "0.1.0" 2793 | --------------------------------------------------------------------------------