├── .editorconfig ├── .github ├── contributing.md ├── issue_template.md └── pull_request_template.md ├── .gitignore ├── .jshintrc ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── app ├── index.js └── templates │ ├── LICENSE │ ├── README.md │ ├── __gitignore │ ├── __npmignore │ ├── client │ ├── _babelrc │ └── package.json.js │ ├── index.js │ ├── index.test.js │ ├── package.json │ └── static │ ├── .editorconfig │ ├── .github │ ├── contributing.md │ ├── issue_template.md │ └── pull_request_template.md │ ├── .istanbul.yml │ ├── .travis.yml │ └── mocha.opts ├── package-lock.json ├── package.json └── test └── test-creation.js /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.github/contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing to Feathers 2 | 3 | Thank you for contributing to Feathers! :heart: :tada: 4 | 5 | This repo is the main core and where most issues are reported. Feathers embraces modularity and is broken up across many repos. To make this easier to manage we currently use [Zenhub](https://www.zenhub.com/) for issue triage and visibility. They have a free browser plugin you can install so that you can see what is in flight at any time, but of course you also always see current issues in Github. 6 | 7 | ## Report a bug 8 | 9 | Before creating an issue please make sure you have checked out the docs, specifically the [FAQ](https://docs.feathersjs.com/help/faq.html) section. You might want to also try searching Github. It's pretty likely someone has already asked a similar question. 10 | 11 | If you haven't found your answer please feel free to join our [slack channel](http://slack.feathersjs.com), create an issue on Github, or post on [Stackoverflow](http://stackoverflow.com) using the `feathers` or `feathersjs` tag. We try our best to monitor Stackoverflow but you're likely to get more immediate responses in Slack and Github. 12 | 13 | Issues can be reported in the [issue tracker](https://github.com/feathersjs/feathers/issues). Since feathers combines many modules it can be hard for us to assess the root cause without knowing which modules are being used and what your configuration looks like, so **it helps us immensely if you can link to a simple example that reproduces your issue**. 14 | 15 | ## Report a Security Concern 16 | 17 | We take security very seriously at Feathers. We welcome any peer review of our 100% open source code to ensure nobody's Feathers app is ever compromised or hacked. As a web application developer you are responsible for any security breaches. We do our very best to make sure Feathers is as secure as possible by default. 18 | 19 | In order to give the community time to respond and upgrade we strongly urge you report all security issues to us. Send one of the core team members a PM in [Slack](http://slack.feathersjs.com) or email us at hello@feathersjs.com with details and we will respond ASAP. 20 | 21 | For full details refer to our [Security docs](https://docs.feathersjs.com/SECURITY.html). 22 | 23 | ## Pull Requests 24 | 25 | We :heart: pull requests and we're continually working to make it as easy as possible for people to contribute, including a [Plugin Generator](https://github.com/feathersjs/generator-feathers-plugin) and a [common test suite](https://github.com/feathersjs/feathers-service-tests) for database adapters. 26 | 27 | We prefer small pull requests with minimal code changes. The smaller they are the easier they are to review and merge. A core team member will pick up your PR and review it as soon as they can. They may ask for changes or reject your pull request. This is not a reflection of you as an engineer or a person. Please accept feedback graciously as we will also try to be sensitive when providing it. 28 | 29 | Although we generally accept many PRs they can be rejected for many reasons. We will be as transparent as possible but it may simply be that you do not have the same context or information regarding the roadmap that the core team members have. We value the time you take to put together any contributions so we pledge to always be respectful of that time and will try to be as open as possible so that you don't waste it. :smile: 30 | 31 | **All PRs (except documentation) should be accompanied with tests and pass the linting rules.** 32 | 33 | ### Code style 34 | 35 | Before running the tests from the `test/` folder `npm test` will run ESlint. You can check your code changes individually by running `npm run lint`. 36 | 37 | ### ES6 compilation 38 | 39 | Feathers uses [Babel](https://babeljs.io/) to leverage the latest developments of the JavaScript language. All code and samples are currently written in ES2015. To transpile the code in this repository run 40 | 41 | > npm run compile 42 | 43 | __Note:__ `npm test` will run the compilation automatically before the tests. 44 | 45 | ### Tests 46 | 47 | [Mocha](http://mochajs.org/) tests are located in the `test/` folder and can be run using the `npm run mocha` or `npm test` (with ESLint and code coverage) command. 48 | 49 | ### Documentation 50 | 51 | Feathers documentation is contained in Markdown files in the [feathers-docs](https://github.com/feathersjs/feathers-docs) repository. To change the documentation submit a pull request to that repo, referencing any other PR if applicable, and the docs will be updated with the next release. 52 | 53 | ## External Modules 54 | 55 | If you're written something awesome for Feathers, the Feathers ecosystem, or using Feathers please add it to the [showcase](https://docs.feathersjs.com/why/showcase.html). You also might want to check out the [Plugin Generator](https://github.com/feathersjs/generator-feathers-plugin) that can be used to scaffold plugins to be Feathers compliant from the start. 56 | 57 | If you think it would be a good core module then please contact one of the Feathers core team members in [Slack](http://slack.feathersjs.com) and we can discuss whether it belongs in core and how to get it there. :beers: 58 | 59 | ## Contributor Code of Conduct 60 | 61 | As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. 62 | 63 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. 64 | 65 | Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. 66 | 67 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. 68 | 69 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. 70 | 71 | This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) 72 | -------------------------------------------------------------------------------- /.github/issue_template.md: -------------------------------------------------------------------------------- 1 | ### Steps to reproduce 2 | 3 | (First please check that this issue is not already solved as [described 4 | here](https://github.com/feathersjs/feathers/blob/master/.github/contributing.md#report-a-bug)) 5 | 6 | - [ ] Tell us what broke. The more detailed the better. 7 | - [ ] If you can, please create a simple example that reproduces the issue and link to a gist, jsbin, repo, etc. 8 | 9 | ### Expected behavior 10 | Tell us what should happen 11 | 12 | ### Actual behavior 13 | Tell us what happens instead 14 | 15 | ### System configuration 16 | 17 | Tell us about the applicable parts of your setup. 18 | 19 | **Module versions** (especially the part that's not working): 20 | 21 | **NodeJS version**: 22 | 23 | **Operating System**: 24 | 25 | **Browser Version**: 26 | 27 | **React Native Version**: 28 | 29 | **Module Loader**: -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ### Summary 2 | 3 | (If you have not already please refer to the contributing guideline as [described 4 | here](https://github.com/feathersjs/feathers/blob/master/.github/contributing.md#pull-requests)) 5 | 6 | - [ ] Tell us about the problem your pull request is solving. 7 | - [ ] Are there any open issues that are related to this? 8 | - [ ] Is this PR dependent on PRs in other repos? 9 | 10 | If so, please mention them to keep the conversations linked together. 11 | 12 | ### Other Information 13 | 14 | If there's anything else that's important and relevant to your pull 15 | request, mention that information here. This could include 16 | benchmarks, or other information. 17 | 18 | Your PR will be reviewed by a core team member and they will work with you to get your changes merged in a timely manner. If merged your PR will automatically be added to the changelog in the next release. 19 | 20 | If your changes involve documentation updates please mention that and link the appropriate PR in [feathers-docs](https://github.com/feathersjs/feathers-docs). 21 | 22 | Thanks for contributing to Feathers! :heart: -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | temp/ 3 | coverage -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | "esnext": true, 4 | "bitwise": true, 5 | "camelcase": true, 6 | "curly": true, 7 | "eqeqeq": true, 8 | "immed": true, 9 | "indent": 4, 10 | "latedef": true, 11 | "newcap": true, 12 | "noarg": true, 13 | "quotmark": "single", 14 | "regexp": true, 15 | "undef": true, 16 | "unused": true, 17 | "strict": true, 18 | "trailing": true, 19 | "smarttabs": true, 20 | "white": true 21 | } 22 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - node 5 | - '6' 6 | install: npm install 7 | notifications: 8 | email: false 9 | slack: 10 | rooms: 11 | secure: ii82kXxOxUh8IWOH170d8zj42Y/hdOrWt5qoA7jmqn7mNFERB4A1sEu+CMcHGLURT8ZqPZI6z5DNzMO7z/eu7FOzuS+OqGXRF5IsFVCWz+up4MCKauQ77xOFLaf8zRRU+ZDFxFLsb4RUcfLv5+naLPkYQp71/QP2I/oQ7w4Fvas= 12 | before_install: 13 | - currentfolder=${PWD##*/} 14 | - if [ "$currentfolder" != 'generator-feathers-plugin' ]; then cd .. && eval "mv $currentfolder generator-feathers-plugin" && cd generator-feathers-plugin; fi 15 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ## [v1.0.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v1.0.0) (2018-01-04) 4 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.12.1...v1.0.0) 5 | 6 | **Merged pull requests:** 7 | 8 | - Update plugin generator to correspond with latest release [\#49](https://github.com/feathersjs/generator-feathers-plugin/pull/49) ([daffl](https://github.com/daffl)) 9 | - Update semistandard to the latest version 🚀 [\#48](https://github.com/feathersjs/generator-feathers-plugin/pull/48) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) 10 | - Update mocha to the latest version 🚀 [\#47](https://github.com/feathersjs/generator-feathers-plugin/pull/47) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) 11 | - Update yeoman-generator to the latest version 🚀 [\#46](https://github.com/feathersjs/generator-feathers-plugin/pull/46) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) 12 | 13 | ## [v0.12.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.12.1) (2017-08-21) 14 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.12.0...v0.12.1) 15 | 16 | ## [v0.12.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.12.0) (2017-07-16) 17 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.11.0...v0.12.0) 18 | 19 | ## [v0.11.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.11.0) (2017-07-16) 20 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.10.0...v0.11.0) 21 | 22 | **Closed issues:** 23 | 24 | - No example/app created [\#41](https://github.com/feathersjs/generator-feathers-plugin/issues/41) 25 | 26 | **Merged pull requests:** 27 | 28 | - Add client side build functionality [\#45](https://github.com/feathersjs/generator-feathers-plugin/pull/45) ([daffl](https://github.com/daffl)) 29 | - Update plugin generator to new plugin infrastructure [\#44](https://github.com/feathersjs/generator-feathers-plugin/pull/44) ([daffl](https://github.com/daffl)) 30 | - Update semistandard to the latest version 🚀 [\#43](https://github.com/feathersjs/generator-feathers-plugin/pull/43) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) 31 | - Update dependencies to enable Greenkeeper 🌴 [\#42](https://github.com/feathersjs/generator-feathers-plugin/pull/42) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) 32 | 33 | ## [v0.10.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.10.0) (2017-01-04) 34 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.9.6...v0.10.0) 35 | 36 | **Merged pull requests:** 37 | 38 | - Update plugin infrastructure to use shx [\#40](https://github.com/feathersjs/generator-feathers-plugin/pull/40) ([daffl](https://github.com/daffl)) 39 | - Update yeoman-generator to version 1.0.1 🚀 [\#39](https://github.com/feathersjs/generator-feathers-plugin/pull/39) ([greenkeeperio-bot](https://github.com/greenkeeperio-bot)) 40 | 41 | ## [v0.9.6](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.9.6) (2016-10-28) 42 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.9.5...v0.9.6) 43 | 44 | ## [v0.9.5](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.9.5) (2016-10-23) 45 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.9.4...v0.9.5) 46 | 47 | **Merged pull requests:** 48 | 49 | - Runs semistandard on the actual generator code. [\#37](https://github.com/feathersjs/generator-feathers-plugin/pull/37) ([marshallswain](https://github.com/marshallswain)) 50 | 51 | ## [v0.9.4](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.9.4) (2016-10-19) 52 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.9.3...v0.9.4) 53 | 54 | ## [v0.9.3](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.9.3) (2016-10-18) 55 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.9.2...v0.9.3) 56 | 57 | ## [v0.9.2](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.9.2) (2016-10-18) 58 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.9.1...v0.9.2) 59 | 60 | ## [v0.9.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.9.1) (2016-10-16) 61 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.9.0...v0.9.1) 62 | 63 | **Merged pull requests:** 64 | 65 | - Babel polyfill [\#36](https://github.com/feathersjs/generator-feathers-plugin/pull/36) ([ekryski](https://github.com/ekryski)) 66 | 67 | ## [v0.9.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.9.0) (2016-10-15) 68 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.8.1...v0.9.0) 69 | 70 | **Merged pull requests:** 71 | 72 | - Code coverage [\#35](https://github.com/feathersjs/generator-feathers-plugin/pull/35) ([ekryski](https://github.com/ekryski)) 73 | 74 | ## [v0.8.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.8.1) (2016-10-14) 75 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.8.0...v0.8.1) 76 | 77 | **Merged pull requests:** 78 | 79 | - Update code style to semistandard [\#34](https://github.com/feathersjs/generator-feathers-plugin/pull/34) ([daffl](https://github.com/daffl)) 80 | - eslint —\> semistandard [\#33](https://github.com/feathersjs/generator-feathers-plugin/pull/33) ([marshallswain](https://github.com/marshallswain)) 81 | 82 | ## [v0.8.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.8.0) (2016-10-09) 83 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.7.3...v0.8.0) 84 | 85 | **Merged pull requests:** 86 | 87 | - Update to ESLint [\#32](https://github.com/feathersjs/generator-feathers-plugin/pull/32) ([daffl](https://github.com/daffl)) 88 | - Update mocha to version 3.1.0 🚀 [\#31](https://github.com/feathersjs/generator-feathers-plugin/pull/31) ([greenkeeperio-bot](https://github.com/greenkeeperio-bot)) 89 | - Update mocha to version 3.0.0 🚀 [\#30](https://github.com/feathersjs/generator-feathers-plugin/pull/30) ([greenkeeperio-bot](https://github.com/greenkeeperio-bot)) 90 | - Update yeoman-generator to version 0.24.1 🚀 [\#29](https://github.com/feathersjs/generator-feathers-plugin/pull/29) ([greenkeeperio-bot](https://github.com/greenkeeperio-bot)) 91 | 92 | ## [v0.7.3](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.7.3) (2016-07-15) 93 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.7.2...v0.7.3) 94 | 95 | ## [v0.7.2](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.7.2) (2016-06-22) 96 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.7.1...v0.7.2) 97 | 98 | ## [v0.7.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.7.1) (2016-06-04) 99 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.7.0...v0.7.1) 100 | 101 | **Closed issues:** 102 | 103 | - Is this generator a recommended boilerplate for feathers database adapters? [\#24](https://github.com/feathersjs/generator-feathers-plugin/issues/24) 104 | 105 | **Merged pull requests:** 106 | 107 | - Run GitHub changelog generator after publish [\#28](https://github.com/feathersjs/generator-feathers-plugin/pull/28) ([daffl](https://github.com/daffl)) 108 | - Update mocha to version 2.5.0 🚀 [\#25](https://github.com/feathersjs/generator-feathers-plugin/pull/25) ([greenkeeperio-bot](https://github.com/greenkeeperio-bot)) 109 | - Update yeoman-generator to version 0.23.0 🚀 [\#21](https://github.com/feathersjs/generator-feathers-plugin/pull/21) ([greenkeeperio-bot](https://github.com/greenkeeperio-bot)) 110 | 111 | ## [v0.7.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.7.0) (2016-04-10) 112 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.9...v0.7.0) 113 | 114 | **Merged pull requests:** 115 | 116 | - 0.7 [\#20](https://github.com/feathersjs/generator-feathers-plugin/pull/20) ([ekryski](https://github.com/ekryski)) 117 | - Add .DS\_Store to ignores [\#19](https://github.com/feathersjs/generator-feathers-plugin/pull/19) ([marshallswain](https://github.com/marshallswain)) 118 | - Update all dependencies 🌴 [\#18](https://github.com/feathersjs/generator-feathers-plugin/pull/18) ([greenkeeperio-bot](https://github.com/greenkeeperio-bot)) 119 | - Switched rm -rf to rimraf for Windows support [\#17](https://github.com/feathersjs/generator-feathers-plugin/pull/17) ([harangue](https://github.com/harangue)) 120 | 121 | ## [v0.6.9](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.9) (2016-01-22) 122 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.8...v0.6.9) 123 | 124 | ## [v0.6.8](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.8) (2016-01-17) 125 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.7...v0.6.8) 126 | 127 | ## [v0.6.7](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.7) (2016-01-17) 128 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.6...v0.6.7) 129 | 130 | ## [v0.6.6](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.6) (2016-01-16) 131 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.5...v0.6.6) 132 | 133 | ## [v0.6.5](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.5) (2016-01-10) 134 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.4...v0.6.5) 135 | 136 | ## [v0.6.4](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.4) (2015-12-28) 137 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.3...v0.6.4) 138 | 139 | **Closed issues:** 140 | 141 | - .gitignore is not being copied [\#16](https://github.com/feathersjs/generator-feathers-plugin/issues/16) 142 | 143 | ## [v0.6.3](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.3) (2015-12-28) 144 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.2...v0.6.3) 145 | 146 | ## [v0.6.2](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.2) (2015-12-28) 147 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.1...v0.6.2) 148 | 149 | ## [v0.6.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.1) (2015-12-12) 150 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.6.0...v0.6.1) 151 | 152 | ## [v0.6.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.6.0) (2015-12-12) 153 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.5.3...v0.6.0) 154 | 155 | **Implemented enhancements:** 156 | 157 | - Read existing Package.json file for updating [\#6](https://github.com/feathersjs/generator-feathers-plugin/issues/6) 158 | 159 | **Closed issues:** 160 | 161 | - Not using .babelrc breaks react native usage [\#15](https://github.com/feathersjs/generator-feathers-plugin/issues/15) 162 | 163 | ## [v0.5.3](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.5.3) (2015-11-30) 164 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.5.2...v0.5.3) 165 | 166 | **Merged pull requests:** 167 | 168 | - Move .babelrc into package.json [\#14](https://github.com/feathersjs/generator-feathers-plugin/pull/14) ([daffl](https://github.com/daffl)) 169 | 170 | ## [v0.5.2](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.5.2) (2015-11-24) 171 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.5.1...v0.5.2) 172 | 173 | **Merged pull requests:** 174 | 175 | - Clean up generator structure and add Babel CommonJS compatibility [\#13](https://github.com/feathersjs/generator-feathers-plugin/pull/13) ([daffl](https://github.com/daffl)) 176 | 177 | ## [v0.5.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.5.1) (2015-11-12) 178 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.5.0...v0.5.1) 179 | 180 | **Merged pull requests:** 181 | 182 | - Use debug module in generated plugin [\#12](https://github.com/feathersjs/generator-feathers-plugin/pull/12) ([daffl](https://github.com/daffl)) 183 | 184 | ## [v0.5.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.5.0) (2015-11-05) 185 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.4.0...v0.5.0) 186 | 187 | ## [v0.4.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.4.0) (2015-10-24) 188 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.3.1...v0.4.0) 189 | 190 | **Implemented enhancements:** 191 | 192 | - Add `supertest` to dev-dependencies and test scripts [\#10](https://github.com/feathersjs/generator-feathers-plugin/issues/10) 193 | 194 | **Closed issues:** 195 | 196 | - \[Bug\] Error in Gruntfile.js, results in `grunt watch` with "Maximum call stack size exceeded" [\#8](https://github.com/feathersjs/generator-feathers-plugin/issues/8) 197 | 198 | **Merged pull requests:** 199 | 200 | - Updating to latest Yeoman and new plugin infrastructure. [\#11](https://github.com/feathersjs/generator-feathers-plugin/pull/11) ([daffl](https://github.com/daffl)) 201 | - Fixes \#8. Fixed typo in Grunt Watch task. [\#9](https://github.com/feathersjs/generator-feathers-plugin/pull/9) ([Glavin001](https://github.com/Glavin001)) 202 | - Update README.md - Updated Travis CI badge [\#7](https://github.com/feathersjs/generator-feathers-plugin/pull/7) ([Glavin001](https://github.com/Glavin001)) 203 | 204 | ## [v0.3.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.3.1) (2014-02-16) 205 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.3.0...v0.3.1) 206 | 207 | **Fixed bugs:** 208 | 209 | - Task "watch" not found. [\#5](https://github.com/feathersjs/generator-feathers-plugin/issues/5) 210 | 211 | ## [v0.3.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.3.0) (2014-02-16) 212 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.1.1...v0.3.0) 213 | 214 | **Implemented enhancements:** 215 | 216 | - Grunt watchers [\#3](https://github.com/feathersjs/generator-feathers-plugin/issues/3) 217 | - Add `description` to configuration prompts [\#2](https://github.com/feathersjs/generator-feathers-plugin/issues/2) 218 | 219 | ## [v0.1.1](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.1.1) (2014-02-15) 220 | [Full Changelog](https://github.com/feathersjs/generator-feathers-plugin/compare/v0.1.0...v0.1.1) 221 | 222 | **Implemented enhancements:** 223 | 224 | - Current code has a lot of JSHint warnings [\#4](https://github.com/feathersjs/generator-feathers-plugin/issues/4) 225 | 226 | **Fixed bugs:** 227 | 228 | - Current code has a lot of JSHint warnings [\#4](https://github.com/feathersjs/generator-feathers-plugin/issues/4) 229 | 230 | ## [v0.1.0](https://github.com/feathersjs/generator-feathers-plugin/tree/v0.1.0) (2014-02-15) 231 | **Implemented enhancements:** 232 | 233 | - Bring up to par with grunt-init-feathers [\#1](https://github.com/feathersjs/generator-feathers-plugin/issues/1) 234 | 235 | 236 | 237 | \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2014 Glavin Wiechert 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # generator-feathers-plugin 2 | 3 | A [Yeoman](http://yeoman.io) generator for initializing new [Feathersjs](https://github.com/feathersjs) plug-ins. 4 | 5 | ## Getting Started 6 | 7 | To install [generator-feathers-plugin](https://github.com/feathersjs/generator-feathers-plugin) from [npm](https://www.npmjs.org/), run: 8 | 9 | ``` 10 | $ npm install -g generator-feathers-plugin 11 | ``` 12 | 13 | Finally, initiate the generator: 14 | 15 | ``` 16 | $ yo feathers-plugin 17 | ``` 18 | 19 | This will generate a standard plug-in scaffold with a basic example app that you should modify accordingly to suit your plug-in. 20 | 21 | ## Writing Your Plug-in 22 | 23 | We follow proper semantic versioning. That means breaking changes are major releases. Your module version should be < 1.0 until you feel that it is ready for for production. 24 | 25 | Feel free to add modules as you see fit but remember that **less is more**. 26 | 27 | Please add tests for your modules and write your code using ES6 syntax. 28 | 29 | ## Running Tests 30 | 31 | Simply run `npm test`. 32 | 33 | Tests use the [Mocha](https://mochajs.org/) test runner and the [Chai](http://chaijs.com/) assertion library. We use the `expect` syntax. 34 | 35 | ## Publishing 36 | 37 | The `package.json` file has helpful scripts to publish your package, tag it, and push it up to production. Please use those. 38 | 39 | ## License 40 | 41 | [MIT License](http://en.wikipedia.org/wiki/MIT_License) 42 | -------------------------------------------------------------------------------- /app/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const Generator = require('yeoman-generator'); 4 | const path = require('path'); 5 | const pkgForClient = require('./templates/client/package.json.js'); 6 | 7 | module.exports = class FeathersPluginGenerator extends Generator { 8 | constructor (args, opts) { 9 | super(args, opts); 10 | this.pkg = this.fs.readJSON(this.destinationPath('package.json'), {}); 11 | this.props = { 12 | name: process.cwd().split(path.sep).pop(), 13 | description: this.pkg.description 14 | }; 15 | this.fileMap = { 16 | 'package.json': 'package.json', 17 | 'index.js': 'lib/index.js', 18 | 'index.test.js': 'test/index.test.js', 19 | 'README.md': 'README.md', 20 | 'LICENSE': 'LICENSE', 21 | '__gitignore': '.gitignore', 22 | '__npmignore': '.npmignore' 23 | }; 24 | } 25 | 26 | prompting () { 27 | const prompts = [{ 28 | name: 'name', 29 | message: 'Project name', 30 | when: !this.pkg.name, 31 | default: this.props.name 32 | }, { 33 | name: 'repository', 34 | message: 'The GitHub repository URL (e.g. feathersjs/feathers-myplugin)', 35 | default: 'feathersjs/' + this.props.name 36 | }, { 37 | name: 'description', 38 | message: 'Description', 39 | when: !this.pkg.description 40 | }, { 41 | type: 'confirm', 42 | name: 'client', 43 | default: false, 44 | message: 'Does this plugin require a client side build?' 45 | }]; 46 | 47 | return this.prompt(prompts).then(props => { 48 | this.props = Object.assign(this.props, props); 49 | }); 50 | } 51 | 52 | writing () { 53 | const devDependencies = [ 54 | 'semistandard', 55 | 'mocha', 56 | 'istanbul@1.1.0-alpha.1', 57 | 'chai@^3.5.0' 58 | ]; 59 | 60 | if (this.props.client) { 61 | devDependencies.push('babel-core', 62 | 'babel-preset-es2015', 63 | 'babelify', 64 | 'browserify', 65 | 'shx', 66 | 'uglify-js' 67 | ); 68 | } 69 | 70 | this.fs.copy(this.templatePath('static/.*'), this.destinationPath()); 71 | this.fs.copy(this.templatePath('static/**/*'), this.destinationPath()); 72 | this.fs.copy(this.templatePath('static/.github/**/*'), this.destinationPath('.github/')); 73 | 74 | Object.keys(this.fileMap).forEach(function (src) { 75 | const target = this.fileMap[src]; 76 | 77 | this.fs.copyTpl( 78 | this.templatePath(src), 79 | this.destinationPath(target), 80 | this.props 81 | ); 82 | }.bind(this)); 83 | 84 | if (this.props.client) { 85 | const pkgFile = this.destinationPath('package.json'); 86 | const pkg = this.fs.readJSON(pkgFile); 87 | 88 | this.fs.writeJSON(pkgFile, pkgForClient(pkg)); 89 | this.fs.copy(this.templatePath('client/_babelrc'), this.destinationPath('.babelrc')); 90 | } 91 | 92 | this.npmInstall(devDependencies, { 93 | saveDev: true 94 | }); 95 | } 96 | }; 97 | -------------------------------------------------------------------------------- /app/templates/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Feathers 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 | 23 | -------------------------------------------------------------------------------- /app/templates/README.md: -------------------------------------------------------------------------------- 1 | # <%= name %> 2 | 3 | [![Build Status](https://travis-ci.org/<%= repository %>.png?branch=master)](https://travis-ci.org/<%= repository %>) 4 | [![Code Climate](https://codeclimate.com/github/<%= repository %>/badges/gpa.svg)](https://codeclimate.com/github/<%= repository %>) 5 | [![Test Coverage](https://codeclimate.com/github/<%= repository %>/badges/coverage.svg)](https://codeclimate.com/github/<%= repository %>/coverage) 6 | [![Dependency Status](https://img.shields.io/david/<%= repository %>.svg?style=flat-square)](https://david-dm.org/<%= repository %>) 7 | [![Download Status](https://img.shields.io/npm/dm/<%= name %>.svg?style=flat-square)](https://www.npmjs.com/package/<%= name %>) 8 | 9 | > <%= description %> 10 | 11 | ## Installation 12 | 13 | ``` 14 | npm install <%= name %> --save 15 | ``` 16 | 17 | ## Documentation 18 | 19 | TBD 20 | 21 | ## Complete Example 22 | 23 | Here's an example of a Feathers server that uses `<%= name %>`. 24 | 25 | ```js 26 | const feathers = require('@feathersjs/feathers'); 27 | const plugin = require('<%= name %>'); 28 | 29 | // Initialize the application 30 | const app = feathers(); 31 | 32 | // Initialize the plugin 33 | app.configure(plugin()); 34 | ``` 35 | 36 | ## License 37 | 38 | Copyright (c) 2018 39 | 40 | Licensed under the [MIT license](LICENSE). 41 | -------------------------------------------------------------------------------- /app/templates/__gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | # Logs 4 | logs 5 | *.log 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # Compiled binary addons (http://nodejs.org/api/addons.html) 22 | build/Release 23 | 24 | # Dependency directory 25 | # Commenting this out is preferred by some people, see 26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 27 | node_modules 28 | 29 | # Users Environment Variables 30 | .lock-wscript 31 | 32 | dist/ 33 | -------------------------------------------------------------------------------- /app/templates/__npmignore: -------------------------------------------------------------------------------- 1 | .editorconfig 2 | .jshintrc 3 | .travis.yml 4 | .istanbul.yml 5 | .babelrc 6 | .idea/ 7 | .vscode/ 8 | test/ 9 | coverage/ 10 | .github/ 11 | -------------------------------------------------------------------------------- /app/templates/client/_babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ ["es2015", { "loose": true }] ] 3 | } 4 | -------------------------------------------------------------------------------- /app/templates/client/package.json.js: -------------------------------------------------------------------------------- 1 | const camelCase = require('lodash/camelCase'); 2 | 3 | module.exports = function(pkg) { 4 | const { scripts, name } = pkg; 5 | 6 | Object.assign(scripts, { 7 | clean: 'shx rm -rf dist/ && shx mkdir -p dist', 8 | prepublish: 'npm run browserify', 9 | 'browserify:dist': `browserify lib/index.js -t babelify --standalone ${camelCase(name)} --outfile dist/${name}.js`, 10 | 'browserify:min': `browserify lib/index.js -t babelify --standalone ${camelCase(name)} | uglifyjs > dist/${name}.min.js`, 11 | browserify: 'npm run clean && npm run browserify:dist && npm run browserify:min', 12 | 'add-dist': 'npm run browserify && git add dist/ --force && git commit -am "Updating dist"', 13 | 'release:pre': 'npm run add-dist && npm version prerelease && npm publish --tag pre', 14 | 'release:patch': 'npm run add-dist && npm version patch && npm publish', 15 | 'release:minor': 'npm run add-dist && npm version minor && npm publish', 16 | 'release:major': 'npm run add-dist && npm version major && npm publish', 17 | test: 'npm run browserify && npm run lint && npm run coverage' 18 | }); 19 | 20 | return pkg; 21 | }; 22 | -------------------------------------------------------------------------------- /app/templates/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function init () { 2 | return '<%= name %>'; 3 | }; 4 | -------------------------------------------------------------------------------- /app/templates/index.test.js: -------------------------------------------------------------------------------- 1 | const { expect } = require('chai'); 2 | const plugin = require('../lib'); 3 | 4 | describe('<%= name %>', () => { 5 | it('basic functionality', () => { 6 | expect(typeof plugin).to.equal('function', 'It worked'); 7 | expect(plugin()).to.equal('<%= name %>'); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /app/templates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "<%= name %>", 3 | "description": "<%= description %>", 4 | "version": "0.0.0", 5 | "homepage": "https://github.com/<%= repository %>", 6 | "main": "lib/", 7 | "keywords": [ 8 | "feathers", 9 | "feathers-plugin" 10 | ], 11 | "license": "MIT", 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/<%= repository %>.git" 15 | }, 16 | "author": { 17 | "name": "Feathers contributors", 18 | "email": "hello@feathersjs.com", 19 | "url": "https://feathersjs.com" 20 | }, 21 | "contributors": [], 22 | "bugs": { 23 | "url": "https://github.com/<%= repository %>/issues" 24 | }, 25 | "engines": { 26 | "node": ">= 6.0.0" 27 | }, 28 | "scripts": { 29 | "publish": "git push origin --tags && npm run changelog && git push origin", 30 | "release:pre": "npm version prerelease && npm publish --tag pre", 31 | "release:patch": "npm version patch && npm publish", 32 | "release:minor": "npm version minor && npm publish", 33 | "release:major": "npm version major && npm publish", 34 | "changelog": "github_changelog_generator && git add CHANGELOG.md && git commit -am \"Updating changelog\"", 35 | "lint": "semistandard lib/*.js lib/**/*.js test/*.js test/**/*.js --fix", 36 | "mocha": "mocha --opts mocha.opts", 37 | "coverage": "istanbul cover node_modules/mocha/bin/_mocha -- --opts mocha.opts", 38 | "test": "npm run lint && npm run coverage" 39 | }, 40 | "semistandard": { 41 | "env": [ "mocha" ] 42 | }, 43 | "directories": { 44 | "lib": "lib" 45 | }, 46 | "dependencies": {}, 47 | "devDependencies": {} 48 | } 49 | -------------------------------------------------------------------------------- /app/templates/static/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /app/templates/static/.github/contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing to Feathers 2 | 3 | Thank you for contributing to Feathers! :heart: :tada: 4 | 5 | This repo is the main core and where most issues are reported. Feathers embraces modularity and is broken up across many repos. 6 | 7 | ## Report a bug 8 | 9 | Before creating an issue please make sure you have checked out the docs, specifically the [FAQ](https://docs.feathersjs.com/help/faq.html) section. You might want to also try searching Github. It's pretty likely someone has already asked a similar question. 10 | 11 | If you haven't found your answer please feel free to join our [slack channel](http://slack.feathersjs.com), create an issue on Github, or post on [Stackoverflow](http://stackoverflow.com) using the `feathers` or `feathersjs` tag. We try our best to monitor Stackoverflow but you're likely to get more immediate responses in Slack and Github. 12 | 13 | Issues can be reported in the [issue tracker](https://github.com/feathersjs/feathers/issues). Since feathers combines many modules it can be hard for us to assess the root cause without knowing which modules are being used and what your configuration looks like, so **it helps us immensely if you can link to a simple example that reproduces your issue**. 14 | 15 | ## Report a Security Concern 16 | 17 | We take security very seriously at Feathers. We welcome any peer review of our 100% open source code to ensure nobody's Feathers app is ever compromised or hacked. As a web application developer you are responsible for any security breaches. We do our very best to make sure Feathers is as secure as possible by default. 18 | 19 | In order to give the community time to respond and upgrade we strongly urge you report all security issues to us. Send one of the core team members a PM in [Slack](http://slack.feathersjs.com) or email us at hello@feathersjs.com with details and we will respond ASAP. 20 | 21 | For full details refer to our [Security docs](https://docs.feathersjs.com/SECURITY.html). 22 | 23 | ## Pull Requests 24 | 25 | We :heart: pull requests and we're continually working to make it as easy as possible for people to contribute, including a [Plugin Generator](https://github.com/feathersjs/generator-feathers-plugin) and a [common test suite](https://github.com/feathersjs/feathers-service-tests) for database adapters. 26 | 27 | We prefer small pull requests with minimal code changes. The smaller they are the easier they are to review and merge. A core team member will pick up your PR and review it as soon as they can. They may ask for changes or reject your pull request. This is not a reflection of you as an engineer or a person. Please accept feedback graciously as we will also try to be sensitive when providing it. 28 | 29 | Although we generally accept many PRs they can be rejected for many reasons. We will be as transparent as possible but it may simply be that you do not have the same context or information regarding the roadmap that the core team members have. We value the time you take to put together any contributions so we pledge to always be respectful of that time and will try to be as open as possible so that you don't waste it. :smile: 30 | 31 | **All PRs (except documentation) should be accompanied with tests and pass the linting rules.** 32 | 33 | ### Code style 34 | 35 | Before running the tests from the `test/` folder `npm test` will run ESlint. You can check your code changes individually by running `npm run lint`. 36 | 37 | ### Tests 38 | 39 | [Mocha](http://mochajs.org/) tests are located in the `test/` folder and can be run using the `npm run mocha` or `npm test` (with ESLint and code coverage) command. 40 | 41 | ## External Modules 42 | 43 | If you're written something awesome for Feathers, the Feathers ecosystem, or using Feathers please add it to the [awesome-feathersjs](https://github.com/feathersjs/awesome-feathersjs) repository. 44 | 45 | If you think it would be a good core module then please contact one of the Feathers core team members in [Slack](http://slack.feathersjs.com) and we can discuss whether it belongs in core and how to get it there. :beers: 46 | 47 | ## Contributor Code of Conduct 48 | 49 | As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. 50 | 51 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. 52 | 53 | Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. 54 | 55 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. 58 | 59 | This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/) 60 | -------------------------------------------------------------------------------- /app/templates/static/.github/issue_template.md: -------------------------------------------------------------------------------- 1 | ### Steps to reproduce 2 | 3 | (First please check that this issue is not already solved as [described 4 | here](https://github.com/feathersjs/feathers/blob/master/.github/contributing.md#report-a-bug)) 5 | 6 | - [ ] Tell us what broke. The more detailed the better. 7 | - [ ] If you can, please create a simple example that reproduces the issue and link to a gist, jsbin, repo, etc. 8 | 9 | ### Expected behavior 10 | Tell us what should happen 11 | 12 | ### Actual behavior 13 | Tell us what happens instead 14 | 15 | ### System configuration 16 | 17 | Tell us about the applicable parts of your setup. 18 | 19 | **Module versions** (especially the part that's not working): 20 | 21 | **NodeJS version**: 22 | 23 | **Operating System**: 24 | 25 | **Browser Version**: 26 | 27 | **React Native Version**: 28 | 29 | **Module Loader**: -------------------------------------------------------------------------------- /app/templates/static/.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ### Summary 2 | 3 | (If you have not already please refer to the contributing guideline as [described 4 | here](https://docs.feathersjs.com/contributing/readme.html)) 5 | 6 | - [ ] Tell us about the problem your pull request is solving. 7 | - [ ] Are there any open issues that are related to this? 8 | - [ ] Is this PR dependent on PRs in other repos? 9 | 10 | If so, please mention them to keep the conversations linked together. 11 | 12 | ### Other Information 13 | 14 | If there's anything else that's important and relevant to your pull 15 | request, mention that information here. This could include 16 | benchmarks, or other information. 17 | 18 | Your PR will be reviewed by a core team member and they will work with you to get your changes merged in a timely manner. If merged your PR will automatically be added to the changelog in the next release. 19 | 20 | If your changes involve documentation updates please mention that and link the appropriate PR in [feathers-docs](https://github.com/feathersjs/docs). 21 | 22 | Thanks for contributing to Feathers! :heart: -------------------------------------------------------------------------------- /app/templates/static/.istanbul.yml: -------------------------------------------------------------------------------- 1 | verbose: false 2 | instrumentation: 3 | root: ./lib/ 4 | include-all-sources: true 5 | reporting: 6 | print: summary 7 | reports: 8 | - html 9 | - text 10 | - lcov 11 | watermarks: 12 | statements: [50, 80] 13 | lines: [50, 80] 14 | functions: [50, 80] 15 | branches: [50, 80] 16 | -------------------------------------------------------------------------------- /app/templates/static/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 'node' 4 | - '6' -------------------------------------------------------------------------------- /app/templates/static/mocha.opts: -------------------------------------------------------------------------------- 1 | --recursive test/ 2 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "generator-feathers-plugin", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@mrmlnc/readdir-enhanced": { 8 | "version": "2.2.1", 9 | "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", 10 | "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", 11 | "requires": { 12 | "call-me-maybe": "^1.0.1", 13 | "glob-to-regexp": "^0.3.0" 14 | } 15 | }, 16 | "@nodelib/fs.stat": { 17 | "version": "1.1.3", 18 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", 19 | "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" 20 | }, 21 | "@sinonjs/commons": { 22 | "version": "1.3.0", 23 | "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.3.0.tgz", 24 | "integrity": "sha512-j4ZwhaHmwsCb4DlDOIWnI5YyKDNMoNThsmwEpfHx6a1EpsGZ9qYLxP++LMlmBRjtGptGHFsGItJ768snllFWpA==", 25 | "dev": true, 26 | "requires": { 27 | "type-detect": "4.0.8" 28 | } 29 | }, 30 | "@sinonjs/formatio": { 31 | "version": "3.0.0", 32 | "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz", 33 | "integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==", 34 | "dev": true, 35 | "requires": { 36 | "@sinonjs/samsam": "2.1.0" 37 | }, 38 | "dependencies": { 39 | "@sinonjs/samsam": { 40 | "version": "2.1.0", 41 | "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.0.tgz", 42 | "integrity": "sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==", 43 | "dev": true, 44 | "requires": { 45 | "array-from": "^2.1.1" 46 | } 47 | } 48 | } 49 | }, 50 | "@sinonjs/samsam": { 51 | "version": "2.1.2", 52 | "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.2.tgz", 53 | "integrity": "sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw==", 54 | "dev": true 55 | }, 56 | "acorn": { 57 | "version": "6.0.4", 58 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz", 59 | "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==", 60 | "dev": true 61 | }, 62 | "acorn-jsx": { 63 | "version": "5.0.0", 64 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.0.tgz", 65 | "integrity": "sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg==", 66 | "dev": true 67 | }, 68 | "ajv": { 69 | "version": "6.5.5", 70 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", 71 | "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", 72 | "dev": true, 73 | "requires": { 74 | "fast-deep-equal": "^2.0.1", 75 | "fast-json-stable-stringify": "^2.0.0", 76 | "json-schema-traverse": "^0.4.1", 77 | "uri-js": "^4.2.2" 78 | } 79 | }, 80 | "ajv-keywords": { 81 | "version": "3.2.0", 82 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", 83 | "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", 84 | "dev": true 85 | }, 86 | "ansi-escapes": { 87 | "version": "3.1.0", 88 | "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", 89 | "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" 90 | }, 91 | "ansi-regex": { 92 | "version": "3.0.0", 93 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 94 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 95 | }, 96 | "ansi-styles": { 97 | "version": "3.2.1", 98 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 99 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 100 | "requires": { 101 | "color-convert": "^1.9.0" 102 | } 103 | }, 104 | "argparse": { 105 | "version": "1.0.10", 106 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 107 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 108 | "dev": true, 109 | "requires": { 110 | "sprintf-js": "~1.0.2" 111 | } 112 | }, 113 | "arr-diff": { 114 | "version": "4.0.0", 115 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 116 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" 117 | }, 118 | "arr-flatten": { 119 | "version": "1.1.0", 120 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 121 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" 122 | }, 123 | "arr-union": { 124 | "version": "3.1.0", 125 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 126 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" 127 | }, 128 | "array-differ": { 129 | "version": "1.0.0", 130 | "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", 131 | "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" 132 | }, 133 | "array-from": { 134 | "version": "2.1.1", 135 | "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", 136 | "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", 137 | "dev": true 138 | }, 139 | "array-includes": { 140 | "version": "3.0.3", 141 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", 142 | "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", 143 | "dev": true, 144 | "requires": { 145 | "define-properties": "^1.1.2", 146 | "es-abstract": "^1.7.0" 147 | } 148 | }, 149 | "array-union": { 150 | "version": "1.0.2", 151 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 152 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 153 | "requires": { 154 | "array-uniq": "^1.0.1" 155 | } 156 | }, 157 | "array-uniq": { 158 | "version": "1.0.3", 159 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 160 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" 161 | }, 162 | "array-unique": { 163 | "version": "0.3.2", 164 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 165 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" 166 | }, 167 | "arrify": { 168 | "version": "1.0.1", 169 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 170 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" 171 | }, 172 | "assign-symbols": { 173 | "version": "1.0.0", 174 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 175 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" 176 | }, 177 | "async": { 178 | "version": "2.6.1", 179 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", 180 | "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", 181 | "requires": { 182 | "lodash": "^4.17.10" 183 | } 184 | }, 185 | "atob": { 186 | "version": "2.1.2", 187 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 188 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" 189 | }, 190 | "babel-code-frame": { 191 | "version": "6.26.0", 192 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 193 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 194 | "dev": true, 195 | "requires": { 196 | "chalk": "^1.1.3", 197 | "esutils": "^2.0.2", 198 | "js-tokens": "^3.0.2" 199 | }, 200 | "dependencies": { 201 | "ansi-regex": { 202 | "version": "2.1.1", 203 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 204 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 205 | "dev": true 206 | }, 207 | "ansi-styles": { 208 | "version": "2.2.1", 209 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 210 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 211 | "dev": true 212 | }, 213 | "chalk": { 214 | "version": "1.1.3", 215 | "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 216 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 217 | "dev": true, 218 | "requires": { 219 | "ansi-styles": "^2.2.1", 220 | "escape-string-regexp": "^1.0.2", 221 | "has-ansi": "^2.0.0", 222 | "strip-ansi": "^3.0.0", 223 | "supports-color": "^2.0.0" 224 | } 225 | }, 226 | "strip-ansi": { 227 | "version": "3.0.1", 228 | "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 229 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 230 | "dev": true, 231 | "requires": { 232 | "ansi-regex": "^2.0.0" 233 | } 234 | }, 235 | "supports-color": { 236 | "version": "2.0.0", 237 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 238 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 239 | "dev": true 240 | } 241 | } 242 | }, 243 | "balanced-match": { 244 | "version": "1.0.0", 245 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 246 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 247 | }, 248 | "base": { 249 | "version": "0.11.2", 250 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 251 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 252 | "requires": { 253 | "cache-base": "^1.0.1", 254 | "class-utils": "^0.3.5", 255 | "component-emitter": "^1.2.1", 256 | "define-property": "^1.0.0", 257 | "isobject": "^3.0.1", 258 | "mixin-deep": "^1.2.0", 259 | "pascalcase": "^0.1.1" 260 | }, 261 | "dependencies": { 262 | "define-property": { 263 | "version": "1.0.0", 264 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 265 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 266 | "requires": { 267 | "is-descriptor": "^1.0.0" 268 | } 269 | }, 270 | "is-accessor-descriptor": { 271 | "version": "1.0.0", 272 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 273 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 274 | "requires": { 275 | "kind-of": "^6.0.0" 276 | } 277 | }, 278 | "is-data-descriptor": { 279 | "version": "1.0.0", 280 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 281 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 282 | "requires": { 283 | "kind-of": "^6.0.0" 284 | } 285 | }, 286 | "is-descriptor": { 287 | "version": "1.0.2", 288 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 289 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 290 | "requires": { 291 | "is-accessor-descriptor": "^1.0.0", 292 | "is-data-descriptor": "^1.0.0", 293 | "kind-of": "^6.0.2" 294 | } 295 | } 296 | } 297 | }, 298 | "binaryextensions": { 299 | "version": "2.1.2", 300 | "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.2.tgz", 301 | "integrity": "sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==" 302 | }, 303 | "brace-expansion": { 304 | "version": "1.1.11", 305 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 306 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 307 | "requires": { 308 | "balanced-match": "^1.0.0", 309 | "concat-map": "0.0.1" 310 | } 311 | }, 312 | "braces": { 313 | "version": "2.3.2", 314 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 315 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 316 | "requires": { 317 | "arr-flatten": "^1.1.0", 318 | "array-unique": "^0.3.2", 319 | "extend-shallow": "^2.0.1", 320 | "fill-range": "^4.0.0", 321 | "isobject": "^3.0.1", 322 | "repeat-element": "^1.1.2", 323 | "snapdragon": "^0.8.1", 324 | "snapdragon-node": "^2.0.1", 325 | "split-string": "^3.0.2", 326 | "to-regex": "^3.0.1" 327 | }, 328 | "dependencies": { 329 | "extend-shallow": { 330 | "version": "2.0.1", 331 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 332 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 333 | "requires": { 334 | "is-extendable": "^0.1.0" 335 | } 336 | } 337 | } 338 | }, 339 | "browser-stdout": { 340 | "version": "1.3.1", 341 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 342 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 343 | "dev": true 344 | }, 345 | "buffer-alloc": { 346 | "version": "1.2.0", 347 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", 348 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", 349 | "requires": { 350 | "buffer-alloc-unsafe": "^1.1.0", 351 | "buffer-fill": "^1.0.0" 352 | } 353 | }, 354 | "buffer-alloc-unsafe": { 355 | "version": "1.1.0", 356 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", 357 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" 358 | }, 359 | "buffer-fill": { 360 | "version": "1.0.0", 361 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", 362 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" 363 | }, 364 | "builtin-modules": { 365 | "version": "1.1.1", 366 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 367 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" 368 | }, 369 | "cache-base": { 370 | "version": "1.0.1", 371 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 372 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 373 | "requires": { 374 | "collection-visit": "^1.0.0", 375 | "component-emitter": "^1.2.1", 376 | "get-value": "^2.0.6", 377 | "has-value": "^1.0.0", 378 | "isobject": "^3.0.1", 379 | "set-value": "^2.0.0", 380 | "to-object-path": "^0.3.0", 381 | "union-value": "^1.0.0", 382 | "unset-value": "^1.0.0" 383 | } 384 | }, 385 | "call-me-maybe": { 386 | "version": "1.0.1", 387 | "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", 388 | "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" 389 | }, 390 | "caller-path": { 391 | "version": "0.1.0", 392 | "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", 393 | "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", 394 | "dev": true, 395 | "requires": { 396 | "callsites": "^0.2.0" 397 | } 398 | }, 399 | "callsites": { 400 | "version": "0.2.0", 401 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", 402 | "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", 403 | "dev": true 404 | }, 405 | "chalk": { 406 | "version": "2.4.1", 407 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", 408 | "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", 409 | "requires": { 410 | "ansi-styles": "^3.2.1", 411 | "escape-string-regexp": "^1.0.5", 412 | "supports-color": "^5.3.0" 413 | } 414 | }, 415 | "chardet": { 416 | "version": "0.7.0", 417 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 418 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 419 | }, 420 | "circular-json": { 421 | "version": "0.3.3", 422 | "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", 423 | "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", 424 | "dev": true 425 | }, 426 | "class-utils": { 427 | "version": "0.3.6", 428 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 429 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 430 | "requires": { 431 | "arr-union": "^3.1.0", 432 | "define-property": "^0.2.5", 433 | "isobject": "^3.0.0", 434 | "static-extend": "^0.1.1" 435 | }, 436 | "dependencies": { 437 | "define-property": { 438 | "version": "0.2.5", 439 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 440 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 441 | "requires": { 442 | "is-descriptor": "^0.1.0" 443 | } 444 | } 445 | } 446 | }, 447 | "cli-cursor": { 448 | "version": "2.1.0", 449 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 450 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 451 | "requires": { 452 | "restore-cursor": "^2.0.0" 453 | } 454 | }, 455 | "cli-table": { 456 | "version": "0.3.1", 457 | "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", 458 | "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", 459 | "requires": { 460 | "colors": "1.0.3" 461 | } 462 | }, 463 | "cli-width": { 464 | "version": "2.2.0", 465 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 466 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 467 | }, 468 | "clone": { 469 | "version": "2.1.2", 470 | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", 471 | "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" 472 | }, 473 | "clone-buffer": { 474 | "version": "1.0.0", 475 | "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", 476 | "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" 477 | }, 478 | "clone-stats": { 479 | "version": "1.0.0", 480 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", 481 | "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" 482 | }, 483 | "cloneable-readable": { 484 | "version": "1.1.2", 485 | "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", 486 | "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", 487 | "requires": { 488 | "inherits": "^2.0.1", 489 | "process-nextick-args": "^2.0.0", 490 | "readable-stream": "^2.3.5" 491 | } 492 | }, 493 | "collection-visit": { 494 | "version": "1.0.0", 495 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 496 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 497 | "requires": { 498 | "map-visit": "^1.0.0", 499 | "object-visit": "^1.0.0" 500 | } 501 | }, 502 | "color-convert": { 503 | "version": "1.9.3", 504 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 505 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 506 | "requires": { 507 | "color-name": "1.1.3" 508 | } 509 | }, 510 | "color-name": { 511 | "version": "1.1.3", 512 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 513 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 514 | }, 515 | "colors": { 516 | "version": "1.0.3", 517 | "resolved": "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz", 518 | "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" 519 | }, 520 | "commander": { 521 | "version": "2.15.1", 522 | "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", 523 | "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", 524 | "dev": true 525 | }, 526 | "commondir": { 527 | "version": "1.0.1", 528 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 529 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" 530 | }, 531 | "component-emitter": { 532 | "version": "1.2.1", 533 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 534 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" 535 | }, 536 | "concat-map": { 537 | "version": "0.0.1", 538 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 539 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 540 | }, 541 | "contains-path": { 542 | "version": "0.1.0", 543 | "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", 544 | "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", 545 | "dev": true 546 | }, 547 | "copy-descriptor": { 548 | "version": "0.1.1", 549 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 550 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" 551 | }, 552 | "core-util-is": { 553 | "version": "1.0.2", 554 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 555 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 556 | }, 557 | "cross-spawn": { 558 | "version": "6.0.5", 559 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 560 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 561 | "requires": { 562 | "nice-try": "^1.0.4", 563 | "path-key": "^2.0.1", 564 | "semver": "^5.5.0", 565 | "shebang-command": "^1.2.0", 566 | "which": "^1.2.9" 567 | } 568 | }, 569 | "dargs": { 570 | "version": "6.0.0", 571 | "resolved": "https://registry.npmjs.org/dargs/-/dargs-6.0.0.tgz", 572 | "integrity": "sha512-6lJauzNaI7MiM8EHQWmGj+s3rP5/i1nYs8GAvKrLAx/9dpc9xS/4seFb1ioR39A+kcfu4v3jnEa/EE5qWYnitQ==" 573 | }, 574 | "dateformat": { 575 | "version": "3.0.3", 576 | "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", 577 | "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" 578 | }, 579 | "debug": { 580 | "version": "3.2.6", 581 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 582 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 583 | "requires": { 584 | "ms": "^2.1.1" 585 | } 586 | }, 587 | "debug-log": { 588 | "version": "1.0.1", 589 | "resolved": "http://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz", 590 | "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=", 591 | "dev": true 592 | }, 593 | "decode-uri-component": { 594 | "version": "0.2.0", 595 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 596 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 597 | }, 598 | "decompress-response": { 599 | "version": "3.3.0", 600 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 601 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 602 | "requires": { 603 | "mimic-response": "^1.0.0" 604 | } 605 | }, 606 | "deep-extend": { 607 | "version": "0.6.0", 608 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 609 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" 610 | }, 611 | "deep-is": { 612 | "version": "0.1.3", 613 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 614 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 615 | "dev": true 616 | }, 617 | "define-properties": { 618 | "version": "1.1.3", 619 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 620 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 621 | "dev": true, 622 | "requires": { 623 | "object-keys": "^1.0.12" 624 | } 625 | }, 626 | "define-property": { 627 | "version": "2.0.2", 628 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 629 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 630 | "requires": { 631 | "is-descriptor": "^1.0.2", 632 | "isobject": "^3.0.1" 633 | }, 634 | "dependencies": { 635 | "is-accessor-descriptor": { 636 | "version": "1.0.0", 637 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 638 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 639 | "requires": { 640 | "kind-of": "^6.0.0" 641 | } 642 | }, 643 | "is-data-descriptor": { 644 | "version": "1.0.0", 645 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 646 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 647 | "requires": { 648 | "kind-of": "^6.0.0" 649 | } 650 | }, 651 | "is-descriptor": { 652 | "version": "1.0.2", 653 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 654 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 655 | "requires": { 656 | "is-accessor-descriptor": "^1.0.0", 657 | "is-data-descriptor": "^1.0.0", 658 | "kind-of": "^6.0.2" 659 | } 660 | } 661 | } 662 | }, 663 | "deglob": { 664 | "version": "3.1.0", 665 | "resolved": "https://registry.npmjs.org/deglob/-/deglob-3.1.0.tgz", 666 | "integrity": "sha512-al10l5QAYaM/PeuXkAr1Y9AQz0LCtWsnJG23pIgh44hDxHFOj36l6qvhfjnIWBYwZOqM1fXUFV9tkjL7JPdGvw==", 667 | "dev": true, 668 | "requires": { 669 | "find-root": "^1.0.0", 670 | "glob": "^7.0.5", 671 | "ignore": "^5.0.0", 672 | "pkg-config": "^1.1.0", 673 | "run-parallel": "^1.1.2", 674 | "uniq": "^1.0.1" 675 | }, 676 | "dependencies": { 677 | "ignore": { 678 | "version": "5.0.4", 679 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.4.tgz", 680 | "integrity": "sha512-WLsTMEhsQuXpCiG173+f3aymI43SXa+fB1rSfbzyP4GkPP+ZFVuO0/3sFUGNBtifisPeDcl/uD/Y2NxZ7xFq4g==", 681 | "dev": true 682 | } 683 | } 684 | }, 685 | "detect-conflict": { 686 | "version": "1.0.1", 687 | "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", 688 | "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=" 689 | }, 690 | "diff": { 691 | "version": "3.5.0", 692 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 693 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" 694 | }, 695 | "dir-glob": { 696 | "version": "2.0.0", 697 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", 698 | "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", 699 | "requires": { 700 | "arrify": "^1.0.1", 701 | "path-type": "^3.0.0" 702 | } 703 | }, 704 | "doctrine": { 705 | "version": "2.1.0", 706 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 707 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 708 | "dev": true, 709 | "requires": { 710 | "esutils": "^2.0.2" 711 | } 712 | }, 713 | "duplexer3": { 714 | "version": "0.1.4", 715 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 716 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 717 | }, 718 | "editions": { 719 | "version": "2.1.0", 720 | "resolved": "https://registry.npmjs.org/editions/-/editions-2.1.0.tgz", 721 | "integrity": "sha512-yKrimWcvOXcYXtqsOeebbMLynm9qbYVd0005wveGU2biPxJaJoxA0jtaZrxiMe3mAanLr5lxoYFVz5zjv9JdnA==", 722 | "requires": { 723 | "errlop": "^1.0.3", 724 | "semver": "^5.6.0" 725 | } 726 | }, 727 | "ejs": { 728 | "version": "2.6.1", 729 | "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", 730 | "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==" 731 | }, 732 | "errlop": { 733 | "version": "1.0.3", 734 | "resolved": "https://registry.npmjs.org/errlop/-/errlop-1.0.3.tgz", 735 | "integrity": "sha512-5VTnt0yikY4LlQEfCXVSqfE6oLj1HVM4zVSvAKMnoYjL/zrb6nqiLowZS4XlG7xENfyj7lpYWvT+wfSCr6dtlA==", 736 | "requires": { 737 | "editions": "^1.3.4" 738 | }, 739 | "dependencies": { 740 | "editions": { 741 | "version": "1.3.4", 742 | "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz", 743 | "integrity": "sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==" 744 | } 745 | } 746 | }, 747 | "error": { 748 | "version": "7.0.2", 749 | "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", 750 | "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", 751 | "requires": { 752 | "string-template": "~0.2.1", 753 | "xtend": "~4.0.0" 754 | } 755 | }, 756 | "error-ex": { 757 | "version": "1.3.2", 758 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 759 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 760 | "requires": { 761 | "is-arrayish": "^0.2.1" 762 | } 763 | }, 764 | "es-abstract": { 765 | "version": "1.12.0", 766 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", 767 | "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", 768 | "dev": true, 769 | "requires": { 770 | "es-to-primitive": "^1.1.1", 771 | "function-bind": "^1.1.1", 772 | "has": "^1.0.1", 773 | "is-callable": "^1.1.3", 774 | "is-regex": "^1.0.4" 775 | } 776 | }, 777 | "es-to-primitive": { 778 | "version": "1.2.0", 779 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 780 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 781 | "dev": true, 782 | "requires": { 783 | "is-callable": "^1.1.4", 784 | "is-date-object": "^1.0.1", 785 | "is-symbol": "^1.0.2" 786 | } 787 | }, 788 | "escape-string-regexp": { 789 | "version": "1.0.5", 790 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 791 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 792 | }, 793 | "eslint": { 794 | "version": "5.4.0", 795 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.4.0.tgz", 796 | "integrity": "sha512-UIpL91XGex3qtL6qwyCQJar2j3osKxK9e3ano3OcGEIRM4oWIpCkDg9x95AXEC2wMs7PnxzOkPZ2gq+tsMS9yg==", 797 | "dev": true, 798 | "requires": { 799 | "ajv": "^6.5.0", 800 | "babel-code-frame": "^6.26.0", 801 | "chalk": "^2.1.0", 802 | "cross-spawn": "^6.0.5", 803 | "debug": "^3.1.0", 804 | "doctrine": "^2.1.0", 805 | "eslint-scope": "^4.0.0", 806 | "eslint-utils": "^1.3.1", 807 | "eslint-visitor-keys": "^1.0.0", 808 | "espree": "^4.0.0", 809 | "esquery": "^1.0.1", 810 | "esutils": "^2.0.2", 811 | "file-entry-cache": "^2.0.0", 812 | "functional-red-black-tree": "^1.0.1", 813 | "glob": "^7.1.2", 814 | "globals": "^11.7.0", 815 | "ignore": "^4.0.2", 816 | "imurmurhash": "^0.1.4", 817 | "inquirer": "^5.2.0", 818 | "is-resolvable": "^1.1.0", 819 | "js-yaml": "^3.11.0", 820 | "json-stable-stringify-without-jsonify": "^1.0.1", 821 | "levn": "^0.3.0", 822 | "lodash": "^4.17.5", 823 | "minimatch": "^3.0.4", 824 | "mkdirp": "^0.5.1", 825 | "natural-compare": "^1.4.0", 826 | "optionator": "^0.8.2", 827 | "path-is-inside": "^1.0.2", 828 | "pluralize": "^7.0.0", 829 | "progress": "^2.0.0", 830 | "regexpp": "^2.0.0", 831 | "require-uncached": "^1.0.3", 832 | "semver": "^5.5.0", 833 | "strip-ansi": "^4.0.0", 834 | "strip-json-comments": "^2.0.1", 835 | "table": "^4.0.3", 836 | "text-table": "^0.2.0" 837 | }, 838 | "dependencies": { 839 | "chardet": { 840 | "version": "0.4.2", 841 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", 842 | "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", 843 | "dev": true 844 | }, 845 | "external-editor": { 846 | "version": "2.2.0", 847 | "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", 848 | "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", 849 | "dev": true, 850 | "requires": { 851 | "chardet": "^0.4.0", 852 | "iconv-lite": "^0.4.17", 853 | "tmp": "^0.0.33" 854 | } 855 | }, 856 | "ignore": { 857 | "version": "4.0.6", 858 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 859 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 860 | "dev": true 861 | }, 862 | "inquirer": { 863 | "version": "5.2.0", 864 | "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", 865 | "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", 866 | "dev": true, 867 | "requires": { 868 | "ansi-escapes": "^3.0.0", 869 | "chalk": "^2.0.0", 870 | "cli-cursor": "^2.1.0", 871 | "cli-width": "^2.0.0", 872 | "external-editor": "^2.1.0", 873 | "figures": "^2.0.0", 874 | "lodash": "^4.3.0", 875 | "mute-stream": "0.0.7", 876 | "run-async": "^2.2.0", 877 | "rxjs": "^5.5.2", 878 | "string-width": "^2.1.0", 879 | "strip-ansi": "^4.0.0", 880 | "through": "^2.3.6" 881 | } 882 | }, 883 | "rxjs": { 884 | "version": "5.5.12", 885 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", 886 | "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", 887 | "dev": true, 888 | "requires": { 889 | "symbol-observable": "1.0.1" 890 | } 891 | } 892 | } 893 | }, 894 | "eslint-config-semistandard": { 895 | "version": "13.0.0", 896 | "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-13.0.0.tgz", 897 | "integrity": "sha512-ZuImKnf/9LeZjr6dtRJ0zEdQbjBwXu0PJR3wXJXoQeMooICMrYPyD70O1tIA9Ng+wutgLjB7UXvZOKYPvzHg+w==", 898 | "dev": true 899 | }, 900 | "eslint-config-standard": { 901 | "version": "12.0.0", 902 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", 903 | "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", 904 | "dev": true 905 | }, 906 | "eslint-config-standard-jsx": { 907 | "version": "6.0.2", 908 | "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-6.0.2.tgz", 909 | "integrity": "sha512-D+YWAoXw+2GIdbMBRAzWwr1ZtvnSf4n4yL0gKGg7ShUOGXkSOLerI17K4F6LdQMJPNMoWYqepzQD/fKY+tXNSg==", 910 | "dev": true 911 | }, 912 | "eslint-import-resolver-node": { 913 | "version": "0.3.2", 914 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", 915 | "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", 916 | "dev": true, 917 | "requires": { 918 | "debug": "^2.6.9", 919 | "resolve": "^1.5.0" 920 | }, 921 | "dependencies": { 922 | "debug": { 923 | "version": "2.6.9", 924 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 925 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 926 | "dev": true, 927 | "requires": { 928 | "ms": "2.0.0" 929 | } 930 | }, 931 | "ms": { 932 | "version": "2.0.0", 933 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 934 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 935 | "dev": true 936 | } 937 | } 938 | }, 939 | "eslint-module-utils": { 940 | "version": "2.2.0", 941 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", 942 | "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", 943 | "dev": true, 944 | "requires": { 945 | "debug": "^2.6.8", 946 | "pkg-dir": "^1.0.0" 947 | }, 948 | "dependencies": { 949 | "debug": { 950 | "version": "2.6.9", 951 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 952 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 953 | "dev": true, 954 | "requires": { 955 | "ms": "2.0.0" 956 | } 957 | }, 958 | "ms": { 959 | "version": "2.0.0", 960 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 961 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 962 | "dev": true 963 | } 964 | } 965 | }, 966 | "eslint-plugin-es": { 967 | "version": "1.3.2", 968 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.3.2.tgz", 969 | "integrity": "sha512-xrdbConViY20DhGrt9FwjhDo4fr/9Yus2pYf0xJsdJaCcUzMq7+pAoNH7kSXF6V08bRHMpgDWclYbcr/Sn3hNg==", 970 | "dev": true, 971 | "requires": { 972 | "eslint-utils": "^1.3.0", 973 | "regexpp": "^2.0.1" 974 | } 975 | }, 976 | "eslint-plugin-import": { 977 | "version": "2.14.0", 978 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", 979 | "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", 980 | "dev": true, 981 | "requires": { 982 | "contains-path": "^0.1.0", 983 | "debug": "^2.6.8", 984 | "doctrine": "1.5.0", 985 | "eslint-import-resolver-node": "^0.3.1", 986 | "eslint-module-utils": "^2.2.0", 987 | "has": "^1.0.1", 988 | "lodash": "^4.17.4", 989 | "minimatch": "^3.0.3", 990 | "read-pkg-up": "^2.0.0", 991 | "resolve": "^1.6.0" 992 | }, 993 | "dependencies": { 994 | "debug": { 995 | "version": "2.6.9", 996 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 997 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 998 | "dev": true, 999 | "requires": { 1000 | "ms": "2.0.0" 1001 | } 1002 | }, 1003 | "doctrine": { 1004 | "version": "1.5.0", 1005 | "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 1006 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 1007 | "dev": true, 1008 | "requires": { 1009 | "esutils": "^2.0.2", 1010 | "isarray": "^1.0.0" 1011 | } 1012 | }, 1013 | "find-up": { 1014 | "version": "2.1.0", 1015 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 1016 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 1017 | "dev": true, 1018 | "requires": { 1019 | "locate-path": "^2.0.0" 1020 | } 1021 | }, 1022 | "load-json-file": { 1023 | "version": "2.0.0", 1024 | "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", 1025 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", 1026 | "dev": true, 1027 | "requires": { 1028 | "graceful-fs": "^4.1.2", 1029 | "parse-json": "^2.2.0", 1030 | "pify": "^2.0.0", 1031 | "strip-bom": "^3.0.0" 1032 | } 1033 | }, 1034 | "locate-path": { 1035 | "version": "2.0.0", 1036 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1037 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 1038 | "dev": true, 1039 | "requires": { 1040 | "p-locate": "^2.0.0", 1041 | "path-exists": "^3.0.0" 1042 | } 1043 | }, 1044 | "ms": { 1045 | "version": "2.0.0", 1046 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1047 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1048 | "dev": true 1049 | }, 1050 | "p-limit": { 1051 | "version": "1.3.0", 1052 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 1053 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 1054 | "dev": true, 1055 | "requires": { 1056 | "p-try": "^1.0.0" 1057 | } 1058 | }, 1059 | "p-locate": { 1060 | "version": "2.0.0", 1061 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 1062 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 1063 | "dev": true, 1064 | "requires": { 1065 | "p-limit": "^1.1.0" 1066 | } 1067 | }, 1068 | "p-try": { 1069 | "version": "1.0.0", 1070 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 1071 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 1072 | "dev": true 1073 | }, 1074 | "parse-json": { 1075 | "version": "2.2.0", 1076 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 1077 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 1078 | "dev": true, 1079 | "requires": { 1080 | "error-ex": "^1.2.0" 1081 | } 1082 | }, 1083 | "path-type": { 1084 | "version": "2.0.0", 1085 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", 1086 | "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", 1087 | "dev": true, 1088 | "requires": { 1089 | "pify": "^2.0.0" 1090 | } 1091 | }, 1092 | "pify": { 1093 | "version": "2.3.0", 1094 | "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1095 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 1096 | "dev": true 1097 | }, 1098 | "read-pkg": { 1099 | "version": "2.0.0", 1100 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", 1101 | "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", 1102 | "dev": true, 1103 | "requires": { 1104 | "load-json-file": "^2.0.0", 1105 | "normalize-package-data": "^2.3.2", 1106 | "path-type": "^2.0.0" 1107 | } 1108 | }, 1109 | "read-pkg-up": { 1110 | "version": "2.0.0", 1111 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", 1112 | "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", 1113 | "dev": true, 1114 | "requires": { 1115 | "find-up": "^2.0.0", 1116 | "read-pkg": "^2.0.0" 1117 | } 1118 | } 1119 | } 1120 | }, 1121 | "eslint-plugin-node": { 1122 | "version": "7.0.1", 1123 | "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz", 1124 | "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==", 1125 | "dev": true, 1126 | "requires": { 1127 | "eslint-plugin-es": "^1.3.1", 1128 | "eslint-utils": "^1.3.1", 1129 | "ignore": "^4.0.2", 1130 | "minimatch": "^3.0.4", 1131 | "resolve": "^1.8.1", 1132 | "semver": "^5.5.0" 1133 | }, 1134 | "dependencies": { 1135 | "ignore": { 1136 | "version": "4.0.6", 1137 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 1138 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 1139 | "dev": true 1140 | } 1141 | } 1142 | }, 1143 | "eslint-plugin-promise": { 1144 | "version": "4.0.1", 1145 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz", 1146 | "integrity": "sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg==", 1147 | "dev": true 1148 | }, 1149 | "eslint-plugin-react": { 1150 | "version": "7.11.1", 1151 | "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz", 1152 | "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==", 1153 | "dev": true, 1154 | "requires": { 1155 | "array-includes": "^3.0.3", 1156 | "doctrine": "^2.1.0", 1157 | "has": "^1.0.3", 1158 | "jsx-ast-utils": "^2.0.1", 1159 | "prop-types": "^15.6.2" 1160 | } 1161 | }, 1162 | "eslint-plugin-standard": { 1163 | "version": "4.0.0", 1164 | "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.0.tgz", 1165 | "integrity": "sha512-OwxJkR6TQiYMmt1EsNRMe5qG3GsbjlcOhbGUBY4LtavF9DsLaTcoR+j2Tdjqi23oUwKNUqX7qcn5fPStafMdlA==", 1166 | "dev": true 1167 | }, 1168 | "eslint-scope": { 1169 | "version": "4.0.0", 1170 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", 1171 | "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", 1172 | "dev": true, 1173 | "requires": { 1174 | "esrecurse": "^4.1.0", 1175 | "estraverse": "^4.1.1" 1176 | } 1177 | }, 1178 | "eslint-utils": { 1179 | "version": "1.3.1", 1180 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", 1181 | "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", 1182 | "dev": true 1183 | }, 1184 | "eslint-visitor-keys": { 1185 | "version": "1.0.0", 1186 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", 1187 | "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", 1188 | "dev": true 1189 | }, 1190 | "espree": { 1191 | "version": "4.1.0", 1192 | "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", 1193 | "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", 1194 | "dev": true, 1195 | "requires": { 1196 | "acorn": "^6.0.2", 1197 | "acorn-jsx": "^5.0.0", 1198 | "eslint-visitor-keys": "^1.0.0" 1199 | } 1200 | }, 1201 | "esprima": { 1202 | "version": "4.0.1", 1203 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1204 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 1205 | "dev": true 1206 | }, 1207 | "esquery": { 1208 | "version": "1.0.1", 1209 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 1210 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 1211 | "dev": true, 1212 | "requires": { 1213 | "estraverse": "^4.0.0" 1214 | } 1215 | }, 1216 | "esrecurse": { 1217 | "version": "4.2.1", 1218 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 1219 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 1220 | "dev": true, 1221 | "requires": { 1222 | "estraverse": "^4.1.0" 1223 | } 1224 | }, 1225 | "estraverse": { 1226 | "version": "4.2.0", 1227 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 1228 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 1229 | "dev": true 1230 | }, 1231 | "esutils": { 1232 | "version": "2.0.2", 1233 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1234 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1235 | "dev": true 1236 | }, 1237 | "expand-brackets": { 1238 | "version": "2.1.4", 1239 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 1240 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 1241 | "requires": { 1242 | "debug": "^2.3.3", 1243 | "define-property": "^0.2.5", 1244 | "extend-shallow": "^2.0.1", 1245 | "posix-character-classes": "^0.1.0", 1246 | "regex-not": "^1.0.0", 1247 | "snapdragon": "^0.8.1", 1248 | "to-regex": "^3.0.1" 1249 | }, 1250 | "dependencies": { 1251 | "debug": { 1252 | "version": "2.6.9", 1253 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1254 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1255 | "requires": { 1256 | "ms": "2.0.0" 1257 | } 1258 | }, 1259 | "define-property": { 1260 | "version": "0.2.5", 1261 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 1262 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 1263 | "requires": { 1264 | "is-descriptor": "^0.1.0" 1265 | } 1266 | }, 1267 | "extend-shallow": { 1268 | "version": "2.0.1", 1269 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1270 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1271 | "requires": { 1272 | "is-extendable": "^0.1.0" 1273 | } 1274 | }, 1275 | "ms": { 1276 | "version": "2.0.0", 1277 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1278 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1279 | } 1280 | } 1281 | }, 1282 | "extend-shallow": { 1283 | "version": "3.0.2", 1284 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 1285 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 1286 | "requires": { 1287 | "assign-symbols": "^1.0.0", 1288 | "is-extendable": "^1.0.1" 1289 | }, 1290 | "dependencies": { 1291 | "is-extendable": { 1292 | "version": "1.0.1", 1293 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1294 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1295 | "requires": { 1296 | "is-plain-object": "^2.0.4" 1297 | } 1298 | } 1299 | } 1300 | }, 1301 | "external-editor": { 1302 | "version": "3.0.3", 1303 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", 1304 | "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", 1305 | "requires": { 1306 | "chardet": "^0.7.0", 1307 | "iconv-lite": "^0.4.24", 1308 | "tmp": "^0.0.33" 1309 | } 1310 | }, 1311 | "extglob": { 1312 | "version": "2.0.4", 1313 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 1314 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 1315 | "requires": { 1316 | "array-unique": "^0.3.2", 1317 | "define-property": "^1.0.0", 1318 | "expand-brackets": "^2.1.4", 1319 | "extend-shallow": "^2.0.1", 1320 | "fragment-cache": "^0.2.1", 1321 | "regex-not": "^1.0.0", 1322 | "snapdragon": "^0.8.1", 1323 | "to-regex": "^3.0.1" 1324 | }, 1325 | "dependencies": { 1326 | "define-property": { 1327 | "version": "1.0.0", 1328 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 1329 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 1330 | "requires": { 1331 | "is-descriptor": "^1.0.0" 1332 | } 1333 | }, 1334 | "extend-shallow": { 1335 | "version": "2.0.1", 1336 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1337 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1338 | "requires": { 1339 | "is-extendable": "^0.1.0" 1340 | } 1341 | }, 1342 | "is-accessor-descriptor": { 1343 | "version": "1.0.0", 1344 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 1345 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 1346 | "requires": { 1347 | "kind-of": "^6.0.0" 1348 | } 1349 | }, 1350 | "is-data-descriptor": { 1351 | "version": "1.0.0", 1352 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 1353 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 1354 | "requires": { 1355 | "kind-of": "^6.0.0" 1356 | } 1357 | }, 1358 | "is-descriptor": { 1359 | "version": "1.0.2", 1360 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 1361 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 1362 | "requires": { 1363 | "is-accessor-descriptor": "^1.0.0", 1364 | "is-data-descriptor": "^1.0.0", 1365 | "kind-of": "^6.0.2" 1366 | } 1367 | } 1368 | } 1369 | }, 1370 | "fast-deep-equal": { 1371 | "version": "2.0.1", 1372 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 1373 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", 1374 | "dev": true 1375 | }, 1376 | "fast-glob": { 1377 | "version": "2.2.4", 1378 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.4.tgz", 1379 | "integrity": "sha512-FjK2nCGI/McyzgNtTESqaWP3trPvHyRyoyY70hxjc3oKPNmDe8taohLZpoVKoUjW85tbU5txaYUZCNtVzygl1g==", 1380 | "requires": { 1381 | "@mrmlnc/readdir-enhanced": "^2.2.1", 1382 | "@nodelib/fs.stat": "^1.1.2", 1383 | "glob-parent": "^3.1.0", 1384 | "is-glob": "^4.0.0", 1385 | "merge2": "^1.2.3", 1386 | "micromatch": "^3.1.10" 1387 | } 1388 | }, 1389 | "fast-json-stable-stringify": { 1390 | "version": "2.0.0", 1391 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1392 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 1393 | "dev": true 1394 | }, 1395 | "fast-levenshtein": { 1396 | "version": "2.0.6", 1397 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1398 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1399 | "dev": true 1400 | }, 1401 | "figures": { 1402 | "version": "2.0.0", 1403 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1404 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1405 | "requires": { 1406 | "escape-string-regexp": "^1.0.5" 1407 | } 1408 | }, 1409 | "file-entry-cache": { 1410 | "version": "2.0.0", 1411 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 1412 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 1413 | "dev": true, 1414 | "requires": { 1415 | "flat-cache": "^1.2.1", 1416 | "object-assign": "^4.0.1" 1417 | } 1418 | }, 1419 | "fill-range": { 1420 | "version": "4.0.0", 1421 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 1422 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 1423 | "requires": { 1424 | "extend-shallow": "^2.0.1", 1425 | "is-number": "^3.0.0", 1426 | "repeat-string": "^1.6.1", 1427 | "to-regex-range": "^2.1.0" 1428 | }, 1429 | "dependencies": { 1430 | "extend-shallow": { 1431 | "version": "2.0.1", 1432 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 1433 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 1434 | "requires": { 1435 | "is-extendable": "^0.1.0" 1436 | } 1437 | } 1438 | } 1439 | }, 1440 | "find-root": { 1441 | "version": "1.1.0", 1442 | "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", 1443 | "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", 1444 | "dev": true 1445 | }, 1446 | "find-up": { 1447 | "version": "3.0.0", 1448 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 1449 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 1450 | "requires": { 1451 | "locate-path": "^3.0.0" 1452 | } 1453 | }, 1454 | "first-chunk-stream": { 1455 | "version": "2.0.0", 1456 | "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", 1457 | "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", 1458 | "requires": { 1459 | "readable-stream": "^2.0.2" 1460 | } 1461 | }, 1462 | "flat-cache": { 1463 | "version": "1.3.4", 1464 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", 1465 | "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", 1466 | "dev": true, 1467 | "requires": { 1468 | "circular-json": "^0.3.1", 1469 | "graceful-fs": "^4.1.2", 1470 | "rimraf": "~2.6.2", 1471 | "write": "^0.2.1" 1472 | } 1473 | }, 1474 | "for-in": { 1475 | "version": "1.0.2", 1476 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1477 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" 1478 | }, 1479 | "fragment-cache": { 1480 | "version": "0.2.1", 1481 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 1482 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 1483 | "requires": { 1484 | "map-cache": "^0.2.2" 1485 | } 1486 | }, 1487 | "fs.realpath": { 1488 | "version": "1.0.0", 1489 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1490 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 1491 | }, 1492 | "function-bind": { 1493 | "version": "1.1.1", 1494 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1495 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1496 | "dev": true 1497 | }, 1498 | "functional-red-black-tree": { 1499 | "version": "1.0.1", 1500 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1501 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1502 | "dev": true 1503 | }, 1504 | "get-stdin": { 1505 | "version": "6.0.0", 1506 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", 1507 | "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", 1508 | "dev": true 1509 | }, 1510 | "get-stream": { 1511 | "version": "3.0.0", 1512 | "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1513 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 1514 | }, 1515 | "get-value": { 1516 | "version": "2.0.6", 1517 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1518 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" 1519 | }, 1520 | "gh-got": { 1521 | "version": "6.0.0", 1522 | "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", 1523 | "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", 1524 | "requires": { 1525 | "got": "^7.0.0", 1526 | "is-plain-obj": "^1.1.0" 1527 | } 1528 | }, 1529 | "github-username": { 1530 | "version": "4.1.0", 1531 | "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", 1532 | "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", 1533 | "requires": { 1534 | "gh-got": "^6.0.0" 1535 | } 1536 | }, 1537 | "glob": { 1538 | "version": "7.1.3", 1539 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 1540 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 1541 | "requires": { 1542 | "fs.realpath": "^1.0.0", 1543 | "inflight": "^1.0.4", 1544 | "inherits": "2", 1545 | "minimatch": "^3.0.4", 1546 | "once": "^1.3.0", 1547 | "path-is-absolute": "^1.0.0" 1548 | } 1549 | }, 1550 | "glob-parent": { 1551 | "version": "3.1.0", 1552 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", 1553 | "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", 1554 | "requires": { 1555 | "is-glob": "^3.1.0", 1556 | "path-dirname": "^1.0.0" 1557 | }, 1558 | "dependencies": { 1559 | "is-glob": { 1560 | "version": "3.1.0", 1561 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", 1562 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", 1563 | "requires": { 1564 | "is-extglob": "^2.1.0" 1565 | } 1566 | } 1567 | } 1568 | }, 1569 | "glob-to-regexp": { 1570 | "version": "0.3.0", 1571 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", 1572 | "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" 1573 | }, 1574 | "globals": { 1575 | "version": "11.9.0", 1576 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz", 1577 | "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==", 1578 | "dev": true 1579 | }, 1580 | "globby": { 1581 | "version": "8.0.1", 1582 | "resolved": "http://registry.npmjs.org/globby/-/globby-8.0.1.tgz", 1583 | "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", 1584 | "requires": { 1585 | "array-union": "^1.0.1", 1586 | "dir-glob": "^2.0.0", 1587 | "fast-glob": "^2.0.2", 1588 | "glob": "^7.1.2", 1589 | "ignore": "^3.3.5", 1590 | "pify": "^3.0.0", 1591 | "slash": "^1.0.0" 1592 | } 1593 | }, 1594 | "got": { 1595 | "version": "7.1.0", 1596 | "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", 1597 | "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", 1598 | "requires": { 1599 | "decompress-response": "^3.2.0", 1600 | "duplexer3": "^0.1.4", 1601 | "get-stream": "^3.0.0", 1602 | "is-plain-obj": "^1.1.0", 1603 | "is-retry-allowed": "^1.0.0", 1604 | "is-stream": "^1.0.0", 1605 | "isurl": "^1.0.0-alpha5", 1606 | "lowercase-keys": "^1.0.0", 1607 | "p-cancelable": "^0.3.0", 1608 | "p-timeout": "^1.1.1", 1609 | "safe-buffer": "^5.0.1", 1610 | "timed-out": "^4.0.0", 1611 | "url-parse-lax": "^1.0.0", 1612 | "url-to-options": "^1.0.1" 1613 | } 1614 | }, 1615 | "graceful-fs": { 1616 | "version": "4.1.15", 1617 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", 1618 | "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" 1619 | }, 1620 | "grouped-queue": { 1621 | "version": "0.3.3", 1622 | "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", 1623 | "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", 1624 | "requires": { 1625 | "lodash": "^4.17.2" 1626 | } 1627 | }, 1628 | "growl": { 1629 | "version": "1.10.5", 1630 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", 1631 | "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", 1632 | "dev": true 1633 | }, 1634 | "has": { 1635 | "version": "1.0.3", 1636 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1637 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1638 | "dev": true, 1639 | "requires": { 1640 | "function-bind": "^1.1.1" 1641 | } 1642 | }, 1643 | "has-ansi": { 1644 | "version": "2.0.0", 1645 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1646 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1647 | "dev": true, 1648 | "requires": { 1649 | "ansi-regex": "^2.0.0" 1650 | }, 1651 | "dependencies": { 1652 | "ansi-regex": { 1653 | "version": "2.1.1", 1654 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 1655 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 1656 | "dev": true 1657 | } 1658 | } 1659 | }, 1660 | "has-flag": { 1661 | "version": "3.0.0", 1662 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1663 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 1664 | }, 1665 | "has-symbol-support-x": { 1666 | "version": "1.4.2", 1667 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", 1668 | "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" 1669 | }, 1670 | "has-symbols": { 1671 | "version": "1.0.0", 1672 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 1673 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", 1674 | "dev": true 1675 | }, 1676 | "has-to-string-tag-x": { 1677 | "version": "1.4.1", 1678 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", 1679 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", 1680 | "requires": { 1681 | "has-symbol-support-x": "^1.4.1" 1682 | } 1683 | }, 1684 | "has-value": { 1685 | "version": "1.0.0", 1686 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1687 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1688 | "requires": { 1689 | "get-value": "^2.0.6", 1690 | "has-values": "^1.0.0", 1691 | "isobject": "^3.0.0" 1692 | } 1693 | }, 1694 | "has-values": { 1695 | "version": "1.0.0", 1696 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1697 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1698 | "requires": { 1699 | "is-number": "^3.0.0", 1700 | "kind-of": "^4.0.0" 1701 | }, 1702 | "dependencies": { 1703 | "kind-of": { 1704 | "version": "4.0.0", 1705 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1706 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1707 | "requires": { 1708 | "is-buffer": "^1.1.5" 1709 | } 1710 | } 1711 | } 1712 | }, 1713 | "he": { 1714 | "version": "1.1.1", 1715 | "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", 1716 | "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", 1717 | "dev": true 1718 | }, 1719 | "hosted-git-info": { 1720 | "version": "2.7.1", 1721 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", 1722 | "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" 1723 | }, 1724 | "iconv-lite": { 1725 | "version": "0.4.24", 1726 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1727 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1728 | "requires": { 1729 | "safer-buffer": ">= 2.1.2 < 3" 1730 | } 1731 | }, 1732 | "ignore": { 1733 | "version": "3.3.10", 1734 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", 1735 | "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" 1736 | }, 1737 | "imurmurhash": { 1738 | "version": "0.1.4", 1739 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1740 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1741 | "dev": true 1742 | }, 1743 | "inflight": { 1744 | "version": "1.0.6", 1745 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1746 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1747 | "requires": { 1748 | "once": "^1.3.0", 1749 | "wrappy": "1" 1750 | } 1751 | }, 1752 | "inherits": { 1753 | "version": "2.0.3", 1754 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1755 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1756 | }, 1757 | "inquirer": { 1758 | "version": "6.2.0", 1759 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", 1760 | "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", 1761 | "requires": { 1762 | "ansi-escapes": "^3.0.0", 1763 | "chalk": "^2.0.0", 1764 | "cli-cursor": "^2.1.0", 1765 | "cli-width": "^2.0.0", 1766 | "external-editor": "^3.0.0", 1767 | "figures": "^2.0.0", 1768 | "lodash": "^4.17.10", 1769 | "mute-stream": "0.0.7", 1770 | "run-async": "^2.2.0", 1771 | "rxjs": "^6.1.0", 1772 | "string-width": "^2.1.0", 1773 | "strip-ansi": "^4.0.0", 1774 | "through": "^2.3.6" 1775 | } 1776 | }, 1777 | "interpret": { 1778 | "version": "1.1.0", 1779 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", 1780 | "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" 1781 | }, 1782 | "is-accessor-descriptor": { 1783 | "version": "0.1.6", 1784 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1785 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 1786 | "requires": { 1787 | "kind-of": "^3.0.2" 1788 | }, 1789 | "dependencies": { 1790 | "kind-of": { 1791 | "version": "3.2.2", 1792 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1793 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1794 | "requires": { 1795 | "is-buffer": "^1.1.5" 1796 | } 1797 | } 1798 | } 1799 | }, 1800 | "is-arrayish": { 1801 | "version": "0.2.1", 1802 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1803 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" 1804 | }, 1805 | "is-buffer": { 1806 | "version": "1.1.6", 1807 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1808 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1809 | }, 1810 | "is-builtin-module": { 1811 | "version": "1.0.0", 1812 | "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1813 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1814 | "requires": { 1815 | "builtin-modules": "^1.0.0" 1816 | } 1817 | }, 1818 | "is-callable": { 1819 | "version": "1.1.4", 1820 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 1821 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", 1822 | "dev": true 1823 | }, 1824 | "is-data-descriptor": { 1825 | "version": "0.1.4", 1826 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1827 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 1828 | "requires": { 1829 | "kind-of": "^3.0.2" 1830 | }, 1831 | "dependencies": { 1832 | "kind-of": { 1833 | "version": "3.2.2", 1834 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1835 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1836 | "requires": { 1837 | "is-buffer": "^1.1.5" 1838 | } 1839 | } 1840 | } 1841 | }, 1842 | "is-date-object": { 1843 | "version": "1.0.1", 1844 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 1845 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 1846 | "dev": true 1847 | }, 1848 | "is-descriptor": { 1849 | "version": "0.1.6", 1850 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1851 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1852 | "requires": { 1853 | "is-accessor-descriptor": "^0.1.6", 1854 | "is-data-descriptor": "^0.1.4", 1855 | "kind-of": "^5.0.0" 1856 | }, 1857 | "dependencies": { 1858 | "kind-of": { 1859 | "version": "5.1.0", 1860 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1861 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" 1862 | } 1863 | } 1864 | }, 1865 | "is-extendable": { 1866 | "version": "0.1.1", 1867 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1868 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" 1869 | }, 1870 | "is-extglob": { 1871 | "version": "2.1.1", 1872 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1873 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" 1874 | }, 1875 | "is-fullwidth-code-point": { 1876 | "version": "2.0.0", 1877 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1878 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 1879 | }, 1880 | "is-glob": { 1881 | "version": "4.0.0", 1882 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", 1883 | "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", 1884 | "requires": { 1885 | "is-extglob": "^2.1.1" 1886 | } 1887 | }, 1888 | "is-number": { 1889 | "version": "3.0.0", 1890 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1891 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 1892 | "requires": { 1893 | "kind-of": "^3.0.2" 1894 | }, 1895 | "dependencies": { 1896 | "kind-of": { 1897 | "version": "3.2.2", 1898 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1899 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1900 | "requires": { 1901 | "is-buffer": "^1.1.5" 1902 | } 1903 | } 1904 | } 1905 | }, 1906 | "is-object": { 1907 | "version": "1.0.1", 1908 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", 1909 | "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" 1910 | }, 1911 | "is-plain-obj": { 1912 | "version": "1.1.0", 1913 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1914 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" 1915 | }, 1916 | "is-plain-object": { 1917 | "version": "2.0.4", 1918 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1919 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1920 | "requires": { 1921 | "isobject": "^3.0.1" 1922 | } 1923 | }, 1924 | "is-promise": { 1925 | "version": "2.1.0", 1926 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 1927 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 1928 | }, 1929 | "is-regex": { 1930 | "version": "1.0.4", 1931 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 1932 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 1933 | "dev": true, 1934 | "requires": { 1935 | "has": "^1.0.1" 1936 | } 1937 | }, 1938 | "is-resolvable": { 1939 | "version": "1.1.0", 1940 | "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", 1941 | "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", 1942 | "dev": true 1943 | }, 1944 | "is-retry-allowed": { 1945 | "version": "1.1.0", 1946 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", 1947 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" 1948 | }, 1949 | "is-scoped": { 1950 | "version": "1.0.0", 1951 | "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", 1952 | "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", 1953 | "requires": { 1954 | "scoped-regex": "^1.0.0" 1955 | } 1956 | }, 1957 | "is-stream": { 1958 | "version": "1.1.0", 1959 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1960 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1961 | }, 1962 | "is-symbol": { 1963 | "version": "1.0.2", 1964 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 1965 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 1966 | "dev": true, 1967 | "requires": { 1968 | "has-symbols": "^1.0.0" 1969 | } 1970 | }, 1971 | "is-utf8": { 1972 | "version": "0.2.1", 1973 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 1974 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" 1975 | }, 1976 | "is-windows": { 1977 | "version": "1.0.2", 1978 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1979 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" 1980 | }, 1981 | "isarray": { 1982 | "version": "1.0.0", 1983 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1984 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1985 | }, 1986 | "isbinaryfile": { 1987 | "version": "3.0.3", 1988 | "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", 1989 | "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", 1990 | "requires": { 1991 | "buffer-alloc": "^1.2.0" 1992 | } 1993 | }, 1994 | "isexe": { 1995 | "version": "2.0.0", 1996 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1997 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 1998 | }, 1999 | "isobject": { 2000 | "version": "3.0.1", 2001 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2002 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 2003 | }, 2004 | "istextorbinary": { 2005 | "version": "2.3.0", 2006 | "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.3.0.tgz", 2007 | "integrity": "sha512-xs+IFjzw1/5n45nMYUh2ipLWGarmE0bDVR85WAiYUXzawc8NYn1WW0qaq2rSEFIR3NoNkaAvOr3FVMojFz5uUg==", 2008 | "requires": { 2009 | "binaryextensions": "^2.1.2", 2010 | "editions": "^2.0.2", 2011 | "textextensions": "^2.4.0" 2012 | } 2013 | }, 2014 | "isurl": { 2015 | "version": "1.0.0", 2016 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", 2017 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", 2018 | "requires": { 2019 | "has-to-string-tag-x": "^1.2.0", 2020 | "is-object": "^1.0.1" 2021 | } 2022 | }, 2023 | "js-tokens": { 2024 | "version": "3.0.2", 2025 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 2026 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 2027 | "dev": true 2028 | }, 2029 | "js-yaml": { 2030 | "version": "3.12.0", 2031 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", 2032 | "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", 2033 | "dev": true, 2034 | "requires": { 2035 | "argparse": "^1.0.7", 2036 | "esprima": "^4.0.0" 2037 | } 2038 | }, 2039 | "json-parse-better-errors": { 2040 | "version": "1.0.2", 2041 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 2042 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" 2043 | }, 2044 | "json-schema-traverse": { 2045 | "version": "0.4.1", 2046 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2047 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2048 | "dev": true 2049 | }, 2050 | "json-stable-stringify-without-jsonify": { 2051 | "version": "1.0.1", 2052 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2053 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2054 | "dev": true 2055 | }, 2056 | "jsx-ast-utils": { 2057 | "version": "2.0.1", 2058 | "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", 2059 | "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", 2060 | "dev": true, 2061 | "requires": { 2062 | "array-includes": "^3.0.3" 2063 | } 2064 | }, 2065 | "just-extend": { 2066 | "version": "3.0.0", 2067 | "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-3.0.0.tgz", 2068 | "integrity": "sha512-Fu3T6pKBuxjWT/p4DkqGHFRsysc8OauWr4ZRTY9dIx07Y9O0RkoR5jcv28aeD1vuAwhm3nLkDurwLXoALp4DpQ==", 2069 | "dev": true 2070 | }, 2071 | "kind-of": { 2072 | "version": "6.0.2", 2073 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", 2074 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" 2075 | }, 2076 | "levn": { 2077 | "version": "0.3.0", 2078 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2079 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 2080 | "dev": true, 2081 | "requires": { 2082 | "prelude-ls": "~1.1.2", 2083 | "type-check": "~0.3.2" 2084 | } 2085 | }, 2086 | "load-json-file": { 2087 | "version": "4.0.0", 2088 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 2089 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", 2090 | "requires": { 2091 | "graceful-fs": "^4.1.2", 2092 | "parse-json": "^4.0.0", 2093 | "pify": "^3.0.0", 2094 | "strip-bom": "^3.0.0" 2095 | } 2096 | }, 2097 | "locate-path": { 2098 | "version": "3.0.0", 2099 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 2100 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 2101 | "requires": { 2102 | "p-locate": "^3.0.0", 2103 | "path-exists": "^3.0.0" 2104 | } 2105 | }, 2106 | "lodash": { 2107 | "version": "4.17.11", 2108 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 2109 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" 2110 | }, 2111 | "lodash.get": { 2112 | "version": "4.4.2", 2113 | "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", 2114 | "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", 2115 | "dev": true 2116 | }, 2117 | "log-symbols": { 2118 | "version": "2.2.0", 2119 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 2120 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 2121 | "requires": { 2122 | "chalk": "^2.0.1" 2123 | } 2124 | }, 2125 | "lolex": { 2126 | "version": "2.7.5", 2127 | "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz", 2128 | "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==", 2129 | "dev": true 2130 | }, 2131 | "loose-envify": { 2132 | "version": "1.4.0", 2133 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 2134 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 2135 | "dev": true, 2136 | "requires": { 2137 | "js-tokens": "^3.0.0 || ^4.0.0" 2138 | } 2139 | }, 2140 | "lowercase-keys": { 2141 | "version": "1.0.1", 2142 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 2143 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 2144 | }, 2145 | "make-dir": { 2146 | "version": "1.3.0", 2147 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 2148 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 2149 | "requires": { 2150 | "pify": "^3.0.0" 2151 | } 2152 | }, 2153 | "map-cache": { 2154 | "version": "0.2.2", 2155 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 2156 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" 2157 | }, 2158 | "map-visit": { 2159 | "version": "1.0.0", 2160 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 2161 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 2162 | "requires": { 2163 | "object-visit": "^1.0.0" 2164 | } 2165 | }, 2166 | "mem-fs": { 2167 | "version": "1.1.3", 2168 | "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", 2169 | "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", 2170 | "requires": { 2171 | "through2": "^2.0.0", 2172 | "vinyl": "^1.1.0", 2173 | "vinyl-file": "^2.0.0" 2174 | }, 2175 | "dependencies": { 2176 | "clone": { 2177 | "version": "1.0.4", 2178 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 2179 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 2180 | }, 2181 | "clone-stats": { 2182 | "version": "0.0.1", 2183 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", 2184 | "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" 2185 | }, 2186 | "replace-ext": { 2187 | "version": "0.0.1", 2188 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", 2189 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" 2190 | }, 2191 | "vinyl": { 2192 | "version": "1.2.0", 2193 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", 2194 | "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", 2195 | "requires": { 2196 | "clone": "^1.0.0", 2197 | "clone-stats": "^0.0.1", 2198 | "replace-ext": "0.0.1" 2199 | } 2200 | } 2201 | } 2202 | }, 2203 | "mem-fs-editor": { 2204 | "version": "5.1.0", 2205 | "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-5.1.0.tgz", 2206 | "integrity": "sha512-2Yt2GCYEbcotYbIJagmow4gEtHDqzpq5XN94+yAx/NT5+bGqIjkXnm3KCUQfE6kRfScGp9IZknScoGRKu8L78w==", 2207 | "requires": { 2208 | "commondir": "^1.0.1", 2209 | "deep-extend": "^0.6.0", 2210 | "ejs": "^2.5.9", 2211 | "glob": "^7.0.3", 2212 | "globby": "^8.0.1", 2213 | "isbinaryfile": "^3.0.2", 2214 | "mkdirp": "^0.5.0", 2215 | "multimatch": "^2.0.0", 2216 | "rimraf": "^2.2.8", 2217 | "through2": "^2.0.0", 2218 | "vinyl": "^2.0.1" 2219 | } 2220 | }, 2221 | "merge2": { 2222 | "version": "1.2.3", 2223 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", 2224 | "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==" 2225 | }, 2226 | "micromatch": { 2227 | "version": "3.1.10", 2228 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 2229 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 2230 | "requires": { 2231 | "arr-diff": "^4.0.0", 2232 | "array-unique": "^0.3.2", 2233 | "braces": "^2.3.1", 2234 | "define-property": "^2.0.2", 2235 | "extend-shallow": "^3.0.2", 2236 | "extglob": "^2.0.4", 2237 | "fragment-cache": "^0.2.1", 2238 | "kind-of": "^6.0.2", 2239 | "nanomatch": "^1.2.9", 2240 | "object.pick": "^1.3.0", 2241 | "regex-not": "^1.0.0", 2242 | "snapdragon": "^0.8.1", 2243 | "to-regex": "^3.0.2" 2244 | } 2245 | }, 2246 | "mimic-fn": { 2247 | "version": "1.2.0", 2248 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 2249 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 2250 | }, 2251 | "mimic-response": { 2252 | "version": "1.0.1", 2253 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 2254 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 2255 | }, 2256 | "minimatch": { 2257 | "version": "3.0.4", 2258 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2259 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2260 | "requires": { 2261 | "brace-expansion": "^1.1.7" 2262 | } 2263 | }, 2264 | "minimist": { 2265 | "version": "1.2.0", 2266 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2267 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 2268 | }, 2269 | "mixin-deep": { 2270 | "version": "1.3.1", 2271 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", 2272 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", 2273 | "requires": { 2274 | "for-in": "^1.0.2", 2275 | "is-extendable": "^1.0.1" 2276 | }, 2277 | "dependencies": { 2278 | "is-extendable": { 2279 | "version": "1.0.1", 2280 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 2281 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 2282 | "requires": { 2283 | "is-plain-object": "^2.0.4" 2284 | } 2285 | } 2286 | } 2287 | }, 2288 | "mkdirp": { 2289 | "version": "0.5.1", 2290 | "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2291 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2292 | "requires": { 2293 | "minimist": "0.0.8" 2294 | }, 2295 | "dependencies": { 2296 | "minimist": { 2297 | "version": "0.0.8", 2298 | "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2299 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 2300 | } 2301 | } 2302 | }, 2303 | "mocha": { 2304 | "version": "5.2.0", 2305 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", 2306 | "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", 2307 | "dev": true, 2308 | "requires": { 2309 | "browser-stdout": "1.3.1", 2310 | "commander": "2.15.1", 2311 | "debug": "3.1.0", 2312 | "diff": "3.5.0", 2313 | "escape-string-regexp": "1.0.5", 2314 | "glob": "7.1.2", 2315 | "growl": "1.10.5", 2316 | "he": "1.1.1", 2317 | "minimatch": "3.0.4", 2318 | "mkdirp": "0.5.1", 2319 | "supports-color": "5.4.0" 2320 | }, 2321 | "dependencies": { 2322 | "debug": { 2323 | "version": "3.1.0", 2324 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 2325 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 2326 | "dev": true, 2327 | "requires": { 2328 | "ms": "2.0.0" 2329 | } 2330 | }, 2331 | "glob": { 2332 | "version": "7.1.2", 2333 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 2334 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 2335 | "dev": true, 2336 | "requires": { 2337 | "fs.realpath": "^1.0.0", 2338 | "inflight": "^1.0.4", 2339 | "inherits": "2", 2340 | "minimatch": "^3.0.4", 2341 | "once": "^1.3.0", 2342 | "path-is-absolute": "^1.0.0" 2343 | } 2344 | }, 2345 | "ms": { 2346 | "version": "2.0.0", 2347 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2348 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2349 | "dev": true 2350 | }, 2351 | "supports-color": { 2352 | "version": "5.4.0", 2353 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 2354 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", 2355 | "dev": true, 2356 | "requires": { 2357 | "has-flag": "^3.0.0" 2358 | } 2359 | } 2360 | } 2361 | }, 2362 | "ms": { 2363 | "version": "2.1.1", 2364 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 2365 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 2366 | }, 2367 | "multimatch": { 2368 | "version": "2.1.0", 2369 | "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", 2370 | "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", 2371 | "requires": { 2372 | "array-differ": "^1.0.0", 2373 | "array-union": "^1.0.1", 2374 | "arrify": "^1.0.0", 2375 | "minimatch": "^3.0.0" 2376 | } 2377 | }, 2378 | "mute-stream": { 2379 | "version": "0.0.7", 2380 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2381 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 2382 | }, 2383 | "nanomatch": { 2384 | "version": "1.2.13", 2385 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 2386 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 2387 | "requires": { 2388 | "arr-diff": "^4.0.0", 2389 | "array-unique": "^0.3.2", 2390 | "define-property": "^2.0.2", 2391 | "extend-shallow": "^3.0.2", 2392 | "fragment-cache": "^0.2.1", 2393 | "is-windows": "^1.0.2", 2394 | "kind-of": "^6.0.2", 2395 | "object.pick": "^1.3.0", 2396 | "regex-not": "^1.0.0", 2397 | "snapdragon": "^0.8.1", 2398 | "to-regex": "^3.0.1" 2399 | } 2400 | }, 2401 | "natural-compare": { 2402 | "version": "1.4.0", 2403 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2404 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2405 | "dev": true 2406 | }, 2407 | "nice-try": { 2408 | "version": "1.0.5", 2409 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 2410 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 2411 | }, 2412 | "nise": { 2413 | "version": "1.4.6", 2414 | "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.6.tgz", 2415 | "integrity": "sha512-1GedetLKzmqmgwabuMSqPsT7oumdR77SBpDfNNJhADRIeA3LN/2RVqR4fFqwvzhAqcTef6PPCzQwITE/YQ8S8A==", 2416 | "dev": true, 2417 | "requires": { 2418 | "@sinonjs/formatio": "3.0.0", 2419 | "just-extend": "^3.0.0", 2420 | "lolex": "^2.3.2", 2421 | "path-to-regexp": "^1.7.0", 2422 | "text-encoding": "^0.6.4" 2423 | } 2424 | }, 2425 | "normalize-package-data": { 2426 | "version": "2.4.0", 2427 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 2428 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 2429 | "requires": { 2430 | "hosted-git-info": "^2.1.4", 2431 | "is-builtin-module": "^1.0.0", 2432 | "semver": "2 || 3 || 4 || 5", 2433 | "validate-npm-package-license": "^3.0.1" 2434 | } 2435 | }, 2436 | "object-assign": { 2437 | "version": "4.1.1", 2438 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2439 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2440 | "dev": true 2441 | }, 2442 | "object-copy": { 2443 | "version": "0.1.0", 2444 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 2445 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 2446 | "requires": { 2447 | "copy-descriptor": "^0.1.0", 2448 | "define-property": "^0.2.5", 2449 | "kind-of": "^3.0.3" 2450 | }, 2451 | "dependencies": { 2452 | "define-property": { 2453 | "version": "0.2.5", 2454 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2455 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2456 | "requires": { 2457 | "is-descriptor": "^0.1.0" 2458 | } 2459 | }, 2460 | "kind-of": { 2461 | "version": "3.2.2", 2462 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2463 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2464 | "requires": { 2465 | "is-buffer": "^1.1.5" 2466 | } 2467 | } 2468 | } 2469 | }, 2470 | "object-keys": { 2471 | "version": "1.0.12", 2472 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", 2473 | "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", 2474 | "dev": true 2475 | }, 2476 | "object-visit": { 2477 | "version": "1.0.1", 2478 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 2479 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 2480 | "requires": { 2481 | "isobject": "^3.0.0" 2482 | } 2483 | }, 2484 | "object.pick": { 2485 | "version": "1.3.0", 2486 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 2487 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 2488 | "requires": { 2489 | "isobject": "^3.0.1" 2490 | } 2491 | }, 2492 | "once": { 2493 | "version": "1.4.0", 2494 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2495 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2496 | "requires": { 2497 | "wrappy": "1" 2498 | } 2499 | }, 2500 | "onetime": { 2501 | "version": "2.0.1", 2502 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2503 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2504 | "requires": { 2505 | "mimic-fn": "^1.0.0" 2506 | } 2507 | }, 2508 | "optionator": { 2509 | "version": "0.8.2", 2510 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 2511 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 2512 | "dev": true, 2513 | "requires": { 2514 | "deep-is": "~0.1.3", 2515 | "fast-levenshtein": "~2.0.4", 2516 | "levn": "~0.3.0", 2517 | "prelude-ls": "~1.1.2", 2518 | "type-check": "~0.3.2", 2519 | "wordwrap": "~1.0.0" 2520 | } 2521 | }, 2522 | "os-tmpdir": { 2523 | "version": "1.0.2", 2524 | "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2525 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 2526 | }, 2527 | "p-cancelable": { 2528 | "version": "0.3.0", 2529 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", 2530 | "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" 2531 | }, 2532 | "p-finally": { 2533 | "version": "1.0.0", 2534 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 2535 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 2536 | }, 2537 | "p-limit": { 2538 | "version": "2.0.0", 2539 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", 2540 | "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", 2541 | "requires": { 2542 | "p-try": "^2.0.0" 2543 | } 2544 | }, 2545 | "p-locate": { 2546 | "version": "3.0.0", 2547 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 2548 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 2549 | "requires": { 2550 | "p-limit": "^2.0.0" 2551 | } 2552 | }, 2553 | "p-timeout": { 2554 | "version": "1.2.1", 2555 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", 2556 | "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", 2557 | "requires": { 2558 | "p-finally": "^1.0.0" 2559 | } 2560 | }, 2561 | "p-try": { 2562 | "version": "2.0.0", 2563 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", 2564 | "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" 2565 | }, 2566 | "parse-json": { 2567 | "version": "4.0.0", 2568 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 2569 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 2570 | "requires": { 2571 | "error-ex": "^1.3.1", 2572 | "json-parse-better-errors": "^1.0.1" 2573 | } 2574 | }, 2575 | "pascalcase": { 2576 | "version": "0.1.1", 2577 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 2578 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" 2579 | }, 2580 | "path-dirname": { 2581 | "version": "1.0.2", 2582 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", 2583 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" 2584 | }, 2585 | "path-exists": { 2586 | "version": "3.0.0", 2587 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2588 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" 2589 | }, 2590 | "path-is-absolute": { 2591 | "version": "1.0.1", 2592 | "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2593 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 2594 | }, 2595 | "path-is-inside": { 2596 | "version": "1.0.2", 2597 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2598 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 2599 | "dev": true 2600 | }, 2601 | "path-key": { 2602 | "version": "2.0.1", 2603 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2604 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 2605 | }, 2606 | "path-parse": { 2607 | "version": "1.0.6", 2608 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 2609 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" 2610 | }, 2611 | "path-to-regexp": { 2612 | "version": "1.7.0", 2613 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", 2614 | "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", 2615 | "dev": true, 2616 | "requires": { 2617 | "isarray": "0.0.1" 2618 | }, 2619 | "dependencies": { 2620 | "isarray": { 2621 | "version": "0.0.1", 2622 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 2623 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 2624 | "dev": true 2625 | } 2626 | } 2627 | }, 2628 | "path-type": { 2629 | "version": "3.0.0", 2630 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 2631 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 2632 | "requires": { 2633 | "pify": "^3.0.0" 2634 | } 2635 | }, 2636 | "pify": { 2637 | "version": "3.0.0", 2638 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2639 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 2640 | }, 2641 | "pinkie": { 2642 | "version": "2.0.4", 2643 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2644 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 2645 | }, 2646 | "pinkie-promise": { 2647 | "version": "2.0.1", 2648 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2649 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2650 | "requires": { 2651 | "pinkie": "^2.0.0" 2652 | } 2653 | }, 2654 | "pkg-conf": { 2655 | "version": "2.1.0", 2656 | "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", 2657 | "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", 2658 | "dev": true, 2659 | "requires": { 2660 | "find-up": "^2.0.0", 2661 | "load-json-file": "^4.0.0" 2662 | }, 2663 | "dependencies": { 2664 | "find-up": { 2665 | "version": "2.1.0", 2666 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 2667 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 2668 | "dev": true, 2669 | "requires": { 2670 | "locate-path": "^2.0.0" 2671 | } 2672 | }, 2673 | "locate-path": { 2674 | "version": "2.0.0", 2675 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 2676 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 2677 | "dev": true, 2678 | "requires": { 2679 | "p-locate": "^2.0.0", 2680 | "path-exists": "^3.0.0" 2681 | } 2682 | }, 2683 | "p-limit": { 2684 | "version": "1.3.0", 2685 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 2686 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 2687 | "dev": true, 2688 | "requires": { 2689 | "p-try": "^1.0.0" 2690 | } 2691 | }, 2692 | "p-locate": { 2693 | "version": "2.0.0", 2694 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 2695 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 2696 | "dev": true, 2697 | "requires": { 2698 | "p-limit": "^1.1.0" 2699 | } 2700 | }, 2701 | "p-try": { 2702 | "version": "1.0.0", 2703 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 2704 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 2705 | "dev": true 2706 | } 2707 | } 2708 | }, 2709 | "pkg-config": { 2710 | "version": "1.1.1", 2711 | "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz", 2712 | "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=", 2713 | "dev": true, 2714 | "requires": { 2715 | "debug-log": "^1.0.0", 2716 | "find-root": "^1.0.0", 2717 | "xtend": "^4.0.1" 2718 | } 2719 | }, 2720 | "pkg-dir": { 2721 | "version": "1.0.0", 2722 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", 2723 | "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", 2724 | "dev": true, 2725 | "requires": { 2726 | "find-up": "^1.0.0" 2727 | }, 2728 | "dependencies": { 2729 | "find-up": { 2730 | "version": "1.1.2", 2731 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 2732 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 2733 | "dev": true, 2734 | "requires": { 2735 | "path-exists": "^2.0.0", 2736 | "pinkie-promise": "^2.0.0" 2737 | } 2738 | }, 2739 | "path-exists": { 2740 | "version": "2.1.0", 2741 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 2742 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 2743 | "dev": true, 2744 | "requires": { 2745 | "pinkie-promise": "^2.0.0" 2746 | } 2747 | } 2748 | } 2749 | }, 2750 | "pluralize": { 2751 | "version": "7.0.0", 2752 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 2753 | "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 2754 | "dev": true 2755 | }, 2756 | "posix-character-classes": { 2757 | "version": "0.1.1", 2758 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 2759 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" 2760 | }, 2761 | "prelude-ls": { 2762 | "version": "1.1.2", 2763 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2764 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 2765 | "dev": true 2766 | }, 2767 | "prepend-http": { 2768 | "version": "1.0.4", 2769 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 2770 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" 2771 | }, 2772 | "pretty-bytes": { 2773 | "version": "5.1.0", 2774 | "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.1.0.tgz", 2775 | "integrity": "sha512-wa5+qGVg9Yt7PB6rYm3kXlKzgzgivYTLRandezh43jjRqgyDyP+9YxfJpJiLs9yKD1WeU8/OvtToWpW7255FtA==" 2776 | }, 2777 | "process-nextick-args": { 2778 | "version": "2.0.0", 2779 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 2780 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 2781 | }, 2782 | "progress": { 2783 | "version": "2.0.1", 2784 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", 2785 | "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", 2786 | "dev": true 2787 | }, 2788 | "prop-types": { 2789 | "version": "15.6.2", 2790 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", 2791 | "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", 2792 | "dev": true, 2793 | "requires": { 2794 | "loose-envify": "^1.3.1", 2795 | "object-assign": "^4.1.1" 2796 | } 2797 | }, 2798 | "punycode": { 2799 | "version": "2.1.1", 2800 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2801 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 2802 | "dev": true 2803 | }, 2804 | "read-chunk": { 2805 | "version": "2.1.0", 2806 | "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", 2807 | "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", 2808 | "requires": { 2809 | "pify": "^3.0.0", 2810 | "safe-buffer": "^5.1.1" 2811 | } 2812 | }, 2813 | "read-pkg": { 2814 | "version": "3.0.0", 2815 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 2816 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", 2817 | "requires": { 2818 | "load-json-file": "^4.0.0", 2819 | "normalize-package-data": "^2.3.2", 2820 | "path-type": "^3.0.0" 2821 | } 2822 | }, 2823 | "read-pkg-up": { 2824 | "version": "4.0.0", 2825 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", 2826 | "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", 2827 | "requires": { 2828 | "find-up": "^3.0.0", 2829 | "read-pkg": "^3.0.0" 2830 | } 2831 | }, 2832 | "readable-stream": { 2833 | "version": "2.3.6", 2834 | "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 2835 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 2836 | "requires": { 2837 | "core-util-is": "~1.0.0", 2838 | "inherits": "~2.0.3", 2839 | "isarray": "~1.0.0", 2840 | "process-nextick-args": "~2.0.0", 2841 | "safe-buffer": "~5.1.1", 2842 | "string_decoder": "~1.1.1", 2843 | "util-deprecate": "~1.0.1" 2844 | } 2845 | }, 2846 | "rechoir": { 2847 | "version": "0.6.2", 2848 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 2849 | "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", 2850 | "requires": { 2851 | "resolve": "^1.1.6" 2852 | } 2853 | }, 2854 | "regex-not": { 2855 | "version": "1.0.2", 2856 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 2857 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 2858 | "requires": { 2859 | "extend-shallow": "^3.0.2", 2860 | "safe-regex": "^1.1.0" 2861 | } 2862 | }, 2863 | "regexpp": { 2864 | "version": "2.0.1", 2865 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 2866 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 2867 | "dev": true 2868 | }, 2869 | "remove-trailing-separator": { 2870 | "version": "1.1.0", 2871 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 2872 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" 2873 | }, 2874 | "repeat-element": { 2875 | "version": "1.1.3", 2876 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", 2877 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" 2878 | }, 2879 | "repeat-string": { 2880 | "version": "1.6.1", 2881 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 2882 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" 2883 | }, 2884 | "replace-ext": { 2885 | "version": "1.0.0", 2886 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", 2887 | "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" 2888 | }, 2889 | "require-uncached": { 2890 | "version": "1.0.3", 2891 | "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", 2892 | "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", 2893 | "dev": true, 2894 | "requires": { 2895 | "caller-path": "^0.1.0", 2896 | "resolve-from": "^1.0.0" 2897 | } 2898 | }, 2899 | "resolve": { 2900 | "version": "1.8.1", 2901 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", 2902 | "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", 2903 | "requires": { 2904 | "path-parse": "^1.0.5" 2905 | } 2906 | }, 2907 | "resolve-from": { 2908 | "version": "1.0.1", 2909 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", 2910 | "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", 2911 | "dev": true 2912 | }, 2913 | "resolve-url": { 2914 | "version": "0.2.1", 2915 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 2916 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" 2917 | }, 2918 | "restore-cursor": { 2919 | "version": "2.0.0", 2920 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 2921 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 2922 | "requires": { 2923 | "onetime": "^2.0.0", 2924 | "signal-exit": "^3.0.2" 2925 | } 2926 | }, 2927 | "ret": { 2928 | "version": "0.1.15", 2929 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 2930 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" 2931 | }, 2932 | "rimraf": { 2933 | "version": "2.6.2", 2934 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 2935 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 2936 | "requires": { 2937 | "glob": "^7.0.5" 2938 | } 2939 | }, 2940 | "run-async": { 2941 | "version": "2.3.0", 2942 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 2943 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 2944 | "requires": { 2945 | "is-promise": "^2.1.0" 2946 | } 2947 | }, 2948 | "run-parallel": { 2949 | "version": "1.1.9", 2950 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", 2951 | "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", 2952 | "dev": true 2953 | }, 2954 | "rxjs": { 2955 | "version": "6.3.3", 2956 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", 2957 | "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", 2958 | "requires": { 2959 | "tslib": "^1.9.0" 2960 | } 2961 | }, 2962 | "safe-buffer": { 2963 | "version": "5.1.2", 2964 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2965 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 2966 | }, 2967 | "safe-regex": { 2968 | "version": "1.1.0", 2969 | "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 2970 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 2971 | "requires": { 2972 | "ret": "~0.1.10" 2973 | } 2974 | }, 2975 | "safer-buffer": { 2976 | "version": "2.1.2", 2977 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2978 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 2979 | }, 2980 | "scoped-regex": { 2981 | "version": "1.0.0", 2982 | "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", 2983 | "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=" 2984 | }, 2985 | "semistandard": { 2986 | "version": "13.0.1", 2987 | "resolved": "https://registry.npmjs.org/semistandard/-/semistandard-13.0.1.tgz", 2988 | "integrity": "sha512-2GkuX4BsoMEYoufJYRz8/ERbYDfgOO3yP29IBaoXtxl202azlkV1MsFyoSFiM6GBUfL7MSUxSy38KfM9oDAE2g==", 2989 | "dev": true, 2990 | "requires": { 2991 | "eslint": "~5.4.0", 2992 | "eslint-config-semistandard": "13.0.0", 2993 | "eslint-config-standard": "12.0.0", 2994 | "eslint-config-standard-jsx": "6.0.2", 2995 | "eslint-plugin-import": "~2.14.0", 2996 | "eslint-plugin-node": "~7.0.1", 2997 | "eslint-plugin-promise": "~4.0.0", 2998 | "eslint-plugin-react": "~7.11.1", 2999 | "eslint-plugin-standard": "~4.0.0", 3000 | "standard-engine": "~10.0.0" 3001 | } 3002 | }, 3003 | "semver": { 3004 | "version": "5.6.0", 3005 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", 3006 | "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" 3007 | }, 3008 | "set-value": { 3009 | "version": "2.0.0", 3010 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", 3011 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", 3012 | "requires": { 3013 | "extend-shallow": "^2.0.1", 3014 | "is-extendable": "^0.1.1", 3015 | "is-plain-object": "^2.0.3", 3016 | "split-string": "^3.0.1" 3017 | }, 3018 | "dependencies": { 3019 | "extend-shallow": { 3020 | "version": "2.0.1", 3021 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3022 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3023 | "requires": { 3024 | "is-extendable": "^0.1.0" 3025 | } 3026 | } 3027 | } 3028 | }, 3029 | "shebang-command": { 3030 | "version": "1.2.0", 3031 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3032 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 3033 | "requires": { 3034 | "shebang-regex": "^1.0.0" 3035 | } 3036 | }, 3037 | "shebang-regex": { 3038 | "version": "1.0.0", 3039 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3040 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 3041 | }, 3042 | "shelljs": { 3043 | "version": "0.8.3", 3044 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", 3045 | "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", 3046 | "requires": { 3047 | "glob": "^7.0.0", 3048 | "interpret": "^1.0.0", 3049 | "rechoir": "^0.6.2" 3050 | } 3051 | }, 3052 | "signal-exit": { 3053 | "version": "3.0.2", 3054 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3055 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 3056 | }, 3057 | "sinon": { 3058 | "version": "6.3.5", 3059 | "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.3.5.tgz", 3060 | "integrity": "sha512-xgoZ2gKjyVRcF08RrIQc+srnSyY1JDJtxu3Nsz07j1ffjgXoY6uPLf/qja6nDBZgzYYEovVkFryw2+KiZz11xQ==", 3061 | "dev": true, 3062 | "requires": { 3063 | "@sinonjs/commons": "^1.0.2", 3064 | "@sinonjs/formatio": "^3.0.0", 3065 | "@sinonjs/samsam": "^2.1.2", 3066 | "diff": "^3.5.0", 3067 | "lodash.get": "^4.4.2", 3068 | "lolex": "^2.7.5", 3069 | "nise": "^1.4.5", 3070 | "supports-color": "^5.5.0", 3071 | "type-detect": "^4.0.8" 3072 | } 3073 | }, 3074 | "slash": { 3075 | "version": "1.0.0", 3076 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 3077 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" 3078 | }, 3079 | "slice-ansi": { 3080 | "version": "1.0.0", 3081 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", 3082 | "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", 3083 | "dev": true, 3084 | "requires": { 3085 | "is-fullwidth-code-point": "^2.0.0" 3086 | } 3087 | }, 3088 | "snapdragon": { 3089 | "version": "0.8.2", 3090 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 3091 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 3092 | "requires": { 3093 | "base": "^0.11.1", 3094 | "debug": "^2.2.0", 3095 | "define-property": "^0.2.5", 3096 | "extend-shallow": "^2.0.1", 3097 | "map-cache": "^0.2.2", 3098 | "source-map": "^0.5.6", 3099 | "source-map-resolve": "^0.5.0", 3100 | "use": "^3.1.0" 3101 | }, 3102 | "dependencies": { 3103 | "debug": { 3104 | "version": "2.6.9", 3105 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3106 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3107 | "requires": { 3108 | "ms": "2.0.0" 3109 | } 3110 | }, 3111 | "define-property": { 3112 | "version": "0.2.5", 3113 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3114 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3115 | "requires": { 3116 | "is-descriptor": "^0.1.0" 3117 | } 3118 | }, 3119 | "extend-shallow": { 3120 | "version": "2.0.1", 3121 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3122 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3123 | "requires": { 3124 | "is-extendable": "^0.1.0" 3125 | } 3126 | }, 3127 | "ms": { 3128 | "version": "2.0.0", 3129 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3130 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 3131 | } 3132 | } 3133 | }, 3134 | "snapdragon-node": { 3135 | "version": "2.1.1", 3136 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 3137 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 3138 | "requires": { 3139 | "define-property": "^1.0.0", 3140 | "isobject": "^3.0.0", 3141 | "snapdragon-util": "^3.0.1" 3142 | }, 3143 | "dependencies": { 3144 | "define-property": { 3145 | "version": "1.0.0", 3146 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 3147 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 3148 | "requires": { 3149 | "is-descriptor": "^1.0.0" 3150 | } 3151 | }, 3152 | "is-accessor-descriptor": { 3153 | "version": "1.0.0", 3154 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 3155 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 3156 | "requires": { 3157 | "kind-of": "^6.0.0" 3158 | } 3159 | }, 3160 | "is-data-descriptor": { 3161 | "version": "1.0.0", 3162 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 3163 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 3164 | "requires": { 3165 | "kind-of": "^6.0.0" 3166 | } 3167 | }, 3168 | "is-descriptor": { 3169 | "version": "1.0.2", 3170 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 3171 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 3172 | "requires": { 3173 | "is-accessor-descriptor": "^1.0.0", 3174 | "is-data-descriptor": "^1.0.0", 3175 | "kind-of": "^6.0.2" 3176 | } 3177 | } 3178 | } 3179 | }, 3180 | "snapdragon-util": { 3181 | "version": "3.0.1", 3182 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 3183 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 3184 | "requires": { 3185 | "kind-of": "^3.2.0" 3186 | }, 3187 | "dependencies": { 3188 | "kind-of": { 3189 | "version": "3.2.2", 3190 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3191 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3192 | "requires": { 3193 | "is-buffer": "^1.1.5" 3194 | } 3195 | } 3196 | } 3197 | }, 3198 | "source-map": { 3199 | "version": "0.5.7", 3200 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3201 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" 3202 | }, 3203 | "source-map-resolve": { 3204 | "version": "0.5.2", 3205 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", 3206 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", 3207 | "requires": { 3208 | "atob": "^2.1.1", 3209 | "decode-uri-component": "^0.2.0", 3210 | "resolve-url": "^0.2.1", 3211 | "source-map-url": "^0.4.0", 3212 | "urix": "^0.1.0" 3213 | } 3214 | }, 3215 | "source-map-url": { 3216 | "version": "0.4.0", 3217 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3218 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" 3219 | }, 3220 | "spdx-correct": { 3221 | "version": "3.0.2", 3222 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", 3223 | "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", 3224 | "requires": { 3225 | "spdx-expression-parse": "^3.0.0", 3226 | "spdx-license-ids": "^3.0.0" 3227 | } 3228 | }, 3229 | "spdx-exceptions": { 3230 | "version": "2.2.0", 3231 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", 3232 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" 3233 | }, 3234 | "spdx-expression-parse": { 3235 | "version": "3.0.0", 3236 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 3237 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 3238 | "requires": { 3239 | "spdx-exceptions": "^2.1.0", 3240 | "spdx-license-ids": "^3.0.0" 3241 | } 3242 | }, 3243 | "spdx-license-ids": { 3244 | "version": "3.0.2", 3245 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", 3246 | "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==" 3247 | }, 3248 | "split-string": { 3249 | "version": "3.1.0", 3250 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3251 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3252 | "requires": { 3253 | "extend-shallow": "^3.0.0" 3254 | } 3255 | }, 3256 | "sprintf-js": { 3257 | "version": "1.0.3", 3258 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3259 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3260 | "dev": true 3261 | }, 3262 | "standard-engine": { 3263 | "version": "10.0.0", 3264 | "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-10.0.0.tgz", 3265 | "integrity": "sha512-91BjmzIRZbFmyOY73R6vaDd/7nw5qDWsfpJW5/N+BCXFgmvreyfrRg7oBSu4ihL0gFGXfnwCImJm6j+sZDQQyw==", 3266 | "dev": true, 3267 | "requires": { 3268 | "deglob": "^3.0.0", 3269 | "get-stdin": "^6.0.0", 3270 | "minimist": "^1.1.0", 3271 | "pkg-conf": "^2.0.0" 3272 | } 3273 | }, 3274 | "static-extend": { 3275 | "version": "0.1.2", 3276 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3277 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3278 | "requires": { 3279 | "define-property": "^0.2.5", 3280 | "object-copy": "^0.1.0" 3281 | }, 3282 | "dependencies": { 3283 | "define-property": { 3284 | "version": "0.2.5", 3285 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3286 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3287 | "requires": { 3288 | "is-descriptor": "^0.1.0" 3289 | } 3290 | } 3291 | } 3292 | }, 3293 | "string-template": { 3294 | "version": "0.2.1", 3295 | "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", 3296 | "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" 3297 | }, 3298 | "string-width": { 3299 | "version": "2.1.1", 3300 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 3301 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 3302 | "requires": { 3303 | "is-fullwidth-code-point": "^2.0.0", 3304 | "strip-ansi": "^4.0.0" 3305 | } 3306 | }, 3307 | "string_decoder": { 3308 | "version": "1.1.1", 3309 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3310 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3311 | "requires": { 3312 | "safe-buffer": "~5.1.0" 3313 | } 3314 | }, 3315 | "strip-ansi": { 3316 | "version": "4.0.0", 3317 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3318 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3319 | "requires": { 3320 | "ansi-regex": "^3.0.0" 3321 | } 3322 | }, 3323 | "strip-bom": { 3324 | "version": "3.0.0", 3325 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 3326 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" 3327 | }, 3328 | "strip-bom-stream": { 3329 | "version": "2.0.0", 3330 | "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", 3331 | "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", 3332 | "requires": { 3333 | "first-chunk-stream": "^2.0.0", 3334 | "strip-bom": "^2.0.0" 3335 | }, 3336 | "dependencies": { 3337 | "strip-bom": { 3338 | "version": "2.0.0", 3339 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 3340 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 3341 | "requires": { 3342 | "is-utf8": "^0.2.0" 3343 | } 3344 | } 3345 | } 3346 | }, 3347 | "strip-json-comments": { 3348 | "version": "2.0.1", 3349 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3350 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 3351 | "dev": true 3352 | }, 3353 | "supports-color": { 3354 | "version": "5.5.0", 3355 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3356 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3357 | "requires": { 3358 | "has-flag": "^3.0.0" 3359 | } 3360 | }, 3361 | "symbol-observable": { 3362 | "version": "1.0.1", 3363 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", 3364 | "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", 3365 | "dev": true 3366 | }, 3367 | "table": { 3368 | "version": "4.0.3", 3369 | "resolved": "http://registry.npmjs.org/table/-/table-4.0.3.tgz", 3370 | "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", 3371 | "dev": true, 3372 | "requires": { 3373 | "ajv": "^6.0.1", 3374 | "ajv-keywords": "^3.0.0", 3375 | "chalk": "^2.1.0", 3376 | "lodash": "^4.17.4", 3377 | "slice-ansi": "1.0.0", 3378 | "string-width": "^2.1.1" 3379 | } 3380 | }, 3381 | "text-encoding": { 3382 | "version": "0.6.4", 3383 | "resolved": "http://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", 3384 | "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=", 3385 | "dev": true 3386 | }, 3387 | "text-table": { 3388 | "version": "0.2.0", 3389 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3390 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" 3391 | }, 3392 | "textextensions": { 3393 | "version": "2.4.0", 3394 | "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.4.0.tgz", 3395 | "integrity": "sha512-qftQXnX1DzpSV8EddtHIT0eDDEiBF8ywhFYR2lI9xrGtxqKN+CvLXhACeCIGbCpQfxxERbrkZEFb8cZcDKbVZA==" 3396 | }, 3397 | "through": { 3398 | "version": "2.3.8", 3399 | "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", 3400 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 3401 | }, 3402 | "through2": { 3403 | "version": "2.0.5", 3404 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", 3405 | "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", 3406 | "requires": { 3407 | "readable-stream": "~2.3.6", 3408 | "xtend": "~4.0.1" 3409 | } 3410 | }, 3411 | "timed-out": { 3412 | "version": "4.0.1", 3413 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 3414 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 3415 | }, 3416 | "tmp": { 3417 | "version": "0.0.33", 3418 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 3419 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 3420 | "requires": { 3421 | "os-tmpdir": "~1.0.2" 3422 | } 3423 | }, 3424 | "to-object-path": { 3425 | "version": "0.3.0", 3426 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 3427 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 3428 | "requires": { 3429 | "kind-of": "^3.0.2" 3430 | }, 3431 | "dependencies": { 3432 | "kind-of": { 3433 | "version": "3.2.2", 3434 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 3435 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 3436 | "requires": { 3437 | "is-buffer": "^1.1.5" 3438 | } 3439 | } 3440 | } 3441 | }, 3442 | "to-regex": { 3443 | "version": "3.0.2", 3444 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 3445 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 3446 | "requires": { 3447 | "define-property": "^2.0.2", 3448 | "extend-shallow": "^3.0.2", 3449 | "regex-not": "^1.0.2", 3450 | "safe-regex": "^1.1.0" 3451 | } 3452 | }, 3453 | "to-regex-range": { 3454 | "version": "2.1.1", 3455 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 3456 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 3457 | "requires": { 3458 | "is-number": "^3.0.0", 3459 | "repeat-string": "^1.6.1" 3460 | } 3461 | }, 3462 | "tslib": { 3463 | "version": "1.9.3", 3464 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 3465 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" 3466 | }, 3467 | "type-check": { 3468 | "version": "0.3.2", 3469 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 3470 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 3471 | "dev": true, 3472 | "requires": { 3473 | "prelude-ls": "~1.1.2" 3474 | } 3475 | }, 3476 | "type-detect": { 3477 | "version": "4.0.8", 3478 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", 3479 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", 3480 | "dev": true 3481 | }, 3482 | "union-value": { 3483 | "version": "1.0.0", 3484 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", 3485 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", 3486 | "requires": { 3487 | "arr-union": "^3.1.0", 3488 | "get-value": "^2.0.6", 3489 | "is-extendable": "^0.1.1", 3490 | "set-value": "^0.4.3" 3491 | }, 3492 | "dependencies": { 3493 | "extend-shallow": { 3494 | "version": "2.0.1", 3495 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 3496 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 3497 | "requires": { 3498 | "is-extendable": "^0.1.0" 3499 | } 3500 | }, 3501 | "set-value": { 3502 | "version": "0.4.3", 3503 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", 3504 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", 3505 | "requires": { 3506 | "extend-shallow": "^2.0.1", 3507 | "is-extendable": "^0.1.1", 3508 | "is-plain-object": "^2.0.1", 3509 | "to-object-path": "^0.3.0" 3510 | } 3511 | } 3512 | } 3513 | }, 3514 | "uniq": { 3515 | "version": "1.0.1", 3516 | "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", 3517 | "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", 3518 | "dev": true 3519 | }, 3520 | "unset-value": { 3521 | "version": "1.0.0", 3522 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 3523 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 3524 | "requires": { 3525 | "has-value": "^0.3.1", 3526 | "isobject": "^3.0.0" 3527 | }, 3528 | "dependencies": { 3529 | "has-value": { 3530 | "version": "0.3.1", 3531 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 3532 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 3533 | "requires": { 3534 | "get-value": "^2.0.3", 3535 | "has-values": "^0.1.4", 3536 | "isobject": "^2.0.0" 3537 | }, 3538 | "dependencies": { 3539 | "isobject": { 3540 | "version": "2.1.0", 3541 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 3542 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 3543 | "requires": { 3544 | "isarray": "1.0.0" 3545 | } 3546 | } 3547 | } 3548 | }, 3549 | "has-values": { 3550 | "version": "0.1.4", 3551 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 3552 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" 3553 | } 3554 | } 3555 | }, 3556 | "untildify": { 3557 | "version": "3.0.3", 3558 | "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", 3559 | "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==" 3560 | }, 3561 | "uri-js": { 3562 | "version": "4.2.2", 3563 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 3564 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 3565 | "dev": true, 3566 | "requires": { 3567 | "punycode": "^2.1.0" 3568 | } 3569 | }, 3570 | "urix": { 3571 | "version": "0.1.0", 3572 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 3573 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" 3574 | }, 3575 | "url-parse-lax": { 3576 | "version": "1.0.0", 3577 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 3578 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 3579 | "requires": { 3580 | "prepend-http": "^1.0.1" 3581 | } 3582 | }, 3583 | "url-to-options": { 3584 | "version": "1.0.1", 3585 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", 3586 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" 3587 | }, 3588 | "use": { 3589 | "version": "3.1.1", 3590 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 3591 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" 3592 | }, 3593 | "util-deprecate": { 3594 | "version": "1.0.2", 3595 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3596 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 3597 | }, 3598 | "validate-npm-package-license": { 3599 | "version": "3.0.4", 3600 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 3601 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 3602 | "requires": { 3603 | "spdx-correct": "^3.0.0", 3604 | "spdx-expression-parse": "^3.0.0" 3605 | } 3606 | }, 3607 | "vinyl": { 3608 | "version": "2.2.0", 3609 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", 3610 | "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", 3611 | "requires": { 3612 | "clone": "^2.1.1", 3613 | "clone-buffer": "^1.0.0", 3614 | "clone-stats": "^1.0.0", 3615 | "cloneable-readable": "^1.0.0", 3616 | "remove-trailing-separator": "^1.0.1", 3617 | "replace-ext": "^1.0.0" 3618 | } 3619 | }, 3620 | "vinyl-file": { 3621 | "version": "2.0.0", 3622 | "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", 3623 | "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", 3624 | "requires": { 3625 | "graceful-fs": "^4.1.2", 3626 | "pify": "^2.3.0", 3627 | "pinkie-promise": "^2.0.0", 3628 | "strip-bom": "^2.0.0", 3629 | "strip-bom-stream": "^2.0.0", 3630 | "vinyl": "^1.1.0" 3631 | }, 3632 | "dependencies": { 3633 | "clone": { 3634 | "version": "1.0.4", 3635 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 3636 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 3637 | }, 3638 | "clone-stats": { 3639 | "version": "0.0.1", 3640 | "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", 3641 | "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" 3642 | }, 3643 | "pify": { 3644 | "version": "2.3.0", 3645 | "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 3646 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" 3647 | }, 3648 | "replace-ext": { 3649 | "version": "0.0.1", 3650 | "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", 3651 | "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" 3652 | }, 3653 | "strip-bom": { 3654 | "version": "2.0.0", 3655 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 3656 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 3657 | "requires": { 3658 | "is-utf8": "^0.2.0" 3659 | } 3660 | }, 3661 | "vinyl": { 3662 | "version": "1.2.0", 3663 | "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", 3664 | "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", 3665 | "requires": { 3666 | "clone": "^1.0.0", 3667 | "clone-stats": "^0.0.1", 3668 | "replace-ext": "0.0.1" 3669 | } 3670 | } 3671 | } 3672 | }, 3673 | "which": { 3674 | "version": "1.3.1", 3675 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3676 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3677 | "requires": { 3678 | "isexe": "^2.0.0" 3679 | } 3680 | }, 3681 | "wordwrap": { 3682 | "version": "1.0.0", 3683 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 3684 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 3685 | "dev": true 3686 | }, 3687 | "wrappy": { 3688 | "version": "1.0.2", 3689 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3690 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 3691 | }, 3692 | "write": { 3693 | "version": "0.2.1", 3694 | "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 3695 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 3696 | "dev": true, 3697 | "requires": { 3698 | "mkdirp": "^0.5.1" 3699 | } 3700 | }, 3701 | "xtend": { 3702 | "version": "4.0.1", 3703 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 3704 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 3705 | }, 3706 | "yeoman-environment": { 3707 | "version": "2.3.4", 3708 | "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.3.4.tgz", 3709 | "integrity": "sha512-KLxE5ft/74Qj7h3AsQZv8G6MEEHYJwmD5F99nfOVaep3rBzCtbrJKkdqWc7bDV141Nr8UZZsIXmzc3IcCm6E2w==", 3710 | "requires": { 3711 | "chalk": "^2.4.1", 3712 | "cross-spawn": "^6.0.5", 3713 | "debug": "^3.1.0", 3714 | "diff": "^3.5.0", 3715 | "escape-string-regexp": "^1.0.2", 3716 | "globby": "^8.0.1", 3717 | "grouped-queue": "^0.3.3", 3718 | "inquirer": "^6.0.0", 3719 | "is-scoped": "^1.0.0", 3720 | "lodash": "^4.17.10", 3721 | "log-symbols": "^2.2.0", 3722 | "mem-fs": "^1.1.0", 3723 | "strip-ansi": "^4.0.0", 3724 | "text-table": "^0.2.0", 3725 | "untildify": "^3.0.3" 3726 | } 3727 | }, 3728 | "yeoman-generator": { 3729 | "version": "3.1.1", 3730 | "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-3.1.1.tgz", 3731 | "integrity": "sha512-ur4+vzXQEkyJNV+uBf9wLIo8gcuwRJkPyYU8CbKoXjfaVDMF0hYjO242UKK9eVx5uL2IvZAG/tLS/g7QaFdn/A==", 3732 | "requires": { 3733 | "async": "^2.6.0", 3734 | "chalk": "^2.3.0", 3735 | "cli-table": "^0.3.1", 3736 | "cross-spawn": "^6.0.5", 3737 | "dargs": "^6.0.0", 3738 | "dateformat": "^3.0.3", 3739 | "debug": "^3.1.0", 3740 | "detect-conflict": "^1.0.0", 3741 | "error": "^7.0.2", 3742 | "find-up": "^3.0.0", 3743 | "github-username": "^4.0.0", 3744 | "istextorbinary": "^2.2.1", 3745 | "lodash": "^4.17.10", 3746 | "make-dir": "^1.1.0", 3747 | "mem-fs-editor": "^5.0.0", 3748 | "minimist": "^1.2.0", 3749 | "pretty-bytes": "^5.1.0", 3750 | "read-chunk": "^2.1.0", 3751 | "read-pkg-up": "^4.0.0", 3752 | "rimraf": "^2.6.2", 3753 | "run-async": "^2.0.0", 3754 | "shelljs": "^0.8.0", 3755 | "text-table": "^0.2.0", 3756 | "through2": "^2.0.0", 3757 | "yeoman-environment": "^2.0.5" 3758 | } 3759 | }, 3760 | "yeoman-test": { 3761 | "version": "2.0.0", 3762 | "resolved": "https://registry.npmjs.org/yeoman-test/-/yeoman-test-2.0.0.tgz", 3763 | "integrity": "sha512-VbwiyvPXDY7pjtIKI3GV6M1W1tmV0B7ijJkb/L28rr92pTxnQD+1FzOXgZRPzqzm1hhpqovgMPJOwIfcXSDWHg==", 3764 | "dev": true, 3765 | "requires": { 3766 | "inquirer": "^6.0.0", 3767 | "lodash": "^4.17.10", 3768 | "mkdirp": "^0.5.1", 3769 | "pinkie-promise": "^2.0.1", 3770 | "rimraf": "^2.4.4", 3771 | "sinon": "^6.1.4", 3772 | "yeoman-environment": "^2.3.0", 3773 | "yeoman-generator": "^3.1.1" 3774 | } 3775 | } 3776 | } 3777 | } 3778 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "generator-feathers-plugin", 3 | "version": "1.0.0", 4 | "description": "A generator for Feathersjs Plugins.", 5 | "keywords": [ 6 | "yeoman-generator", 7 | "feathers" 8 | ], 9 | "homepage": "https://github.com/feathersjs/generator-feathers-plugin", 10 | "bugs": "https://github.com/feathersjs/generator-feathers-plugin/issues", 11 | "author": { 12 | "name": "Feathers contributors", 13 | "email": "hello@feathersjs.com", 14 | "url": "https://feathersjs.com" 15 | }, 16 | "engines": { 17 | "node": ">= 6.0.0" 18 | }, 19 | "contributors": [], 20 | "main": "app/index.js", 21 | "repository": { 22 | "type": "git", 23 | "url": "git://github.com/feathersjs/generator-feathers-plugin.git" 24 | }, 25 | "scripts": { 26 | "lint": "semistandard --fix app/index.js test/**/*.js", 27 | "test": "npm run lint && mocha test/ --timeout 180000", 28 | "publish": "git push origin --tags && npm run changelog && git push origin", 29 | "changelog": "github_changelog_generator && git add CHANGELOG.md && git commit -am \"Updating changelog\"", 30 | "release:patch": "npm version patch && npm publish", 31 | "release:minor": "npm version minor && npm publish", 32 | "release:major": "npm version major && npm publish" 33 | }, 34 | "semistandard": { 35 | "env": [ 36 | "mocha" 37 | ], 38 | "ignore": [ 39 | "/lib" 40 | ] 41 | }, 42 | "dependencies": { 43 | "yeoman-generator": "^3.1.1" 44 | }, 45 | "devDependencies": { 46 | "mocha": "^5.2.0", 47 | "semistandard": "^13.0.1", 48 | "yeoman-test": "^2.0.0" 49 | }, 50 | "license": "MIT" 51 | } 52 | -------------------------------------------------------------------------------- /test/test-creation.js: -------------------------------------------------------------------------------- 1 | /* global describe, it */ 2 | 'use strict'; 3 | 4 | const path = require('path'); 5 | const assert = require('assert'); 6 | const fs = require('fs'); 7 | const { exec } = require('child_process'); 8 | const helpers = require('yeoman-test'); 9 | 10 | describe('feathers-plugin generator', () => { 11 | it('created a plugin with passing tests', done => { 12 | let tmpDir; 13 | 14 | helpers.run(path.join(__dirname, '../app')) 15 | .inTmpDir(function (dir) { 16 | tmpDir = dir; 17 | }) 18 | .withOptions({ 19 | skipInstall: false 20 | }) 21 | .withPrompts({ 22 | name: 'feathers-tmp', 23 | repository: 'feathersjs/feathers-tmp', 24 | description: 'Plugin description here', 25 | client: false 26 | }) 27 | .on('end', function () { 28 | assert.ok(fs.existsSync(path.join(tmpDir, '.npmignore'))); 29 | assert.ok(fs.existsSync(path.join(tmpDir, '.gitignore'))); 30 | assert.ok(fs.existsSync(path.join(tmpDir, '.travis.yml'))); 31 | assert.ok(fs.existsSync(path.join(tmpDir, '.editorconfig'))); 32 | assert.ok(fs.existsSync(path.join(tmpDir, '.istanbul.yml'))); 33 | assert.ok(fs.existsSync(path.join(tmpDir, '.github', 'contributing.md'))); 34 | assert.ok(fs.existsSync(path.join(tmpDir, '.github', 'issue_template.md'))); 35 | assert.ok(fs.existsSync(path.join(tmpDir, '.github', 'pull_request_template.md'))); 36 | assert.ok(fs.existsSync(path.join(tmpDir, 'package.json'))); 37 | assert.ok(fs.existsSync(path.join(tmpDir, 'mocha.opts'))); 38 | assert.ok(fs.existsSync(path.join(tmpDir, 'lib', 'index.js'))); 39 | assert.ok(fs.existsSync(path.join(tmpDir, 'test', 'index.test.js'))); 40 | 41 | const child = exec('npm test', { 42 | cwd: tmpDir 43 | }); 44 | 45 | let buffer = ''; 46 | 47 | child.stdout.on('data', data => { 48 | buffer += data.toString(); 49 | }); 50 | child.stderr.on('data', data => { 51 | buffer += data.toString(); 52 | }); 53 | 54 | child.on('exit', status => { 55 | if (status !== 0) { 56 | return done(new Error(buffer)); 57 | } 58 | 59 | done(); 60 | }); 61 | }); 62 | }); 63 | }); 64 | --------------------------------------------------------------------------------