├── .github ├── ISSUE_TEMPLATE.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── cli.js ├── functions └── generate │ ├── generate.js │ └── package.json ├── index.html ├── package-lock.json ├── package.json └── postlight-labs.gif /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 15 | 16 | - **Platform**: 17 | - **Lorem Ipsum Generator Generator Version**: 18 | - **Node Version (if a Node bug)**: 19 | - **Browser Version (if a browser bug)**: 20 | 21 | ## Expected Behavior 22 | 23 | 24 | 25 | ## Current Behavior 26 | 27 | 28 | 29 | ## Steps to Reproduce 30 | 31 | 32 | 33 | 34 | 35 | 1. 2. 3. 4. 36 | 37 | ## Detailed Description 38 | 39 | 40 | 41 | 42 | 43 | 44 | ## Possible Solution 45 | 46 | 47 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # next.js build output 61 | .next 62 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # The Lorem Ipsum Generator Generator Code of Conduct 2 | 3 | ## Conduct 4 | 5 | **Contact Postlight moderators:** [hello+labs@postlight.com](mailto:hello+labs@postlight.com) 6 | 7 | * We are committed to providing a friendly, safe and welcoming environment for 8 | all, regardless of level of experience, gender, gender identity and expression, 9 | sexual orientation, disability, personal appearance, body size, race, ethnicity, 10 | age, religion, nationality, or other similar characteristic. 11 | 12 | * Please avoid avoid using racist, sexually explicit or otherwise hostile 13 | nicknames that might detract from a friendly, safe and welcoming environment for 14 | all. 15 | 16 | * Please be kind and courteous. There's no need to be mean or rude. 17 | 18 | * Respect that people have differences of opinion and that every design or 19 | implementation choice carries a trade-off and numerous costs. There is seldom a 20 | right answer. 21 | 22 | * Please keep unstructured critique to a minimum. If you have solid ideas you 23 | want to experiment with, make a fork and see how it works. 24 | 25 | * We will exclude you from interaction if you insult, demean or harass anyone. 26 | That is not welcome behavior. We interpret the term "harassment" as including 27 | the definition in the [Citizen Code of Conduct](http://bit.ly/2jCvEok); if you 28 | have any lack of clarity about what might be included in that concept, please 29 | read their definition. In particular, we don't tolerate behavior that excludes 30 | people in socially marginalized groups. 31 | 32 | * Private harassment is also unacceptable. No matter who you are, if you feel 33 | you have been or are being harassed or made uncomfortable by a community member, 34 | please contact one of the channel ops or any of the [Postlight moderation team](mailto:hello+labs@postlight.com) 35 | immediately. Whether you're a regular contributor or a newcomer, we care about 36 | making this community a safe place for you and we've got your back. 37 | 38 | * Likewise any spamming, trolling, flaming, baiting or other attention-stealing 39 | behavior is not welcome. 40 | 41 | ## Moderation 42 | 43 | These are the policies for upholding our community's standards of conduct. If you 44 | feel that a thread needs moderation, please contact the [Postlight moderation team](mailto:hello+labs@postlight.com). 45 | 46 | 1. Remarks that violate the Postlight standards of conduct, including hateful, hurtful, 47 | oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but 48 | never targeting another user, and never in a hateful manner.) 49 | 50 | 2. Remarks that moderators find inappropriate, whether listed in the code of 51 | conduct or not, are also not allowed. 52 | 53 | 3. Moderators will first respond to such remarks with a warning. 54 | 55 | 4. If the warning is unheeded, the user will be "kicked," i.e., kicked out of 56 | the communication channel to cool off. 57 | 58 | 5. If the user comes back and continues to make trouble, they will be banned, 59 | i.e., indefinitely excluded. 60 | 61 | 6. Moderators may choose at their discretion to un-ban the user if it was a first 62 | offense and they offer the offended party a genuine apology. 63 | 64 | 7. If a moderator bans someone and you think it was unjustified, please take it 65 | up with that moderator, or with a different moderator, **in private**. Complaints 66 | about bans in-channel are not allowed. 67 | 68 | 8. Moderators are held to a higher standard than other community members. If a 69 | moderator creates an inappropriate situation, they should expect less leeway than 70 | others. 71 | 72 | In the Postlight community we strive to go the extra step to look out for each other. 73 | Don't just aim to be technically unimpeachable, try to be your best self. In 74 | particular, avoid flirting with offensive or sensitive issues, particularly if 75 | they're off-topic; this all too often leads to unnecessary fights, hurt feelings, 76 | and damaged trust; worse, it can drive people away from the community entirely. 77 | 78 | If someone takes issue with something you said or did, resist the urge to be 79 | defensive. Just stop doing what it was they complained about and apologize. Even 80 | if you feel you were misinterpreted or unfairly accused, chances are good there 81 | was something you could've communicated better — remember that it's your responsibility 82 | to make your fellow community members comfortable. Everyone wants to get along and we 83 | are all here first and foremost because we want to talk about cool technology. 84 | You will find that people will be eager to assume good intent and forgive as long 85 | as you earn their trust. 86 | 87 | The enforcement policies listed above apply to all official Postlight venues; including GitHub 88 | repositories under postlight/. For other projects adopting the Postlight Code of 89 | Conduct, please contact the maintainers of those projects for enforcement. If 90 | you wish to use this code of conduct for your own project, consider explicitly 91 | mentioning your moderation policy or making a copy with your own moderation 92 | policy so as to avoid confusion. 93 | 94 | *Adapted from the [Rust Code of Conduct](https://bit.ly/2jhrmEo).* 95 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Lorem Ipsum Generator Generator 2 | 3 | Thank you for your interest in contributing to Lorem Ipsum Generator Generator! 4 | It's people like you that make it a fun tool. The below guidelines will help 5 | answer any questions you may have about the contribution process. We look 6 | forward to receiving contributions from you — our community! 7 | 8 | _Please read our [Code of Conduct](./CODE_OF_CONDUCT.md) before participating._ 9 | 10 | ## Contents 11 | 12 | - [Contributing to Lorem Ipsum Generator Generator](#contributing-to-lorem-ipsum-generator-generator) 13 | - [Contents](#contents) 14 | - [Ways to Contribute](#ways-to-contribute) 15 | - [Reporting a Bug](#reporting-a-bug) 16 | - [Security](#security) 17 | - [Requesting a Feature](#requesting-a-feature) 18 | - [Writing Documentation](#writing-documentation) 19 | - [Submitting a Pull Request](#submitting-a-pull-request) 20 | - [Commit Style](#commit-style) 21 | - [Code Reviews](#code-reviews) 22 | - [Helpful Links and Information](#helpful-links-and-information) 23 | 24 | ## Ways to Contribute 25 | 26 | There are many ways you can contribute to Lorem Ipsum Generator Generator. We 27 | value each type of contribution and appreciate your help. 28 | 29 | Here are a few examples of what we consider a contribution: 30 | 31 | - Updates to source code, including bug fixes and improvements. 32 | - Filing, organizing, and commenting on issues in the [issue tracker](https://github.com/postlight/lorem-ipsum-generator-generator/issues) 33 | - Teaching others how to use Lorem Ipsum Generator Generator 34 | - Community building and outreach 35 | 36 | ## Reporting a Bug 37 | 38 | While bugs are unfortunate, they're a reality in software. We can't fix what we 39 | don't know about, so please report liberally. If you're not sure if something is 40 | a bug or not, feel free to file a bug anyway. 41 | 42 | If you have the chance, before reporting a bug, please search existing issues, 43 | as it's possible that someone else has already reported the error. This doesn't 44 | always work, and sometimes it's hard to know what to search for, so consider 45 | this extra credit. We won't mind if you accidentally file a duplicate report. 46 | 47 | Opening an issue is as easy as following [this link](https://github.com/postlight/lorem-ipsum-generator-generator/issues/new) 48 | and filling out the template. 49 | 50 | ### Security 51 | 52 | If you find a security bug in Lorem Ipsum Generator Generator, send an email with a descriptive subject line 53 | to [hello+labs@postlight.com](mailto:hello+labs@postlight.com). If you think 54 | you’ve found a serious vulnerability, please do not file a public issue. 55 | 56 | Your report will go to Postlight's core development team. You will receive 57 | acknowledgement of the report in 24-48 hours, and our next steps should be to 58 | release a fix. 59 | 60 | A working list of public, known security-related issues can be found in the 61 | [issue tracker](https://github.com/postlight/lorem-ipsum-generator-generator/issues?q=is%3Aopen+is%3Aissue+label%3Asecurity). 62 | 63 | ## Requesting a Feature 64 | 65 | To request a change to the way that Lorem Ipsum Generator Generator works, 66 | please open an issue in this repository named, "Feature Request: [Your Feature 67 | Idea]," followed by your suggestion. 68 | 69 | ## Writing Documentation 70 | 71 | Improvements to documentation are a great way to start contributing to Lorem 72 | Ipsum Generator Generator. The source for the official documentation are 73 | Markdown files that live in this repository. 74 | 75 | ## Submitting a Pull Request 76 | 77 | Want to make a change to Lorem Ipsum Generator Generator? Submit a pull 78 | request! We use the "fork and pull" model [described 79 | here](https://help.github.com/articles/creating-a-pull-request-from-a-fork). 80 | 81 | **Before submitting a pull request**, please make sure you have updated any 82 | documentation in the source code comments for APIs that you may have changed. 83 | 84 | ### Commit Style 85 | 86 | Commit messages should follow the format outlined below: 87 | 88 | `prefix: message in present tense` 89 | 90 | | Prefix | Description | 91 | | -------: | :----------------------------------------------------------------------- | 92 | | chore | does not effect the production version of the app in any way. | 93 | | deps | add, update, or remove a dependency. | 94 | | doc | add, update, or remove documentation. no code changes. | 95 | | dx | improve the development experience of mercury core. | 96 | | feat | a feature or enhancement. can be incredibly small. | 97 | | fix | a bug fix for something that was broken. | 98 | | perf | add, update, or fix a test. | 99 | | refactor | change code, but not functionality. | 100 | | style | change code style, like removing whitespace. no functional code changes. | 101 | | test | add, update, or fix a test. | 102 | 103 | ### Code Reviews 104 | 105 | Once you have submitted a pull request, a member of the core team must review it 106 | before it is merged. We try to review pull requests within 3 days but sometimes 107 | fall behind. Feel free to reach out to the core team if you have not received a review after 3 days. 108 | 109 | ## Helpful Links and Information 110 | 111 | Some useful places to look for information are: 112 | 113 | - The main [README](./README.md) for this repository. 114 | 115 | _Adapted from [Contributing to Node.js](https://github.com/nodejs/node/blob/master/CONTRIBUTING.md) 116 | and [ThinkUp Security and Data Privacy](http://thinkup.readthedocs.io/en/latest/install/security.html#thinkup-security-and-data-privacy)._ 117 | -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright 2019 Postlight 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Postlight 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Lorem Ipsum Generator Generator 2 | 3 | [Postlight](https://postlight.com)'s Lorem Ipsum Generator Generator creates a lorem ipsum generator site from any content on the web using [Mercury Parser](https://mercury.postlight.com). Read all about it in [this handy introduction](https://postlight.com/trackchanges/introducing-postlights-lorem-ipsum-generator-generator). 4 | 5 | ## Before you install 6 | 7 | 1. Install [node](https://nodejs.org). 8 | 2. [Create a Netlify account](https://app.netlify.com/signup). 9 | 3. Gather one or more URLs to use as the corpus for your lorem ipsum generator. 10 | 11 | ## Installation 12 | 13 | ```shell 14 | $ npx @postlight/lorem-ipsum-generator-generator 15 | ``` 16 | 17 | and follow the prompts. 18 | 19 | or 20 | 21 | ```shell 22 | $ npx @postlight/lorem-ipsum-generator-generator \ 23 | http://example.com \ 24 | https://postlight.com/trackchanges/mercury-goes-open-source \ 25 | --project-name "My Ipsum" \ 26 | --logo https://placekitten.com/300/300 \ 27 | --background https://placekitten.com/800/600 \ 28 | --accent "#facade" 29 | ``` 30 | 31 | The generator will create a folder for your project, install the necessary node 32 | packages, and kick off `netlify-cli` to deploy it to the web. The first time you 33 | use the generator, you'll be asked to authorize it to connect to your Netlify 34 | account. 35 | 36 | If you're not connecting it to an existing Netlify site, choose `Create & 37 | configure a new site`, and feel free to accept the defaults for the rest of the 38 | propmpts (everything can be changed later in Netlify's site settings pages). 39 | 40 | Once the deploy succeeds, your new lorem ipsum generator will open in your 41 | default browser. Enjoy! 42 | 43 | ## Hit the endpoint directly 44 | 45 | Your generator is powered by a function that accepts GET requests at 46 | `https://[your site id].netlify.com/.netlify/functions/generate`. 47 | 48 | It accepts URL parameters for the number of paragraphs: 49 | `https://fyreipsum.com/.netlify/functions/generate?paragraphs=3` 50 | 51 | ...or the number of words to return in a single paragraph: 52 | `https://fyreipsum.com/.netlify/functions/generate?words=25` 53 | 54 | and returns a JSON object with an array of paragraphs under the key `paragraphs`. 55 | 56 | ## Customization 57 | 58 | Feel free to customize your site and re-deploy it at will. All the styles and 59 | behavior live in your site directory's `index.html`, including some social meta 60 | tags you can update if you wire up your site to a domain name. 61 | 62 | The Netlify function that generates the lorem ipsum text is created in the 63 | `functions/generate` folder. It's small and easy to change, if you want 64 | different defaults! 65 | 66 | To re-deploy after your customizations, run `npm run deploy`. 67 | 68 | ## License 69 | 70 | Licensed under either of the below, at your preference: 71 | 72 | - Apache License, Version 2.0 73 | ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) 74 | - MIT license 75 | ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) 76 | 77 | ## Contributing 78 | 79 | For details on how to contribute, see [CONTRIBUTING.md](./CONTRIBUTING.md) 80 | 81 | Unless it is explicitly stated otherwise, any contribution intentionally 82 | submitted for inclusion in the work, as defined in the Apache-2.0 license, 83 | shall be dual licensed as above without any additional terms or conditions. 84 | 85 | --- 86 | 87 | 🔬 A Labs project from your friends at [Postlight](https://postlight.com). Happy coding! 88 | 89 | -------------------------------------------------------------------------------- /cli.js: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env node 2 | 3 | var fs = require("fs") 4 | var spawn = require("cross-spawn") 5 | var path = require("path") 6 | var Mercury = require("@postlight/mercury-parser") 7 | var markov = require("markov") 8 | var slugify = require("slugify") 9 | var commander = require("commander") 10 | var inquirer = require("inquirer") 11 | 12 | var program = new commander.Command('lorem-ipsum-generator-generator') 13 | .version("1.0.0") 14 | .usage(' [options]') 15 | .option('-p, --project-name [name]') 16 | .option('-l, --logo [logo]') 17 | .option('-b, --background [background]') 18 | .option('-a, --accent [accent]') 19 | .parse(process.argv) 20 | 21 | var options = { 22 | name: program.projectName, 23 | logo: program.logo, 24 | background: program.background, 25 | accent: program.accent, 26 | urls: program.args 27 | } 28 | 29 | run() 30 | 31 | async function run() { 32 | if (!options.name) { 33 | await ask() 34 | } 35 | if (options.urls.length === 0) { 36 | await askUrls() 37 | } 38 | generate() 39 | } 40 | 41 | async function ask() { 42 | var answers = await inquirer.prompt([ 43 | { 44 | type: 'input', 45 | name: 'name', 46 | message: 'Name of your generator:', 47 | default: options.name, 48 | validate: Boolean 49 | }, 50 | { 51 | type: 'input', 52 | name: 'logo', 53 | message: '(Optional) URL of a logo image:', 54 | default: options.logo 55 | }, 56 | { 57 | type: 'input', 58 | name: 'background', 59 | message: '(Optional) URL of a background image:', 60 | default: options.background 61 | }, 62 | { 63 | type: 'input', 64 | name: 'accent', 65 | message: '(Optional) Accent color (hex, rgb, named color, whatever):', 66 | default: options.accent 67 | } 68 | ]) 69 | 70 | options.name = answers.name 71 | options.logo = answers.logo 72 | options.background = answers.background 73 | options.accent = answers.accent 74 | } 75 | 76 | async function askUrls() { 77 | var answers = await inquirer.prompt([ 78 | { 79 | type: 'input', 80 | name: 'url', 81 | message: 'URL of a source for your generator:' 82 | }, 83 | { 84 | type: 'confirm', 85 | name: 'addUrl', 86 | message: 'Add another source?', 87 | default: true 88 | } 89 | ]) 90 | 91 | options.urls.push(answers.url) 92 | if (answers.addUrl) { 93 | await askUrls() 94 | } 95 | } 96 | 97 | async function generate() { 98 | var name = slugify(options.name, {lower: true}) 99 | var root = path.resolve(name) 100 | var corpus = await fetchText(options.urls) 101 | 102 | if (!corpus) { 103 | console.log('Mercury couldn’t find any usable text at your sources.') 104 | process.exit() 105 | } 106 | 107 | if (fs.existsSync(root)) { 108 | console.log(`A folder with the name ${name} already exists. We don't want to overwrite that!`) 109 | process.exit() 110 | } 111 | 112 | fs.mkdirSync(root); 113 | fs.mkdirSync(path.join(root, 'functions')) 114 | fs.mkdirSync(path.join(root, 'functions/generate')) 115 | 116 | var files = [ 117 | 'postlight-labs.gif', 118 | 'functions/generate/generate.js', 119 | 'functions/generate/package.json' 120 | ] 121 | files.forEach(f => fs.copyFileSync(path.join(__dirname, f), path.join(root, f))) 122 | writeDb(corpus) 123 | 124 | var packageJson = { 125 | name, 126 | version: '1.0.0', 127 | private: true, 128 | description: 'A lorem ipsum generator based on text found by Mercury Parser', 129 | scripts: { 130 | deploy: './node_modules/.bin/netlify deploy --prod --open' 131 | }, 132 | dependencies: { 133 | "netlify-cli": "2.8.3" 134 | } 135 | } 136 | fs.writeFileSync(path.join(root, 'package.json'), JSON.stringify(packageJson, null, 2)) 137 | 138 | var index = fs.readFileSync(path.join(__dirname, 'index.html'), 'utf8') 139 | var updatedIndex = index.replace(/My Ipsum/g, options.name) 140 | if (options.logo) { 141 | updatedIndex = updatedIndex.replace(//g, ``) 142 | } 143 | if (options.background) { 144 | updatedIndex = updatedIndex.replace(/dimgray/g, `url('${options.background}')`) 145 | } 146 | if (options.accent) { 147 | updatedIndex = updatedIndex.replace(/#111111/g, options.accent) 148 | } 149 | fs.writeFileSync(path.join(root, 'index.html'), updatedIndex) 150 | 151 | process.chdir(root) 152 | var npmInstall = spawn.sync('npm', ['install'], { stdio: 'inherit' }) 153 | 154 | process.chdir(path.join(root, 'functions/generate')) 155 | var npmInstallFunc = spawn.sync('npm', ['install'], { stdio: 'inherit' }) 156 | 157 | process.chdir(root) 158 | var netlifyDeploy = spawn.sync( 159 | './node_modules/.bin/netlify', 160 | ['deploy', '--prod', '--open', '--functions', 'functions'], 161 | { stdio: 'inherit' } 162 | ) 163 | 164 | return true 165 | 166 | function writeDb(corpus) { 167 | var m = markov(2) 168 | m.seed(corpus, () => { 169 | fs.writeFileSync(path.join(root, 'functions/generate/db.json'), JSON.stringify(m.getDb())) 170 | }) 171 | } 172 | } 173 | 174 | async function fetchText(urls = []) { 175 | var contents = urls.map(async u => { 176 | var res = await Mercury.parse(u, {contentType: 'text'}) 177 | return res.content.trim() 178 | }) 179 | 180 | return Promise.all(contents).then(c => c.join('')) 181 | } 182 | -------------------------------------------------------------------------------- /functions/generate/generate.js: -------------------------------------------------------------------------------- 1 | var path = require("path") 2 | var markov = require("markov") 3 | var m = markov() 4 | var db = require(path.resolve(process.cwd(), 'db.json')) 5 | m.setDb(db); 6 | 7 | exports.handler = function(event, _, callback) { 8 | function graf (words) { 9 | var length = (words / 2) || 50 10 | var chain = m.fill(m.pick(), length) 11 | return chain 12 | .join(" ") 13 | .split(".") 14 | .map(s => { 15 | s = s.trim() 16 | return `${s.charAt(0).toUpperCase()}${s.slice(1)}.` 17 | }) 18 | .join(" ") 19 | } 20 | 21 | var grafs = [] 22 | 23 | if (event.queryStringParameters.paragraphs) { 24 | for (var i = 0; i < event.queryStringParameters.paragraphs; i++) { 25 | grafs.push(graf()) 26 | } 27 | } else { 28 | grafs.push(graf(event.queryStringParameters.words)) 29 | } 30 | 31 | callback(null, { 32 | statusCode: 200, 33 | body: JSON.stringify({paragraphs: grafs}) 34 | }) 35 | } 36 | 37 | -------------------------------------------------------------------------------- /functions/generate/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "generate-ipsum", 3 | "version": "1.0.0", 4 | "description": "generate lorem ipsum from a given data table", 5 | "main": "generate.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Drew Bell", 10 | "license": "ISC", 11 | "dependencies": { 12 | "markov": "git+https://git@github.com/postlight/node-markov.git" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | My Ipsum 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | 20 | 21 | 216 | 217 | 218 | 219 |

My Ipsum

220 |

Lorem ipsum generated by Mercury Parser.

221 |
222 |
223 |
224 |
225 | 226 | 230 |
231 |
232 | 235 | 238 |
239 |
240 |
241 |
242 |
243 | 244 | 245 |
246 |
247 | 257 | 322 | 323 | 324 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@postlight/lorem-ipsum-generator-generator", 3 | "version": "1.1.3", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/runtime-corejs2": { 8 | "version": "7.4.3", 9 | "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.4.3.tgz", 10 | "integrity": "sha512-anTLTF7IK8Hd5f73zpPzt875I27UaaTWARJlfMGgnmQhvEe1uNHQRKBUbXL0Gc0VEYiVzsHsTPso5XdK8NGvFg==", 11 | "requires": { 12 | "core-js": "^2.6.5", 13 | "regenerator-runtime": "^0.13.2" 14 | } 15 | }, 16 | "@postlight/ci-failed-test-reporter": { 17 | "version": "1.0.25", 18 | "resolved": "https://registry.npmjs.org/@postlight/ci-failed-test-reporter/-/ci-failed-test-reporter-1.0.25.tgz", 19 | "integrity": "sha512-Qs2sZVbhjVd0WEyw6gcU4IfE9Ga98ZSUxeJgWwCNYBbDTifJ0pLo6KiTV9UDbJ9if3/93XM/Ef8IlFL+wkg9rw==", 20 | "requires": { 21 | "dotenv": "^6.2.0", 22 | "node-fetch": "^2.3.0" 23 | } 24 | }, 25 | "@postlight/mercury-parser": { 26 | "version": "2.1.0", 27 | "resolved": "https://registry.npmjs.org/@postlight/mercury-parser/-/mercury-parser-2.1.0.tgz", 28 | "integrity": "sha512-fUj7U4wg2FRdBDDDzO/wxFTSqfc0vF1QULoR0xT4H4rFUolWzvz495alaDyk3QDQAaR+Nu6UZ+CtjRenRfTk3w==", 29 | "requires": { 30 | "@babel/runtime-corejs2": "^7.2.0", 31 | "@postlight/ci-failed-test-reporter": "^1.0", 32 | "browser-request": "github:postlight/browser-request#feat-add-headers-to-response", 33 | "cheerio": "^0.22.0", 34 | "difflib": "github:postlight/difflib.js", 35 | "ellipsize": "0.1.0", 36 | "iconv-lite": "0.4.24", 37 | "jquery": "^3.3.1", 38 | "moment": "^2.23.0", 39 | "moment-parseformat": "3.0.0", 40 | "moment-timezone": "0.5.23", 41 | "phantomjs-prebuilt": "^2.1.16", 42 | "postman-request": "^2.88.1-postman.7.1", 43 | "request-promise": "^4.2.2", 44 | "string-direction": "^0.1.2", 45 | "turndown": "^5.0.3", 46 | "url": "^0.11.0", 47 | "valid-url": "^1.0.9", 48 | "wuzzy": "^0.1.3", 49 | "yargs-parser": "^13.0.0" 50 | }, 51 | "dependencies": { 52 | "http-headers": { 53 | "version": "3.0.2", 54 | "bundled": true, 55 | "requires": { 56 | "next-line": "^1.1.0" 57 | } 58 | }, 59 | "jquery": { 60 | "version": "3.3.1", 61 | "bundled": true 62 | }, 63 | "moment": { 64 | "version": "2.23.0", 65 | "bundled": true 66 | }, 67 | "moment-timezone": { 68 | "version": "0.5.23", 69 | "bundled": true, 70 | "requires": { 71 | "moment": ">= 2.9.0" 72 | } 73 | }, 74 | "next-line": { 75 | "version": "1.1.0", 76 | "bundled": true 77 | } 78 | } 79 | }, 80 | "abab": { 81 | "version": "2.0.0", 82 | "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", 83 | "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==" 84 | }, 85 | "acorn": { 86 | "version": "5.7.3", 87 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", 88 | "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" 89 | }, 90 | "acorn-globals": { 91 | "version": "4.3.0", 92 | "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", 93 | "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", 94 | "requires": { 95 | "acorn": "^6.0.1", 96 | "acorn-walk": "^6.0.1" 97 | }, 98 | "dependencies": { 99 | "acorn": { 100 | "version": "6.1.1", 101 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", 102 | "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" 103 | } 104 | } 105 | }, 106 | "acorn-walk": { 107 | "version": "6.1.1", 108 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", 109 | "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==" 110 | }, 111 | "ajv": { 112 | "version": "6.10.0", 113 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", 114 | "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", 115 | "requires": { 116 | "fast-deep-equal": "^2.0.1", 117 | "fast-json-stable-stringify": "^2.0.0", 118 | "json-schema-traverse": "^0.4.1", 119 | "uri-js": "^4.2.2" 120 | } 121 | }, 122 | "ansi-escapes": { 123 | "version": "3.2.0", 124 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 125 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" 126 | }, 127 | "ansi-styles": { 128 | "version": "3.2.1", 129 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 130 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 131 | "requires": { 132 | "color-convert": "^1.9.0" 133 | } 134 | }, 135 | "array-equal": { 136 | "version": "1.0.0", 137 | "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", 138 | "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" 139 | }, 140 | "asn1": { 141 | "version": "0.2.4", 142 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 143 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 144 | "requires": { 145 | "safer-buffer": "~2.1.0" 146 | } 147 | }, 148 | "assert-plus": { 149 | "version": "1.0.0", 150 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 151 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 152 | }, 153 | "async-limiter": { 154 | "version": "1.0.0", 155 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", 156 | "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" 157 | }, 158 | "asynckit": { 159 | "version": "0.4.0", 160 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 161 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 162 | }, 163 | "aws-sign2": { 164 | "version": "0.7.0", 165 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 166 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 167 | }, 168 | "aws4": { 169 | "version": "1.8.0", 170 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", 171 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" 172 | }, 173 | "bcrypt-pbkdf": { 174 | "version": "1.0.2", 175 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 176 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 177 | "requires": { 178 | "tweetnacl": "^0.14.3" 179 | } 180 | }, 181 | "bluebird": { 182 | "version": "2.11.0", 183 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", 184 | "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" 185 | }, 186 | "boolbase": { 187 | "version": "1.0.0", 188 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 189 | "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" 190 | }, 191 | "browser-process-hrtime": { 192 | "version": "0.1.3", 193 | "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", 194 | "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==" 195 | }, 196 | "browser-request": { 197 | "version": "github:postlight/browser-request#38faa5b85741aabfca61aa37d1ef044d68969ddf", 198 | "from": "github:postlight/browser-request#feat-add-headers-to-response", 199 | "requires": { 200 | "http-headers": "^3.0.1" 201 | } 202 | }, 203 | "buffer-from": { 204 | "version": "1.1.1", 205 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 206 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" 207 | }, 208 | "camelcase": { 209 | "version": "5.3.1", 210 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 211 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" 212 | }, 213 | "caseless": { 214 | "version": "0.12.0", 215 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 216 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 217 | }, 218 | "chalk": { 219 | "version": "2.4.2", 220 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 221 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 222 | "requires": { 223 | "ansi-styles": "^3.2.1", 224 | "escape-string-regexp": "^1.0.5", 225 | "supports-color": "^5.3.0" 226 | } 227 | }, 228 | "chardet": { 229 | "version": "0.7.0", 230 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 231 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 232 | }, 233 | "cheerio": { 234 | "version": "0.22.0", 235 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", 236 | "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", 237 | "requires": { 238 | "css-select": "~1.2.0", 239 | "dom-serializer": "~0.1.0", 240 | "entities": "~1.1.1", 241 | "htmlparser2": "^3.9.1", 242 | "lodash.assignin": "^4.0.9", 243 | "lodash.bind": "^4.1.4", 244 | "lodash.defaults": "^4.0.1", 245 | "lodash.filter": "^4.4.0", 246 | "lodash.flatten": "^4.2.0", 247 | "lodash.foreach": "^4.3.0", 248 | "lodash.map": "^4.4.0", 249 | "lodash.merge": "^4.4.0", 250 | "lodash.pick": "^4.2.1", 251 | "lodash.reduce": "^4.4.0", 252 | "lodash.reject": "^4.4.0", 253 | "lodash.some": "^4.4.0" 254 | } 255 | }, 256 | "cli-cursor": { 257 | "version": "2.1.0", 258 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 259 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 260 | "requires": { 261 | "restore-cursor": "^2.0.0" 262 | } 263 | }, 264 | "cli-width": { 265 | "version": "2.2.0", 266 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 267 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" 268 | }, 269 | "color-convert": { 270 | "version": "1.9.3", 271 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 272 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 273 | "requires": { 274 | "color-name": "1.1.3" 275 | } 276 | }, 277 | "color-name": { 278 | "version": "1.1.3", 279 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 280 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 281 | }, 282 | "combined-stream": { 283 | "version": "1.0.7", 284 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", 285 | "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", 286 | "requires": { 287 | "delayed-stream": "~1.0.0" 288 | } 289 | }, 290 | "commander": { 291 | "version": "2.19.0", 292 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", 293 | "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" 294 | }, 295 | "concat-stream": { 296 | "version": "1.6.2", 297 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", 298 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", 299 | "requires": { 300 | "buffer-from": "^1.0.0", 301 | "inherits": "^2.0.3", 302 | "readable-stream": "^2.2.2", 303 | "typedarray": "^0.0.6" 304 | }, 305 | "dependencies": { 306 | "readable-stream": { 307 | "version": "2.3.6", 308 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 309 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 310 | "requires": { 311 | "core-util-is": "~1.0.0", 312 | "inherits": "~2.0.3", 313 | "isarray": "~1.0.0", 314 | "process-nextick-args": "~2.0.0", 315 | "safe-buffer": "~5.1.1", 316 | "string_decoder": "~1.1.1", 317 | "util-deprecate": "~1.0.1" 318 | } 319 | }, 320 | "string_decoder": { 321 | "version": "1.1.1", 322 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 323 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 324 | "requires": { 325 | "safe-buffer": "~5.1.0" 326 | } 327 | } 328 | } 329 | }, 330 | "core-js": { 331 | "version": "2.6.5", 332 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", 333 | "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" 334 | }, 335 | "core-util-is": { 336 | "version": "1.0.2", 337 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 338 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 339 | }, 340 | "cross-spawn": { 341 | "version": "6.0.5", 342 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 343 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 344 | "requires": { 345 | "nice-try": "^1.0.4", 346 | "path-key": "^2.0.1", 347 | "semver": "^5.5.0", 348 | "shebang-command": "^1.2.0", 349 | "which": "^1.2.9" 350 | } 351 | }, 352 | "css-select": { 353 | "version": "1.2.0", 354 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", 355 | "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", 356 | "requires": { 357 | "boolbase": "~1.0.0", 358 | "css-what": "2.1", 359 | "domutils": "1.5.1", 360 | "nth-check": "~1.0.1" 361 | } 362 | }, 363 | "css-what": { 364 | "version": "2.1.3", 365 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", 366 | "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" 367 | }, 368 | "cssom": { 369 | "version": "0.3.6", 370 | "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", 371 | "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==" 372 | }, 373 | "cssstyle": { 374 | "version": "1.2.2", 375 | "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz", 376 | "integrity": "sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==", 377 | "requires": { 378 | "cssom": "0.3.x" 379 | } 380 | }, 381 | "dashdash": { 382 | "version": "1.14.1", 383 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 384 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 385 | "requires": { 386 | "assert-plus": "^1.0.0" 387 | } 388 | }, 389 | "data-urls": { 390 | "version": "1.1.0", 391 | "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", 392 | "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", 393 | "requires": { 394 | "abab": "^2.0.0", 395 | "whatwg-mimetype": "^2.2.0", 396 | "whatwg-url": "^7.0.0" 397 | }, 398 | "dependencies": { 399 | "whatwg-url": { 400 | "version": "7.0.0", 401 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", 402 | "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", 403 | "requires": { 404 | "lodash.sortby": "^4.7.0", 405 | "tr46": "^1.0.1", 406 | "webidl-conversions": "^4.0.2" 407 | } 408 | } 409 | } 410 | }, 411 | "debug": { 412 | "version": "2.6.9", 413 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 414 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 415 | "requires": { 416 | "ms": "2.0.0" 417 | } 418 | }, 419 | "decamelize": { 420 | "version": "1.2.0", 421 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 422 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" 423 | }, 424 | "deck": { 425 | "version": "0.0.4", 426 | "resolved": "https://registry.npmjs.org/deck/-/deck-0.0.4.tgz", 427 | "integrity": "sha1-1NidRguoHuggsEoFp9Dc5k2Lcwo=" 428 | }, 429 | "deep-is": { 430 | "version": "0.1.3", 431 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 432 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" 433 | }, 434 | "delayed-stream": { 435 | "version": "1.0.0", 436 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 437 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 438 | }, 439 | "difflib": { 440 | "version": "github:postlight/difflib.js#32e8e38c7fcd935241b9baab71bb432fd9b166ed", 441 | "from": "github:postlight/difflib.js", 442 | "requires": { 443 | "heap": ">= 0.2.0" 444 | } 445 | }, 446 | "dom-serializer": { 447 | "version": "0.1.1", 448 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", 449 | "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", 450 | "requires": { 451 | "domelementtype": "^1.3.0", 452 | "entities": "^1.1.1" 453 | } 454 | }, 455 | "domelementtype": { 456 | "version": "1.3.1", 457 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", 458 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" 459 | }, 460 | "domexception": { 461 | "version": "1.0.1", 462 | "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", 463 | "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", 464 | "requires": { 465 | "webidl-conversions": "^4.0.2" 466 | } 467 | }, 468 | "domhandler": { 469 | "version": "2.4.2", 470 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", 471 | "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", 472 | "requires": { 473 | "domelementtype": "1" 474 | } 475 | }, 476 | "domutils": { 477 | "version": "1.5.1", 478 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", 479 | "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", 480 | "requires": { 481 | "dom-serializer": "0", 482 | "domelementtype": "1" 483 | } 484 | }, 485 | "dotenv": { 486 | "version": "6.2.0", 487 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", 488 | "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==" 489 | }, 490 | "ecc-jsbn": { 491 | "version": "0.1.2", 492 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 493 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 494 | "requires": { 495 | "jsbn": "~0.1.0", 496 | "safer-buffer": "^2.1.0" 497 | } 498 | }, 499 | "ellipsize": { 500 | "version": "0.1.0", 501 | "resolved": "https://registry.npmjs.org/ellipsize/-/ellipsize-0.1.0.tgz", 502 | "integrity": "sha1-nUNoLUS5GtFuvYQmisEDFwplU/g=" 503 | }, 504 | "entities": { 505 | "version": "1.1.2", 506 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 507 | "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" 508 | }, 509 | "es6-promise": { 510 | "version": "4.2.6", 511 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", 512 | "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==" 513 | }, 514 | "escape-string-regexp": { 515 | "version": "1.0.5", 516 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 517 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 518 | }, 519 | "escodegen": { 520 | "version": "1.11.1", 521 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", 522 | "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", 523 | "requires": { 524 | "esprima": "^3.1.3", 525 | "estraverse": "^4.2.0", 526 | "esutils": "^2.0.2", 527 | "optionator": "^0.8.1", 528 | "source-map": "~0.6.1" 529 | } 530 | }, 531 | "esprima": { 532 | "version": "3.1.3", 533 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", 534 | "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" 535 | }, 536 | "estraverse": { 537 | "version": "4.2.0", 538 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 539 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" 540 | }, 541 | "esutils": { 542 | "version": "2.0.2", 543 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 544 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" 545 | }, 546 | "extend": { 547 | "version": "3.0.2", 548 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 549 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 550 | }, 551 | "external-editor": { 552 | "version": "3.0.3", 553 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", 554 | "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", 555 | "requires": { 556 | "chardet": "^0.7.0", 557 | "iconv-lite": "^0.4.24", 558 | "tmp": "^0.0.33" 559 | } 560 | }, 561 | "extract-zip": { 562 | "version": "1.6.7", 563 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", 564 | "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", 565 | "requires": { 566 | "concat-stream": "1.6.2", 567 | "debug": "2.6.9", 568 | "mkdirp": "0.5.1", 569 | "yauzl": "2.4.1" 570 | } 571 | }, 572 | "extsprintf": { 573 | "version": "1.3.0", 574 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 575 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 576 | }, 577 | "fast-deep-equal": { 578 | "version": "2.0.1", 579 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 580 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" 581 | }, 582 | "fast-json-stable-stringify": { 583 | "version": "2.0.0", 584 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 585 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 586 | }, 587 | "fast-levenshtein": { 588 | "version": "2.0.6", 589 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 590 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" 591 | }, 592 | "fd-slicer": { 593 | "version": "1.0.1", 594 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", 595 | "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", 596 | "requires": { 597 | "pend": "~1.2.0" 598 | } 599 | }, 600 | "figures": { 601 | "version": "2.0.0", 602 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 603 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 604 | "requires": { 605 | "escape-string-regexp": "^1.0.5" 606 | } 607 | }, 608 | "forever-agent": { 609 | "version": "0.6.1", 610 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 611 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 612 | }, 613 | "form-data": { 614 | "version": "2.3.3", 615 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 616 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 617 | "requires": { 618 | "asynckit": "^0.4.0", 619 | "combined-stream": "^1.0.6", 620 | "mime-types": "^2.1.12" 621 | } 622 | }, 623 | "fs-extra": { 624 | "version": "1.0.0", 625 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", 626 | "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", 627 | "requires": { 628 | "graceful-fs": "^4.1.2", 629 | "jsonfile": "^2.1.0", 630 | "klaw": "^1.0.0" 631 | } 632 | }, 633 | "getpass": { 634 | "version": "0.1.7", 635 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 636 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 637 | "requires": { 638 | "assert-plus": "^1.0.0" 639 | } 640 | }, 641 | "graceful-fs": { 642 | "version": "4.1.15", 643 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", 644 | "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" 645 | }, 646 | "har-schema": { 647 | "version": "2.0.0", 648 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 649 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 650 | }, 651 | "har-validator": { 652 | "version": "5.1.3", 653 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", 654 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", 655 | "requires": { 656 | "ajv": "^6.5.5", 657 | "har-schema": "^2.0.0" 658 | } 659 | }, 660 | "has-flag": { 661 | "version": "3.0.0", 662 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 663 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 664 | }, 665 | "hasha": { 666 | "version": "2.2.0", 667 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", 668 | "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", 669 | "requires": { 670 | "is-stream": "^1.0.1", 671 | "pinkie-promise": "^2.0.0" 672 | } 673 | }, 674 | "hashish": { 675 | "version": "0.0.4", 676 | "resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz", 677 | "integrity": "sha1-bWC8b/r3Ebav1g5CbQd5iAFOZVQ=", 678 | "requires": { 679 | "traverse": ">=0.2.4" 680 | } 681 | }, 682 | "heap": { 683 | "version": "0.2.6", 684 | "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", 685 | "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" 686 | }, 687 | "html-encoding-sniffer": { 688 | "version": "1.0.2", 689 | "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", 690 | "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", 691 | "requires": { 692 | "whatwg-encoding": "^1.0.1" 693 | } 694 | }, 695 | "htmlparser2": { 696 | "version": "3.10.1", 697 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", 698 | "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", 699 | "requires": { 700 | "domelementtype": "^1.3.1", 701 | "domhandler": "^2.3.0", 702 | "domutils": "^1.5.1", 703 | "entities": "^1.1.1", 704 | "inherits": "^2.0.1", 705 | "readable-stream": "^3.1.1" 706 | } 707 | }, 708 | "http-headers": { 709 | "version": "3.0.2", 710 | "resolved": "https://registry.npmjs.org/http-headers/-/http-headers-3.0.2.tgz", 711 | "integrity": "sha512-87E1I+2Wg4dxxz4rcxElo3dxO/w1ZtgL1yA0Sb6vH3qU16vRKq1NjWQv9SCY3ly2OQROcoxHZOUpmelS+k6wOw==", 712 | "requires": { 713 | "next-line": "^1.1.0" 714 | } 715 | }, 716 | "http-signature": { 717 | "version": "1.2.0", 718 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 719 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 720 | "requires": { 721 | "assert-plus": "^1.0.0", 722 | "jsprim": "^1.2.2", 723 | "sshpk": "^1.7.0" 724 | } 725 | }, 726 | "iconv-lite": { 727 | "version": "0.4.24", 728 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 729 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 730 | "requires": { 731 | "safer-buffer": ">= 2.1.2 < 3" 732 | } 733 | }, 734 | "inherits": { 735 | "version": "2.0.3", 736 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 737 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 738 | }, 739 | "inquirer": { 740 | "version": "6.2.2", 741 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", 742 | "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", 743 | "requires": { 744 | "ansi-escapes": "^3.2.0", 745 | "chalk": "^2.4.2", 746 | "cli-cursor": "^2.1.0", 747 | "cli-width": "^2.0.0", 748 | "external-editor": "^3.0.3", 749 | "figures": "^2.0.0", 750 | "lodash": "^4.17.11", 751 | "mute-stream": "0.0.7", 752 | "run-async": "^2.2.0", 753 | "rxjs": "^6.4.0", 754 | "string-width": "^2.1.0", 755 | "strip-ansi": "^5.0.0", 756 | "through": "^2.3.6" 757 | }, 758 | "dependencies": { 759 | "ansi-regex": { 760 | "version": "4.0.0", 761 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", 762 | "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==" 763 | }, 764 | "strip-ansi": { 765 | "version": "5.0.0", 766 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", 767 | "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", 768 | "requires": { 769 | "ansi-regex": "^4.0.0" 770 | } 771 | } 772 | } 773 | }, 774 | "is-fullwidth-code-point": { 775 | "version": "2.0.0", 776 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 777 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" 778 | }, 779 | "is-promise": { 780 | "version": "2.1.0", 781 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 782 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" 783 | }, 784 | "is-stream": { 785 | "version": "1.1.0", 786 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 787 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 788 | }, 789 | "is-typedarray": { 790 | "version": "1.0.0", 791 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 792 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 793 | }, 794 | "isarray": { 795 | "version": "1.0.0", 796 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 797 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 798 | }, 799 | "isexe": { 800 | "version": "2.0.0", 801 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 802 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 803 | }, 804 | "isstream": { 805 | "version": "0.1.2", 806 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 807 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 808 | }, 809 | "jsbn": { 810 | "version": "0.1.1", 811 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 812 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" 813 | }, 814 | "jsdom": { 815 | "version": "11.12.0", 816 | "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", 817 | "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", 818 | "requires": { 819 | "abab": "^2.0.0", 820 | "acorn": "^5.5.3", 821 | "acorn-globals": "^4.1.0", 822 | "array-equal": "^1.0.0", 823 | "cssom": ">= 0.3.2 < 0.4.0", 824 | "cssstyle": "^1.0.0", 825 | "data-urls": "^1.0.0", 826 | "domexception": "^1.0.1", 827 | "escodegen": "^1.9.1", 828 | "html-encoding-sniffer": "^1.0.2", 829 | "left-pad": "^1.3.0", 830 | "nwsapi": "^2.0.7", 831 | "parse5": "4.0.0", 832 | "pn": "^1.1.0", 833 | "request": "^2.87.0", 834 | "request-promise-native": "^1.0.5", 835 | "sax": "^1.2.4", 836 | "symbol-tree": "^3.2.2", 837 | "tough-cookie": "^2.3.4", 838 | "w3c-hr-time": "^1.0.1", 839 | "webidl-conversions": "^4.0.2", 840 | "whatwg-encoding": "^1.0.3", 841 | "whatwg-mimetype": "^2.1.0", 842 | "whatwg-url": "^6.4.1", 843 | "ws": "^5.2.0", 844 | "xml-name-validator": "^3.0.0" 845 | } 846 | }, 847 | "json-schema": { 848 | "version": "0.2.3", 849 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 850 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" 851 | }, 852 | "json-schema-traverse": { 853 | "version": "0.4.1", 854 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 855 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 856 | }, 857 | "json-stringify-safe": { 858 | "version": "5.0.1", 859 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 860 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 861 | }, 862 | "jsonfile": { 863 | "version": "2.4.0", 864 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 865 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 866 | "requires": { 867 | "graceful-fs": "^4.1.6" 868 | } 869 | }, 870 | "jsprim": { 871 | "version": "1.4.1", 872 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 873 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 874 | "requires": { 875 | "assert-plus": "1.0.0", 876 | "extsprintf": "1.3.0", 877 | "json-schema": "0.2.3", 878 | "verror": "1.10.0" 879 | } 880 | }, 881 | "kew": { 882 | "version": "0.7.0", 883 | "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", 884 | "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=" 885 | }, 886 | "klaw": { 887 | "version": "1.3.1", 888 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 889 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 890 | "requires": { 891 | "graceful-fs": "^4.1.9" 892 | } 893 | }, 894 | "lazy": { 895 | "version": "1.0.11", 896 | "resolved": "https://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz", 897 | "integrity": "sha1-2qBoIGKCVCwIgojpdcKXwa53tpA=" 898 | }, 899 | "left-pad": { 900 | "version": "1.3.0", 901 | "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", 902 | "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==" 903 | }, 904 | "levn": { 905 | "version": "0.3.0", 906 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 907 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 908 | "requires": { 909 | "prelude-ls": "~1.1.2", 910 | "type-check": "~0.3.2" 911 | } 912 | }, 913 | "lodash": { 914 | "version": "4.17.11", 915 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 916 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" 917 | }, 918 | "lodash.assignin": { 919 | "version": "4.2.0", 920 | "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", 921 | "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" 922 | }, 923 | "lodash.bind": { 924 | "version": "4.2.1", 925 | "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", 926 | "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" 927 | }, 928 | "lodash.defaults": { 929 | "version": "4.2.0", 930 | "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", 931 | "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" 932 | }, 933 | "lodash.filter": { 934 | "version": "4.6.0", 935 | "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", 936 | "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" 937 | }, 938 | "lodash.flatten": { 939 | "version": "4.4.0", 940 | "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", 941 | "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" 942 | }, 943 | "lodash.foreach": { 944 | "version": "4.5.0", 945 | "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", 946 | "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" 947 | }, 948 | "lodash.map": { 949 | "version": "4.6.0", 950 | "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", 951 | "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" 952 | }, 953 | "lodash.merge": { 954 | "version": "4.6.1", 955 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", 956 | "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" 957 | }, 958 | "lodash.pick": { 959 | "version": "4.4.0", 960 | "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", 961 | "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" 962 | }, 963 | "lodash.reduce": { 964 | "version": "4.6.0", 965 | "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", 966 | "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" 967 | }, 968 | "lodash.reject": { 969 | "version": "4.6.0", 970 | "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", 971 | "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" 972 | }, 973 | "lodash.some": { 974 | "version": "4.6.0", 975 | "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", 976 | "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" 977 | }, 978 | "lodash.sortby": { 979 | "version": "4.7.0", 980 | "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", 981 | "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" 982 | }, 983 | "markov": { 984 | "version": "git+https://git@github.com/postlight/node-markov.git#191efe36044b6c7a608bc88a4b728278e1b7aa21", 985 | "from": "git+https://git@github.com/postlight/node-markov.git", 986 | "requires": { 987 | "deck": ">=0.0.3", 988 | "hashish": ">=0.0.2", 989 | "lazy": ">=1.0.3" 990 | } 991 | }, 992 | "mime-db": { 993 | "version": "1.38.0", 994 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", 995 | "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" 996 | }, 997 | "mime-types": { 998 | "version": "2.1.22", 999 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", 1000 | "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", 1001 | "requires": { 1002 | "mime-db": "~1.38.0" 1003 | } 1004 | }, 1005 | "mimic-fn": { 1006 | "version": "1.2.0", 1007 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 1008 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" 1009 | }, 1010 | "minimist": { 1011 | "version": "0.0.8", 1012 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1013 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 1014 | }, 1015 | "mkdirp": { 1016 | "version": "0.5.1", 1017 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1018 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1019 | "requires": { 1020 | "minimist": "0.0.8" 1021 | } 1022 | }, 1023 | "moment-parseformat": { 1024 | "version": "3.0.0", 1025 | "resolved": "https://registry.npmjs.org/moment-parseformat/-/moment-parseformat-3.0.0.tgz", 1026 | "integrity": "sha512-dVgXe6b6DLnv4CHG7a1zUe5mSXaIZ3c6lSHm/EKeVeQI2/4pwe0VRde8OyoCE1Ro2lKT5P6uT9JElF7KDLV+jw==" 1027 | }, 1028 | "ms": { 1029 | "version": "2.0.0", 1030 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1031 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1032 | }, 1033 | "mute-stream": { 1034 | "version": "0.0.7", 1035 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 1036 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" 1037 | }, 1038 | "next-line": { 1039 | "version": "1.1.0", 1040 | "resolved": "https://registry.npmjs.org/next-line/-/next-line-1.1.0.tgz", 1041 | "integrity": "sha1-/K5XhTBStqm66CCOQN19PC0wRgM=" 1042 | }, 1043 | "nice-try": { 1044 | "version": "1.0.5", 1045 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1046 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" 1047 | }, 1048 | "node-fetch": { 1049 | "version": "2.3.0", 1050 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", 1051 | "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" 1052 | }, 1053 | "nth-check": { 1054 | "version": "1.0.2", 1055 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", 1056 | "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", 1057 | "requires": { 1058 | "boolbase": "~1.0.0" 1059 | } 1060 | }, 1061 | "nwsapi": { 1062 | "version": "2.1.3", 1063 | "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.3.tgz", 1064 | "integrity": "sha512-RowAaJGEgYXEZfQ7tvvdtAQUKPyTR6T6wNu0fwlNsGQYr/h3yQc6oI8WnVZh3Y/Sylwc+dtAlvPqfFZjhTyk3A==" 1065 | }, 1066 | "oauth-sign": { 1067 | "version": "0.9.0", 1068 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 1069 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 1070 | }, 1071 | "onetime": { 1072 | "version": "2.0.1", 1073 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 1074 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 1075 | "requires": { 1076 | "mimic-fn": "^1.0.0" 1077 | } 1078 | }, 1079 | "optionator": { 1080 | "version": "0.8.2", 1081 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 1082 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 1083 | "requires": { 1084 | "deep-is": "~0.1.3", 1085 | "fast-levenshtein": "~2.0.4", 1086 | "levn": "~0.3.0", 1087 | "prelude-ls": "~1.1.2", 1088 | "type-check": "~0.3.2", 1089 | "wordwrap": "~1.0.0" 1090 | } 1091 | }, 1092 | "os-tmpdir": { 1093 | "version": "1.0.2", 1094 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 1095 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" 1096 | }, 1097 | "parse5": { 1098 | "version": "4.0.0", 1099 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", 1100 | "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==" 1101 | }, 1102 | "path-key": { 1103 | "version": "2.0.1", 1104 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 1105 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" 1106 | }, 1107 | "pend": { 1108 | "version": "1.2.0", 1109 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1110 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 1111 | }, 1112 | "performance-now": { 1113 | "version": "2.1.0", 1114 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1115 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 1116 | }, 1117 | "phantomjs-prebuilt": { 1118 | "version": "2.1.16", 1119 | "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", 1120 | "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", 1121 | "requires": { 1122 | "es6-promise": "^4.0.3", 1123 | "extract-zip": "^1.6.5", 1124 | "fs-extra": "^1.0.0", 1125 | "hasha": "^2.2.0", 1126 | "kew": "^0.7.0", 1127 | "progress": "^1.1.8", 1128 | "request": "^2.81.0", 1129 | "request-progress": "^2.0.1", 1130 | "which": "^1.2.10" 1131 | } 1132 | }, 1133 | "pinkie": { 1134 | "version": "2.0.4", 1135 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1136 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 1137 | }, 1138 | "pinkie-promise": { 1139 | "version": "2.0.1", 1140 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1141 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1142 | "requires": { 1143 | "pinkie": "^2.0.0" 1144 | } 1145 | }, 1146 | "pn": { 1147 | "version": "1.1.0", 1148 | "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", 1149 | "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" 1150 | }, 1151 | "postman-request": { 1152 | "version": "2.88.1-postman.9", 1153 | "resolved": "https://registry.npmjs.org/postman-request/-/postman-request-2.88.1-postman.9.tgz", 1154 | "integrity": "sha512-rHJuOLGH3cZOFOPubjQ9Ho4H0YqZScjyLCBXQq7lwBgiFVnwk9DUc9rpdCSlJajJiLIN7fjyXkckP09erVGK/w==", 1155 | "requires": { 1156 | "aws-sign2": "~0.7.0", 1157 | "aws4": "^1.8.0", 1158 | "caseless": "~0.12.0", 1159 | "combined-stream": "~1.0.6", 1160 | "extend": "~3.0.2", 1161 | "forever-agent": "~0.6.1", 1162 | "form-data": "~2.3.2", 1163 | "har-validator": "~5.1.3", 1164 | "http-signature": "~1.2.0", 1165 | "is-typedarray": "~1.0.0", 1166 | "isstream": "~0.1.2", 1167 | "json-stringify-safe": "~5.0.1", 1168 | "mime-types": "~2.1.19", 1169 | "oauth-sign": "~0.9.0", 1170 | "performance-now": "^2.1.0", 1171 | "postman-url-encoder": "1.0.1", 1172 | "qs": "~6.5.2", 1173 | "safe-buffer": "^5.1.2", 1174 | "stream-length": "^1.0.2", 1175 | "tough-cookie": "~2.5.0", 1176 | "tunnel-agent": "^0.6.0", 1177 | "uuid": "^3.3.2" 1178 | }, 1179 | "dependencies": { 1180 | "tough-cookie": { 1181 | "version": "2.5.0", 1182 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 1183 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 1184 | "requires": { 1185 | "psl": "^1.1.28", 1186 | "punycode": "^2.1.1" 1187 | } 1188 | } 1189 | } 1190 | }, 1191 | "postman-url-encoder": { 1192 | "version": "1.0.1", 1193 | "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-1.0.1.tgz", 1194 | "integrity": "sha1-oJSkLpQV/wu/3ODqqOYBHUSe6Dw=" 1195 | }, 1196 | "prelude-ls": { 1197 | "version": "1.1.2", 1198 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 1199 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" 1200 | }, 1201 | "process-nextick-args": { 1202 | "version": "2.0.0", 1203 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 1204 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 1205 | }, 1206 | "progress": { 1207 | "version": "1.1.8", 1208 | "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 1209 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" 1210 | }, 1211 | "psl": { 1212 | "version": "1.1.31", 1213 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", 1214 | "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" 1215 | }, 1216 | "punycode": { 1217 | "version": "2.1.1", 1218 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1219 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 1220 | }, 1221 | "qs": { 1222 | "version": "6.5.2", 1223 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 1224 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" 1225 | }, 1226 | "querystring": { 1227 | "version": "0.2.0", 1228 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 1229 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" 1230 | }, 1231 | "readable-stream": { 1232 | "version": "3.3.0", 1233 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", 1234 | "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", 1235 | "requires": { 1236 | "inherits": "^2.0.3", 1237 | "string_decoder": "^1.1.1", 1238 | "util-deprecate": "^1.0.1" 1239 | } 1240 | }, 1241 | "regenerator-runtime": { 1242 | "version": "0.13.2", 1243 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", 1244 | "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" 1245 | }, 1246 | "request": { 1247 | "version": "2.88.0", 1248 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", 1249 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", 1250 | "requires": { 1251 | "aws-sign2": "~0.7.0", 1252 | "aws4": "^1.8.0", 1253 | "caseless": "~0.12.0", 1254 | "combined-stream": "~1.0.6", 1255 | "extend": "~3.0.2", 1256 | "forever-agent": "~0.6.1", 1257 | "form-data": "~2.3.2", 1258 | "har-validator": "~5.1.0", 1259 | "http-signature": "~1.2.0", 1260 | "is-typedarray": "~1.0.0", 1261 | "isstream": "~0.1.2", 1262 | "json-stringify-safe": "~5.0.1", 1263 | "mime-types": "~2.1.19", 1264 | "oauth-sign": "~0.9.0", 1265 | "performance-now": "^2.1.0", 1266 | "qs": "~6.5.2", 1267 | "safe-buffer": "^5.1.2", 1268 | "tough-cookie": "~2.4.3", 1269 | "tunnel-agent": "^0.6.0", 1270 | "uuid": "^3.3.2" 1271 | } 1272 | }, 1273 | "request-progress": { 1274 | "version": "2.0.1", 1275 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", 1276 | "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", 1277 | "requires": { 1278 | "throttleit": "^1.0.0" 1279 | } 1280 | }, 1281 | "request-promise": { 1282 | "version": "4.2.4", 1283 | "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.4.tgz", 1284 | "integrity": "sha512-8wgMrvE546PzbR5WbYxUQogUnUDfM0S7QIFZMID+J73vdFARkFy+HElj4T+MWYhpXwlLp0EQ8Zoj8xUA0he4Vg==", 1285 | "requires": { 1286 | "bluebird": "^3.5.0", 1287 | "request-promise-core": "1.1.2", 1288 | "stealthy-require": "^1.1.1", 1289 | "tough-cookie": "^2.3.3" 1290 | }, 1291 | "dependencies": { 1292 | "bluebird": { 1293 | "version": "3.5.4", 1294 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", 1295 | "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==" 1296 | } 1297 | } 1298 | }, 1299 | "request-promise-core": { 1300 | "version": "1.1.2", 1301 | "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", 1302 | "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", 1303 | "requires": { 1304 | "lodash": "^4.17.11" 1305 | } 1306 | }, 1307 | "request-promise-native": { 1308 | "version": "1.0.7", 1309 | "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", 1310 | "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", 1311 | "requires": { 1312 | "request-promise-core": "1.1.2", 1313 | "stealthy-require": "^1.1.1", 1314 | "tough-cookie": "^2.3.3" 1315 | } 1316 | }, 1317 | "restore-cursor": { 1318 | "version": "2.0.0", 1319 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 1320 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 1321 | "requires": { 1322 | "onetime": "^2.0.0", 1323 | "signal-exit": "^3.0.2" 1324 | } 1325 | }, 1326 | "run-async": { 1327 | "version": "2.3.0", 1328 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 1329 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 1330 | "requires": { 1331 | "is-promise": "^2.1.0" 1332 | } 1333 | }, 1334 | "rxjs": { 1335 | "version": "6.4.0", 1336 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", 1337 | "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", 1338 | "requires": { 1339 | "tslib": "^1.9.0" 1340 | } 1341 | }, 1342 | "safe-buffer": { 1343 | "version": "5.1.2", 1344 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1345 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1346 | }, 1347 | "safer-buffer": { 1348 | "version": "2.1.2", 1349 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1350 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1351 | }, 1352 | "sax": { 1353 | "version": "1.2.4", 1354 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 1355 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" 1356 | }, 1357 | "semver": { 1358 | "version": "5.6.0", 1359 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", 1360 | "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" 1361 | }, 1362 | "shebang-command": { 1363 | "version": "1.2.0", 1364 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1365 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1366 | "requires": { 1367 | "shebang-regex": "^1.0.0" 1368 | } 1369 | }, 1370 | "shebang-regex": { 1371 | "version": "1.0.0", 1372 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1373 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" 1374 | }, 1375 | "signal-exit": { 1376 | "version": "3.0.2", 1377 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 1378 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" 1379 | }, 1380 | "slugify": { 1381 | "version": "1.3.4", 1382 | "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.4.tgz", 1383 | "integrity": "sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw==" 1384 | }, 1385 | "source-map": { 1386 | "version": "0.6.1", 1387 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1388 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1389 | "optional": true 1390 | }, 1391 | "sshpk": { 1392 | "version": "1.16.1", 1393 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 1394 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 1395 | "requires": { 1396 | "asn1": "~0.2.3", 1397 | "assert-plus": "^1.0.0", 1398 | "bcrypt-pbkdf": "^1.0.0", 1399 | "dashdash": "^1.12.0", 1400 | "ecc-jsbn": "~0.1.1", 1401 | "getpass": "^0.1.1", 1402 | "jsbn": "~0.1.0", 1403 | "safer-buffer": "^2.0.2", 1404 | "tweetnacl": "~0.14.0" 1405 | } 1406 | }, 1407 | "stealthy-require": { 1408 | "version": "1.1.1", 1409 | "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", 1410 | "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" 1411 | }, 1412 | "stream-length": { 1413 | "version": "1.0.2", 1414 | "resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz", 1415 | "integrity": "sha1-gnfzy+5JpNqrz9tOL0qbXp8snwA=", 1416 | "requires": { 1417 | "bluebird": "^2.6.2" 1418 | } 1419 | }, 1420 | "string-direction": { 1421 | "version": "0.1.2", 1422 | "resolved": "https://registry.npmjs.org/string-direction/-/string-direction-0.1.2.tgz", 1423 | "integrity": "sha1-PYRT5ydKLkShQrPchEnftk2a3jo=" 1424 | }, 1425 | "string-width": { 1426 | "version": "2.1.1", 1427 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1428 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1429 | "requires": { 1430 | "is-fullwidth-code-point": "^2.0.0", 1431 | "strip-ansi": "^4.0.0" 1432 | }, 1433 | "dependencies": { 1434 | "ansi-regex": { 1435 | "version": "3.0.0", 1436 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 1437 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" 1438 | }, 1439 | "strip-ansi": { 1440 | "version": "4.0.0", 1441 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1442 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1443 | "requires": { 1444 | "ansi-regex": "^3.0.0" 1445 | } 1446 | } 1447 | } 1448 | }, 1449 | "string_decoder": { 1450 | "version": "1.2.0", 1451 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", 1452 | "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", 1453 | "requires": { 1454 | "safe-buffer": "~5.1.0" 1455 | } 1456 | }, 1457 | "supports-color": { 1458 | "version": "5.5.0", 1459 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1460 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1461 | "requires": { 1462 | "has-flag": "^3.0.0" 1463 | } 1464 | }, 1465 | "symbol-tree": { 1466 | "version": "3.2.2", 1467 | "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", 1468 | "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" 1469 | }, 1470 | "throttleit": { 1471 | "version": "1.0.0", 1472 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", 1473 | "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=" 1474 | }, 1475 | "through": { 1476 | "version": "2.3.8", 1477 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1478 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 1479 | }, 1480 | "tmp": { 1481 | "version": "0.0.33", 1482 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1483 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1484 | "requires": { 1485 | "os-tmpdir": "~1.0.2" 1486 | } 1487 | }, 1488 | "tough-cookie": { 1489 | "version": "2.4.3", 1490 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", 1491 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", 1492 | "requires": { 1493 | "psl": "^1.1.24", 1494 | "punycode": "^1.4.1" 1495 | }, 1496 | "dependencies": { 1497 | "punycode": { 1498 | "version": "1.4.1", 1499 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 1500 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" 1501 | } 1502 | } 1503 | }, 1504 | "tr46": { 1505 | "version": "1.0.1", 1506 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", 1507 | "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", 1508 | "requires": { 1509 | "punycode": "^2.1.0" 1510 | } 1511 | }, 1512 | "traverse": { 1513 | "version": "0.6.6", 1514 | "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", 1515 | "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" 1516 | }, 1517 | "tslib": { 1518 | "version": "1.9.3", 1519 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 1520 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" 1521 | }, 1522 | "tunnel-agent": { 1523 | "version": "0.6.0", 1524 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1525 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 1526 | "requires": { 1527 | "safe-buffer": "^5.0.1" 1528 | } 1529 | }, 1530 | "turndown": { 1531 | "version": "5.0.3", 1532 | "resolved": "https://registry.npmjs.org/turndown/-/turndown-5.0.3.tgz", 1533 | "integrity": "sha512-popfGXEiedpq6F5saRIAThKxq/bbEPVFnsDnUdjaDGIre9f3/OL9Yi/yPbPcZ7RYUDpekghr666bBfZPrwNnhQ==", 1534 | "requires": { 1535 | "jsdom": "^11.9.0" 1536 | } 1537 | }, 1538 | "tweetnacl": { 1539 | "version": "0.14.5", 1540 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 1541 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" 1542 | }, 1543 | "type-check": { 1544 | "version": "0.3.2", 1545 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1546 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1547 | "requires": { 1548 | "prelude-ls": "~1.1.2" 1549 | } 1550 | }, 1551 | "typedarray": { 1552 | "version": "0.0.6", 1553 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 1554 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" 1555 | }, 1556 | "uri-js": { 1557 | "version": "4.2.2", 1558 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 1559 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 1560 | "requires": { 1561 | "punycode": "^2.1.0" 1562 | } 1563 | }, 1564 | "url": { 1565 | "version": "0.11.0", 1566 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", 1567 | "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", 1568 | "requires": { 1569 | "punycode": "1.3.2", 1570 | "querystring": "0.2.0" 1571 | }, 1572 | "dependencies": { 1573 | "punycode": { 1574 | "version": "1.3.2", 1575 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 1576 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" 1577 | } 1578 | } 1579 | }, 1580 | "util-deprecate": { 1581 | "version": "1.0.2", 1582 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1583 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1584 | }, 1585 | "uuid": { 1586 | "version": "3.3.2", 1587 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 1588 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 1589 | }, 1590 | "valid-url": { 1591 | "version": "1.0.9", 1592 | "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", 1593 | "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" 1594 | }, 1595 | "verror": { 1596 | "version": "1.10.0", 1597 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 1598 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 1599 | "requires": { 1600 | "assert-plus": "^1.0.0", 1601 | "core-util-is": "1.0.2", 1602 | "extsprintf": "^1.2.0" 1603 | } 1604 | }, 1605 | "w3c-hr-time": { 1606 | "version": "1.0.1", 1607 | "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", 1608 | "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", 1609 | "requires": { 1610 | "browser-process-hrtime": "^0.1.2" 1611 | } 1612 | }, 1613 | "webidl-conversions": { 1614 | "version": "4.0.2", 1615 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", 1616 | "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" 1617 | }, 1618 | "whatwg-encoding": { 1619 | "version": "1.0.5", 1620 | "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", 1621 | "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", 1622 | "requires": { 1623 | "iconv-lite": "0.4.24" 1624 | } 1625 | }, 1626 | "whatwg-mimetype": { 1627 | "version": "2.3.0", 1628 | "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", 1629 | "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" 1630 | }, 1631 | "whatwg-url": { 1632 | "version": "6.5.0", 1633 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", 1634 | "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", 1635 | "requires": { 1636 | "lodash.sortby": "^4.7.0", 1637 | "tr46": "^1.0.1", 1638 | "webidl-conversions": "^4.0.2" 1639 | } 1640 | }, 1641 | "which": { 1642 | "version": "1.3.1", 1643 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1644 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 1645 | "requires": { 1646 | "isexe": "^2.0.0" 1647 | } 1648 | }, 1649 | "wordwrap": { 1650 | "version": "1.0.0", 1651 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 1652 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" 1653 | }, 1654 | "ws": { 1655 | "version": "5.2.2", 1656 | "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", 1657 | "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", 1658 | "requires": { 1659 | "async-limiter": "~1.0.0" 1660 | } 1661 | }, 1662 | "wuzzy": { 1663 | "version": "0.1.3", 1664 | "resolved": "https://registry.npmjs.org/wuzzy/-/wuzzy-0.1.3.tgz", 1665 | "integrity": "sha1-qIUV4mn7OFHyTCUfCITddr4wwwA=", 1666 | "requires": { 1667 | "lodash": "~2.4.x" 1668 | }, 1669 | "dependencies": { 1670 | "lodash": { 1671 | "version": "2.4.2", 1672 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", 1673 | "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" 1674 | } 1675 | } 1676 | }, 1677 | "xml-name-validator": { 1678 | "version": "3.0.0", 1679 | "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", 1680 | "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" 1681 | }, 1682 | "yargs-parser": { 1683 | "version": "13.0.0", 1684 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", 1685 | "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", 1686 | "requires": { 1687 | "camelcase": "^5.0.0", 1688 | "decamelize": "^1.2.0" 1689 | } 1690 | }, 1691 | "yauzl": { 1692 | "version": "2.4.1", 1693 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", 1694 | "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", 1695 | "requires": { 1696 | "fd-slicer": "~1.0.1" 1697 | } 1698 | } 1699 | } 1700 | } 1701 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@postlight/lorem-ipsum-generator-generator", 3 | "version": "1.1.3", 4 | "description": "Generate a lorem ipsum generator site using Mercury Parser", 5 | "keywords": [ 6 | "markov", 7 | "lorem ipsum", 8 | "netlify", 9 | "text" 10 | ], 11 | "bin": { 12 | "lorem-ipsum-generator-generator": "./cli.js" 13 | }, 14 | "scripts": { 15 | "test": "echo \"Error: no test specified\" && exit 1" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "git+https://github.com/postlight/lorem-ipsum-generator-generator.git" 20 | }, 21 | "author": "Postlight", 22 | "contributors": [ 23 | "Drew Bell ", 24 | "Adam Pash ", 25 | "Matt Quintanilla " 26 | ], 27 | "license": "Apache-2.0", 28 | "bugs": { 29 | "url": "https://github.com/postlight/lorem-ipsum-generator-generator/issues" 30 | }, 31 | "homepage": "https://github.com/postlight/lorem-ipsum-generator-generator#readme", 32 | "dependencies": { 33 | "@postlight/mercury-parser": "^2.1.0", 34 | "commander": "^2.19.0", 35 | "cross-spawn": "^6.0.5", 36 | "inquirer": "^6.2.2", 37 | "markov": "git+https://git@github.com/postlight/node-markov.git", 38 | "slugify": "^1.3.4" 39 | }, 40 | "publishConfig": { 41 | "access": "public" 42 | }, 43 | "main": "cli.js" 44 | } 45 | -------------------------------------------------------------------------------- /postlight-labs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/postlight/lorem-ipsum-generator-generator/4c9799da15f119fb8d6cef9a93f31106f1206d33/postlight-labs.gif --------------------------------------------------------------------------------