diff --git a/.browserslistrc b/.browserslistrc index d6471a38c..373e6af7c 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -1,2 +1,2 @@ -> 1% -last 2 versions +> 1% +last 2 versions diff --git a/.editorconfig b/.editorconfig index c24743d00..36711dec7 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,7 +1,7 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space -indent_size = 2 -end_of_line = lf -trim_trailing_whitespace = true -insert_final_newline = true -max_line_length = 100 +[*.{js,jsx,ts,tsx,vue}] +indent_style = space +indent_size = 2 +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 100 diff --git a/.eslintrc.js b/.eslintrc.js index 5e3d093ee..42168fbf5 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,32 +1,32 @@ -module.exports = { - root: true, - - env: { - node: true, - }, - - extends: [ - 'plugin:vue/essential', - '@vue/airbnb', - '@vue/eslint-config-airbnb', - '@vue/eslint-config-prettier', - ], - - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - }, - - parserOptions: { - parser: 'babel-eslint', - }, - - overrides: [ - { - files: ['**/__tests__/*.{j,t}s?(x)'], - env: { - jest: true, - }, - }, - ], -}; +module.exports = { + root: true, + + env: { + node: true, + }, + + extends: [ + 'plugin:vue/essential', + '@vue/airbnb', + '@vue/eslint-config-airbnb', + '@vue/eslint-config-prettier', + ], + + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + }, + + parserOptions: { + parser: 'babel-eslint', + }, + + overrides: [ + { + files: ['**/__tests__/*.{j,t}s?(x)'], + env: { + jest: true, + }, + }, + ], +}; diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd84ea782..6867cf8d2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,38 +1,38 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index bbcbbe7d6..72718d5aa 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,20 +1,20 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index aa5b65225..080557c97 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -1,26 +1,26 @@ -name: Node CI - -on: [push, pull_request] - -jobs: - build: - - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [10.x, 12.x, 14.x, 16.x] - - steps: - - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - - name: npm install, build, and test - run: | - npm install - npm run build --if-present - npm test - env: - CI: true +name: Node CI + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [10.x, 12.x, 14.x, 16.x] + + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - name: npm install, build, and test + run: | + npm install + npm run build --if-present + npm test + env: + CI: true diff --git a/.gitignore b/.gitignore index 951ecbf25..99e81038c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1,23 @@ -.DS_Store -node_modules -/dist -/coverage -.netlify/functions - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? +.DS_Store +node_modules +/dist +/coverage +.netlify/functions + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.netlify/functions-src/getFeaturedRecipes.js b/.netlify/functions-src/getFeaturedRecipes.js index 3b4478c42..bd929b01f 100644 --- a/.netlify/functions-src/getFeaturedRecipes.js +++ b/.netlify/functions-src/getFeaturedRecipes.js @@ -1,24 +1,24 @@ -import recipes from '../../src/recipes/index'; - -exports.handler = function(event, context, callback) { - const featuredList = recipes.getFeaturedRecipes(); - - // Update the featuredList with recipe data. - featuredList.forEach(feature => { - const items = []; - feature.items.forEach(recipeId => { - const r = recipes.getRecipe(recipeId); - items.push(r); - }); - feature.items = items; - }); - - return callback(null, { - statusCode: 200, - headers: { - 'Content-Type': 'application/json', - 'Cache-Control': 'public, s-maxage=3600', // 60 minutes. - }, - body: JSON.stringify({ featured: featuredList }), - }); -}; +import recipes from '../../src/recipes/index'; + +exports.handler = function(event, context, callback) { + const featuredList = recipes.getFeaturedRecipes(); + + // Update the featuredList with recipe data. + featuredList.forEach(feature => { + const items = []; + feature.items.forEach(recipeId => { + const r = recipes.getRecipe(recipeId); + items.push(r); + }); + feature.items = items; + }); + + return callback(null, { + statusCode: 200, + headers: { + 'Content-Type': 'application/json', + 'Cache-Control': 'public, s-maxage=3600', // 60 minutes. + }, + body: JSON.stringify({ featured: featuredList }), + }); +}; diff --git a/.netlify/functions-src/getRecipe.js b/.netlify/functions-src/getRecipe.js index 0c2437e07..9871a2a78 100644 --- a/.netlify/functions-src/getRecipe.js +++ b/.netlify/functions-src/getRecipe.js @@ -1,28 +1,28 @@ -import recipes from '../../src/recipes/index'; - -exports.handler = function(event, context, callback) { - const path = event.path || null; - const id = path.split('/').slice(-1)[0]; - let r; - - try { - r = recipes.getRecipe(id); - } catch (error) { - return callback(null, { - statusCode: 404, - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ code: 404, message: 'Recipe not found.' }), - }); - } - - return callback(null, { - statusCode: 200, - headers: { - 'Content-Type': 'application/json', - 'Cache-Control': 'public, s-maxage=3600', // 60 minutes. - }, - body: JSON.stringify({ recipe: r }), - }); -}; +import recipes from '../../src/recipes/index'; + +exports.handler = function(event, context, callback) { + const path = event.path || null; + const id = path.split('/').slice(-1)[0]; + let r; + + try { + r = recipes.getRecipe(id); + } catch (error) { + return callback(null, { + statusCode: 404, + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ code: 404, message: 'Recipe not found.' }), + }); + } + + return callback(null, { + statusCode: 200, + headers: { + 'Content-Type': 'application/json', + 'Cache-Control': 'public, s-maxage=3600', // 60 minutes. + }, + body: JSON.stringify({ recipe: r }), + }); +}; diff --git a/.netlify/functions-src/getRecipes.js b/.netlify/functions-src/getRecipes.js index 5a98f76e8..186188644 100644 --- a/.netlify/functions-src/getRecipes.js +++ b/.netlify/functions-src/getRecipes.js @@ -1,14 +1,14 @@ -import recipes from '../../src/recipes/index'; - -exports.handler = function(event, context, callback) { - const r = recipes.getRecipes(); - - return callback(null, { - statusCode: 200, - headers: { - 'Content-Type': 'application/json', - 'Cache-Control': 'public, s-maxage=3600', // 60 minutes. - }, - body: JSON.stringify({ recipes: r }), - }); -}; +import recipes from '../../src/recipes/index'; + +exports.handler = function(event, context, callback) { + const r = recipes.getRecipes(); + + return callback(null, { + statusCode: 200, + headers: { + 'Content-Type': 'application/json', + 'Cache-Control': 'public, s-maxage=3600', // 60 minutes. + }, + body: JSON.stringify({ recipes: r }), + }); +}; diff --git a/.netlify/webpack.functions.js b/.netlify/webpack.functions.js index 4233c0cb2..84762c8e6 100644 --- a/.netlify/webpack.functions.js +++ b/.netlify/webpack.functions.js @@ -1,15 +1,15 @@ -module.exports = { - module: { - rules: [ - { - test: /\.(png|jpe?g|gif)$/i, - loader: 'file-loader', - options: { - name(file) { - return '/img/[name].[hash:8].[ext]'; - }, - }, - }, - ], - }, -}; +module.exports = { + module: { + rules: [ + { + test: /\.(png|jpe?g|gif)$/i, + loader: 'file-loader', + options: { + name(file) { + return '/img/[name].[hash:8].[ext]'; + }, + }, + }, + ], + }, +}; diff --git a/.nvmrc b/.nvmrc index b2d264b67..d7f5422b5 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v14.18.0 +v14.18.0 diff --git a/.prettierrc b/.prettierrc index f7b0070fe..c69cc1dea 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,6 +1,6 @@ -{ - "singleQuote": true, - "trailingComma": "all", - "arrowParens": "avoid", - "endOfLine":"auto" -} +{ + "singleQuote": true, + "trailingComma": "all", + "arrowParens": "avoid", + "endOfLine":"auto" +} diff --git a/.travis.yml b/.travis.yml index fdf55297d..305b9382a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ -language: node_js -node_js: - - 16 - - 14 - - 12 - - 11 - - 10 +language: node_js +node_js: + - 16 + - 14 + - 12 + - 11 + - 10 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 1f71c387b..e7c41b435 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,32 +1,32 @@ -Contributor Code of Conduct -=========================== - -As contributors and maintainers of this project, we pledge to respect all -people who contribute through reporting issues, posting feature requests, -updating documentation, submitting pull requests or patches, and other -activities. - -We are committed to making participation in this project a harassment-free -experience for everyone, regardless of level of experience, gender, gender -identity and expression, sexual orientation, disability, personal appearance, -body size, race, ethnicity, age, or religion. - -Examples of unacceptable behavior by participants include the use of sexual -language or imagery, derogatory comments or personal attacks, trolling, public -or private harassment, insults, or other unprofessional conduct. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct. Project maintainers who do not -follow the Code of Conduct may be removed from the project team. - -This code of conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by opening an issue or contacting one or more of the project -maintainers. - -This Code of Conduct is adapted from the [Contributor -Covenant](https://contributor-covenant.org/), version 1.1.0, available at -[https://contributor-covenant.org/version/1/1/0/](https://contributor-covenant.org/version/1/1/0/) +Contributor Code of Conduct +=========================== + +As contributors and maintainers of this project, we pledge to respect all +people who contribute through reporting issues, posting feature requests, +updating documentation, submitting pull requests or patches, and other +activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, or religion. + +Examples of unacceptable behavior by participants include the use of sexual +language or imagery, derogatory comments or personal attacks, trolling, public +or private harassment, insults, or other unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct. Project maintainers who do not +follow the Code of Conduct may be removed from the project team. + +This code of conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by opening an issue or contacting one or more of the project +maintainers. + +This Code of Conduct is adapted from the [Contributor +Covenant](https://contributor-covenant.org/), version 1.1.0, available at +[https://contributor-covenant.org/version/1/1/0/](https://contributor-covenant.org/version/1/1/0/) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b0b5cd70f..a04ae758b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,65 +1,65 @@ -## 🍸 Submit a Drink Recipe -The [/src/recipes/](/src/recipes/) directory contains all the drink recipes as a JSON file. Add your own by following the process below: - -* Fork the project -* Create a new json file named after the drink -* The filename should be all lowercase and hyphens only. `example-drink.json` -* Use this template to add your drink recipe: - -```json -{ - "name": "", - "description": "", - "github": "", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "" - }, - { - "quantity": "", - "measure": "", - "ingredient": "" - }, - { - "quantity": "", - "measure": "", - "ingredient": "" - }, - ], - "directions": [ - "", - "", - "" - ], - "image": "", - "source": "", - "keywords": [ - "", - "..." - ] -} -``` - -* Add an image to the [/src/assets/recipes/](/src/assets/recipes/). - * Filename should match recipe filename - * JPG format, horizontal **600x400px** if possible, 200KB max in size -* source is an optional field -* Check your raw JSON file with [JSONLint](https://jsonlint.com/) to make sure that your JSON file is valid. -* Submit a Pull Request with your recipe! -* An automated preview link will be generated towards the bottom of the PR so your changes can be previewed while in review. -* Once approved and merged, the latest update will be published to https://opendrinks.io - ---- - -## ✅ Add a Test -If you are adding a unit test, we are using the [jest](https://jestjs.io/) testing framework. - -All tests are located in [/tests](/tests). If you're unfamiliar with testing, or this project, take a look at the [example test](tests/unit/example.spec.js) located there. - -Testing files must end in ".spec.js" or ".test.js" - -### Running tests -Testing command follows the structure of "npm run [test folder]:[test sub folder] -e.g. the example test would be "npm run test:unit" +## 🍸 Submit a Drink Recipe +The [/src/recipes/](/src/recipes/) directory contains all the drink recipes as a JSON file. Add your own by following the process below: + +* Fork the project +* Create a new json file named after the drink +* The filename should be all lowercase and hyphens only. `example-drink.json` +* Use this template to add your drink recipe: + +```json +{ + "name": "", + "description": "", + "github": "", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "" + }, + { + "quantity": "", + "measure": "", + "ingredient": "" + }, + { + "quantity": "", + "measure": "", + "ingredient": "" + }, + ], + "directions": [ + "", + "", + "" + ], + "image": "", + "source": "", + "keywords": [ + "", + "..." + ] +} +``` + +* Add an image to the [/src/assets/recipes/](/src/assets/recipes/). + * Filename should match recipe filename + * JPG format, horizontal **600x400px** if possible, 200KB max in size +* source is an optional field +* Check your raw JSON file with [JSONLint](https://jsonlint.com/) to make sure that your JSON file is valid. +* Submit a Pull Request with your recipe! +* An automated preview link will be generated towards the bottom of the PR so your changes can be previewed while in review. +* Once approved and merged, the latest update will be published to https://opendrinks.io + +--- + +## ✅ Add a Test +If you are adding a unit test, we are using the [jest](https://jestjs.io/) testing framework. + +All tests are located in [/tests](/tests). If you're unfamiliar with testing, or this project, take a look at the [example test](tests/unit/example.spec.js) located there. + +Testing files must end in ".spec.js" or ".test.js" + +### Running tests +Testing command follows the structure of "npm run [test folder]:[test sub folder] +e.g. the example test would be "npm run test:unit" diff --git a/Dockerfile b/Dockerfile index dbdd495d1..942096efc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,11 @@ -FROM node:lts-alpine as build-stage -WORKDIR /app -COPY package*.json ./ -RUN npm install -COPY . . -RUN npm run build - -FROM nginx:stable-alpine as production-stage -COPY --from=build-stage /app/dist /usr/share/nginx/html -EXPOSE 80 +FROM node:lts-alpine as build-stage +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +RUN npm run build + +FROM nginx:stable-alpine as production-stage +COPY --from=build-stage /app/dist /usr/share/nginx/html +EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/LICENSE b/LICENSE index 69ef45642..2f6f53d60 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2019 Alfred Gutierrez - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +MIT License + +Copyright (c) 2019 Alfred Gutierrez + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 0f8eb1767..b75817789 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,83 @@ -# 🍸 Open Drinks - -> Open source drinks! Inspired by [🎃Hacktoberfest](https://hacktoberfest.digitalocean.com/)! - -https://opendrinks.io/ - -[![Netlify Status](https://api.netlify.com/api/v1/badges/942bef4f-2873-4e49-91c6-c92373a4473e/deploy-status)](https://opendrinks.netlify.com) -[![Build Status](https://travis-ci.org/alfg/opendrinks.svg?branch=master)](https://travis-ci.org/alfg/opendrinks) -[![Node CI](https://github.com/alfg/opendrinks/workflows/Node%20CI/badge.svg)](https://github.com/alfg/opendrinks/actions) - -**OpenDrinks** is powered and hosted by [Netlify](https://www.netlify.com)! - - - - - -## Submit a drink recipe - -Looking to submit a drink recipe? Check out the Contributing Guidelines first! - -See: [CONTRIBUTING.md](CONTRIBUTING.md) - -- Check existing recipes in [/src/recipes](/src/recipes) -- Fork and make a pull request with your drink recipe -- Once your Pull Request is approved and merged, the latest update will be published to https://opendrinks.io - -Also check out [Issues](https://github.com/alfg/opendrinks/issues) for any open bug fixes or feature requests! - -## Development - -Open Drinks is built with the following technologies: - -- [Vue](https://vuejs.org/) -- [BootstrapVue](https://bootstrap-vue.js.org/) -- Hosted on [Netlify](https://www.netlify.com/) with [automated deployments](https://www.netlify.com/docs/continuous-deployment/)! - -If you are familiar or want to give it a shot, feel free to contribute! - -### Prerequisites - -- Install version 14+ of Node.js on your machine -- There is [nvm](https://github.com/nvm-sh/nvm) support. If you have nvm installed the following commands will install and start using version 14.16.0 - -``` -nvm install -nvm use -``` - -### Install - -``` -npm install -npm run serve -``` - -### Compiles and minifies for production - -``` -npm run build -``` - -### Lint - -``` -npm run lint -``` - -### Test - -``` -npm test -``` - -### Docker - -``` -docker build -t opendrinks . -docker run -it -p 8080:80 --rm opendrinks -``` - -## License - -All source code, contributed recipes and content are licensed under the [MIT License](https://github.com/alfg/opendrinks/blob/master/LICENSE). +# 🍸 Open Drinks + +> Open source drinks! Inspired by [🎃Hacktoberfest](https://hacktoberfest.digitalocean.com/)! + +https://opendrinks.io/ + +[![Netlify Status](https://api.netlify.com/api/v1/badges/942bef4f-2873-4e49-91c6-c92373a4473e/deploy-status)](https://opendrinks.netlify.com) +[![Build Status](https://travis-ci.org/alfg/opendrinks.svg?branch=master)](https://travis-ci.org/alfg/opendrinks) +[![Node CI](https://github.com/alfg/opendrinks/workflows/Node%20CI/badge.svg)](https://github.com/alfg/opendrinks/actions) + +**OpenDrinks** is powered and hosted by [Netlify](https://www.netlify.com)! + + + + + +## Submit a drink recipe + +Looking to submit a drink recipe? Check out the Contributing Guidelines first! + +See: [CONTRIBUTING.md](CONTRIBUTING.md) + +- Check existing recipes in [/src/recipes](/src/recipes) +- Fork and make a pull request with your drink recipe +- Once your Pull Request is approved and merged, the latest update will be published to https://opendrinks.io + +Also check out [Issues](https://github.com/alfg/opendrinks/issues) for any open bug fixes or feature requests! + +## Development + +Open Drinks is built with the following technologies: + +- [Vue](https://vuejs.org/) +- [BootstrapVue](https://bootstrap-vue.js.org/) +- Hosted on [Netlify](https://www.netlify.com/) with [automated deployments](https://www.netlify.com/docs/continuous-deployment/)! + +If you are familiar or want to give it a shot, feel free to contribute! + +### Prerequisites + +- Install version 14+ of Node.js on your machine +- There is [nvm](https://github.com/nvm-sh/nvm) support. If you have nvm installed the following commands will install and start using version 14.16.0 + +``` +nvm install +nvm use +``` + +### Install + +``` +npm install +npm run serve +``` + +### Compiles and minifies for production + +``` +npm run build +``` + +### Lint + +``` +npm run lint +``` + +### Test + +``` +npm test +``` + +### Docker + +``` +docker build -t opendrinks . +docker run -it -p 8080:80 --rm opendrinks +``` + +## License + +All source code, contributed recipes and content are licensed under the [MIT License](https://github.com/alfg/opendrinks/blob/master/LICENSE). diff --git a/babel.config.js b/babel.config.js index 7ed2d312a..3b1ab5034 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,8 +1,8 @@ -module.exports = { - presets: ['@vue/cli-plugin-babel/preset'], - env: { - test: { - plugins: ['require-context-hook'], - }, - }, -}; +module.exports = { + presets: ['@vue/cli-plugin-babel/preset'], + env: { + test: { + plugins: ['require-context-hook'], + }, + }, +}; diff --git a/jest.config.js b/jest.config.js index cd3f84633..01ed502e9 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,19 +1,19 @@ -module.exports = { - moduleFileExtensions: ['js', 'jsx', 'json', 'vue'], - transform: { - '^.+\\.vue$': 'vue-jest', - '.+\\.(css|styl|less|sass|scss|svg|png|jpg|jpeg|ttf|woff|woff2)$': 'jest-transform-stub', - '^.+\\.jsx?$': 'babel-jest', - }, - transformIgnorePatterns: ['/node_modules/'], - moduleNameMapper: { - '^@/(.*)$': '/src/$1', - }, - setupFiles: ['/tests/setup.js'], - snapshotSerializers: ['jest-serializer-vue'], - testMatch: ['**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'], - testURL: 'http://localhost/', - watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'], - collectCoverage: true, - collectCoverageFrom: ['src/**/*.{js,vue}'], -}; +module.exports = { + moduleFileExtensions: ['js', 'jsx', 'json', 'vue'], + transform: { + '^.+\\.vue$': 'vue-jest', + '.+\\.(css|styl|less|sass|scss|svg|png|jpg|jpeg|ttf|woff|woff2)$': 'jest-transform-stub', + '^.+\\.jsx?$': 'babel-jest', + }, + transformIgnorePatterns: ['/node_modules/'], + moduleNameMapper: { + '^@/(.*)$': '/src/$1', + }, + setupFiles: ['/tests/setup.js'], + snapshotSerializers: ['jest-serializer-vue'], + testMatch: ['**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'], + testURL: 'http://localhost/', + watchPlugins: ['jest-watch-typeahead/filename', 'jest-watch-typeahead/testname'], + collectCoverage: true, + collectCoverageFrom: ['src/**/*.{js,vue}'], +}; diff --git a/netlify.toml b/netlify.toml index 229270c50..a4025f5f9 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,2 +1,2 @@ -[build] +[build] functions = ".netlify/functions" \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 9c9aff59e..fce1be808 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19015 +1,19015 @@ -{ - "name": "opendrinks", - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", - "dev": true - }, - "@babel/core": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz", - "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.0", - "@babel/helpers": "^7.6.0", - "@babel/parser": "^7.6.0", - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.0", - "@babel/types": "^7.6.0", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz", - "integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==", - "requires": { - "@babel/types": "^7.6.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-call-delegate": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", - "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", - "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/traverse": "^7.4.4", - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "dependencies": { - "browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", - "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" - } - }, - "caniuse-lite": { - "version": "1.0.30001261", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", - "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.854", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", - "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", - "dev": true - }, - "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz", - "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", - "dev": true - } - } - }, - "@babel/helper-define-map": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", - "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", - "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", - "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", - "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", - "requires": { - "@babel/types": "^7.5.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", - "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" - }, - "@babel/helper-regex": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", - "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-replace-supers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", - "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", - "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", - "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" - } - }, - "@babel/helpers": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz", - "integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==", - "requires": { - "@babel/template": "^7.6.0", - "@babel/traverse": "^7.6.0", - "@babel/types": "^7.6.0" - } - }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz", - "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==" - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", - "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", - "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.5.5", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", - "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.15.4.tgz", - "integrity": "sha512-WNER+YLs7avvRukEddhu5PSfSaMMimX2xBFgLQS7Bw16yrUxJGWidO9nQp+yLy9MVybg5Ba3BlhAw+BkdhpDmg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-decorators": "^7.14.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", - "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", - "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", - "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz", - "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", - "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz", - "integrity": "sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", - "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", - "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", - "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", - "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", - "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", - "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", - "requires": { - "@babel/helper-module-transforms": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", - "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", - "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", - "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz", - "integrity": "sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==", - "requires": { - "regexp-tree": "^0.1.13" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-object-assign": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", - "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", - "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", - "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", - "requires": { - "regenerator-transform": "^0.14.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", - "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - } - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", - "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" - } - }, - "@babel/preset-env": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", - "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.3.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.3.4", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.3.4", - "@babel/plugin-transform-classes": "^7.3.4", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.2.0", - "@babel/plugin-transform-dotall-regex": "^7.2.0", - "@babel/plugin-transform-duplicate-keys": "^7.2.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.2.0", - "@babel/plugin-transform-function-name": "^7.2.0", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.2.0", - "@babel/plugin-transform-modules-commonjs": "^7.2.0", - "@babel/plugin-transform-modules-systemjs": "^7.3.4", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", - "@babel/plugin-transform-new-target": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.2.0", - "@babel/plugin-transform-parameters": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.3.4", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.2.0", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.2.0", - "browserslist": "^4.3.4", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", - "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.0" - } - }, - "@babel/traverse": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz", - "integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==", - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.6.0", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.6.0", - "@babel/types": "^7.6.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.6.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", - "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "dev": true - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "dev": true - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "dev": true - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", - "dev": true, - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", - "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", - "dev": true, - "requires": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - } - }, - "@intlify/shared": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.1.7.tgz", - "integrity": "sha512-zt0zlUdalumvT9AjQNxPXA36UgOndUyvBMplh8uRZU0fhWHAwhnJTcf0NaG9Qvr8I1n3HPSs96+kLb/YdwTavQ==", - "dev": true - }, - "@intlify/vue-i18n-loader": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@intlify/vue-i18n-loader/-/vue-i18n-loader-1.1.0.tgz", - "integrity": "sha512-9LXiztMtYKTE8t/hRwwGUp+ofrwU0sxLQLzFEOZ38zvn0DonUIQmZUj1cfz5p1Lu8BllxKbCrn6HnsRJ+LYA6g==", - "dev": true, - "requires": { - "@intlify/shared": "^9.0.0", - "js-yaml": "^3.13.1", - "json5": "^2.1.1" - }, - "dependencies": { - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } - } - }, - "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dev": true, - "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - } - }, - "@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", - "dev": true, - "requires": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "dev": true, - "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - } - }, - "@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", - "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" - } - }, - "@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" - }, - "dependencies": { - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - } - } - } - }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" - } - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - } - }, - "@nuxt/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-XG7rUdXG9fcafu9KTDIYjJSkRO38EwjlKYIb5TQ/0WDbiTUTtUtgncMscKOYzfsY86kGs05pAuMOR+3Fi0aN3A==", - "requires": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@soda/friendly-errors-webpack-plugin": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz", - "integrity": "sha512-RLotfx6k1+nfLacwNCenj7VnTMPxVwYKoGOcffMFoJDKM8tXzBiCN0hMHFJNnoAojduYAsxuiMm0EOMixgiRow==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "error-stack-parser": "^2.0.2", - "string-width": "^2.0.0", - "strip-ansi": "^5" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } - } - } - }, - "@soda/get-current-script": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", - "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", - "dev": true - }, - "@types/babel__core": { - "version": "7.1.16", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", - "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", - "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - }, - "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.24", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", - "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", - "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "24.9.1", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz", - "integrity": "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==", - "dev": true, - "requires": { - "jest-diff": "^24.3.0" - } - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "@types/node": { - "version": "12.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz", - "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==" - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "@types/sax": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz", - "integrity": "sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", - "dev": true - }, - "@types/strip-json-comments": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", - "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", - "dev": true - }, - "@types/tapable": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", - "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", - "dev": true - }, - "@types/uglify-js": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", - "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack": { - "version": "4.41.31", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.31.tgz", - "integrity": "sha512-/i0J7sepXFIp1ZT7FjUGi1eXMCg8HCCzLJEQkKsOtbJFontsJLolBcDC+3qxn5pPwiCt1G0ZdRmYRzNBtvpuGQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack-dev-server": { - "version": "3.11.6", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", - "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", - "dev": true, - "requires": { - "@types/connect-history-api-fallback": "*", - "@types/express": "*", - "@types/serve-static": "*", - "@types/webpack": "^4", - "http-proxy-middleware": "^1.0.0" - } - }, - "@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", - "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "@types/yargs": { - "version": "13.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", - "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, - "@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", - "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", - "dev": true - }, - "@vue/babel-helper-vue-transform-on": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", - "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", - "dev": true - }, - "@vue/babel-plugin-jsx": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.0.tgz", - "integrity": "sha512-RGesLuTa+/0dHw7Ai3oQK0PoZbHPgtnjRQMTA/RRarqTWqMcFQ1BWYW47nSCkJAPYfd9hkUC0BWqokiOlJjJyg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "@vue/babel-helper-vue-transform-on": "^1.0.2", - "camelcase": "^6.0.0", - "html-tags": "^3.1.0", - "svg-tags": "^1.0.0" - } - }, - "@vue/babel-plugin-transform-vue-jsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", - "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "html-tags": "^2.0.0", - "lodash.kebabcase": "^4.1.1", - "svg-tags": "^1.0.0" - }, - "dependencies": { - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - } - } - }, - "@vue/babel-preset-app": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz", - "integrity": "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.0", - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.11.0", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.0", - "@vue/babel-plugin-jsx": "^1.0.3", - "@vue/babel-preset-jsx": "^1.2.4", - "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", - "core-js-compat": "^3.6.5", - "semver": "^6.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", - "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", - "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", - "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-wrap-function": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-wrap-function": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", - "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "dev": true, - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz", - "integrity": "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.15.4", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", - "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.15.4" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", - "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", - "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", - "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", - "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.15.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", - "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", - "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", - "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/preset-env": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.6.tgz", - "integrity": "sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", - "@babel/plugin-proposal-async-generator-functions": "^7.15.4", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.15.4", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.15.6", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.15.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.15.3", - "@babel/plugin-transform-classes": "^7.15.4", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.15.4", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.4", - "@babel/plugin-transform-modules-systemjs": "^7.15.4", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.15.4", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.6", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.16.0", - "semver": "^6.3.0" - } - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@vue/babel-preset-jsx": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", - "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", - "dev": true, - "requires": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", - "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", - "@vue/babel-sugar-functional-vue": "^1.2.2", - "@vue/babel-sugar-inject-h": "^1.2.2", - "@vue/babel-sugar-v-model": "^1.2.3", - "@vue/babel-sugar-v-on": "^1.2.3" - } - }, - "@vue/babel-sugar-composition-api-inject-h": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", - "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-composition-api-render-instance": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", - "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-functional-vue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", - "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-inject-h": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", - "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0" - } - }, - "@vue/babel-sugar-v-model": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", - "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0", - "html-tags": "^2.0.0", - "svg-tags": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", - "dev": true - } - } - }, - "@vue/babel-sugar-v-on": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", - "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", - "dev": true, - "requires": { - "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "camelcase": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "@vue/cli-overlay": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.13.tgz", - "integrity": "sha512-jhUIg3klgi5Cxhs8dnat5hi/W2tQJvsqCxR0u6hgfSob0ORODgUBlN+F/uwq7cKIe/pzedVUk1y07F13GQvPqg==", - "dev": true - }, - "@vue/cli-plugin-babel": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.13.tgz", - "integrity": "sha512-ykvEAfD8PgGs+dGMGqr7l/nRmIS39NRzWLhMluPLTvDV1L+IxcoB73HNLGA/aENDpl8CuWrTE+1VgydcOhp+wg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.13", - "@vue/cli-shared-utils": "^4.5.13", - "babel-loader": "^8.1.0", - "cache-loader": "^4.1.0", - "thread-loader": "^2.1.3", - "webpack": "^4.0.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "dev": true, - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@vue/cli-plugin-eslint": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.13.tgz", - "integrity": "sha512-yc2uXX6aBiy3vEf5TwaueaDqQbdIXIhk0x0KzEtpPo23jBdLkpOSoU5NCgE06g/ZiGAcettpmBSv73Hfp4wHEw==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.13", - "eslint-loader": "^2.2.1", - "globby": "^9.2.0", - "inquirer": "^7.1.0", - "webpack": "^4.0.0", - "yorkie": "^2.0.0" - } - }, - "@vue/cli-plugin-pwa": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.13.tgz", - "integrity": "sha512-uU5pp94VU0YscfKq/mNRsKOdxG+CTqVlZWaYkRc+HCcwkJ/m/CnxgaEqQFr0QpHC8zmlX4gILO1RVYygJoR9tw==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.13", - "webpack": "^4.0.0", - "workbox-webpack-plugin": "^4.3.1" - } - }, - "@vue/cli-plugin-router": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.13.tgz", - "integrity": "sha512-tgtMDjchB/M1z8BcfV4jSOY9fZSMDTPgF9lsJIiqBWMxvBIsk9uIZHxp62DibYME4CCKb/nNK61XHaikFp+83w==", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.13" - } - }, - "@vue/cli-plugin-unit-jest": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-4.5.13.tgz", - "integrity": "sha512-8t7QIihJWB9Kv85FamrEzWbJnvsLhQdyXHl3h+qhAihrZdLL+9mj905y88cBCq+i2PqqZ/qAoabbpf4DxDAb7g==", - "dev": true, - "requires": { - "@babel/core": "^7.11.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.6", - "@types/jest": "^24.0.19", - "@vue/cli-shared-utils": "^4.5.13", - "babel-core": "^7.0.0-bridge.0", - "babel-jest": "^24.9.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", - "deepmerge": "^4.2.2", - "jest": "^24.9.0", - "jest-environment-jsdom-fifteen": "^1.0.2", - "jest-serializer-vue": "^2.0.2", - "jest-transform-stub": "^2.0.0", - "jest-watch-typeahead": "^0.4.2", - "ts-jest": "^24.2.0", - "vue-jest": "^3.0.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", - "dev": true, - "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", - "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.15.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - }, - "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", - "dev": true, - "requires": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - } - }, - "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", - "dev": true, - "requires": { - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", - "dev": true, - "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" - } - }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - } - } - } - }, - "@vue/cli-plugin-vuex": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.13.tgz", - "integrity": "sha512-I1S9wZC7iI0Wn8kw8Zh+A2Qkf6s1M6vTGBkx8boXjuzfwEEyEHRxadsVCecZc8Mkpydo0nykj+MyYF96TKFuVA==", - "dev": true - }, - "@vue/cli-service": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.13.tgz", - "integrity": "sha512-CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A==", - "dev": true, - "requires": { - "@intervolga/optimize-cssnano-plugin": "^1.0.5", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@soda/get-current-script": "^1.0.0", - "@types/minimist": "^1.2.0", - "@types/webpack": "^4.0.0", - "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.13", - "@vue/cli-plugin-router": "^4.5.13", - "@vue/cli-plugin-vuex": "^4.5.13", - "@vue/cli-shared-utils": "^4.5.13", - "@vue/component-compiler-utils": "^3.1.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^7.4.0", - "acorn-walk": "^7.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.8.6", - "browserslist": "^4.12.0", - "cache-loader": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.3.0", - "cli-highlight": "^2.1.4", - "clipboardy": "^2.3.0", - "cliui": "^6.0.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.5.3", - "cssnano": "^4.1.10", - "debug": "^4.1.1", - "default-gateway": "^5.0.5", - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "file-loader": "^4.2.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "hash-sum": "^2.0.0", - "html-webpack-plugin": "^3.2.0", - "launch-editor-middleware": "^2.2.1", - "lodash.defaultsdeep": "^4.6.1", - "lodash.mapvalues": "^4.6.0", - "lodash.transform": "^4.6.0", - "mini-css-extract-plugin": "^0.9.0", - "minimist": "^1.2.5", - "pnp-webpack-plugin": "^1.6.4", - "portfinder": "^1.0.26", - "postcss-loader": "^3.0.0", - "ssri": "^8.0.1", - "terser-webpack-plugin": "^1.4.4", - "thread-loader": "^2.1.3", - "url-loader": "^2.2.0", - "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.1.0", - "vue-style-loader": "^4.1.2", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.8.0", - "webpack-chain": "^6.4.0", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^4.2.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", - "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" - } - }, - "caniuse-lite": { - "version": "1.0.30001261", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", - "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", - "dev": true - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.854", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", - "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", - "dev": true - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", - "dev": true - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "@vue/cli-shared-utils": { - "version": "4.5.13", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.13.tgz", - "integrity": "sha512-HpnOrkLg42RFUsQGMJv26oTG3J3FmKtO2WSRhKIIL+1ok3w9OjGCtA3nMMXN27f9eX14TqO64M36DaiSZ1fSiw==", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@vue/component-compiler-utils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", - "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", - "dev": true, - "requires": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.36", - "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "@vue/eslint-config-airbnb": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-airbnb/-/eslint-config-airbnb-4.0.1.tgz", - "integrity": "sha512-+4eD6qpiizX3v4mx5iSzMs7U2VecJw+c9TnverNYr94e0DD/mkIV0axTlAsBjkAjuqhjWS/E8F9/Pd7qRH03gA==", - "dev": true, - "requires": { - "eslint-config-airbnb-base": "^13.1.0", - "eslint-import-resolver-webpack": "^0.11.1", - "eslint-plugin-import": "^2.17.3" - } - }, - "@vue/eslint-config-prettier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-5.1.0.tgz", - "integrity": "sha512-LNqBXtM+4XqKz6yW3rrF/frCVZUKyYryiiMc8aCGq3czSXhTR/UNhl89FAtqZcpSwh5u8k2Qh8BvFctva68HUQ==", - "dev": true, - "requires": { - "eslint-config-prettier": "^6.0.0" - } - }, - "@vue/preload-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", - "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", - "dev": true - }, - "@vue/test-utils": { - "version": "1.0.0-beta.29", - "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz", - "integrity": "sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA==", - "dev": true, - "requires": { - "dom-event-types": "^1.0.0", - "lodash": "^4.17.4" - } - }, - "@vue/web-component-wrapper": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", - "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" - }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-find": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", - "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "autoprefixer": { - "version": "9.8.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.7.tgz", - "integrity": "sha512-7Hg99B1eTH5+LgmUBUSmov1Z3bsggQJS7v3IMGo6wcScnbRuvtMc871J9J+4bSbIqa9LSX/zypFXJ8sXHpMJeQ==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "nanocolors": "^0.2.8", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", - "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" - }, - "dependencies": { - "nanocolors": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", - "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", - "dev": true - } - } - }, - "caniuse-lite": { - "version": "1.0.30001261", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", - "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.854", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", - "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", - "dev": true - }, - "nanocolors": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", - "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", - "dev": true - }, - "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", - "dev": true - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", - "dev": true - }, - "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - } - } - }, - "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - } - } - }, - "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "dev": true, - "requires": { - "babylon": "^6.18.0" - } - }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true - } - } - }, - "babel-jest": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", - "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", - "dev": true, - "requires": { - "babel-plugin-istanbul": "^4.1.6", - "babel-preset-jest": "^23.2.0" - } - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "ajv": { - "version": "6.12.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", - "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", - "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.13.0", - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.10.1", - "test-exclude": "^4.2.1" - } - }, - "babel-plugin-jest-hoist": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", - "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", - "dev": true - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", - "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.16.2" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" - } - }, - "babel-plugin-require-context-hook": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-require-context-hook/-/babel-plugin-require-context-hook-1.0.0.tgz", - "integrity": "sha512-EMZD1563QUqLhzrqcThk759RhuNVX/ZJdrtGK6drwzgvnR+ARjWyXIHPbu+tUNaMGtPz/gQeAM2M6VUw2UiUeA==", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", - "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "dev": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-jest": { - "version": "23.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", - "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^23.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", - "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", - "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" - }, - "bootstrap-vue": { - "version": "2.21.2", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", - "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", - "requires": { - "@nuxt/opencollective": "^0.3.2", - "bootstrap": ">=4.5.3 <5.0.0", - "popper.js": "^1.16.1", - "portal-vue": "^2.1.7", - "vue-functional-data-merge": "^3.1.0" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", - "requires": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", - "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" - }, - "dependencies": { - "caniuse-lite": { - "version": "1.0.30001261", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", - "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==" - } - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", - "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", - "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", - "dev": true, - "requires": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^3.0.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^2.0.0" - }, - "dependencies": { - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30000989", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", - "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", - "dev": true - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "requires": { - "rsvp": "^4.8.4" - } - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", - "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", - "dev": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "optional": true, - "requires": { - "bindings": "^1.5.0" - } - } - } - }, - "chownr": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", - "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==" - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } - } - }, - "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", - "dev": true - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dev": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", - "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", - "dev": true, - "requires": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "dependencies": { - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - } - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", - "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "optional": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" - }, - "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", - "dev": true - } - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "condense-newlines": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", - "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-whitespace": "^0.3.0", - "kind-of": "^3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "confusing-browser-globals": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz", - "integrity": "sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg==", - "dev": true - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "^0.1.4" - } - }, - "consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", - "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", - "dev": true, - "requires": { - "bluebird": "^3.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "copy-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", - "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", - "dev": true, - "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - } - } - }, - "core-js": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", - "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==" - }, - "core-js-compat": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.1.tgz", - "integrity": "sha512-XJMYx58zo4W0kLPmIingVZA10+7TuKrMLPt83+EzDmxFJQUMcTVVmQ+n5JP4r6Z14qSzhQBRi3NSWoeVyKKXUg==", - "dev": true, - "requires": { - "browserslist": "^4.17.1", - "semver": "7.0.0" - }, - "dependencies": { - "browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", - "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" - } - }, - "caniuse-lite": { - "version": "1.0.30001261", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", - "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.854", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", - "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", - "dev": true - }, - "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", - "dev": true - }, - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - }, - "dependencies": { - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", - "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dev": true, - "requires": { - "cssom": "0.3.x" - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "deasync": { - "version": "0.1.23", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.23.tgz", - "integrity": "sha512-CGZSokFwidI50GOAmkz/7z3QdMzTQqAiUOzt95PuhKgi6VVztn9D03ZCzzi93uUWlp/v6A9osvNWpIvqHvKjTA==", - "dev": true, - "requires": { - "bindings": "^1.5.0", - "node-addon-api": "^1.7.1" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-gateway": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", - "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", - "dev": true, - "requires": { - "execa": "^3.3.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-event-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz", - "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==", - "dev": true - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - } - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-object": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-1.9.0.tgz", - "integrity": "sha512-7MPN6y7XhAO4vM4eguj5+5HNKLjJYfkVG1ZR1Aput4Q4TR6SYeSjhpVQ77IzJHoSHffKbDxBC+48aCiiRurDPw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "glob": "^7.1.4" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - }, - "dependencies": { - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - } - } - }, - "dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "easy-stack": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", - "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "editorconfig": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", - "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "lru-cache": "^4.1.5", - "semver": "^5.6.0", - "sigmund": "^1.0.1" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.854", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", - "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", - "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.0", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-inspect": "^1.6.0", - "object-keys": "^1.1.1", - "string.prototype.trimleft": "^2.0.0", - "string.prototype.trimright": "^2.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "eslint-config-airbnb-base": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz", - "integrity": "sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.5", - "object.assign": "^4.1.0", - "object.entries": "^1.1.0" - } - }, - "eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", - "dev": true, - "requires": { - "get-stdin": "^6.0.0" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-import-resolver-webpack": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz", - "integrity": "sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg==", - "dev": true, - "requires": { - "array-find": "^1.0.0", - "debug": "^2.6.8", - "enhanced-resolve": "~0.9.0", - "find-root": "^1.1.0", - "has": "^1.0.1", - "interpret": "^1.0.0", - "lodash": "^4.17.4", - "node-libs-browser": "^1.0.0 || ^2.0.0", - "resolve": "^1.10.0", - "semver": "^5.3.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "enhanced-resolve": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", - "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.2.0", - "tapable": "^0.1.8" - } - }, - "memory-fs": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", - "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "tapable": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", - "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", - "dev": true - } - } - }, - "eslint-loader": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", - "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", - "dev": true, - "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" - } - }, - "eslint-module-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", - "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", - "dev": true, - "requires": { - "debug": "^2.6.8", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.18.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", - "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.4.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.0", - "read-pkg-up": "^2.0.0", - "resolve": "^1.11.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-vue": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz", - "integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==", - "dev": true, - "requires": { - "vue-eslint-parser": "^5.0.0" - }, - "dependencies": { - "acorn-jsx": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", - "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", - "dev": true - }, - "espree": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", - "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", - "dev": true, - "requires": { - "acorn": "^6.0.2", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "vue-eslint-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz", - "integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "eslint-scope": "^4.0.0", - "eslint-visitor-keys": "^1.0.0", - "espree": "^4.1.0", - "esquery": "^1.0.1", - "lodash": "^4.17.11" - } - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true - }, - "esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", - "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" - }, - "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } - } - }, - "express-logging": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/express-logging/-/express-logging-1.1.1.tgz", - "integrity": "sha1-YoOWGMurW7NhDxocFIU1L+nSbCo=", - "requires": { - "on-headers": "^1.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-from-css": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/extract-from-css/-/extract-from-css-0.4.4.tgz", - "integrity": "sha1-HqffLnx8brmSL6COitrqSG9vj5I=", - "dev": true, - "requires": { - "css": "^2.1.0" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastq": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", - "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", - "requires": { - "reusify": "^1.0.0" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", - "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - }, - "dependencies": { - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", - "dev": true, - "requires": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "dev": true - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", - "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - } - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true - }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - } - }, - "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - } - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - } - } - }, - "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "dev": true - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - }, - "dependencies": { - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", - "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "dependencies": { - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - } - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-core-module": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", - "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", - "dev": true - }, - "is-whitespace": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", - "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", - "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", - "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", - "dev": true, - "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.2.1", - "semver": "^5.3.0" - } - }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0" - } - }, - "javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", - "dev": true - }, - "jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "dev": true, - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "dev": true, - "requires": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - } - } - } - }, - "jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - }, - "dependencies": { - "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", - "dev": true, - "requires": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - } - }, - "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", - "dev": true, - "requires": { - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", - "dev": true, - "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - } - } - } - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", - "dev": true, - "requires": { - "detect-newline": "^2.1.0" - } - }, - "jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" - } - }, - "jest-environment-jsdom-fifteen": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom-fifteen/-/jest-environment-jsdom-fifteen-1.0.2.tgz", - "integrity": "sha512-nfrnAfwklE1872LIB31HcjM65cWTh1wzvMSp10IYtPJjLDUbTTvDpajZgIxUnhRmzGvogdHDayCIlerLK0OBBg==", - "dev": true, - "requires": { - "@jest/environment": "^24.3.0", - "@jest/fake-timers": "^24.3.0", - "@jest/types": "^24.3.0", - "jest-mock": "^24.0.0", - "jest-util": "^24.0.0", - "jsdom": "^15.2.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" - } - }, - "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "ws": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", - "dev": true - } - } - }, - "jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" - } - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true - }, - "jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "dependencies": { - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0" - } - } - } - }, - "jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" - } - }, - "jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", - "dev": true, - "requires": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true - }, - "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true - }, - "jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" - } - }, - "jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" - } - }, - "jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - } - }, - "jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - } - }, - "jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", - "dev": true - }, - "jest-serializer-vue": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz", - "integrity": "sha1-sjjvKGNX7GtIBCG9RxRQUJh9WbM=", - "dev": true, - "requires": { - "pretty": "2.0.0" - } - }, - "jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "jest-transform-stub": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jest-transform-stub/-/jest-transform-stub-2.0.0.tgz", - "integrity": "sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==", - "dev": true - }, - "jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", - "dev": true, - "requires": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "jest-watch-typeahead": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz", - "integrity": "sha512-f7VpLebTdaXs81rg/oj4Vg/ObZy2QtGzAmGLNsqUS5G5KtSN68tFcIsbvNODfNyQxU78g7D8x77o3bgfBTR+2Q==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^2.4.1", - "jest-regex-util": "^24.9.0", - "jest-watcher": "^24.3.0", - "slash": "^3.0.0", - "string-length": "^3.1.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", - "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - } - } - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "js-beautify": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.0.tgz", - "integrity": "sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==", - "dev": true, - "requires": { - "config-chain": "^1.1.12", - "editorconfig": "^0.15.3", - "glob": "^7.1.3", - "nopt": "^5.0.0" - } - }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" - }, - "js-message": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", - "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", - "dev": true - }, - "js-queue": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", - "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", - "dev": true, - "requires": { - "easy-stack": "^1.0.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jwt-decode": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", - "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", - "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - } - }, - "launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", - "dev": true, - "requires": { - "launch-editor": "^2.2.1" - } - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-fs-cache": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", - "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", - "dev": true, - "requires": { - "find-cache-dir": "^0.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", - "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "pkg-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", - "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", - "dev": true, - "requires": { - "find-up": "^1.0.0" - } - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", - "dev": true - }, - "lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", - "dev": true - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", - "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true - }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" - }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "requires": { - "mime-db": "1.40.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nanocolors": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", - "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" - }, - "netlify-lambda": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/netlify-lambda/-/netlify-lambda-1.6.3.tgz", - "integrity": "sha512-nP5Ja6H/FmKSuagOOcLFizUmpuso1bzNvyo3HWU9dCpQ5Kmzt58k4oYUnSNTBc+lsi7ExZokAmtFRMAYAvWWNQ==", - "requires": { - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-object-assign": "^7.0.0", - "@babel/preset-env": "^7.0.0", - "babel-loader": "^8.0.0", - "body-parser": "^1.18.3", - "commander": "^2.17.1", - "express": "^4.16.3", - "express-logging": "^1.1.1", - "globby": "^10.0.1", - "jwt-decode": "^2.2.0", - "toml": "^2.3.3", - "webpack": "^4.17.1", - "webpack-merge": "^4.1.4" - }, - "dependencies": { - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "fast-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz", - "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.0", - "resolved": "", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", - "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true - }, - "node-cache": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-4.2.1.tgz", - "integrity": "sha512-BOb67bWg2dTyax5kdef5WfU3X8xu4wPg+zHzkvls0Q/QpYycIFRLEEIdAx9Wma43DxG6Qzn4illdZoYseKWa4A==", - "dev": true, - "requires": { - "clone": "2.x", - "lodash": "^4.17.15" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - } - } - }, - "node-fetch": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", - "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", - "requires": { - "whatwg-url": "^5.0.0" - }, - "dependencies": { - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - } - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-ipc": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", - "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", - "dev": true, - "requires": { - "event-pubsub": "4.3.0", - "js-message": "1.0.7", - "js-queue": "2.0.2" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - } - } - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", - "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true - }, - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.entries": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", - "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.7.tgz", - "integrity": "sha512-uFG1gyVX91tZIiDWNmPsL8XNpiCk/6tkB7MZphoSJflS4w+KgWyQ2gjCVDnsPxFAo9WjRXG3eqONNYdfbJjAtw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-string": "^1.0.7", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", - "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - } - } - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "pnp-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "popper.js": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", - "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" - }, - "portal-vue": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz", - "integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==" - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "7.0.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz", - "integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==", - "dev": true, - "requires": { - "nanocolors": "^0.2.2", - "source-map": "^0.6.1" - }, - "dependencies": { - "nanocolors": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", - "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", - "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", - "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", - "dev": true, - "requires": { - "condense-newlines": "^0.2.1", - "extend-shallow": "^2.0.1", - "js-beautify": "^1.6.12" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - }, - "prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "dependencies": { - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", - "dev": true, - "requires": { - "util.promisify": "^1.0.0" - } - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" - }, - "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", - "requires": { - "private": "^0.1.6" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp-tree": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz", - "integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==" - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" - } - }, - "register-service-worker": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", - "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==" - }, - "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" - }, - "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - } - }, - "css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", - "dev": true - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dev": true, - "requires": { - "xmlchars": "^2.1.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", - "dev": true - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "dependencies": { - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - } - } - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "sitemap": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-5.1.0.tgz", - "integrity": "sha512-RAOCHYPbALEaIlqlGs46LZ9RFfh+61YYjexMqri4h+gsW6y0MLZ+WB4eJCopVP9WCWsng6z9JSPHqcKtjoydLw==", - "dev": true, - "requires": { - "@types/node": "^12.12.3", - "@types/sax": "^1.2.0", - "arg": "^4.1.1", - "sax": "^1.2.4", - "xmlbuilder": "^13.0.2" - }, - "dependencies": { - "@types/node": { - "version": "12.20.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.27.tgz", - "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", - "dev": true - } - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", - "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", - "dev": true, - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.3" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimleft": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", - "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimright": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", - "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "function-bind": "^1.1.1" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dev": true, - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-comments": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", - "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", - "dev": true, - "requires": { - "babel-extract-comments": "^1.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.7.tgz", - "integrity": "sha512-uFG1gyVX91tZIiDWNmPsL8XNpiCk/6tkB7MZphoSJflS4w+KgWyQ2gjCVDnsPxFAo9WjRXG3eqONNYdfbJjAtw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-string": "^1.0.7", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - } - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, - "terser": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.2.tgz", - "integrity": "sha512-Uufrsvhj9O1ikwgITGsZ5EZS6qPokUOkCegS7fYOdGTv+OA90vndUbU6PEjr5ePqHfNUbGyMO7xyIZv2MhsALQ==", - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "test-exclude": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", - "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", - "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", - "dev": true, - "requires": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - } - }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "toml": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", - "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==" - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", - "dev": true - }, - "ts-jest": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.3.0.tgz", - "integrity": "sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "mkdirp": "0.x", - "resolve": "1.x", - "semver": "^5.5", - "yargs-parser": "10.x" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true - }, - "tsconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", - "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", - "dev": true, - "requires": { - "@types/strip-bom": "^3.0.0", - "@types/strip-json-comments": "0.0.30", - "strip-bom": "^3.0.0", - "strip-json-comments": "^2.0.0" - } - }, - "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - } - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", - "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.5.0" - }, - "dependencies": { - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", - "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", - "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - } - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", - "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==" - }, - "vue": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", - "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" - }, - "vue-cli-plugin-i18n": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-2.3.1.tgz", - "integrity": "sha512-1bNVZtLIAL9Pge8hiw986vixofyqF/tlgsqe4fF5JWn9c8xhsqVugEBuUeaYxevrE9efhhFk9mRmEDwBwQnbNg==", - "dev": true, - "requires": { - "debug": "^4.3.0", - "deepmerge": "^4.2.0", - "dotenv": "^8.2.0", - "flat": "^5.0.0", - "rimraf": "^3.0.0", - "vue": "^2.6.11", - "vue-i18n": "^8.17.0", - "vue-i18n-extract": "1.0.2" - }, - "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "vue-functional-data-merge": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz", - "integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA==" - }, - "vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", - "dev": true - }, - "vue-i18n": { - "version": "8.26.5", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.26.5.tgz", - "integrity": "sha512-qYqfsFd8v2QFSLDAabqXXXpwjGvkuqJtTWqRpZPXpAFO6PArGH4A9vSplnA0HLmnB8km7OB5ZSdP8lkkX0rLew==" - }, - "vue-i18n-extract": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/vue-i18n-extract/-/vue-i18n-extract-1.0.2.tgz", - "integrity": "sha512-+zwDKvle4KcfloXZnj5hF01ViKDiFr5RMx5507D7oyDXpSleRpekF5YHgZa/+Ra6Go68//z0Nya58J9tKFsCjw==", - "dev": true, - "requires": { - "cli-table3": "^0.5.1", - "dot-object": "^1.7.1", - "esm": "^3.2.13", - "glob": "^7.1.3", - "is-valid-glob": "^1.0.0", - "yargs": "^13.2.2" - } - }, - "vue-jest": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vue-jest/-/vue-jest-3.0.7.tgz", - "integrity": "sha512-PIOxFM+wsBMry26ZpfBvUQ/DGH2hvp5khDQ1n51g3bN0TwFwTy4J85XVfxTRMukqHji/GnAoGUnlZ5Ao73K62w==", - "dev": true, - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", - "chalk": "^2.1.0", - "deasync": "^0.1.15", - "extract-from-css": "^0.4.4", - "find-babel-config": "^1.1.0", - "js-beautify": "^1.6.14", - "node-cache": "^4.1.1", - "object-assign": "^4.1.1", - "source-map": "^0.5.6", - "tsconfig": "^7.0.0", - "vue-template-es2015-compiler": "^1.6.0" - } - }, - "vue-loader": { - "version": "15.9.8", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", - "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", - "dev": true, - "requires": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - } - } - }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.8.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.1.tgz", - "integrity": "sha512-V53TJbHmzjBhCG5OYI2JWy/aYDspz4oVHKxS43Iy212GjGIG1T3EsB3+GWXFm/1z5VwjdjLmdZUFYM70y77vtQ==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "optional": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "vue-meta": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/vue-meta/-/vue-meta-2.4.0.tgz", - "integrity": "sha512-XEeZUmlVeODclAjCNpWDnjgw+t3WA6gdzs6ENoIAgwO1J1d5p1tezDhtteLUFwcaQaTtayRrsx7GL6oXp/m2Jw==", - "requires": { - "deepmerge": "^4.2.2" - }, - "dependencies": { - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - } - } - }, - "vue-router": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz", - "integrity": "sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ==" - }, - "vue-social-sharing": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/vue-social-sharing/-/vue-social-sharing-3.0.8.tgz", - "integrity": "sha512-56gOES9fq7kyzuW7+lVAKtoG9Wi4MGjIfMqXAFZv1QSwW00EN0X5zJDSQjZn1Y2cIU6DUG+1KfJB7r7nTuiISA==" - }, - "vue-style-loader": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", - "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", - "dev": true, - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - } - } - }, - "vue-template-compiler": { - "version": "2.6.14", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", - "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", - "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", - "dev": true - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dev": true, - "requires": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "optional": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "optional": true - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "optional": true, - "requires": { - "picomatch": "^2.2.1" - }, - "dependencies": { - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "optional": true - } - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz", - "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==", - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - } - }, - "webpack-bundle-analyzer": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", - "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.19", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "webpack-chain": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", - "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", - "dev": true, - "requires": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - }, - "dependencies": { - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - } - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "workbox-background-sync": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", - "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-broadcast-update": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", - "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-build": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", - "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.3.4", - "@hapi/joi": "^15.0.0", - "common-tags": "^1.8.0", - "fs-extra": "^4.0.2", - "glob": "^7.1.3", - "lodash.template": "^4.4.0", - "pretty-bytes": "^5.1.0", - "stringify-object": "^3.3.0", - "strip-comments": "^1.0.2", - "workbox-background-sync": "^4.3.1", - "workbox-broadcast-update": "^4.3.1", - "workbox-cacheable-response": "^4.3.1", - "workbox-core": "^4.3.1", - "workbox-expiration": "^4.3.1", - "workbox-google-analytics": "^4.3.1", - "workbox-navigation-preload": "^4.3.1", - "workbox-precaching": "^4.3.1", - "workbox-range-requests": "^4.3.1", - "workbox-routing": "^4.3.1", - "workbox-strategies": "^4.3.1", - "workbox-streams": "^4.3.1", - "workbox-sw": "^4.3.1", - "workbox-window": "^4.3.1" - } - }, - "workbox-cacheable-response": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", - "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-core": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", - "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==", - "dev": true - }, - "workbox-expiration": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", - "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-google-analytics": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", - "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", - "dev": true, - "requires": { - "workbox-background-sync": "^4.3.1", - "workbox-core": "^4.3.1", - "workbox-routing": "^4.3.1", - "workbox-strategies": "^4.3.1" - } - }, - "workbox-navigation-preload": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", - "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-precaching": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", - "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-range-requests": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", - "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-routing": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", - "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-strategies": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", - "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-streams": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", - "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "workbox-sw": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", - "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==", - "dev": true - }, - "workbox-webpack-plugin": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", - "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.0.0", - "json-stable-stringify": "^1.0.1", - "workbox-build": "^4.3.1" - } - }, - "workbox-window": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", - "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", - "dev": true, - "requires": { - "workbox-core": "^4.3.1" - } - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "ws": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", - "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "xmlbuilder": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", - "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - }, - "yorkie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", - "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", - "dev": true, - "requires": { - "execa": "^0.8.0", - "is-ci": "^1.0.10", - "normalize-path": "^1.0.0", - "strip-indent": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", - "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "normalize-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", - "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - } - } -} +{ + "name": "opendrinks", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/compat-data": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "dev": true + }, + "@babel/core": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz", + "integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.0", + "@babel/helpers": "^7.6.0", + "@babel/parser": "^7.6.0", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.0", + "@babel/types": "^7.6.0", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz", + "integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==", + "requires": { + "@babel/types": "^7.6.0", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "browserslist": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", + "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", + "escalade": "^3.1.1", + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" + } + }, + "caniuse-lite": { + "version": "1.0.30001261", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", + "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.854", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", + "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", + "dev": true + }, + "node-releases": { + "version": "1.1.76", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", + "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz", + "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + } + } + }, + "@babel/helper-define-map": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "requires": { + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" + }, + "@babel/helper-regex": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.5.5", + "@babel/types": "^7.5.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", + "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz", + "integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==", + "requires": { + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz", + "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==" + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", + "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", + "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", + "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.15.4.tgz", + "integrity": "sha512-WNER+YLs7avvRukEddhu5PSfSaMMimX2xBFgLQS7Bw16yrUxJGWidO9nQp+yLy9MVybg5Ba3BlhAw+BkdhpDmg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-decorators": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", + "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", + "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-create-class-features-plugin": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz", + "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", + "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz", + "integrity": "sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.5.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz", + "integrity": "sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==", + "requires": { + "regexp-tree": "^0.1.13" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-assign": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.2.0.tgz", + "integrity": "sha512-nmE55cZBPFgUktbF2OuoZgPRadfxosLOpSgzEPYotKSls9J4pEPcembi8r78RU37Rph6UApCpNmsQA4QMWK9Ng==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz", + "integrity": "sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/preset-env": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", + "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.3.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.3.4", + "@babel/plugin-transform-classes": "^7.3.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.3.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.3.4", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/traverse": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz", + "integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==", + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz", + "integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@intlify/shared": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.1.7.tgz", + "integrity": "sha512-zt0zlUdalumvT9AjQNxPXA36UgOndUyvBMplh8uRZU0fhWHAwhnJTcf0NaG9Qvr8I1n3HPSs96+kLb/YdwTavQ==", + "dev": true + }, + "@intlify/vue-i18n-loader": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@intlify/vue-i18n-loader/-/vue-i18n-loader-1.1.0.tgz", + "integrity": "sha512-9LXiztMtYKTE8t/hRwwGUp+ofrwU0sxLQLzFEOZ38zvn0DonUIQmZUj1cfz5p1Lu8BllxKbCrn6HnsRJ+LYA6g==", + "dev": true, + "requires": { + "@intlify/shared": "^9.0.0", + "js-yaml": "^3.13.1", + "json5": "^2.1.1" + }, + "dependencies": { + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "requires": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + } + }, + "@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "requires": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + } + }, + "@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + } + }, + "@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "dependencies": { + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + } + } + }, + "@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + } + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@nuxt/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-XG7rUdXG9fcafu9KTDIYjJSkRO38EwjlKYIb5TQ/0WDbiTUTtUtgncMscKOYzfsY86kGs05pAuMOR+3Fi0aN3A==", + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz", + "integrity": "sha512-RLotfx6k1+nfLacwNCenj7VnTMPxVwYKoGOcffMFoJDKM8tXzBiCN0hMHFJNnoAojduYAsxuiMm0EOMixgiRow==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.2", + "string-width": "^2.0.0", + "strip-ansi": "^5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } + } + } + } + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/body-parser": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", + "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz", + "integrity": "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==", + "dev": true, + "requires": { + "jest-diff": "^24.3.0" + } + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "@types/node": { + "version": "12.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.5.tgz", + "integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w==" + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/sax": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.3.tgz", + "integrity": "sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz", + "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack": { + "version": "4.41.31", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.31.tgz", + "integrity": "sha512-/i0J7sepXFIp1ZT7FjUGi1eXMCg8HCCzLJEQkKsOtbJFontsJLolBcDC+3qxn5pPwiCt1G0ZdRmYRzNBtvpuGQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "@types/webpack-dev-server": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", + "dev": true, + "requires": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } + }, + "@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", + "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", + "dev": true + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", + "dev": true + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.0.tgz", + "integrity": "sha512-RGesLuTa+/0dHw7Ai3oQK0PoZbHPgtnjRQMTA/RRarqTWqMcFQ1BWYW47nSCkJAPYfd9hkUC0BWqokiOlJjJyg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", + "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } + }, + "@vue/babel-preset-app": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz", + "integrity": "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/core": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", + "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", + "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", + "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", + "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", + "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", + "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-wrap-function": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", + "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dev": true, + "requires": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz", + "integrity": "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.15.4", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", + "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.15.4" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", + "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", + "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", + "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", + "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.6.tgz", + "integrity": "sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.4", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.15.4", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.15.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.15.3", + "@babel/plugin-transform-classes": "^7.15.4", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.15.4", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.4", + "@babel/plugin-transform-modules-systemjs": "^7.15.4", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.15.4", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.15.6", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", + "semver": "^6.3.0" + } + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/babel-preset-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", + "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", + "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", + "@vue/babel-sugar-functional-vue": "^1.2.2", + "@vue/babel-sugar-inject-h": "^1.2.2", + "@vue/babel-sugar-v-model": "^1.2.3", + "@vue/babel-sugar-v-on": "^1.2.3" + } + }, + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", + "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", + "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", + "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", + "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", + "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + } + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", + "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@vue/cli-overlay": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.13.tgz", + "integrity": "sha512-jhUIg3klgi5Cxhs8dnat5hi/W2tQJvsqCxR0u6hgfSob0ORODgUBlN+F/uwq7cKIe/pzedVUk1y07F13GQvPqg==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.13.tgz", + "integrity": "sha512-ykvEAfD8PgGs+dGMGqr7l/nRmIS39NRzWLhMluPLTvDV1L+IxcoB73HNLGA/aENDpl8CuWrTE+1VgydcOhp+wg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@vue/babel-preset-app": "^4.5.13", + "@vue/cli-shared-utils": "^4.5.13", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/core": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", + "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dev": true, + "requires": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/cli-plugin-eslint": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.13.tgz", + "integrity": "sha512-yc2uXX6aBiy3vEf5TwaueaDqQbdIXIhk0x0KzEtpPo23jBdLkpOSoU5NCgE06g/ZiGAcettpmBSv73Hfp4wHEw==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.13", + "eslint-loader": "^2.2.1", + "globby": "^9.2.0", + "inquirer": "^7.1.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-pwa": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.5.13.tgz", + "integrity": "sha512-uU5pp94VU0YscfKq/mNRsKOdxG+CTqVlZWaYkRc+HCcwkJ/m/CnxgaEqQFr0QpHC8zmlX4gILO1RVYygJoR9tw==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.13", + "webpack": "^4.0.0", + "workbox-webpack-plugin": "^4.3.1" + } + }, + "@vue/cli-plugin-router": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.13.tgz", + "integrity": "sha512-tgtMDjchB/M1z8BcfV4jSOY9fZSMDTPgF9lsJIiqBWMxvBIsk9uIZHxp62DibYME4CCKb/nNK61XHaikFp+83w==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.13" + } + }, + "@vue/cli-plugin-unit-jest": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-4.5.13.tgz", + "integrity": "sha512-8t7QIihJWB9Kv85FamrEzWbJnvsLhQdyXHl3h+qhAihrZdLL+9mj905y88cBCq+i2PqqZ/qAoabbpf4DxDAb7g==", + "dev": true, + "requires": { + "@babel/core": "^7.11.0", + "@babel/plugin-transform-modules-commonjs": "^7.9.6", + "@types/jest": "^24.0.19", + "@vue/cli-shared-utils": "^4.5.13", + "babel-core": "^7.0.0-bridge.0", + "babel-jest": "^24.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", + "deepmerge": "^4.2.2", + "jest": "^24.9.0", + "jest-environment-jsdom-fifteen": "^1.0.2", + "jest-serializer-vue": "^2.0.2", + "jest-transform-stub": "^2.0.0", + "jest-watch-typeahead": "^0.4.2", + "ts-jest": "^24.2.0", + "vue-jest": "^3.0.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/core": { + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-imports": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", + "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helpers": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "dev": true, + "requires": { + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", + "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.15.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "requires": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "requires": { + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + } + } + }, + "@vue/cli-plugin-vuex": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.13.tgz", + "integrity": "sha512-I1S9wZC7iI0Wn8kw8Zh+A2Qkf6s1M6vTGBkx8boXjuzfwEEyEHRxadsVCecZc8Mkpydo0nykj+MyYF96TKFuVA==", + "dev": true + }, + "@vue/cli-service": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.13.tgz", + "integrity": "sha512-CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A==", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@types/minimist": "^1.2.0", + "@types/webpack": "^4.0.0", + "@types/webpack-dev-server": "^3.11.0", + "@vue/cli-overlay": "^4.5.13", + "@vue/cli-plugin-router": "^4.5.13", + "@vue/cli-plugin-vuex": "^4.5.13", + "@vue/cli-shared-utils": "^4.5.13", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.4.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.6", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^1.4.4", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-loader-v16": "npm:vue-loader@^16.1.0", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "browserslist": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", + "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", + "escalade": "^3.1.1", + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" + } + }, + "caniuse-lite": { + "version": "1.0.30001261", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", + "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.854", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", + "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", + "dev": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node-releases": { + "version": "1.1.76", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", + "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", + "dev": true + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "@vue/cli-shared-utils": { + "version": "4.5.13", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.13.tgz", + "integrity": "sha512-HpnOrkLg42RFUsQGMJv26oTG3J3FmKtO2WSRhKIIL+1ok3w9OjGCtA3nMMXN27f9eX14TqO64M36DaiSZ1fSiw==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", + "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@vue/eslint-config-airbnb": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-airbnb/-/eslint-config-airbnb-4.0.1.tgz", + "integrity": "sha512-+4eD6qpiizX3v4mx5iSzMs7U2VecJw+c9TnverNYr94e0DD/mkIV0axTlAsBjkAjuqhjWS/E8F9/Pd7qRH03gA==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "^13.1.0", + "eslint-import-resolver-webpack": "^0.11.1", + "eslint-plugin-import": "^2.17.3" + } + }, + "@vue/eslint-config-prettier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-5.1.0.tgz", + "integrity": "sha512-LNqBXtM+4XqKz6yW3rrF/frCVZUKyYryiiMc8aCGq3czSXhTR/UNhl89FAtqZcpSwh5u8k2Qh8BvFctva68HUQ==", + "dev": true, + "requires": { + "eslint-config-prettier": "^6.0.0" + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true + }, + "@vue/test-utils": { + "version": "1.0.0-beta.29", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz", + "integrity": "sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA==", + "dev": true, + "requires": { + "dom-event-types": "^1.0.0", + "lodash": "^4.17.4" + } + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "array-find": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz", + "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "9.8.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.7.tgz", + "integrity": "sha512-7Hg99B1eTH5+LgmUBUSmov1Z3bsggQJS7v3IMGo6wcScnbRuvtMc871J9J+4bSbIqa9LSX/zypFXJ8sXHpMJeQ==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "nanocolors": "^0.2.8", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "browserslist": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", + "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", + "escalade": "^3.1.1", + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" + }, + "dependencies": { + "nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001261", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", + "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.854", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", + "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", + "dev": true + }, + "nanocolors": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", + "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", + "dev": true + }, + "node-releases": { + "version": "1.1.76", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", + "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", + "dev": true + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "dev": true, + "requires": { + "@babel/types": "^7.15.4" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "dev": true + }, + "@babel/template": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + } + } + }, + "@babel/traverse": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + } + } + }, + "@babel/types": { + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + } + } + }, + "babel-jest": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-23.6.0.tgz", + "integrity": "sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==", + "dev": true, + "requires": { + "babel-plugin-istanbul": "^4.1.6", + "babel-preset-jest": "^23.2.0" + } + }, + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "ajv": { + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.13.0", + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.10.1", + "test-exclude": "^4.2.1" + } + }, + "babel-plugin-jest-hoist": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz", + "integrity": "sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc=", + "dev": true + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, + "babel-plugin-require-context-hook": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-require-context-hook/-/babel-plugin-require-context-hook-1.0.0.tgz", + "integrity": "sha512-EMZD1563QUqLhzrqcThk759RhuNVX/ZJdrtGK6drwzgvnR+ARjWyXIHPbu+tUNaMGtPz/gQeAM2M6VUw2UiUeA==", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-jest": { + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", + "integrity": "sha1-jsegOhOPABoaj7HoETZSvxpV2kY=", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^23.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "bootstrap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" + }, + "bootstrap-vue": { + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", + "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", + "requires": { + "@nuxt/opencollective": "^0.3.2", + "bootstrap": ">=4.5.3 <5.0.0", + "popper.js": "^1.16.1", + "portal-vue": "^2.1.7", + "vue-functional-data-merge": "^3.1.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", + "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "requires": { + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", + "escalade": "^3.1.1", + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" + }, + "dependencies": { + "caniuse-lite": { + "version": "1.0.30001261", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", + "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==" + } + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30000989", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", + "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0" + } + } + } + }, + "chownr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, + "cli-spinners": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", + "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "dev": true + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", + "dev": true + } + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "condense-newlines": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", + "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-whitespace": "^0.3.0", + "kind-of": "^3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "confusing-browser-globals": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz", + "integrity": "sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg==", + "dev": true + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "^0.1.4" + } + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js": { + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", + "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==" + }, + "core-js-compat": { + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.1.tgz", + "integrity": "sha512-XJMYx58zo4W0kLPmIingVZA10+7TuKrMLPt83+EzDmxFJQUMcTVVmQ+n5JP4r6Z14qSzhQBRi3NSWoeVyKKXUg==", + "dev": true, + "requires": { + "browserslist": "^4.17.1", + "semver": "7.0.0" + }, + "dependencies": { + "browserslist": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", + "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", + "escalade": "^3.1.1", + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" + } + }, + "caniuse-lite": { + "version": "1.0.30001261", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", + "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.854", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", + "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==", + "dev": true + }, + "node-releases": { + "version": "1.1.76", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", + "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", + "dev": true + }, + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "requires": { + "cssom": "0.3.x" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "deasync": { + "version": "0.1.23", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.23.tgz", + "integrity": "sha512-CGZSokFwidI50GOAmkz/7z3QdMzTQqAiUOzt95PuhKgi6VVztn9D03ZCzzi93uUWlp/v6A9osvNWpIvqHvKjTA==", + "dev": true, + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-event-types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz", + "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==", + "dev": true + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-object": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-1.9.0.tgz", + "integrity": "sha512-7MPN6y7XhAO4vM4eguj5+5HNKLjJYfkVG1ZR1Aput4Q4TR6SYeSjhpVQ77IzJHoSHffKbDxBC+48aCiiRurDPw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "glob": "^7.1.4" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } + } + }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "requires": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.854", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.854.tgz", + "integrity": "sha512-00/IIC1mFPkq32MhUJyLdcTp7+wsKK2G3Sb65GSas9FKJQGYkDcZ4GwJkkxf5YyM3ETvl6n+toV8OmtXl4IA/g==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", + "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz", + "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.0.0", + "string.prototype.trimright": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "eslint-config-airbnb-base": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz", + "integrity": "sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.5", + "object.assign": "^4.1.0", + "object.entries": "^1.1.0" + } + }, + "eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-import-resolver-webpack": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz", + "integrity": "sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg==", + "dev": true, + "requires": { + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^1.1.0", + "has": "^1.0.1", + "interpret": "^1.0.0", + "lodash": "^4.17.4", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.10.0", + "semver": "^5.3.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "enhanced-resolve": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz", + "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" + } + }, + "memory-fs": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz", + "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "tapable": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", + "dev": true + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-module-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", + "dev": true, + "requires": { + "debug": "^2.6.8", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", + "dev": true, + "requires": { + "array-includes": "^3.0.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.11.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz", + "integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==", + "dev": true, + "requires": { + "vue-eslint-parser": "^5.0.0" + }, + "dependencies": { + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", + "dev": true + }, + "espree": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", + "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", + "dev": true, + "requires": { + "acorn": "^6.0.2", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "vue-eslint-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz", + "integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.1.0", + "esquery": "^1.0.1", + "lodash": "^4.17.11" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "express-logging": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/express-logging/-/express-logging-1.1.1.tgz", + "integrity": "sha1-YoOWGMurW7NhDxocFIU1L+nSbCo=", + "requires": { + "on-headers": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extract-from-css": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/extract-from-css/-/extract-from-css-0.4.4.tgz", + "integrity": "sha1-HqffLnx8brmSL6COitrqSG9vj5I=", + "dev": true, + "requires": { + "css": "^2.1.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", + "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "requires": { + "reusify": "^1.0.0" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "dev": true, + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==", + "dev": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + } + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + } + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + }, + "dependencies": { + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true + }, + "is-whitespace": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", + "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz", + "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz", + "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==", + "dev": true, + "requires": { + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.2.1", + "semver": "^5.3.0" + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0" + } + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "dev": true, + "requires": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "requires": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + } + } + } + }, + "jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + } + }, + "jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + }, + "dependencies": { + "babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "requires": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + } + }, + "babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "requires": { + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "requires": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "requires": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + } + } + } + }, + "jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "dev": true, + "requires": { + "detect-newline": "^2.1.0" + } + }, + "jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + } + }, + "jest-environment-jsdom-fifteen": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom-fifteen/-/jest-environment-jsdom-fifteen-1.0.2.tgz", + "integrity": "sha512-nfrnAfwklE1872LIB31HcjM65cWTh1wzvMSp10IYtPJjLDUbTTvDpajZgIxUnhRmzGvogdHDayCIlerLK0OBBg==", + "dev": true, + "requires": { + "@jest/environment": "^24.3.0", + "@jest/fake-timers": "^24.3.0", + "@jest/types": "^24.3.0", + "jest-mock": "^24.0.0", + "jest-util": "^24.0.0", + "jsdom": "^15.2.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + } + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "ws": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", + "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==", + "dev": true + } + } + }, + "jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true + }, + "jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0" + } + } + } + }, + "jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + } + }, + "jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "dev": true, + "requires": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + } + }, + "jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true + }, + "jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + } + }, + "jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + } + }, + "jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + } + }, + "jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "dev": true, + "requires": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + } + }, + "jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true + }, + "jest-serializer-vue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz", + "integrity": "sha1-sjjvKGNX7GtIBCG9RxRQUJh9WbM=", + "dev": true, + "requires": { + "pretty": "2.0.0" + } + }, + "jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "jest-transform-stub": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jest-transform-stub/-/jest-transform-stub-2.0.0.tgz", + "integrity": "sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==", + "dev": true + }, + "jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "jest-watch-typeahead": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz", + "integrity": "sha512-f7VpLebTdaXs81rg/oj4Vg/ObZy2QtGzAmGLNsqUS5G5KtSN68tFcIsbvNODfNyQxU78g7D8x77o3bgfBTR+2Q==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.1", + "jest-regex-util": "^24.9.0", + "jest-watcher": "^24.3.0", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "dev": true, + "requires": { + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + } + } + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "js-beautify": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.0.tgz", + "integrity": "sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ==", + "dev": true, + "requires": { + "config-chain": "^1.1.12", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "nopt": "^5.0.0" + } + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==" + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true + }, + "js-queue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", + "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", + "dev": true, + "requires": { + "easy-stack": "^1.0.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jwt-decode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", + "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "dev": true + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", + "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "netlify-lambda": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/netlify-lambda/-/netlify-lambda-1.6.3.tgz", + "integrity": "sha512-nP5Ja6H/FmKSuagOOcLFizUmpuso1bzNvyo3HWU9dCpQ5Kmzt58k4oYUnSNTBc+lsi7ExZokAmtFRMAYAvWWNQ==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-object-assign": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "babel-loader": "^8.0.0", + "body-parser": "^1.18.3", + "commander": "^2.17.1", + "express": "^4.16.3", + "express-logging": "^1.1.1", + "globby": "^10.0.1", + "jwt-decode": "^2.2.0", + "toml": "^2.3.3", + "webpack": "^4.17.1", + "webpack-merge": "^4.1.4" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "fast-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz", + "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true + }, + "node-cache": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-4.2.1.tgz", + "integrity": "sha512-BOb67bWg2dTyax5kdef5WfU3X8xu4wPg+zHzkvls0Q/QpYycIFRLEEIdAx9Wma43DxG6Qzn4illdZoYseKWa4A==", + "dev": true, + "requires": { + "clone": "2.x", + "lodash": "^4.17.15" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + } + } + }, + "node-fetch": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "requires": { + "whatwg-url": "^5.0.0" + }, + "dependencies": { + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + } + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-ipc": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz", + "integrity": "sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.7", + "js-queue": "2.0.2" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", + "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node-releases": { + "version": "1.1.76", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", + "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-inspect": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", + "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.7.tgz", + "integrity": "sha512-uFG1gyVX91tZIiDWNmPsL8XNpiCk/6tkB7MZphoSJflS4w+KgWyQ2gjCVDnsPxFAo9WjRXG3eqONNYdfbJjAtw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-string": "^1.0.7", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + } + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, + "portal-vue": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz", + "integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==" + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.38.tgz", + "integrity": "sha512-wNrSHWjHDQJR/IZL5IKGxRtFgrYNaAA/UrkW2WqbtZO6uxSLMxMN+s2iqUMwnAWm3fMROlDYZB41dr0Mt7vBwQ==", + "dev": true, + "requires": { + "nanocolors": "^0.2.2", + "source-map": "^0.6.1" + }, + "dependencies": { + "nanocolors": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", + "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", + "dev": true, + "requires": { + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "requires": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "requires": { + "util.promisify": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "requires": { + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp-tree": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz", + "integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==" + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "regexpu-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", + "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==" + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==" + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-what": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", + "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", + "dev": true + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "requires": { + "xmlchars": "^2.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "dependencies": { + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + } + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "sitemap": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-5.1.0.tgz", + "integrity": "sha512-RAOCHYPbALEaIlqlGs46LZ9RFfh+61YYjexMqri4h+gsW6y0MLZ+WB4eJCopVP9WCWsng6z9JSPHqcKtjoydLw==", + "dev": true, + "requires": { + "@types/node": "^12.12.3", + "@types/sax": "^1.2.0", + "arg": "^4.1.1", + "sax": "^1.2.4", + "xmlbuilder": "^13.0.2" + }, + "dependencies": { + "@types/node": { + "version": "12.20.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.27.tgz", + "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", + "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "dev": true, + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.7.tgz", + "integrity": "sha512-uFG1gyVX91tZIiDWNmPsL8XNpiCk/6tkB7MZphoSJflS4w+KgWyQ2gjCVDnsPxFAo9WjRXG3eqONNYdfbJjAtw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-string": "^1.0.7", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "terser": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.2.tgz", + "integrity": "sha512-Uufrsvhj9O1ikwgITGsZ5EZS6qPokUOkCegS7fYOdGTv+OA90vndUbU6PEjr5ePqHfNUbGyMO7xyIZv2MhsALQ==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "test-exclude": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.3.tgz", + "integrity": "sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "toml": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", + "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==" + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "ts-jest": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.3.0.tgz", + "integrity": "sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "0.x", + "resolve": "1.x", + "semver": "^5.5", + "yargs-parser": "10.x" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "url-parse": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", + "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + } + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==" + }, + "vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" + }, + "vue-cli-plugin-i18n": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-2.3.1.tgz", + "integrity": "sha512-1bNVZtLIAL9Pge8hiw986vixofyqF/tlgsqe4fF5JWn9c8xhsqVugEBuUeaYxevrE9efhhFk9mRmEDwBwQnbNg==", + "dev": true, + "requires": { + "debug": "^4.3.0", + "deepmerge": "^4.2.0", + "dotenv": "^8.2.0", + "flat": "^5.0.0", + "rimraf": "^3.0.0", + "vue": "^2.6.11", + "vue-i18n": "^8.17.0", + "vue-i18n-extract": "1.0.2" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "vue-functional-data-merge": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz", + "integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA==" + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-i18n": { + "version": "8.26.5", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.26.5.tgz", + "integrity": "sha512-qYqfsFd8v2QFSLDAabqXXXpwjGvkuqJtTWqRpZPXpAFO6PArGH4A9vSplnA0HLmnB8km7OB5ZSdP8lkkX0rLew==" + }, + "vue-i18n-extract": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vue-i18n-extract/-/vue-i18n-extract-1.0.2.tgz", + "integrity": "sha512-+zwDKvle4KcfloXZnj5hF01ViKDiFr5RMx5507D7oyDXpSleRpekF5YHgZa/+Ra6Go68//z0Nya58J9tKFsCjw==", + "dev": true, + "requires": { + "cli-table3": "^0.5.1", + "dot-object": "^1.7.1", + "esm": "^3.2.13", + "glob": "^7.1.3", + "is-valid-glob": "^1.0.0", + "yargs": "^13.2.2" + } + }, + "vue-jest": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vue-jest/-/vue-jest-3.0.7.tgz", + "integrity": "sha512-PIOxFM+wsBMry26ZpfBvUQ/DGH2hvp5khDQ1n51g3bN0TwFwTy4J85XVfxTRMukqHji/GnAoGUnlZ5Ao73K62w==", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", + "chalk": "^2.1.0", + "deasync": "^0.1.15", + "extract-from-css": "^0.4.4", + "find-babel-config": "^1.1.0", + "js-beautify": "^1.6.14", + "node-cache": "^4.1.1", + "object-assign": "^4.1.1", + "source-map": "^0.5.6", + "tsconfig": "^7.0.0", + "vue-template-es2015-compiler": "^1.6.0" + } + }, + "vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.1.tgz", + "integrity": "sha512-V53TJbHmzjBhCG5OYI2JWy/aYDspz4oVHKxS43Iy212GjGIG1T3EsB3+GWXFm/1z5VwjdjLmdZUFYM70y77vtQ==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "vue-meta": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/vue-meta/-/vue-meta-2.4.0.tgz", + "integrity": "sha512-XEeZUmlVeODclAjCNpWDnjgw+t3WA6gdzs6ENoIAgwO1J1d5p1tezDhtteLUFwcaQaTtayRrsx7GL6oXp/m2Jw==", + "requires": { + "deepmerge": "^4.2.2" + }, + "dependencies": { + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + } + } + }, + "vue-router": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz", + "integrity": "sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ==" + }, + "vue-social-sharing": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vue-social-sharing/-/vue-social-sharing-3.0.8.tgz", + "integrity": "sha512-56gOES9fq7kyzuW7+lVAKtoG9Wi4MGjIfMqXAFZv1QSwW00EN0X5zJDSQjZn1Y2cIU6DUG+1KfJB7r7nTuiISA==" + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "watchpack": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", + "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", + "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "optional": true, + "requires": { + "picomatch": "^2.2.1" + }, + "dependencies": { + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "optional": true + } + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz", + "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==", + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.3.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + } + }, + "webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "dependencies": { + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + } + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + } + }, + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==", + "dev": true + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "dev": true, + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==", + "dev": true + }, + "workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + } + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlbuilder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", + "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + } + } +} diff --git a/package.json b/package.json index e6ead6c11..a5a463876 100644 --- a/package.json +++ b/package.json @@ -1,62 +1,62 @@ -{ - "name": "opendrinks", - "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build && npm run sitemap", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "format": "prettier --config .prettierrc \"./**/*.{vue,js}\" --write", - "function-build": "netlify-lambda build .netlify/functions-src -c .netlify/webpack.functions.js", - "function-serve": "netlify-lambda serve .netlify/functions-src -c .netlify/webpack.functions.js", - "sitemap": "node scripts/sitemap_generator.js", - "test": "npm run validate && npm run test:unit", - "validate": "node scripts/validate_recipes.js" - }, - "dependencies": { - "bootstrap": "^4.6.0", - "bootstrap-vue": "^2.21.2", - "core-js": "^3.18.1", - "netlify-lambda": "^1.6.3", - "register-service-worker": "^1.7.2", - "vue": "^2.6.14", - "vue-i18n": "^8.26.3", - "vue-meta": "^2.4.0", - "vue-router": "^3.5.2", - "vue-social-sharing": "^3.0.8" - }, - "devDependencies": { - "@intlify/vue-i18n-loader": "^1.1.0", - "@vue/cli-plugin-babel": "^4.5.13", - "@vue/cli-plugin-eslint": "^4.5.13", - "@vue/cli-plugin-pwa": "^4.5.13", - "@vue/cli-plugin-unit-jest": "^4.5.13", - "@vue/cli-service": "^4.5.13", - "@vue/eslint-config-airbnb": "^4.0.0", - "@vue/eslint-config-prettier": "^5.1.0", - "@vue/test-utils": "1.0.0-beta.29", - "ajv": "^6.12.6", - "babel-core": "7.0.0-bridge.0", - "babel-eslint": "^10.1.0", - "babel-jest": "^23.6.0", - "babel-plugin-require-context-hook": "^1.0.0", - "eslint": "^6.8.0", - "eslint-plugin-prettier": "^3.4.1", - "eslint-plugin-vue": "^5.2.3", - "prettier": "^1.19.1", - "sitemap": "^5.1.0", - "vue-cli-plugin-i18n": "~2.3.1", - "vue-template-compiler": "^2.6.14" - }, - "bugs": { - "url": "https://github.com/alfg/opendrinks/issues" - }, - "engines": { - "node": "14.18.0" - }, - "homepage": "https://github.com/alfg/opendrinks", - "license": "MIT", - "repository": { - "type": "git", - "url": "git://github.com/alfg/opendrinks.git" - } -} +{ + "name": "opendrinks", + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build && npm run sitemap", + "test:unit": "vue-cli-service test:unit", + "lint": "vue-cli-service lint", + "format": "prettier --config .prettierrc \"./**/*.{vue,js}\" --write", + "function-build": "netlify-lambda build .netlify/functions-src -c .netlify/webpack.functions.js", + "function-serve": "netlify-lambda serve .netlify/functions-src -c .netlify/webpack.functions.js", + "sitemap": "node scripts/sitemap_generator.js", + "test": "npm run validate && npm run test:unit", + "validate": "node scripts/validate_recipes.js" + }, + "dependencies": { + "bootstrap": "^4.6.0", + "bootstrap-vue": "^2.21.2", + "core-js": "^3.18.1", + "netlify-lambda": "^1.6.3", + "register-service-worker": "^1.7.2", + "vue": "^2.6.14", + "vue-i18n": "^8.26.3", + "vue-meta": "^2.4.0", + "vue-router": "^3.5.2", + "vue-social-sharing": "^3.0.8" + }, + "devDependencies": { + "@intlify/vue-i18n-loader": "^1.1.0", + "@vue/cli-plugin-babel": "^4.5.13", + "@vue/cli-plugin-eslint": "^4.5.13", + "@vue/cli-plugin-pwa": "^4.5.13", + "@vue/cli-plugin-unit-jest": "^4.5.13", + "@vue/cli-service": "^4.5.13", + "@vue/eslint-config-airbnb": "^4.0.0", + "@vue/eslint-config-prettier": "^5.1.0", + "@vue/test-utils": "1.0.0-beta.29", + "ajv": "^6.12.6", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "^10.1.0", + "babel-jest": "^23.6.0", + "babel-plugin-require-context-hook": "^1.0.0", + "eslint": "^6.8.0", + "eslint-plugin-prettier": "^3.4.1", + "eslint-plugin-vue": "^5.2.3", + "prettier": "^1.19.1", + "sitemap": "^5.1.0", + "vue-cli-plugin-i18n": "~2.3.1", + "vue-template-compiler": "^2.6.14" + }, + "bugs": { + "url": "https://github.com/alfg/opendrinks/issues" + }, + "engines": { + "node": "14.18.0" + }, + "homepage": "https://github.com/alfg/opendrinks", + "license": "MIT", + "repository": { + "type": "git", + "url": "git://github.com/alfg/opendrinks.git" + } +} diff --git a/postcss.config.js b/postcss.config.js index a47ef4f95..7d9a0286e 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,5 +1,5 @@ -module.exports = { - plugins: { - autoprefixer: {}, - }, -}; +module.exports = { + plugins: { + autoprefixer: {}, + }, +}; diff --git a/public/_redirects b/public/_redirects index 75ae21589..06b8929f2 100644 --- a/public/_redirects +++ b/public/_redirects @@ -1,2 +1,2 @@ -# Netlify settings for single-page application +# Netlify settings for single-page application /* /index.html 200 \ No newline at end of file diff --git a/public/ads.txt b/public/ads.txt index d3e8340e2..c4145fe75 100644 --- a/public/ads.txt +++ b/public/ads.txt @@ -1 +1 @@ -google.com, pub-2292705730484150, DIRECT, f08c47fec0942fa0 +google.com, pub-2292705730484150, DIRECT, f08c47fec0942fa0 diff --git a/public/index.html b/public/index.html index 830dd627b..f103eae08 100644 --- a/public/index.html +++ b/public/index.html @@ -1,19 +1,19 @@ - - - - - - - - - - Open Drinks - - - -
- - - + + + + + + + + + + Open Drinks + + + +
+ + + diff --git a/public/manifest.json b/public/manifest.json index 5ab58c51c..8a43d7318 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,15 +1,15 @@ -{ - "name": "Open Drinks", - "short_name": "Open Drinks", - "icons": [ - { - "src": "./img/icons/android-chrome-96x96.png", - "sizes": "96x96", - "type": "image/png" - } - ], - "start_url": "./index.html", - "display": "standalone", - "background_color": "#000000", - "theme_color": "#4DBA87" -} +{ + "name": "Open Drinks", + "short_name": "Open Drinks", + "icons": [ + { + "src": "./img/icons/android-chrome-96x96.png", + "sizes": "96x96", + "type": "image/png" + } + ], + "start_url": "./index.html", + "display": "standalone", + "background_color": "#000000", + "theme_color": "#4DBA87" +} diff --git a/public/robots.txt b/public/robots.txt index eb0536286..a82d96e89 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,2 +1,2 @@ -User-agent: * -Disallow: +User-agent: * +Disallow: diff --git a/scripts/recipe_schema.json b/scripts/recipe_schema.json index 739e93514..366f22c06 100644 --- a/scripts/recipe_schema.json +++ b/scripts/recipe_schema.json @@ -1,80 +1,80 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://raw.githubusercontent.com/alfg/opendrinks/master/scripts/recipe_schema.json", - "title": "Recipe", - "description": "A recipe of a drink or cocktail for opendrinks", - "type": "object", - "properties": { - "name": { - "description": "The name of the drink", - "type": "string" - }, - "description": { - "description": "A short text describing the drink", - "type": "string" - }, - "github": { - "description": "Github-Username of the contributor", - "type": "string" - }, - "ingredients": { - "description": "The ingredients used for the drink", - "type": "array", - "minItems": 1, - "items": { - "description": "An ingredient", - "type" :"object", - "properties": { - "quantity": { - "description": "How much of the ingredient is needed", - "type": "string" - }, - "measure": { - "description": "The unit of measurement of what is needed", - "type": "string" - }, - "ingredient": { - "description": "The name of the ingredient", - "type": "string" - } - }, - "required": [ - "quantity", - "ingredient" - ] - } - }, - "directions": { - "description": "How the drink is made", - "type": "array", - "minItems": 1, - "items": { - "type": "string" - } - }, - "image": { - "description": "An image of the drink", - "type": "string" - }, - "source": { - "description": "Source of the recipe", - "type": "string" - }, - "keywords": { - "description": "Keywords that describe the drink", - "type": "array", - "minItems": 1, - "items": { - "type": "string" - } - } - }, - "required": [ - "name", - "description", - "ingredients", - "directions", - "image", - "keywords" - ] +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://raw.githubusercontent.com/alfg/opendrinks/master/scripts/recipe_schema.json", + "title": "Recipe", + "description": "A recipe of a drink or cocktail for opendrinks", + "type": "object", + "properties": { + "name": { + "description": "The name of the drink", + "type": "string" + }, + "description": { + "description": "A short text describing the drink", + "type": "string" + }, + "github": { + "description": "Github-Username of the contributor", + "type": "string" + }, + "ingredients": { + "description": "The ingredients used for the drink", + "type": "array", + "minItems": 1, + "items": { + "description": "An ingredient", + "type" :"object", + "properties": { + "quantity": { + "description": "How much of the ingredient is needed", + "type": "string" + }, + "measure": { + "description": "The unit of measurement of what is needed", + "type": "string" + }, + "ingredient": { + "description": "The name of the ingredient", + "type": "string" + } + }, + "required": [ + "quantity", + "ingredient" + ] + } + }, + "directions": { + "description": "How the drink is made", + "type": "array", + "minItems": 1, + "items": { + "type": "string" + } + }, + "image": { + "description": "An image of the drink", + "type": "string" + }, + "source": { + "description": "Source of the recipe", + "type": "string" + }, + "keywords": { + "description": "Keywords that describe the drink", + "type": "array", + "minItems": 1, + "items": { + "type": "string" + } + } + }, + "required": [ + "name", + "description", + "ingredients", + "directions", + "image", + "keywords" + ] } \ No newline at end of file diff --git a/scripts/sitemap_generator.js b/scripts/sitemap_generator.js index 492cb47a2..06424f6be 100644 --- a/scripts/sitemap_generator.js +++ b/scripts/sitemap_generator.js @@ -1,71 +1,71 @@ -const fs = require('fs'); -// eslint-disable-next-line import/no-extraneous-dependencies -const { SitemapStream, streamToPromise } = require('sitemap'); - -const HOSTNAME = 'https://opendrinks.io'; -const SITEMAP_XML = 'dist/sitemap.xml'; -const PAGES = ['featured', 'random', 'explore', 'keywords', 'search']; - -const getRecipe = files => { - const r = []; - - files.forEach(file => { - const contents = fs.readFileSync(`${__dirname}/../src/recipes/${file}`, 'utf8'); - - let jsonContents; - try { - jsonContents = JSON.parse(contents); - const filename = file.replace('./', '').replace('.json', ''); - jsonContents.filename = filename; - r.push(jsonContents); - } catch (error) { - console.log(`Error reading: ${file}!`); - process.exit(1); - } - }); - return r; -}; - -const findRecipeFiles = callback => { - fs.readdir(`${__dirname}/../src/recipes`, (err, files) => { - if (err) { - return callback(err); - } - - const recipes = getRecipe(files.filter(file => file.endsWith('.json'))); - return callback(null, recipes); - }); -}; - -function buildSitemap(recipes) { - const sitemap = new SitemapStream({ hostname: HOSTNAME }); - sitemap.write({ url: '/', changefreq: 'daily' }); - - PAGES.forEach(page => { - sitemap.write({ url: `/${page}`, changefreq: 'daily' }); - }); - - recipes.forEach(file => { - sitemap.write({ url: `/recipe/${file.filename}`, changefreq: 'weekly' }); - }); - - sitemap.end(); - - streamToPromise(sitemap) - .then(sm => fs.writeFileSync(SITEMAP_XML, sm.toString())) - .catch(console.error); -} - -function init() { - findRecipeFiles((err, recipes) => { - if (err) { - process.exit(1); - } - - console.log('done', recipes.length); - buildSitemap(recipes); - }); -} - -// Start. -init(); +const fs = require('fs'); +// eslint-disable-next-line import/no-extraneous-dependencies +const { SitemapStream, streamToPromise } = require('sitemap'); + +const HOSTNAME = 'https://opendrinks.io'; +const SITEMAP_XML = 'dist/sitemap.xml'; +const PAGES = ['featured', 'random', 'explore', 'keywords', 'search']; + +const getRecipe = files => { + const r = []; + + files.forEach(file => { + const contents = fs.readFileSync(`${__dirname}/../src/recipes/${file}`, 'utf8'); + + let jsonContents; + try { + jsonContents = JSON.parse(contents); + const filename = file.replace('./', '').replace('.json', ''); + jsonContents.filename = filename; + r.push(jsonContents); + } catch (error) { + console.log(`Error reading: ${file}!`); + process.exit(1); + } + }); + return r; +}; + +const findRecipeFiles = callback => { + fs.readdir(`${__dirname}/../src/recipes`, (err, files) => { + if (err) { + return callback(err); + } + + const recipes = getRecipe(files.filter(file => file.endsWith('.json'))); + return callback(null, recipes); + }); +}; + +function buildSitemap(recipes) { + const sitemap = new SitemapStream({ hostname: HOSTNAME }); + sitemap.write({ url: '/', changefreq: 'daily' }); + + PAGES.forEach(page => { + sitemap.write({ url: `/${page}`, changefreq: 'daily' }); + }); + + recipes.forEach(file => { + sitemap.write({ url: `/recipe/${file.filename}`, changefreq: 'weekly' }); + }); + + sitemap.end(); + + streamToPromise(sitemap) + .then(sm => fs.writeFileSync(SITEMAP_XML, sm.toString())) + .catch(console.error); +} + +function init() { + findRecipeFiles((err, recipes) => { + if (err) { + process.exit(1); + } + + console.log('done', recipes.length); + buildSitemap(recipes); + }); +} + +// Start. +init(); diff --git a/scripts/validate_recipes.js b/scripts/validate_recipes.js index 256eb0d3c..458e99143 100644 --- a/scripts/validate_recipes.js +++ b/scripts/validate_recipes.js @@ -1,42 +1,42 @@ -const fs = require('fs'); -// eslint-disable-next-line import/no-extraneous-dependencies -const Ajv = require('ajv'); - -const ajv = new Ajv(); - -const validateRecipe = files => { - let foundError = false; - files.forEach(file => { - const contents = fs.readFileSync(`${__dirname}/../src/recipes/${file}`, 'utf8'); - - let jsonContents; - try { - jsonContents = JSON.parse(contents); - } catch (error) { - console.log(`Error reading: ${file}!`); - foundError = true; - } - - const valid = ajv.validate('recipeSchema', jsonContents); - if (!valid) { - console.log(`Validation failed for ${file}!`); - console.log(ajv.errorsText()); - foundError = true; - } - }); - - if (foundError) process.exit(1); -}; - -const findRecipeFiles = (err, files) => { - if (err) { - console.log(err); - } else { - validateRecipe(files.filter(file => file.endsWith('.json'))); - } -}; - -const schema = fs.readFileSync('scripts/recipe_schema.json', 'utf-8'); -const schemaJson = JSON.parse(schema); -ajv.addSchema(schemaJson, 'recipeSchema'); -fs.readdir(`${__dirname}/../src/recipes`, findRecipeFiles); +const fs = require('fs'); +// eslint-disable-next-line import/no-extraneous-dependencies +const Ajv = require('ajv'); + +const ajv = new Ajv(); + +const validateRecipe = files => { + let foundError = false; + files.forEach(file => { + const contents = fs.readFileSync(`${__dirname}/../src/recipes/${file}`, 'utf8'); + + let jsonContents; + try { + jsonContents = JSON.parse(contents); + } catch (error) { + console.log(`Error reading: ${file}!`); + foundError = true; + } + + const valid = ajv.validate('recipeSchema', jsonContents); + if (!valid) { + console.log(`Validation failed for ${file}!`); + console.log(ajv.errorsText()); + foundError = true; + } + }); + + if (foundError) process.exit(1); +}; + +const findRecipeFiles = (err, files) => { + if (err) { + console.log(err); + } else { + validateRecipe(files.filter(file => file.endsWith('.json'))); + } +}; + +const schema = fs.readFileSync('scripts/recipe_schema.json', 'utf-8'); +const schemaJson = JSON.parse(schema); +ajv.addSchema(schemaJson, 'recipeSchema'); +fs.readdir(`${__dirname}/../src/recipes`, findRecipeFiles); diff --git a/src/App.vue b/src/App.vue index 161ba607d..6de160fe9 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,110 +1,110 @@ - - - - - + + + + + diff --git a/src/assets/css/main.css b/src/assets/css/main.css index 8193a2f44..7edb296cc 100644 --- a/src/assets/css/main.css +++ b/src/assets/css/main.css @@ -1,66 +1,66 @@ -@import './theme.css'; -@import './slider.css'; - -.theme-bg-color{ - color: var(--main-bg-color) !important; -} - -.theme-link-color{ - color: var(--main-link-color) !important; -} - -.list-group-item { - background-color: var(--main-bg-color); - border: 1px solid var(--main-line-color); - color: var(--main-text-color); -} - -.list-group-item:hover { - background-color: var(--main-bg-hover-color); - border: 1px solid var(--main-line-color); - color: var(--main-text-color); -} - -.badge-primary { - background-color: var(--main-link-color); - color: var(--main-bg-color); -} - -body { - background-color: var(--main-bg-color); -} - -h1, h2, h3, h4, h6, p { - color: var(--main-text-color); -} - -a, a:hover, h5 { - color: var(--main-link-color); -} - -.btn-outline-primary { - color:var(--main-link-color); - border-color: var(--main-link-color); -} - -#app { - color: var(--app-text-color); -} - -.nav-tabs { - border-bottom: 1px solid var(--main-line-color); -} - -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: var(--navbar-light-hover-border-color) var(--navbar-light-hover-border-color) var(--main-line-color); - border-bottom-width: 0px; -} - -.card { - background-color: var(--main-bg-color); - border:1px solid var(--main-line-color); -} - -.cursor-pointer { - cursor: pointer; +@import './theme.css'; +@import './slider.css'; + +.theme-bg-color{ + color: var(--main-bg-color) !important; +} + +.theme-link-color{ + color: var(--main-link-color) !important; +} + +.list-group-item { + background-color: var(--main-bg-color); + border: 1px solid var(--main-line-color); + color: var(--main-text-color); +} + +.list-group-item:hover { + background-color: var(--main-bg-hover-color); + border: 1px solid var(--main-line-color); + color: var(--main-text-color); +} + +.badge-primary { + background-color: var(--main-link-color); + color: var(--main-bg-color); +} + +body { + background-color: var(--main-bg-color); +} + +h1, h2, h3, h4, h6, p { + color: var(--main-text-color); +} + +a, a:hover, h5 { + color: var(--main-link-color); +} + +.btn-outline-primary { + color:var(--main-link-color); + border-color: var(--main-link-color); +} + +#app { + color: var(--app-text-color); +} + +.nav-tabs { + border-bottom: 1px solid var(--main-line-color); +} + +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: var(--navbar-light-hover-border-color) var(--navbar-light-hover-border-color) var(--main-line-color); + border-bottom-width: 0px; +} + +.card { + background-color: var(--main-bg-color); + border:1px solid var(--main-line-color); +} + +.cursor-pointer { + cursor: pointer; } \ No newline at end of file diff --git a/src/assets/css/slider.css b/src/assets/css/slider.css index 9ef3271a0..c8761b195 100644 --- a/src/assets/css/slider.css +++ b/src/assets/css/slider.css @@ -1,56 +1,56 @@ -:root { - --switch-toggle-size: 1.25rem; - --switch-w: 3em; - --switch-h: 1.5em; - --switch-handle-scale: 0.65; - --switch-off-handle-x: -0.125em; - --switch-on-handle-x: calc(100% - 0.125em); - --switch-transition-duration: 0.2s; -} - -#theme-toggle { - display: none; -} - -#theme-toggle+label { - font-size: var(--switch-toggle-size); - display: flex; - height: var(--switch-h); - width: var(--switch-w); - border-radius: calc(var(--switch-h) / 2); - background-size: auto 8em; - background-position: bottom; - background-color: rgb(236, 236, 236); - transition: var(--switch-transition-duration); - border: .125em solid hsl(207, 30%, 95%); - overflow: hidden; - - cursor: pointer; -} - -#theme-toggle+label span { - - background: #fffad8; - border-radius: 50%; - height: var(--switch-h); - width: var(--switch-h); - transform: translateX(var(--switch-off-handle-x)) scale(var(--switch-handle-scale)); - transition: var(--switch-transition-duration); - cursor: pointer; - margin-top: var(--switch-off-handle-x); - box-shadow: 0 0 .25em .0625em #fbee8d, 0 0 2em 0 #FFEB3B, inset -.25em -.25em 0 0 #fbee8e, inset -.3125em -.3125em 0 .625em #fff5b2; - -} - - -#theme-toggle:checked+label { - background-color: black; - border-color: hsl(207, 30%, 50%); -} - -#theme-toggle:checked+label span { - background: transparent; - transform: translateX(var(--switch-on-handle-x)) scale(var(--switch-handle-scale)); - box-shadow: inset -.1875em -.1875em 0 0 #fbe7ef, inset -.5625em -.5625em 0 0 #fffff7; - box-shadow: inset -.1875em -.1875em 0 0 #fbe7ef, inset -.5625em -.5625em 0 0 #fffff7; +:root { + --switch-toggle-size: 1.25rem; + --switch-w: 3em; + --switch-h: 1.5em; + --switch-handle-scale: 0.65; + --switch-off-handle-x: -0.125em; + --switch-on-handle-x: calc(100% - 0.125em); + --switch-transition-duration: 0.2s; +} + +#theme-toggle { + display: none; +} + +#theme-toggle+label { + font-size: var(--switch-toggle-size); + display: flex; + height: var(--switch-h); + width: var(--switch-w); + border-radius: calc(var(--switch-h) / 2); + background-size: auto 8em; + background-position: bottom; + background-color: rgb(236, 236, 236); + transition: var(--switch-transition-duration); + border: .125em solid hsl(207, 30%, 95%); + overflow: hidden; + + cursor: pointer; +} + +#theme-toggle+label span { + + background: #fffad8; + border-radius: 50%; + height: var(--switch-h); + width: var(--switch-h); + transform: translateX(var(--switch-off-handle-x)) scale(var(--switch-handle-scale)); + transition: var(--switch-transition-duration); + cursor: pointer; + margin-top: var(--switch-off-handle-x); + box-shadow: 0 0 .25em .0625em #fbee8d, 0 0 2em 0 #FFEB3B, inset -.25em -.25em 0 0 #fbee8e, inset -.3125em -.3125em 0 .625em #fff5b2; + +} + + +#theme-toggle:checked+label { + background-color: black; + border-color: hsl(207, 30%, 50%); +} + +#theme-toggle:checked+label span { + background: transparent; + transform: translateX(var(--switch-on-handle-x)) scale(var(--switch-handle-scale)); + box-shadow: inset -.1875em -.1875em 0 0 #fbe7ef, inset -.5625em -.5625em 0 0 #fffff7; + box-shadow: inset -.1875em -.1875em 0 0 #fbe7ef, inset -.5625em -.5625em 0 0 #fffff7; } \ No newline at end of file diff --git a/src/assets/css/theme.css b/src/assets/css/theme.css index bbfe47266..10e830aae 100644 --- a/src/assets/css/theme.css +++ b/src/assets/css/theme.css @@ -1,38 +1,38 @@ -:root { - --main-bg-color: white; - --main-text-color: #495057; - --main-link-color: #007bff; - --main-line-color: rgba(0, 0, 0, 0.125); - --main-bg-hover-color: #f8f9fa; - --app-text-color: #2c3e50; - --navbar-light-hover-border-color: #e9ecef; -} - -html[data-theme='light'] { - --main-bg-color: white; - --main-text-color: #495057; - --main-link-color: #007bff; - --main-line-color: rgba(0, 0, 0, 0.125); - --main-bg-hover-color: #f8f9fa; - --app-text-color: #2c3e50; - --navbar-light-hover-border-color: #e9ecef; - -} - -html[data-theme='dark'] { - --main-bg-color: #2c3e50; - --main-text-color: white; - --main-link-color: #5dbcd2; - --main-line-color: rgba(255, 255, 255, 0.3); - --main-bg-hover-color: rgba(255, 255, 255, 0.3); - --app-text-color: white; - --navbar-light-hover-border-color: rgba(255, 255, 255, 0.15); -} - -.load, .load *{ - -webkit-transition: background-color 0.5s, color 0.5s, border 0.5s; - -moz-transition: background-color 0.5s, color 0.5s, border 0.5s; - -ms-transition: background-color 0.5s, color 0.5s, border 0.5s; - -o-transition: background-color 0.5s, color 0.5s, border 0.5s; - transition: background-color 0.5s, color 0.5s, border 0.5s; +:root { + --main-bg-color: white; + --main-text-color: #495057; + --main-link-color: #007bff; + --main-line-color: rgba(0, 0, 0, 0.125); + --main-bg-hover-color: #f8f9fa; + --app-text-color: #2c3e50; + --navbar-light-hover-border-color: #e9ecef; +} + +html[data-theme='light'] { + --main-bg-color: white; + --main-text-color: #495057; + --main-link-color: #007bff; + --main-line-color: rgba(0, 0, 0, 0.125); + --main-bg-hover-color: #f8f9fa; + --app-text-color: #2c3e50; + --navbar-light-hover-border-color: #e9ecef; + +} + +html[data-theme='dark'] { + --main-bg-color: #2c3e50; + --main-text-color: white; + --main-link-color: #5dbcd2; + --main-line-color: rgba(255, 255, 255, 0.3); + --main-bg-hover-color: rgba(255, 255, 255, 0.3); + --app-text-color: white; + --navbar-light-hover-border-color: rgba(255, 255, 255, 0.15); +} + +.load, .load *{ + -webkit-transition: background-color 0.5s, color 0.5s, border 0.5s; + -moz-transition: background-color 0.5s, color 0.5s, border 0.5s; + -ms-transition: background-color 0.5s, color 0.5s, border 0.5s; + -o-transition: background-color 0.5s, color 0.5s, border 0.5s; + transition: background-color 0.5s, color 0.5s, border 0.5s; } \ No newline at end of file diff --git a/src/assets/recipes/malai-cha.jpg b/src/assets/recipes/malai-cha.jpg new file mode 100644 index 000000000..d95cab8a7 Binary files /dev/null and b/src/assets/recipes/malai-cha.jpg differ diff --git a/src/components/Adspace.vue b/src/components/Adspace.vue index ccf03e37c..ffe33c9e8 100644 --- a/src/components/Adspace.vue +++ b/src/components/Adspace.vue @@ -1,19 +1,19 @@ - - - + + + diff --git a/src/components/FabButton.vue b/src/components/FabButton.vue index d244e4e00..947803f3a 100644 --- a/src/components/FabButton.vue +++ b/src/components/FabButton.vue @@ -1,54 +1,54 @@ - - - - - + + + + + diff --git a/src/components/FavoriteStar.vue b/src/components/FavoriteStar.vue index b6c102fd3..417cad00c 100644 --- a/src/components/FavoriteStar.vue +++ b/src/components/FavoriteStar.vue @@ -1,57 +1,57 @@ - - - - - + + + + + diff --git a/src/components/FeaturedRecipes.vue b/src/components/FeaturedRecipes.vue index 52b592650..6f5295304 100644 --- a/src/components/FeaturedRecipes.vue +++ b/src/components/FeaturedRecipes.vue @@ -1,53 +1,53 @@ - - - + + + diff --git a/src/components/GitHubCorner.vue b/src/components/GitHubCorner.vue index 9619000a7..1680b36b5 100644 --- a/src/components/GitHubCorner.vue +++ b/src/components/GitHubCorner.vue @@ -1,72 +1,72 @@ - - - - - + + + + + diff --git a/src/components/Recipe.vue b/src/components/Recipe.vue index f167905b5..52ef0e250 100644 --- a/src/components/Recipe.vue +++ b/src/components/Recipe.vue @@ -1,297 +1,297 @@ - - - - - + + + + + diff --git a/src/components/RecipeFind.vue b/src/components/RecipeFind.vue index 90a2df322..3d68f1c70 100644 --- a/src/components/RecipeFind.vue +++ b/src/components/RecipeFind.vue @@ -1,182 +1,182 @@ - - - + + + diff --git a/src/components/RecipeList.vue b/src/components/RecipeList.vue index 4bffa39c3..a109cb0a1 100644 --- a/src/components/RecipeList.vue +++ b/src/components/RecipeList.vue @@ -1,210 +1,210 @@ - - - - - - - -{ - "ja": { - "View Recipe": "レシピを見る" - }, - "fr": { - "View Recipe": "Voir la Recette" - }, - "es": { - "View Recipe": "Ver Receta" - }, - "hi": { - "View Recipe": "विधि देखे" - }, - "ar": { - "View Recipe": "شاهد الوصفة" - }, - "gl": { - "View Recipe": "Ver receita" - }, - "de": { - "View Recipe": "Rezept ansehen" - }, - "nl": { - "View Recipe": "Recept bekijken" - }, - "no": { - "View Recipe": "Se oppskrift" - }, - "ru": { - "View Recipe": "Просмотреть рецепт" - }, - "uk": { - "View Recipe": "Переглянути рецепт" - }, - "bn": { - "View Recipe": "রেসিপিটি দেখুন" - }, - "it": { - "View Recipe": "Visualizza ricetta" - }, - "np": { - "View Recipe": "नुस्खा हेर्नुहोस्" - }, - "pt": { - "View Recipe": "Ver receita" - }, - "zh": { - "View Recipe": "查看配方" - }, - "vi": { - "View Recipe": "Xem công thức" - }, - "th": { - "View Recipe": "ดูสูตร" - } -} - + + + + + + + +{ + "ja": { + "View Recipe": "レシピを見る" + }, + "fr": { + "View Recipe": "Voir la Recette" + }, + "es": { + "View Recipe": "Ver Receta" + }, + "hi": { + "View Recipe": "विधि देखे" + }, + "ar": { + "View Recipe": "شاهد الوصفة" + }, + "gl": { + "View Recipe": "Ver receita" + }, + "de": { + "View Recipe": "Rezept ansehen" + }, + "nl": { + "View Recipe": "Recept bekijken" + }, + "no": { + "View Recipe": "Se oppskrift" + }, + "ru": { + "View Recipe": "Просмотреть рецепт" + }, + "uk": { + "View Recipe": "Переглянути рецепт" + }, + "bn": { + "View Recipe": "রেসিপিটি দেখুন" + }, + "it": { + "View Recipe": "Visualizza ricetta" + }, + "np": { + "View Recipe": "नुस्खा हेर्नुहोस्" + }, + "pt": { + "View Recipe": "Ver receita" + }, + "zh": { + "View Recipe": "查看配方" + }, + "vi": { + "View Recipe": "Xem công thức" + }, + "th": { + "View Recipe": "ดูสูตร" + } +} + diff --git a/src/components/RecipeTile.vue b/src/components/RecipeTile.vue index 84a7b962b..638ccb8a4 100644 --- a/src/components/RecipeTile.vue +++ b/src/components/RecipeTile.vue @@ -1,89 +1,89 @@ - - - - - + + + + + diff --git a/src/components/RecipeToolbar.vue b/src/components/RecipeToolbar.vue index 6455c1504..db276310c 100644 --- a/src/components/RecipeToolbar.vue +++ b/src/components/RecipeToolbar.vue @@ -1,153 +1,153 @@ - - - - - + + + + + diff --git a/src/components/ThemeHandler.vue b/src/components/ThemeHandler.vue index f5108b9e7..617ab17c8 100644 --- a/src/components/ThemeHandler.vue +++ b/src/components/ThemeHandler.vue @@ -1,49 +1,49 @@ - - - + + + diff --git a/src/featured.json b/src/featured.json index 7d3b25d7c..e2ef0d011 100644 --- a/src/featured.json +++ b/src/featured.json @@ -1,221 +1,221 @@ -[ - { - "title": "Halloween Drinks", - "description": "👻 Spooky Drinks for October! 👻", - "items": [ - "black-widow", - "bloody-eyeball-shot", - "dark-and-stormy", - "hocus-pocus", - "pumpkintini", - "screamsicle", - "zombie", - "witches-heart", - "bloody-kirby", - "seven-devils", - "corpse-reviver-no2", - "cuban-zombie", - "vampiro", - "drunken-peanut-butter-cups" - ], - "size": 12, - "enabled": false - }, - { - "title": "Holiday Drinks", - "description": "Cozy drinks to warm your heart and get you in holiday mood", - "items": [ - "christmas-tonic", - "white-christmas-mojito", - "white-christmas-margarita", - "coquito", - "gingerbread-latte", - "mulled-wine", - "spiced-harvest-fall-sangria", - "grinch-drinks", - "glogg", - "north-pole", - "red-stag-dirty-shirley", - "swedish-libre", - "hot-toddy", - "irish-winter", - "mulled-apple-crumble-cider", - "turmeric-latte", - "jack-frosties" - ], - "size": 18, - "enabled": false - }, - { - "title": "Celebration Drinks", - "description": "Drinks to celebrate the new year! 🍾🎉🥂", - "items": [ - "cranberry-orange-whiskey", - "french-75", - "blood-orange-champagne-mule", - "mind-eraser", - "negroni", - "cranberry-bourbon", - "royal-mojito", - "white-bear", - "moscow-mule", - "espresso-martini", - "martini" - ], - "size": 9, - "enabled": false - }, - { - "title": "Hot Weather drinks", - "description": "Refreshing cocktails for those hot days of summer", - "items": [ - "cuba-libre", - "mojito", - "blue-lady", - "daiquiri", - "mango-daiquiri", - "sunshine-cocktail", - "margarita", - "pineapple-lime-beer-margarita", - "pink-grapefruit-margarita", - "sangria", - "negroni", - "paloma", - "sidecar", - "pina-colada", - "gin-tonic", - "lemonade", - "watermelon-lemonade", - "bourbon-lemonade", - "mai-tai", - "caipirinha", - "caipiroska", - "tequila-sunrise", - "mint-julep", - "bellini", - "cosmopolitan", - "pisco-sour", - "zombie", - "gin-fizz" - ], - "size": 12, - "enabled": false - }, - { - "title": "Popular Drinks", - "description": "Popular drinks never going out of style!", - "items": [ - "old-fashioned", - "margarita", - "cosmopolitan", - "negroni", - "moscow-mule", - "mojito", - "manhattan", - "mimosa", - "gimlet", - "sidecar", - "french-75", - "dark-and-stormy", - "daiquiri" - ], - "size": 12 - }, - { - "title": "Under the Weather Drinks", - "description": "Drinks to help you warm up when you're sick, or just to help boost your immune system! 🤧🤧", - "items": [ - "bandrek", - "beer-pletok", - "bloody-mary", - "corn-juice", - "gazpacho", - "ginger-milk-tea", - "golden-glow-water", - "honey-carrot", - "hot-toddy", - "indonesian-avocado-milkshake", - "jamun-shots", - "kenyan-dawa", - "london-fog", - "medicine-ball-tea", - "mulled-apple-crumble-cider", - "rusty-nail", - "rye-tai", - "sangria", - "warm-lemon-honey-tea" - ], - "size": 6, - "enabled": true - }, - { - "title": "Everything is Chocolate", - "description": "All drink made from chocolate", - "items": [ - "chocolate-milk", - "chocolate-monkey", - "clavis-riga", - "dom-pedro", - "indonesian-avocado-milkshake" - ], - "size": 6 - }, - { - "title": "Strong Drinks", - "description": "Super strong alcoholic drinks that make you forget all about your troubles", - "items": [ - "long-island-iced-tea", - "zombie", - "black-russian" - ], - "size": 6 - }, - { - "title": "Milky Heaven", - "description": "Drinks which do contain milk", - "items": [ - "bajigur", - "banana-smoothie", - "bandrek", - "barraquito", - "brazilian-strawberry-drink", - "buttermilk", - "chikoo-lassi", - "chocolate-milk", - "chocolate-monkey", - "ginger-milk-tea", - "cold-coffee", - "drunken-peanut-butter-cups", - "ginger-milk-tea", - "indonesian-avocado-milkshake", - "london-fog", - "mango-mastani", - "masala-chai", - "noon-chai", - "orange-glorius", - "oreo-milkshake", - "peanut-butter-banana-smoothie", - "royal-milk-tea", - "thandai", - "yogurt-fruit-shake", - "nevada", - "meia-de-seda" - ], - "size": 6 - }, - { - "title": "Homecoming Drinks", - "description": "Celebrate your alma mater with these team favorites!", - "items": [ - "amf", - "hurricane", - "long-island-iced-tea", - "sex-on-the-beach", - "tequila-sunrise", - "trash-can", - "vodka-lemonade-punch" - ], - "size": 6, - "enabled": false - } -] +[ + { + "title": "Halloween Drinks", + "description": "👻 Spooky Drinks for October! 👻", + "items": [ + "black-widow", + "bloody-eyeball-shot", + "dark-and-stormy", + "hocus-pocus", + "pumpkintini", + "screamsicle", + "zombie", + "witches-heart", + "bloody-kirby", + "seven-devils", + "corpse-reviver-no2", + "cuban-zombie", + "vampiro", + "drunken-peanut-butter-cups" + ], + "size": 12, + "enabled": false + }, + { + "title": "Holiday Drinks", + "description": "Cozy drinks to warm your heart and get you in holiday mood", + "items": [ + "christmas-tonic", + "white-christmas-mojito", + "white-christmas-margarita", + "coquito", + "gingerbread-latte", + "mulled-wine", + "spiced-harvest-fall-sangria", + "grinch-drinks", + "glogg", + "north-pole", + "red-stag-dirty-shirley", + "swedish-libre", + "hot-toddy", + "irish-winter", + "mulled-apple-crumble-cider", + "turmeric-latte", + "jack-frosties" + ], + "size": 18, + "enabled": false + }, + { + "title": "Celebration Drinks", + "description": "Drinks to celebrate the new year! 🍾🎉🥂", + "items": [ + "cranberry-orange-whiskey", + "french-75", + "blood-orange-champagne-mule", + "mind-eraser", + "negroni", + "cranberry-bourbon", + "royal-mojito", + "white-bear", + "moscow-mule", + "espresso-martini", + "martini" + ], + "size": 9, + "enabled": false + }, + { + "title": "Hot Weather drinks", + "description": "Refreshing cocktails for those hot days of summer", + "items": [ + "cuba-libre", + "mojito", + "blue-lady", + "daiquiri", + "mango-daiquiri", + "sunshine-cocktail", + "margarita", + "pineapple-lime-beer-margarita", + "pink-grapefruit-margarita", + "sangria", + "negroni", + "paloma", + "sidecar", + "pina-colada", + "gin-tonic", + "lemonade", + "watermelon-lemonade", + "bourbon-lemonade", + "mai-tai", + "caipirinha", + "caipiroska", + "tequila-sunrise", + "mint-julep", + "bellini", + "cosmopolitan", + "pisco-sour", + "zombie", + "gin-fizz" + ], + "size": 12, + "enabled": false + }, + { + "title": "Popular Drinks", + "description": "Popular drinks never going out of style!", + "items": [ + "old-fashioned", + "margarita", + "cosmopolitan", + "negroni", + "moscow-mule", + "mojito", + "manhattan", + "mimosa", + "gimlet", + "sidecar", + "french-75", + "dark-and-stormy", + "daiquiri" + ], + "size": 12 + }, + { + "title": "Under the Weather Drinks", + "description": "Drinks to help you warm up when you're sick, or just to help boost your immune system! 🤧🤧", + "items": [ + "bandrek", + "beer-pletok", + "bloody-mary", + "corn-juice", + "gazpacho", + "ginger-milk-tea", + "golden-glow-water", + "honey-carrot", + "hot-toddy", + "indonesian-avocado-milkshake", + "jamun-shots", + "kenyan-dawa", + "london-fog", + "medicine-ball-tea", + "mulled-apple-crumble-cider", + "rusty-nail", + "rye-tai", + "sangria", + "warm-lemon-honey-tea" + ], + "size": 6, + "enabled": true + }, + { + "title": "Everything is Chocolate", + "description": "All drink made from chocolate", + "items": [ + "chocolate-milk", + "chocolate-monkey", + "clavis-riga", + "dom-pedro", + "indonesian-avocado-milkshake" + ], + "size": 6 + }, + { + "title": "Strong Drinks", + "description": "Super strong alcoholic drinks that make you forget all about your troubles", + "items": [ + "long-island-iced-tea", + "zombie", + "black-russian" + ], + "size": 6 + }, + { + "title": "Milky Heaven", + "description": "Drinks which do contain milk", + "items": [ + "bajigur", + "banana-smoothie", + "bandrek", + "barraquito", + "brazilian-strawberry-drink", + "buttermilk", + "chikoo-lassi", + "chocolate-milk", + "chocolate-monkey", + "ginger-milk-tea", + "cold-coffee", + "drunken-peanut-butter-cups", + "ginger-milk-tea", + "indonesian-avocado-milkshake", + "london-fog", + "mango-mastani", + "masala-chai", + "noon-chai", + "orange-glorius", + "oreo-milkshake", + "peanut-butter-banana-smoothie", + "royal-milk-tea", + "thandai", + "yogurt-fruit-shake", + "nevada", + "meia-de-seda" + ], + "size": 6 + }, + { + "title": "Homecoming Drinks", + "description": "Celebrate your alma mater with these team favorites!", + "items": [ + "amf", + "hurricane", + "long-island-iced-tea", + "sex-on-the-beach", + "tequila-sunrise", + "trash-can", + "vodka-lemonade-punch" + ], + "size": 6, + "enabled": false + } +] diff --git a/src/i18n.js b/src/i18n.js index d158ef2b3..ffbea1468 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -1,52 +1,52 @@ -import Vue from 'vue'; -import VueI18n from 'vue-i18n'; - -import ar from './lang/ar'; -import bn from './lang/bn'; -import de from './lang/de'; -import en from './lang/en'; -import es from './lang/es'; -import fr from './lang/fr'; -import gl from './lang/gl'; -import hi from './lang/hi'; -import it from './lang/it'; -import ja from './lang/ja'; -import nl from './lang/nl'; -import no from './lang/no'; -import np from './lang/np'; -import pt from './lang/pt'; -import ru from './lang/ru'; -import th from './lang/th'; -import uk from './lang/uk'; -import vi from './lang/vi'; -import zh from './lang/zh'; - -Vue.use(VueI18n); - -export default new VueI18n({ - locale: (window.navigator.language && window.navigator.language.split('-')[0]) || 'en', - messages: { - ar, - bn, - de, - en, - es, - fr, - gl, - hi, - it, - ja, - nl, - no, - np, - pt, - ru, - th, - uk, - vi, - zh, - }, - fallbackLocale: 'en', - silentTranslationWarn: true, - silentFallbackWarn: true, -}); +import Vue from 'vue'; +import VueI18n from 'vue-i18n'; + +import ar from './lang/ar'; +import bn from './lang/bn'; +import de from './lang/de'; +import en from './lang/en'; +import es from './lang/es'; +import fr from './lang/fr'; +import gl from './lang/gl'; +import hi from './lang/hi'; +import it from './lang/it'; +import ja from './lang/ja'; +import nl from './lang/nl'; +import no from './lang/no'; +import np from './lang/np'; +import pt from './lang/pt'; +import ru from './lang/ru'; +import th from './lang/th'; +import uk from './lang/uk'; +import vi from './lang/vi'; +import zh from './lang/zh'; + +Vue.use(VueI18n); + +export default new VueI18n({ + locale: (window.navigator.language && window.navigator.language.split('-')[0]) || 'en', + messages: { + ar, + bn, + de, + en, + es, + fr, + gl, + hi, + it, + ja, + nl, + no, + np, + pt, + ru, + th, + uk, + vi, + zh, + }, + fallbackLocale: 'en', + silentTranslationWarn: true, + silentFallbackWarn: true, +}); diff --git a/src/lang/ar.js b/src/lang/ar.js index 090084fea..f6cc7be67 100644 --- a/src/lang/ar.js +++ b/src/lang/ar.js @@ -1,57 +1,57 @@ -export default { - app: { - featured: 'مميّز', - random: 'عشوائي', - explore: 'اكتشف', - keywords: 'الكلمات المفاتيح', - search: 'ابحث', - }, - explore: { - filters: 'المرشحات', - resetFilters: 'إعادة ضبط المرشحات', - addKeyword: 'إضافة الكلمات المفاتيح', - }, - recipe: { - contributedBy: 'تمّت المساهمة بواسطة', - ingredients: 'المكوّنات', - directions: 'كيفيّة التّحضير', - fullRecipe: 'عرض الوصفة كاملة على', - similarDrinks: 'مشروبات مماثلة', - }, - featuredRecipes: { - loadMore: 'حمّل المزيد', - }, - recipeFind: { - filterBy: 'صنّف حسب', - name: 'الإسم', - ingredients: 'المكوّنات', - keywords: 'الكلمات المفاتيح', - searchForIngredients: 'يمكنك البحث عن مكونات متعددة عن طريق فصلها بمسافة', - searchForKeywords: 'يمكنك البحث عن عدة كلمات رئيسية عن طريق فصلها بمسافة', - }, - recipeList: { - viewRecipe: 'شاهد الوصفة', - }, - recipeToolbar: { - print: 'إطبع', - share: 'شارك', - shareOnFacebook: 'شارك على الفيسبوك', - shareOnTwitter: 'شارك على التويتر', - copyURL: 'إنسخ الرابط', - hideImage: 'إخفاء الصورة', - }, - favorites: { - removeAllFavorites: 'إزالة كافة المفضّلات', - noFavoriteDrinks: 'ليس لديك أي مشروبات مفضلة', - removeFavoritesPrompt: 'هل أنت متأكد أنك تريد إزالة كافة المفضّلات', - delete: 'حذف', - cancel: 'إلغاء', - }, - search: { - findYourDrink: 'ابحث عن مشروبك', - }, - pageNotFound: { - pageNotFound: 'الصفحة التي تبحث عنها غير موجودة', - backToHome: 'العودة إلى الصّفحة الرّئيسيّة', - }, -}; +export default { + app: { + featured: 'مميّز', + random: 'عشوائي', + explore: 'اكتشف', + keywords: 'الكلمات المفاتيح', + search: 'ابحث', + }, + explore: { + filters: 'المرشحات', + resetFilters: 'إعادة ضبط المرشحات', + addKeyword: 'إضافة الكلمات المفاتيح', + }, + recipe: { + contributedBy: 'تمّت المساهمة بواسطة', + ingredients: 'المكوّنات', + directions: 'كيفيّة التّحضير', + fullRecipe: 'عرض الوصفة كاملة على', + similarDrinks: 'مشروبات مماثلة', + }, + featuredRecipes: { + loadMore: 'حمّل المزيد', + }, + recipeFind: { + filterBy: 'صنّف حسب', + name: 'الإسم', + ingredients: 'المكوّنات', + keywords: 'الكلمات المفاتيح', + searchForIngredients: 'يمكنك البحث عن مكونات متعددة عن طريق فصلها بمسافة', + searchForKeywords: 'يمكنك البحث عن عدة كلمات رئيسية عن طريق فصلها بمسافة', + }, + recipeList: { + viewRecipe: 'شاهد الوصفة', + }, + recipeToolbar: { + print: 'إطبع', + share: 'شارك', + shareOnFacebook: 'شارك على الفيسبوك', + shareOnTwitter: 'شارك على التويتر', + copyURL: 'إنسخ الرابط', + hideImage: 'إخفاء الصورة', + }, + favorites: { + removeAllFavorites: 'إزالة كافة المفضّلات', + noFavoriteDrinks: 'ليس لديك أي مشروبات مفضلة', + removeFavoritesPrompt: 'هل أنت متأكد أنك تريد إزالة كافة المفضّلات', + delete: 'حذف', + cancel: 'إلغاء', + }, + search: { + findYourDrink: 'ابحث عن مشروبك', + }, + pageNotFound: { + pageNotFound: 'الصفحة التي تبحث عنها غير موجودة', + backToHome: 'العودة إلى الصّفحة الرّئيسيّة', + }, +}; diff --git a/src/lang/bn.js b/src/lang/bn.js index b6a288f5f..9b06f6cd7 100644 --- a/src/lang/bn.js +++ b/src/lang/bn.js @@ -1,60 +1,60 @@ -export default { - app: { - featured: 'বিশেষ ভাবে প্রকাশিত', - random: 'এলোমেলো', - explore: 'ঘুরে দেখুন', - keywords: 'কীওয়ার্ড সমূহ', - search: 'খুঁজে দেখুন', - }, - explore: { - filters: 'ফিল্টার', - resetFilters: 'ফিল্টার রিসেট করুন', - addKeyword: 'কীওয়ার্ড যোগ করুন', - }, - recipe: { - contributedBy: 'অবদান করেছেন', - ingredients: 'উপকরণ সমূহ', - directions: 'প্রস্তুত প্রণালি', - fullRecipe: 'সম্পূর্ণ রেসিপি দেখুন', - similarDrinks: 'অনুরূপ পানীয়গুলো', - }, - featuredRecipes: { - loadMore: 'আরো দেখুন', - }, - recipeFind: { - filterBy: 'ফিল্টার করার নির্ণায়কসমুহ', - name: 'নাম', - ingredients: 'উপকরণ সামগ্রী', - keywords: 'কীওয়ার্ড সমূহ', - searchForIngredients: 'আপনি একটি স্পেস দিয়ে আলাদা করে একাধিক উপাদান অনুসন্ধান করতে পারেন', - searchForKeywords: 'আপনি একটি স্পেস দিয়ে আলাদা করে একাধিক কীওয়ার্ড অনুসন্ধান করতে পারেন', - }, - recipeList: { - viewRecipe: 'রেসিপিটি দেখুন', - }, - recipeToolbar: { - print: 'প্রিন্ট', - share: 'শেয়ার', - shareOnFacebook: 'ফেসবুকে শেয়ার করুন', - shareOnTwitter: 'টুইটারে শেয়ার করুন', - copyURL: 'ইউআরএল অনুলিপি করে নিন', - hideImage: 'ছবি লুকান', - }, - favorites: { - removeAllFavorites: 'সমস্ত প্রিয় সরান', - noFavoriteDrinks: 'আপনার কোন প্রিয় পানীয় নেই', - removeFavoritesPrompt: 'আপনি কি নিশ্চিত যে আপনি সমস্ত পছন্দ অপসারণ করতে চান', - delete: 'মুছুন', - cancel: 'বাতিল করুন', - }, - keywordList: { - enterYourKeyword: 'আপনার কীওয়ার্ড লিখুন', - }, - search: { - findYourDrink: 'আপনার পানীয় খুঁজুন', - }, - pageNotFound: { - pageNotFound: 'আপনি যে পৃষ্ঠাটি খুঁজছেন তা পাওয়া যায়নি', - backToHome: 'হোমপেজে ফিরে যান', - }, -}; +export default { + app: { + featured: 'বিশেষ ভাবে প্রকাশিত', + random: 'এলোমেলো', + explore: 'ঘুরে দেখুন', + keywords: 'কীওয়ার্ড সমূহ', + search: 'খুঁজে দেখুন', + }, + explore: { + filters: 'ফিল্টার', + resetFilters: 'ফিল্টার রিসেট করুন', + addKeyword: 'কীওয়ার্ড যোগ করুন', + }, + recipe: { + contributedBy: 'অবদান করেছেন', + ingredients: 'উপকরণ সমূহ', + directions: 'প্রস্তুত প্রণালি', + fullRecipe: 'সম্পূর্ণ রেসিপি দেখুন', + similarDrinks: 'অনুরূপ পানীয়গুলো', + }, + featuredRecipes: { + loadMore: 'আরো দেখুন', + }, + recipeFind: { + filterBy: 'ফিল্টার করার নির্ণায়কসমুহ', + name: 'নাম', + ingredients: 'উপকরণ সামগ্রী', + keywords: 'কীওয়ার্ড সমূহ', + searchForIngredients: 'আপনি একটি স্পেস দিয়ে আলাদা করে একাধিক উপাদান অনুসন্ধান করতে পারেন', + searchForKeywords: 'আপনি একটি স্পেস দিয়ে আলাদা করে একাধিক কীওয়ার্ড অনুসন্ধান করতে পারেন', + }, + recipeList: { + viewRecipe: 'রেসিপিটি দেখুন', + }, + recipeToolbar: { + print: 'প্রিন্ট', + share: 'শেয়ার', + shareOnFacebook: 'ফেসবুকে শেয়ার করুন', + shareOnTwitter: 'টুইটারে শেয়ার করুন', + copyURL: 'ইউআরএল অনুলিপি করে নিন', + hideImage: 'ছবি লুকান', + }, + favorites: { + removeAllFavorites: 'সমস্ত প্রিয় সরান', + noFavoriteDrinks: 'আপনার কোন প্রিয় পানীয় নেই', + removeFavoritesPrompt: 'আপনি কি নিশ্চিত যে আপনি সমস্ত পছন্দ অপসারণ করতে চান', + delete: 'মুছুন', + cancel: 'বাতিল করুন', + }, + keywordList: { + enterYourKeyword: 'আপনার কীওয়ার্ড লিখুন', + }, + search: { + findYourDrink: 'আপনার পানীয় খুঁজুন', + }, + pageNotFound: { + pageNotFound: 'আপনি যে পৃষ্ঠাটি খুঁজছেন তা পাওয়া যায়নি', + backToHome: 'হোমপেজে ফিরে যান', + }, +}; diff --git a/src/lang/de.js b/src/lang/de.js index 3bcf49d33..060e38fc6 100644 --- a/src/lang/de.js +++ b/src/lang/de.js @@ -1,62 +1,62 @@ -export default { - app: { - featured: 'Empfohlen', - random: 'Zufallsrezepte', - explore: 'Alle Rezepte', - keywords: 'Schlüsselwörter', - search: 'Suche', - }, - explore: { - filters: 'Filter', - resetFilters: 'Filter zurücksetzen', - addKeyword: 'Stichwort hinzufügen', - }, - recipe: { - contributedBy: 'Beitrag von', - ingredients: 'Zutaten', - directions: 'Rezeptschritte', - fullRecipe: 'Das vollständige Rezept finden Sie auf', - similarDrinks: 'Ähnliche Getränke', - }, - featuredRecipes: { - loadMore: 'Mehr laden', - }, - recipeFind: { - filterBy: 'Filtern nach', - name: 'Name', - ingredients: 'Zutaten', - keywords: 'Schlüsselwörter', - searchForIngredients: - 'Sie können nach mehreren Zutaten suchen, indem Sie diese durch ein Leerzeichen trennen', - searchForKeywords: - 'Sie können nach mehreren Stichwörtern suchen, indem Sie diese durch ein Leerzeichen trennen', - }, - recipeList: { - viewRecipe: 'Rezept ansehen', - }, - recipeToolbar: { - print: 'Drucken', - share: 'Teilen', - shareOnFacebook: 'Auf Facebook teilen', - shareOnTwitter: 'Auf Twitter teilen', - copyURL: 'URL kopieren', - hideImage: 'Bild ausblenden', - }, - favorites: { - removeAllFavorites: 'Alle Favoriten löschen', - noFavoriteDrinks: 'Sie haben noch keine Lieblingsgetränke', - removeFavoritesPrompt: 'Sind Sie sicher, dass Sie alle Ihre Favoriten löschen wollen?', - delete: 'entfernen', - cancel: 'Abbrechen', - }, - keywordList: { - enterYourKeyword: 'Gib dein Stichwort ein', - }, - search: { - findYourDrink: 'Finden Sie Ihr Getränk', - }, - pageNotFound: { - pageNotFound: 'Diese Seite ist nicht verfügbar.', - backToHome: 'Zur Homepage', - }, -}; +export default { + app: { + featured: 'Empfohlen', + random: 'Zufallsrezepte', + explore: 'Alle Rezepte', + keywords: 'Schlüsselwörter', + search: 'Suche', + }, + explore: { + filters: 'Filter', + resetFilters: 'Filter zurücksetzen', + addKeyword: 'Stichwort hinzufügen', + }, + recipe: { + contributedBy: 'Beitrag von', + ingredients: 'Zutaten', + directions: 'Rezeptschritte', + fullRecipe: 'Das vollständige Rezept finden Sie auf', + similarDrinks: 'Ähnliche Getränke', + }, + featuredRecipes: { + loadMore: 'Mehr laden', + }, + recipeFind: { + filterBy: 'Filtern nach', + name: 'Name', + ingredients: 'Zutaten', + keywords: 'Schlüsselwörter', + searchForIngredients: + 'Sie können nach mehreren Zutaten suchen, indem Sie diese durch ein Leerzeichen trennen', + searchForKeywords: + 'Sie können nach mehreren Stichwörtern suchen, indem Sie diese durch ein Leerzeichen trennen', + }, + recipeList: { + viewRecipe: 'Rezept ansehen', + }, + recipeToolbar: { + print: 'Drucken', + share: 'Teilen', + shareOnFacebook: 'Auf Facebook teilen', + shareOnTwitter: 'Auf Twitter teilen', + copyURL: 'URL kopieren', + hideImage: 'Bild ausblenden', + }, + favorites: { + removeAllFavorites: 'Alle Favoriten löschen', + noFavoriteDrinks: 'Sie haben noch keine Lieblingsgetränke', + removeFavoritesPrompt: 'Sind Sie sicher, dass Sie alle Ihre Favoriten löschen wollen?', + delete: 'entfernen', + cancel: 'Abbrechen', + }, + keywordList: { + enterYourKeyword: 'Gib dein Stichwort ein', + }, + search: { + findYourDrink: 'Finden Sie Ihr Getränk', + }, + pageNotFound: { + pageNotFound: 'Diese Seite ist nicht verfügbar.', + backToHome: 'Zur Homepage', + }, +}; diff --git a/src/lang/en.js b/src/lang/en.js index 50e6df708..384b8b6ac 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -1,64 +1,64 @@ -export default { - app: { - featured: 'Featured', - random: 'Random', - explore: 'Explore', - keywords: 'Keywords', - search: 'Search', - }, - explore: { - filters: 'Filters', - resetFilters: 'Reset Filters', - addKeyword: 'Add Keyword', - }, - recipe: { - contributedBy: 'Contributed By', - ingredients: 'Ingredients', - directions: 'Directions', - fullRecipe: 'View full recipe at', - similarDrinks: 'Similiar drinks', - }, - featuredRecipes: { - loadMore: 'Load More', - }, - recipeFind: { - filterBy: 'Filter by', - name: 'Name', - ingredients: 'Ingredients', - keywords: 'Keywords', - searchForIngredients: 'You can search for multiple ingredients by separating them with a space', - searchForKeywords: 'You can search for multiple keywords by separating them with a space', - }, - recipeList: { - viewRecipe: 'View Recipe', - }, - recipeToolbar: { - print: 'Print', - share: 'Share', - shareOnFacebook: 'Share on Facebook', - shareOnTwitter: 'Share on Twitter', - copyURL: 'Copy URL', - hideImage: 'Hide Image', - setFavorite: 'Set Favorite', - unsetFavorite: 'Unset Favorite', - urlCopied: 'URL Copied!', - urlCopiiedInClipboard: 'The URL is copied in your clipboard', - }, - keywordList: { - enterYourKeyword: 'Enter your Keyword', - }, - favorites: { - removeAllFavorites: 'Remove All Favorites', - noFavoriteDrinks: "You don't have any favorite drinks", - removeFavoritesPrompt: 'Are you sure you want to remove all favorites', - delete: 'Delete', - cancel: 'Cancel', - }, - search: { - findYourDrink: 'Find Your Drink', - }, - pageNotFound: { - pageNotFound: 'The page you are looking for was not found.', - backToHome: 'Back to Home', - }, -}; +export default { + app: { + featured: 'Featured', + random: 'Random', + explore: 'Explore', + keywords: 'Keywords', + search: 'Search', + }, + explore: { + filters: 'Filters', + resetFilters: 'Reset Filters', + addKeyword: 'Add Keyword', + }, + recipe: { + contributedBy: 'Contributed By', + ingredients: 'Ingredients', + directions: 'Directions', + fullRecipe: 'View full recipe at', + similarDrinks: 'Similiar drinks', + }, + featuredRecipes: { + loadMore: 'Load More', + }, + recipeFind: { + filterBy: 'Filter by', + name: 'Name', + ingredients: 'Ingredients', + keywords: 'Keywords', + searchForIngredients: 'You can search for multiple ingredients by separating them with a space', + searchForKeywords: 'You can search for multiple keywords by separating them with a space', + }, + recipeList: { + viewRecipe: 'View Recipe', + }, + recipeToolbar: { + print: 'Print', + share: 'Share', + shareOnFacebook: 'Share on Facebook', + shareOnTwitter: 'Share on Twitter', + copyURL: 'Copy URL', + hideImage: 'Hide Image', + setFavorite: 'Set Favorite', + unsetFavorite: 'Unset Favorite', + urlCopied: 'URL Copied!', + urlCopiiedInClipboard: 'The URL is copied in your clipboard', + }, + keywordList: { + enterYourKeyword: 'Enter your Keyword', + }, + favorites: { + removeAllFavorites: 'Remove All Favorites', + noFavoriteDrinks: "You don't have any favorite drinks", + removeFavoritesPrompt: 'Are you sure you want to remove all favorites', + delete: 'Delete', + cancel: 'Cancel', + }, + search: { + findYourDrink: 'Find Your Drink', + }, + pageNotFound: { + pageNotFound: 'The page you are looking for was not found.', + backToHome: 'Back to Home', + }, +}; diff --git a/src/lang/es.js b/src/lang/es.js index 1674137de..9fec065da 100644 --- a/src/lang/es.js +++ b/src/lang/es.js @@ -1,60 +1,60 @@ -export default { - app: { - featured: 'Destacadas', - random: 'Aleatorio', - explore: 'Explora', - keywords: 'Palabras Claves', - search: 'Búsqueda', - }, - explore: { - filters: 'Filtros', - resetFilters: 'Reiniciar Filtros', - addKeyword: 'Agregar Palabra Clave', - }, - recipe: { - contributedBy: 'Aportado por', - ingredients: 'Ingredientes', - directions: 'Instrucciones', - fullRecipe: 'Mira la receta completa en', - similarDrinks: 'Bebidas similares', - }, - featuredRecipes: { - loadMore: 'Cargar Más', - }, - recipeFind: { - filterBy: 'Filtrar por', - name: 'Nombre', - ingredients: 'Ingredientes', - keywords: 'Palabras Clave', - searchForIngredients: 'Puedes buscar múltiples ingredientes separandolos con espacios', - searchForKeywords: 'Puedes buscar múltiples palabras claves separandolas con espacios', - }, - recipeList: { - viewRecipe: 'Ver Receta', - }, - recipeToolbar: { - print: 'Imprimir', - share: 'Compartir', - shareOnFacebook: 'Compartir en Facebook', - shareOnTwitter: 'Compartir en Twitter', - copyURL: 'Copiar URL', - hideImage: 'Ocultar imagen', - }, - favorites: { - removeAllFavorites: 'Eliminar Todos Los Favoritos', - noFavoriteDrinks: 'No tienes bebidas favoritas', - removeFavoritesPrompt: 'Estás seguro que quieres eliminar todos los favoritos?', - delete: 'Eliminar', - cancel: 'Cancelar', - }, - keywordList: { - enterYourKeyword: 'Introduce tu palabra clave', - }, - search: { - findYourDrink: 'Encuentra Tu Bebida', - }, - pageNotFound: { - pageNotFound: 'No se encontró la página que estás buscando', - backToHome: 'Volver al Inicio', - }, -}; +export default { + app: { + featured: 'Destacadas', + random: 'Aleatorio', + explore: 'Explora', + keywords: 'Palabras Claves', + search: 'Búsqueda', + }, + explore: { + filters: 'Filtros', + resetFilters: 'Reiniciar Filtros', + addKeyword: 'Agregar Palabra Clave', + }, + recipe: { + contributedBy: 'Aportado por', + ingredients: 'Ingredientes', + directions: 'Instrucciones', + fullRecipe: 'Mira la receta completa en', + similarDrinks: 'Bebidas similares', + }, + featuredRecipes: { + loadMore: 'Cargar Más', + }, + recipeFind: { + filterBy: 'Filtrar por', + name: 'Nombre', + ingredients: 'Ingredientes', + keywords: 'Palabras Clave', + searchForIngredients: 'Puedes buscar múltiples ingredientes separandolos con espacios', + searchForKeywords: 'Puedes buscar múltiples palabras claves separandolas con espacios', + }, + recipeList: { + viewRecipe: 'Ver Receta', + }, + recipeToolbar: { + print: 'Imprimir', + share: 'Compartir', + shareOnFacebook: 'Compartir en Facebook', + shareOnTwitter: 'Compartir en Twitter', + copyURL: 'Copiar URL', + hideImage: 'Ocultar imagen', + }, + favorites: { + removeAllFavorites: 'Eliminar Todos Los Favoritos', + noFavoriteDrinks: 'No tienes bebidas favoritas', + removeFavoritesPrompt: 'Estás seguro que quieres eliminar todos los favoritos?', + delete: 'Eliminar', + cancel: 'Cancelar', + }, + keywordList: { + enterYourKeyword: 'Introduce tu palabra clave', + }, + search: { + findYourDrink: 'Encuentra Tu Bebida', + }, + pageNotFound: { + pageNotFound: 'No se encontró la página que estás buscando', + backToHome: 'Volver al Inicio', + }, +}; diff --git a/src/lang/fr.js b/src/lang/fr.js index aa03fa1be..dc1b361c6 100644 --- a/src/lang/fr.js +++ b/src/lang/fr.js @@ -1,66 +1,66 @@ -export default { - app: { - featured: 'En vedette', - random: 'Aléatoire', - explore: 'Parcourir', - keywords: 'Mots-Clés', - search: 'Recherche', - }, - explore: { - filters: 'Filtres', - resetFilters: 'Enlever les filtres', - addKeyword: 'Ajouter un mot-clés', - }, - recipe: { - contributedBy: 'Partagé par', - ingredients: 'Ingrédients', - directions: 'Préparation', - fullRecipe: 'Voir la recette complète:', - similarDrinks: 'Cocktails similaires', - }, - featuredRecipes: { - loadMore: 'Voir plus', - }, - recipeFind: { - filterBy: 'Filtrer par', - name: 'Nom', - ingredients: 'Ingrédients', - keywords: 'Mots-clés', - searchForIngredients: - 'Vous pouvez chercher avec plusieurs ingrédients en les séparants avec un espace', - searchForKeywords: - 'Vous pouvez chercher avec plusieurs mots-clés en les séparants avec un espace', - }, - recipeList: { - viewRecipe: 'Voir la Recette', - }, - recipeToolbar: { - print: 'Imprimer', - share: 'Partager', - shareOnFacebook: 'Partager sur Facebook', - shareOnTwitter: 'Partager sur Twitter', - copyURL: "Copier l'url", - hideImage: "Cacher l'image", - setFavorite: 'Ajouter aux favoris', - unsetFavorite: 'Retirer des favoris', - urlCopied: 'URL copiée !', - urlCopiiedInClipboard: "L'URL est copiée dans le presse-papiers", - }, - keywordList: { - enterYourKeyword: 'Entrez votre mot-clé', - }, - favorites: { - removeAllFavorites: 'Supprimer tous les cocktails favoris', - noFavoriteDrinks: "Vous n'avez pas de cocktails favoris", - removeFavoritesPrompt: 'Etes-vous sûr de vouloir supprimer tous les favoris', - delete: 'Supprimer', - cancel: 'Annuler', - }, - search: { - findYourDrink: 'Rechercher votre cocktail', - }, - pageNotFound: { - pageNotFound: 'Page non trouvée', - backToHome: "Retour à l'accueil", - }, -}; +export default { + app: { + featured: 'En vedette', + random: 'Aléatoire', + explore: 'Parcourir', + keywords: 'Mots-Clés', + search: 'Recherche', + }, + explore: { + filters: 'Filtres', + resetFilters: 'Enlever les filtres', + addKeyword: 'Ajouter un mot-clés', + }, + recipe: { + contributedBy: 'Partagé par', + ingredients: 'Ingrédients', + directions: 'Préparation', + fullRecipe: 'Voir la recette complète:', + similarDrinks: 'Cocktails similaires', + }, + featuredRecipes: { + loadMore: 'Voir plus', + }, + recipeFind: { + filterBy: 'Filtrer par', + name: 'Nom', + ingredients: 'Ingrédients', + keywords: 'Mots-clés', + searchForIngredients: + 'Vous pouvez chercher avec plusieurs ingrédients en les séparants avec un espace', + searchForKeywords: + 'Vous pouvez chercher avec plusieurs mots-clés en les séparants avec un espace', + }, + recipeList: { + viewRecipe: 'Voir la Recette', + }, + recipeToolbar: { + print: 'Imprimer', + share: 'Partager', + shareOnFacebook: 'Partager sur Facebook', + shareOnTwitter: 'Partager sur Twitter', + copyURL: "Copier l'url", + hideImage: "Cacher l'image", + setFavorite: 'Ajouter aux favoris', + unsetFavorite: 'Retirer des favoris', + urlCopied: 'URL copiée !', + urlCopiiedInClipboard: "L'URL est copiée dans le presse-papiers", + }, + keywordList: { + enterYourKeyword: 'Entrez votre mot-clé', + }, + favorites: { + removeAllFavorites: 'Supprimer tous les cocktails favoris', + noFavoriteDrinks: "Vous n'avez pas de cocktails favoris", + removeFavoritesPrompt: 'Etes-vous sûr de vouloir supprimer tous les favoris', + delete: 'Supprimer', + cancel: 'Annuler', + }, + search: { + findYourDrink: 'Rechercher votre cocktail', + }, + pageNotFound: { + pageNotFound: 'Page non trouvée', + backToHome: "Retour à l'accueil", + }, +}; diff --git a/src/lang/gl.js b/src/lang/gl.js index 0b0947502..48d01d73e 100644 --- a/src/lang/gl.js +++ b/src/lang/gl.js @@ -1,57 +1,57 @@ -export default { - app: { - featured: 'Destacadas', - random: 'Aleatorio', - explore: 'Explora', - keywords: 'Palabras Craves', - search: 'Procura', - }, - explore: { - filters: 'Filtros', - resetFilters: 'Reiniciar filtros', - addKeyword: 'Agregar palabra chave', - }, - recipe: { - contributedBy: 'Achegado por', - ingredients: 'Ingredientes', - directions: 'Instrucións', - fullRecipe: 'Mira a receita completa en', - similarDrinks: 'Bebidas similares', - }, - featuredRecipes: { - loadMore: 'Cargar máis', - }, - recipeFind: { - filterBy: 'Filtrar por', - name: 'Nomee', - ingredients: 'Ingredientes', - keywords: 'Palabras chave', - searchForIngredients: 'Podes buscar múltiples ingredientes separándoos con espazos', - searchForKeywords: 'Podes buscar múltiples palabras craves separándoas con espazos', - }, - recipeList: { - viewRecipe: 'Ver receita', - }, - recipeToolbar: { - print: 'Imprimir', - share: 'Compartir', - shareOnFacebook: 'Compartir en Facebook', - shareOnTwitter: 'Compartir en Twitter', - copyURL: 'Copiar URL', - hideImage: 'Ocultar imaxe', - }, - favorites: { - removeAllFavorites: 'Eliminar todos os favoritos', - noFavoriteDrinks: 'Non tes bebidas favoritas', - removeFavoritesPrompt: 'Estás seguro que queres eliminar todos os favoritos?', - delete: 'Eliminar', - cancel: 'Cancelar', - }, - search: { - findYourDrink: 'Atopa a túa bebida', - }, - pageNotFound: { - pageNotFound: 'Non se atopou a páxina que estás a buscar', - backToHome: 'Volver ao comezo', - }, -}; +export default { + app: { + featured: 'Destacadas', + random: 'Aleatorio', + explore: 'Explora', + keywords: 'Palabras Craves', + search: 'Procura', + }, + explore: { + filters: 'Filtros', + resetFilters: 'Reiniciar filtros', + addKeyword: 'Agregar palabra chave', + }, + recipe: { + contributedBy: 'Achegado por', + ingredients: 'Ingredientes', + directions: 'Instrucións', + fullRecipe: 'Mira a receita completa en', + similarDrinks: 'Bebidas similares', + }, + featuredRecipes: { + loadMore: 'Cargar máis', + }, + recipeFind: { + filterBy: 'Filtrar por', + name: 'Nomee', + ingredients: 'Ingredientes', + keywords: 'Palabras chave', + searchForIngredients: 'Podes buscar múltiples ingredientes separándoos con espazos', + searchForKeywords: 'Podes buscar múltiples palabras craves separándoas con espazos', + }, + recipeList: { + viewRecipe: 'Ver receita', + }, + recipeToolbar: { + print: 'Imprimir', + share: 'Compartir', + shareOnFacebook: 'Compartir en Facebook', + shareOnTwitter: 'Compartir en Twitter', + copyURL: 'Copiar URL', + hideImage: 'Ocultar imaxe', + }, + favorites: { + removeAllFavorites: 'Eliminar todos os favoritos', + noFavoriteDrinks: 'Non tes bebidas favoritas', + removeFavoritesPrompt: 'Estás seguro que queres eliminar todos os favoritos?', + delete: 'Eliminar', + cancel: 'Cancelar', + }, + search: { + findYourDrink: 'Atopa a túa bebida', + }, + pageNotFound: { + pageNotFound: 'Non se atopou a páxina que estás a buscar', + backToHome: 'Volver ao comezo', + }, +}; diff --git a/src/lang/hi.js b/src/lang/hi.js index f84b200b3..9926e5031 100644 --- a/src/lang/hi.js +++ b/src/lang/hi.js @@ -1,60 +1,60 @@ -export default { - app: { - featured: 'विशेष रुप से प्रदर्शित', - random: 'अनियमित', - explore: 'अन्वेषण करिय', - keywords: 'सूचक-शब्द', - search: 'खोजिये', - }, - explore: { - filters: 'छन्नी', - resetFilters: 'छन्नी रीसेट करें', - addKeyword: 'ूचक-शब्द जोड़ें', - }, - recipe: { - contributedBy: 'योगदानी', - ingredients: 'सामग्री', - directions: 'तैयारी', - fullRecipe: 'पूरी विधि यहाँ देखें', - similarDrinks: 'समान पेय', - }, - featuredRecipes: { - loadMore: 'और विधि देखिये', - }, - recipeFind: { - filterBy: 'छाने', - name: 'नाम', - ingredients: 'सामग्री', - keywords: 'सूचक-शब्द', - searchForIngredients: 'आप कई सामग्रियों को खोज सकते हैं उनके बीच खाली स्थान छोड़कर', - searchForKeywords: 'आप कई सूचक-शब्द को खोज सकते हैं उनके बीच खाली स्थान छोड़कर', - }, - recipeList: { - viewRecipe: 'विधि देखे', - }, - recipeToolbar: { - print: 'प्रिंट करे', - share: 'बाटें', - shareOnFacebook: 'फेसबुक पर बाट', - shareOnTwitter: '्विटर पर बाटे', - copyURL: 'यूआरएल नकल करें', - hideImage: 'चित्र छुपाएं', - }, - favorites: { - removeAllFavorites: 'सभी पसंदीदा हटाएं', - noFavoriteDrinks: 'आपका कोई पसंदीदा पेय नहीं है', - removeFavoritesPrompt: 'क्या आप वाकई सभी पसंदीदा हटाना चाहते हैं', - delete: 'हटाइये', - cancel: 'रद्द कर', - }, - keywordList: { - enterYourKeyword: 'अपना सूचक-शब्द दर्ज करें', - }, - search: { - findYourDrink: 'अपना पेय खोजें', - }, - pageNotFound: { - pageNotFound: 'आप जिस पृष्ठ की तलाश कर रहे हैं वह नहीं मिला।', - backToHome: 'घर वापसी', - }, -}; +export default { + app: { + featured: 'विशेष रुप से प्रदर्शित', + random: 'अनियमित', + explore: 'अन्वेषण करिय', + keywords: 'सूचक-शब्द', + search: 'खोजिये', + }, + explore: { + filters: 'छन्नी', + resetFilters: 'छन्नी रीसेट करें', + addKeyword: 'ूचक-शब्द जोड़ें', + }, + recipe: { + contributedBy: 'योगदानी', + ingredients: 'सामग्री', + directions: 'तैयारी', + fullRecipe: 'पूरी विधि यहाँ देखें', + similarDrinks: 'समान पेय', + }, + featuredRecipes: { + loadMore: 'और विधि देखिये', + }, + recipeFind: { + filterBy: 'छाने', + name: 'नाम', + ingredients: 'सामग्री', + keywords: 'सूचक-शब्द', + searchForIngredients: 'आप कई सामग्रियों को खोज सकते हैं उनके बीच खाली स्थान छोड़कर', + searchForKeywords: 'आप कई सूचक-शब्द को खोज सकते हैं उनके बीच खाली स्थान छोड़कर', + }, + recipeList: { + viewRecipe: 'विधि देखे', + }, + recipeToolbar: { + print: 'प्रिंट करे', + share: 'बाटें', + shareOnFacebook: 'फेसबुक पर बाट', + shareOnTwitter: '्विटर पर बाटे', + copyURL: 'यूआरएल नकल करें', + hideImage: 'चित्र छुपाएं', + }, + favorites: { + removeAllFavorites: 'सभी पसंदीदा हटाएं', + noFavoriteDrinks: 'आपका कोई पसंदीदा पेय नहीं है', + removeFavoritesPrompt: 'क्या आप वाकई सभी पसंदीदा हटाना चाहते हैं', + delete: 'हटाइये', + cancel: 'रद्द कर', + }, + keywordList: { + enterYourKeyword: 'अपना सूचक-शब्द दर्ज करें', + }, + search: { + findYourDrink: 'अपना पेय खोजें', + }, + pageNotFound: { + pageNotFound: 'आप जिस पृष्ठ की तलाश कर रहे हैं वह नहीं मिला।', + backToHome: 'घर वापसी', + }, +}; diff --git a/src/lang/it.js b/src/lang/it.js index 6df2db3ff..2b542215d 100644 --- a/src/lang/it.js +++ b/src/lang/it.js @@ -1,62 +1,62 @@ -export default { - app: { - featured: 'In primo piano', - random: 'Casuale', - explore: 'Esplora', - keywords: 'Parole chiave', - search: 'Cerca', - }, - explore: { - filters: 'Filtri', - resetFilters: 'Cancella filtri', - addKeyword: 'Aggiungi parola chiave', - }, - recipe: { - contributedBy: 'Contribuito da', - ingredients: 'Ingredienti', - directions: 'Istruzioni', - fullRecipe: 'Vedi la ricetta completa su', - similarDrinks: 'Drink simili', - }, - featuredRecipes: { - loadMore: 'Carica altro', - }, - recipeFind: { - filterBy: 'Filtra per', - name: 'Nome', - ingredients: 'Ingredienti', - keywords: 'Parole chiave', - searchForIngredients: - 'Puoi fare una ricerca utilizzando più ingredienti separandoli con uno spazio', - searchForKeywords: - 'Puoi fare una ricerca utilizzando più parole chiave separandole con uno spazio', - }, - recipeList: { - viewRecipe: 'Visualizza ricetta', - }, - recipeToolbar: { - print: 'Stampa', - share: 'Condividi', - shareOnFacebook: 'Condividi su Facebook', - shareOnTwitter: 'Condividi su Twitter', - copyURL: 'Copia URL', - hideImage: 'Nascondi immagine', - }, - favorites: { - removeAllFavorites: 'Rimuovi tutti i preferiti', - noFavoriteDrinks: 'Non hai nessun drink preferito', - removeFavoritesPrompt: 'Sei sicuro di voler rimuovere tutti i preferiti', - delete: 'Elimina', - cancel: 'Annulla', - }, - keywordList: { - enterYourKeyword: 'Inserisci la tua parola chiave', - }, - search: { - findYourDrink: 'Trova il tuo drink', - }, - pageNotFound: { - pageNotFound: 'La pagina che stai cercando non è disponibile.', - backToHome: 'Torna in Home', - }, -}; +export default { + app: { + featured: 'In primo piano', + random: 'Casuale', + explore: 'Esplora', + keywords: 'Parole chiave', + search: 'Cerca', + }, + explore: { + filters: 'Filtri', + resetFilters: 'Cancella filtri', + addKeyword: 'Aggiungi parola chiave', + }, + recipe: { + contributedBy: 'Contribuito da', + ingredients: 'Ingredienti', + directions: 'Istruzioni', + fullRecipe: 'Vedi la ricetta completa su', + similarDrinks: 'Drink simili', + }, + featuredRecipes: { + loadMore: 'Carica altro', + }, + recipeFind: { + filterBy: 'Filtra per', + name: 'Nome', + ingredients: 'Ingredienti', + keywords: 'Parole chiave', + searchForIngredients: + 'Puoi fare una ricerca utilizzando più ingredienti separandoli con uno spazio', + searchForKeywords: + 'Puoi fare una ricerca utilizzando più parole chiave separandole con uno spazio', + }, + recipeList: { + viewRecipe: 'Visualizza ricetta', + }, + recipeToolbar: { + print: 'Stampa', + share: 'Condividi', + shareOnFacebook: 'Condividi su Facebook', + shareOnTwitter: 'Condividi su Twitter', + copyURL: 'Copia URL', + hideImage: 'Nascondi immagine', + }, + favorites: { + removeAllFavorites: 'Rimuovi tutti i preferiti', + noFavoriteDrinks: 'Non hai nessun drink preferito', + removeFavoritesPrompt: 'Sei sicuro di voler rimuovere tutti i preferiti', + delete: 'Elimina', + cancel: 'Annulla', + }, + keywordList: { + enterYourKeyword: 'Inserisci la tua parola chiave', + }, + search: { + findYourDrink: 'Trova il tuo drink', + }, + pageNotFound: { + pageNotFound: 'La pagina che stai cercando non è disponibile.', + backToHome: 'Torna in Home', + }, +}; diff --git a/src/lang/ja.js b/src/lang/ja.js index 5e5c81748..9f4ba31eb 100644 --- a/src/lang/ja.js +++ b/src/lang/ja.js @@ -1,60 +1,60 @@ -export default { - app: { - featured: '特集', - random: 'ランダム', - explore: '探索', - keywords: 'キーワード', - search: '検索', - }, - explore: { - filters: 'フィルター', - resetFilters: '条件をクリア', - addKeyword: 'キーワードを追加', - }, - recipe: { - contributedBy: '提供', - ingredients: '材料', - directions: '手順', - fullRecipe: '完全なレシピを見る', - similarDrinks: '似ているドリンク', - }, - featuredRecipes: { - loadMore: 'もっと見る', - }, - recipeFind: { - filterBy: '検索条件', - name: '名前', - ingredients: '材料', - keywords: 'キーワード', - searchForIngredients: 'スペースで区切ることで複数の材料で検索できます', - searchForKeywords: 'スペースで区切ることで複数のキーワードで検索できます', - }, - recipeList: { - viewRecipe: 'レシピを見る', - }, - recipeToolbar: { - print: '印刷', - share: '共有', - shareOnFacebook: 'Facebook', - shareOnTwitter: 'Twitter', - copyURL: 'URLをコピー', - hideImage: '画像を非表示', - }, - favorites: { - removeAllFavorites: 'お気に入りをすべて削除する', - noFavoriteDrinks: 'お気に入りのドリンクがありません', - removeFavoritesPrompt: 'お気に入りをすべて削除してもよろしいですか?', - delete: '削除', - cancel: 'キャンセル', - }, - keywordList: { - enterYourKeyword: 'キーワードを入力してください', - }, - search: { - findYourDrink: 'あなたのドリンクを見つけよう', - }, - pageNotFound: { - pageNotFound: 'お探しのページは見つかりませんでした。', - backToHome: 'ホームに戻る', - }, -}; +export default { + app: { + featured: '特集', + random: 'ランダム', + explore: '探索', + keywords: 'キーワード', + search: '検索', + }, + explore: { + filters: 'フィルター', + resetFilters: '条件をクリア', + addKeyword: 'キーワードを追加', + }, + recipe: { + contributedBy: '提供', + ingredients: '材料', + directions: '手順', + fullRecipe: '完全なレシピを見る', + similarDrinks: '似ているドリンク', + }, + featuredRecipes: { + loadMore: 'もっと見る', + }, + recipeFind: { + filterBy: '検索条件', + name: '名前', + ingredients: '材料', + keywords: 'キーワード', + searchForIngredients: 'スペースで区切ることで複数の材料で検索できます', + searchForKeywords: 'スペースで区切ることで複数のキーワードで検索できます', + }, + recipeList: { + viewRecipe: 'レシピを見る', + }, + recipeToolbar: { + print: '印刷', + share: '共有', + shareOnFacebook: 'Facebook', + shareOnTwitter: 'Twitter', + copyURL: 'URLをコピー', + hideImage: '画像を非表示', + }, + favorites: { + removeAllFavorites: 'お気に入りをすべて削除する', + noFavoriteDrinks: 'お気に入りのドリンクがありません', + removeFavoritesPrompt: 'お気に入りをすべて削除してもよろしいですか?', + delete: '削除', + cancel: 'キャンセル', + }, + keywordList: { + enterYourKeyword: 'キーワードを入力してください', + }, + search: { + findYourDrink: 'あなたのドリンクを見つけよう', + }, + pageNotFound: { + pageNotFound: 'お探しのページは見つかりませんでした。', + backToHome: 'ホームに戻る', + }, +}; diff --git a/src/lang/nl.js b/src/lang/nl.js index a8ce96544..db8ba2275 100644 --- a/src/lang/nl.js +++ b/src/lang/nl.js @@ -1,61 +1,61 @@ -export default { - app: { - featured: 'Aanbevolen', - random: 'Willekeurig', - explore: 'Alle recepten', - keywords: 'Trefwoorden', - search: 'Zoeken', - }, - explore: { - filters: 'Filters', - resetFilters: 'Filters resetten', - addKeyword: 'Trefwoord toevoegen', - }, - recipe: { - contributedBy: 'Bijdrage door', - ingredients: 'Ingrediënten', - directions: 'Bereidingswijze', - fullRecipe: 'Bekijk het volledige recept op', - similarDrinks: 'Vergelijkbare drankjes', - }, - featuredRecipes: { - loadMore: 'Laad meer', - }, - recipeFind: { - filterBy: 'Filter op', - name: 'Naam', - ingredients: 'Ingrediënten', - keywords: 'Trefwoorden', - searchForIngredients: - 'Je kunt zoeken op meerdere ingrediënten door ze met een spatie te scheiden', - searchForKeywords: 'Je kunt zoeken op meerdere trefwoorden door ze met een spatie te scheiden', - }, - recipeList: { - viewRecipe: 'Recept bekijken', - }, - recipeToolbar: { - print: 'Printen', - share: 'Delen', - shareOnFacebook: 'Deel op Facebook', - shareOnTwitter: 'Deel op Twitter', - copyURL: 'URL kopiëren', - hideImage: 'Afbeelding verbergen', - }, - favorites: { - removeAllFavorites: 'Alle favorieten verwijderen', - noFavoriteDrinks: 'Je hebt nog geen favoriete drankjes', - removeFavoritesPrompt: 'Weet je zeker dat je al je favorieten wilt verwijderen?', - delete: 'Verwijderen', - cancel: 'Annuleren', - }, - keywordList: { - enterYourKeyword: 'Voer uw trefwoord in', - }, - search: { - findYourDrink: 'Vind jouw drankje', - }, - pageNotFound: { - pageNotFound: 'Deze pagina is niet beschikbaar.', - backToHome: 'Naar de homepage', - }, -}; +export default { + app: { + featured: 'Aanbevolen', + random: 'Willekeurig', + explore: 'Alle recepten', + keywords: 'Trefwoorden', + search: 'Zoeken', + }, + explore: { + filters: 'Filters', + resetFilters: 'Filters resetten', + addKeyword: 'Trefwoord toevoegen', + }, + recipe: { + contributedBy: 'Bijdrage door', + ingredients: 'Ingrediënten', + directions: 'Bereidingswijze', + fullRecipe: 'Bekijk het volledige recept op', + similarDrinks: 'Vergelijkbare drankjes', + }, + featuredRecipes: { + loadMore: 'Laad meer', + }, + recipeFind: { + filterBy: 'Filter op', + name: 'Naam', + ingredients: 'Ingrediënten', + keywords: 'Trefwoorden', + searchForIngredients: + 'Je kunt zoeken op meerdere ingrediënten door ze met een spatie te scheiden', + searchForKeywords: 'Je kunt zoeken op meerdere trefwoorden door ze met een spatie te scheiden', + }, + recipeList: { + viewRecipe: 'Recept bekijken', + }, + recipeToolbar: { + print: 'Printen', + share: 'Delen', + shareOnFacebook: 'Deel op Facebook', + shareOnTwitter: 'Deel op Twitter', + copyURL: 'URL kopiëren', + hideImage: 'Afbeelding verbergen', + }, + favorites: { + removeAllFavorites: 'Alle favorieten verwijderen', + noFavoriteDrinks: 'Je hebt nog geen favoriete drankjes', + removeFavoritesPrompt: 'Weet je zeker dat je al je favorieten wilt verwijderen?', + delete: 'Verwijderen', + cancel: 'Annuleren', + }, + keywordList: { + enterYourKeyword: 'Voer uw trefwoord in', + }, + search: { + findYourDrink: 'Vind jouw drankje', + }, + pageNotFound: { + pageNotFound: 'Deze pagina is niet beschikbaar.', + backToHome: 'Naar de homepage', + }, +}; diff --git a/src/lang/no.js b/src/lang/no.js index e9e35ab62..cf5c32664 100644 --- a/src/lang/no.js +++ b/src/lang/no.js @@ -1,60 +1,60 @@ -export default { - app: { - featured: 'Fremhevet', - random: 'Tilfeldig', - explore: 'Alle oppskrifter', - keywords: 'Nøkkelord', - search: 'Søk', - }, - explore: { - filters: 'Filter', - resetFilters: 'Nullstill filter', - addKeyword: 'Legg til nøkkelord', - }, - recipe: { - contributedBy: 'Bidrag fra', - ingredients: 'Ingredienser', - directions: 'Fremgangsmåte', - fullRecipe: 'Se hele oppskriften på', - similarDrinks: 'Lignende drinker', - }, - featuredRecipes: { - loadMore: 'Last mer', - }, - recipeFind: { - filterBy: 'Filtrer etter', - name: 'Navn', - ingredients: 'Ingredienser', - keywords: 'Nøkkelord', - searchForIngredients: 'Du kan søke etter flere ingredienser ved å skille dem med et mellomrom', - searchForKeywords: 'Du kan søke etter flere nøkkelord ved å skille dem med et mellomrom', - }, - recipeList: { - viewRecipe: 'Se oppskrift', - }, - recipeToolbar: { - print: 'Skriv ut', - share: 'Del', - shareOnFacebook: 'Del på Facebook', - shareOnTwitter: 'Del på Twitter', - copyURL: 'Kopier URL', - hideImage: 'Skjul bilde', - }, - favorites: { - removeAllFavorites: 'Fjern alle favoritter', - noFavoriteDrinks: 'Du har ingen favorittdrinker', - removeFavoritesPrompt: 'Er du sikker på at du vil fjerne alle favoritter?', - delete: 'Slett', - cancel: 'Avbryt', - }, - keywordList: { - enterYourKeyword: 'Søk etter nøkkelord', - }, - search: { - findYourDrink: 'Finn din drink', - }, - pageNotFound: { - pageNotFound: 'Siden du leter etter ble ikke funnet.', - backToHome: 'Tilbake til hjem', - }, -}; +export default { + app: { + featured: 'Fremhevet', + random: 'Tilfeldig', + explore: 'Alle oppskrifter', + keywords: 'Nøkkelord', + search: 'Søk', + }, + explore: { + filters: 'Filter', + resetFilters: 'Nullstill filter', + addKeyword: 'Legg til nøkkelord', + }, + recipe: { + contributedBy: 'Bidrag fra', + ingredients: 'Ingredienser', + directions: 'Fremgangsmåte', + fullRecipe: 'Se hele oppskriften på', + similarDrinks: 'Lignende drinker', + }, + featuredRecipes: { + loadMore: 'Last mer', + }, + recipeFind: { + filterBy: 'Filtrer etter', + name: 'Navn', + ingredients: 'Ingredienser', + keywords: 'Nøkkelord', + searchForIngredients: 'Du kan søke etter flere ingredienser ved å skille dem med et mellomrom', + searchForKeywords: 'Du kan søke etter flere nøkkelord ved å skille dem med et mellomrom', + }, + recipeList: { + viewRecipe: 'Se oppskrift', + }, + recipeToolbar: { + print: 'Skriv ut', + share: 'Del', + shareOnFacebook: 'Del på Facebook', + shareOnTwitter: 'Del på Twitter', + copyURL: 'Kopier URL', + hideImage: 'Skjul bilde', + }, + favorites: { + removeAllFavorites: 'Fjern alle favoritter', + noFavoriteDrinks: 'Du har ingen favorittdrinker', + removeFavoritesPrompt: 'Er du sikker på at du vil fjerne alle favoritter?', + delete: 'Slett', + cancel: 'Avbryt', + }, + keywordList: { + enterYourKeyword: 'Søk etter nøkkelord', + }, + search: { + findYourDrink: 'Finn din drink', + }, + pageNotFound: { + pageNotFound: 'Siden du leter etter ble ikke funnet.', + backToHome: 'Tilbake til hjem', + }, +}; diff --git a/src/lang/np.js b/src/lang/np.js index d8a27c830..46c522f6a 100644 --- a/src/lang/np.js +++ b/src/lang/np.js @@ -1,62 +1,62 @@ -export default { - app: { - featured: 'विशेष रुपले प्रदर्शित', - random: 'अनियमित', - explore: 'अन्वेषण गर्नुहोस्', - keywords: 'मुख्य-शब्द', - search: 'खोज', - }, - explore: { - filters: 'फिल्टर', - resetFilters: 'फिल्टर रिसेट गर्नुहोस्', - addKeyword: 'मुख्य-शब्द जोड्नुहोस्', - }, - recipe: { - contributedBy: 'योगदानी', - ingredients: 'सामग्री', - directions: 'तयारी', - fullRecipe: 'पुरा नुस्खा यहाँ हेर्नुहोस्', - similarDrinks: 'उस्तै पेय', - }, - featuredRecipes: { - loadMore: 'अझ विधि हेर्नुहोस', - }, - recipeFind: { - filterBy: 'छाने', - name: 'नाम', - ingredients: 'सामग्री', - keywords: 'मुख्य-शब्द', - searchForIngredients: - 'तपाइँ उनीहरु को बीच रिक्त स्थान छोडेर धेरै सामग्रीको लागी खोज्न सक्नुहुन्छ', - searchForKeywords: - 'तपाइँ उनीहरु को बीच रिक्त स्थान छोडेर धेरै मुख्य-शब्दको लागी खोज्न सक्नुहुन्छ', - }, - recipeList: { - viewRecipe: 'नुस्खा हेर्नुहोस्', - }, - recipeToolbar: { - print: 'छाप्नुहोस्', - share: 'साझा गर्नुहोस्', - shareOnFacebook: 'फेसबुकमा साझा गर्नुहोस्', - shareOnTwitter: 'ट्विटर मा साझा गर्नुहोस्', - copyURL: 'यूआरएल प्रतिलिपि गर्नुहोस्', - hideImage: 'चित्र लुकाउनुहोस्', - }, - favorites: { - removeAllFavorites: 'सबै मनपर्ने हटाउनुहोस्', - noFavoriteDrinks: 'तपाइँसँग कुनै मनपर्ने पेय छैन', - removeFavoritesPrompt: 'के तपाइँ पक्का हुनुहुन्छ कि तपाइँ सबै मनपर्ने हटाउन चाहानुहुन्छ?', - delete: 'हटाउनुहोस्', - cancel: 'रद्द गर्नुहोस्', - }, - keywordList: { - enterYourKeyword: 'तपाइँको मुख्य शब्द दर्ज गर्नुहोस्', - }, - search: { - findYourDrink: 'तपाइँको पेय खोज्नुहोस्', - }, - pageNotFound: { - pageNotFound: 'तपाईंले खोजिरहनुभएको पृष्ठ भेटिएन।', - backToHome: 'घर फिर्ता', - }, -}; +export default { + app: { + featured: 'विशेष रुपले प्रदर्शित', + random: 'अनियमित', + explore: 'अन्वेषण गर्नुहोस्', + keywords: 'मुख्य-शब्द', + search: 'खोज', + }, + explore: { + filters: 'फिल्टर', + resetFilters: 'फिल्टर रिसेट गर्नुहोस्', + addKeyword: 'मुख्य-शब्द जोड्नुहोस्', + }, + recipe: { + contributedBy: 'योगदानी', + ingredients: 'सामग्री', + directions: 'तयारी', + fullRecipe: 'पुरा नुस्खा यहाँ हेर्नुहोस्', + similarDrinks: 'उस्तै पेय', + }, + featuredRecipes: { + loadMore: 'अझ विधि हेर्नुहोस', + }, + recipeFind: { + filterBy: 'छाने', + name: 'नाम', + ingredients: 'सामग्री', + keywords: 'मुख्य-शब्द', + searchForIngredients: + 'तपाइँ उनीहरु को बीच रिक्त स्थान छोडेर धेरै सामग्रीको लागी खोज्न सक्नुहुन्छ', + searchForKeywords: + 'तपाइँ उनीहरु को बीच रिक्त स्थान छोडेर धेरै मुख्य-शब्दको लागी खोज्न सक्नुहुन्छ', + }, + recipeList: { + viewRecipe: 'नुस्खा हेर्नुहोस्', + }, + recipeToolbar: { + print: 'छाप्नुहोस्', + share: 'साझा गर्नुहोस्', + shareOnFacebook: 'फेसबुकमा साझा गर्नुहोस्', + shareOnTwitter: 'ट्विटर मा साझा गर्नुहोस्', + copyURL: 'यूआरएल प्रतिलिपि गर्नुहोस्', + hideImage: 'चित्र लुकाउनुहोस्', + }, + favorites: { + removeAllFavorites: 'सबै मनपर्ने हटाउनुहोस्', + noFavoriteDrinks: 'तपाइँसँग कुनै मनपर्ने पेय छैन', + removeFavoritesPrompt: 'के तपाइँ पक्का हुनुहुन्छ कि तपाइँ सबै मनपर्ने हटाउन चाहानुहुन्छ?', + delete: 'हटाउनुहोस्', + cancel: 'रद्द गर्नुहोस्', + }, + keywordList: { + enterYourKeyword: 'तपाइँको मुख्य शब्द दर्ज गर्नुहोस्', + }, + search: { + findYourDrink: 'तपाइँको पेय खोज्नुहोस्', + }, + pageNotFound: { + pageNotFound: 'तपाईंले खोजिरहनुभएको पृष्ठ भेटिएन।', + backToHome: 'घर फिर्ता', + }, +}; diff --git a/src/lang/pt.js b/src/lang/pt.js index 6a7abd3dc..4b503ad48 100644 --- a/src/lang/pt.js +++ b/src/lang/pt.js @@ -1,53 +1,53 @@ -export default { - explore: { - filters: 'Filtros', - resetFilters: 'Restaurar Filtros', - addKeyword: 'Adicionar palavra-chave', - }, - recipe: { - contributedBy: 'Contribuição por', - ingredients: 'Ingredientes', - directions: 'Modo de preparo', - fullRecipe: 'Visualizar receita completa em', - similarDrinks: 'Bebidas semelhantes', - }, - featuredRecipes: { - loadMore: 'Ver mais', - }, - recipeFind: { - filterBy: 'Filtrar por', - name: 'Nome', - ingredients: 'Ingredientes', - keywords: 'Palavra-chave', - searchForIngredients: 'Você pode buscar por múltiplos ingredientes separando-os com um espaço', - searchForKeywords: 'Você pode buscar por múltiplas palavras-chave separando-as com um espaço', - }, - recipeList: { - viewRecipe: 'Ver receita', - }, - recipeToolbar: { - print: 'Imprimir', - share: 'Compartilhar', - shareOnFacebook: 'Compartilhar no Facebook', - shareOnTwitter: 'Compartilhar no Twitter', - copyURL: 'Copiar URL', - hideImage: 'Esconder imagem', - }, - favorites: { - removeAllFavorites: 'Remover todos os favoritos', - noFavoriteDrinks: 'Você não possui nenhum drink favorito', - removeFavoritesPrompt: 'Você tem certeza que quer remover todos os favoritos', - delete: 'Deletar', - cancel: 'Cancelar', - }, - keywordList: { - enterYourKeyword: 'Insira sua palavra-chave', - }, - search: { - findYourDrink: 'Encontre sua bebida', - }, - pageNotFound: { - pageNotFound: 'A página procurada não foi encontrada.', - backToHome: 'Voltar para página inicial', - }, -}; +export default { + explore: { + filters: 'Filtros', + resetFilters: 'Restaurar Filtros', + addKeyword: 'Adicionar palavra-chave', + }, + recipe: { + contributedBy: 'Contribuição por', + ingredients: 'Ingredientes', + directions: 'Modo de preparo', + fullRecipe: 'Visualizar receita completa em', + similarDrinks: 'Bebidas semelhantes', + }, + featuredRecipes: { + loadMore: 'Ver mais', + }, + recipeFind: { + filterBy: 'Filtrar por', + name: 'Nome', + ingredients: 'Ingredientes', + keywords: 'Palavra-chave', + searchForIngredients: 'Você pode buscar por múltiplos ingredientes separando-os com um espaço', + searchForKeywords: 'Você pode buscar por múltiplas palavras-chave separando-as com um espaço', + }, + recipeList: { + viewRecipe: 'Ver receita', + }, + recipeToolbar: { + print: 'Imprimir', + share: 'Compartilhar', + shareOnFacebook: 'Compartilhar no Facebook', + shareOnTwitter: 'Compartilhar no Twitter', + copyURL: 'Copiar URL', + hideImage: 'Esconder imagem', + }, + favorites: { + removeAllFavorites: 'Remover todos os favoritos', + noFavoriteDrinks: 'Você não possui nenhum drink favorito', + removeFavoritesPrompt: 'Você tem certeza que quer remover todos os favoritos', + delete: 'Deletar', + cancel: 'Cancelar', + }, + keywordList: { + enterYourKeyword: 'Insira sua palavra-chave', + }, + search: { + findYourDrink: 'Encontre sua bebida', + }, + pageNotFound: { + pageNotFound: 'A página procurada não foi encontrada.', + backToHome: 'Voltar para página inicial', + }, +}; diff --git a/src/lang/ru.js b/src/lang/ru.js index 51c29354d..fc5b44288 100644 --- a/src/lang/ru.js +++ b/src/lang/ru.js @@ -1,53 +1,53 @@ -export default { - explore: { - filters: 'Фильтры', - resetFilters: 'Сбросить фильтры', - addKeyword: 'Добавить ключевое слово', - }, - recipe: { - contributedBy: 'Автор', - ingredients: 'Ингредиенты', - directions: 'Способы приготовления', - fullRecipe: 'Посмотреть полный рецепт на', - similarDrinks: 'Подобные напитки', - }, - featuredRecipes: { - loadMore: 'Загрузить еще', - }, - recipeFind: { - filterBy: 'Фильтровать по', - name: 'Название', - ingredients: 'Ингредиенты', - keywords: 'Ключевые слова', - searchForIngredients: 'Вы можете искать несколько ингредиентов, разделяя их пробелом', - searchForKeywords: 'Вы можете искать несколько ключевых слов, разделяя их пробелом', - }, - recipeList: { - viewRecipe: 'Просмотреть рецепт', - }, - recipeToolbar: { - print: 'Распечатать', - share: 'Поделиться', - shareOnFacebook: 'Поделиться через Facebook', - shareOnTwitter: 'Поделиться через Twitter', - copyURL: 'скопировать URL', - hideImage: 'Скрыть изображение', - }, - favorites: { - removeAllFavorites: 'Удалить все избранное', - noFavoriteDrinks: 'У тебя нет любимых напитков', - removeFavoritesPrompt: 'Вы уверены, что хотите удалить все избранное', - delete: 'Удалить', - cancel: 'Отмена', - }, - keywordList: { - enterYourKeyword: 'Введите ключевое слово', - }, - search: { - findYourDrink: 'Найдите свой напиток', - }, - pageNotFound: { - pageNotFound: 'Страница, которую вы ищете, не найдена', - backToHome: 'Вернуться домой', - }, -}; +export default { + explore: { + filters: 'Фильтры', + resetFilters: 'Сбросить фильтры', + addKeyword: 'Добавить ключевое слово', + }, + recipe: { + contributedBy: 'Автор', + ingredients: 'Ингредиенты', + directions: 'Способы приготовления', + fullRecipe: 'Посмотреть полный рецепт на', + similarDrinks: 'Подобные напитки', + }, + featuredRecipes: { + loadMore: 'Загрузить еще', + }, + recipeFind: { + filterBy: 'Фильтровать по', + name: 'Название', + ingredients: 'Ингредиенты', + keywords: 'Ключевые слова', + searchForIngredients: 'Вы можете искать несколько ингредиентов, разделяя их пробелом', + searchForKeywords: 'Вы можете искать несколько ключевых слов, разделяя их пробелом', + }, + recipeList: { + viewRecipe: 'Просмотреть рецепт', + }, + recipeToolbar: { + print: 'Распечатать', + share: 'Поделиться', + shareOnFacebook: 'Поделиться через Facebook', + shareOnTwitter: 'Поделиться через Twitter', + copyURL: 'скопировать URL', + hideImage: 'Скрыть изображение', + }, + favorites: { + removeAllFavorites: 'Удалить все избранное', + noFavoriteDrinks: 'У тебя нет любимых напитков', + removeFavoritesPrompt: 'Вы уверены, что хотите удалить все избранное', + delete: 'Удалить', + cancel: 'Отмена', + }, + keywordList: { + enterYourKeyword: 'Введите ключевое слово', + }, + search: { + findYourDrink: 'Найдите свой напиток', + }, + pageNotFound: { + pageNotFound: 'Страница, которую вы ищете, не найдена', + backToHome: 'Вернуться домой', + }, +}; diff --git a/src/lang/th.js b/src/lang/th.js index 503f5ae20..cc4fcd7b8 100644 --- a/src/lang/th.js +++ b/src/lang/th.js @@ -1,60 +1,60 @@ -export default { - app: { - featured: 'แนะนำ', - random: 'สุ่ม', - explore: 'ค้นหา', - keywords: 'คำค้น', - search: 'ค้นหา', - }, - explore: { - filters: 'คัดกรอง', - resetFilters: 'ลบตัวคัดกรอง', - addKeyword: 'ใส่คีย์เวิร์ด', - }, - recipe: { - contributedBy: 'ร่วมสนับสนุนโดย', - ingredients: 'ส่วนประกอบ', - directions: 'ขั้นตอน', - fullRecipe: 'ดูสูตรทั้งหมด', - similarDrinks: 'เครื่องดื่มที่คล้ายกัน', - }, - featuredRecipes: { - loadMore: 'โหลดเพิ่มเติม', - }, - recipeFind: { - filterBy: 'คัดกรองโดย', - name: 'ชื่อ', - ingredients: 'ส่วนประกอบ', - keywords: 'คำค้นหาสำคัญ', - searchForIngredients: 'คุณสามารถค้นหาด้วยส่วนประอบหลายอย่างโดยใช้เว้นวรรคแยกคำ', - searchForKeywords: 'คุณสามารถค้นหาด้วยคีย์เวิร์ดหลายตัวโดยใช้เว้นวรรคแยกคำ', - }, - recipeList: { - viewRecipe: 'ดูสูตร', - }, - recipeToolbar: { - print: 'พิมพ์', - share: 'แชร์', - shareOnFacebook: 'Facebook', - shareOnTwitter: 'Twitter', - copyURL: 'คัดลอกลิ้งค', - hideImage: 'ซ่อนรูป', - }, - favorites: { - removeAllFavorites: 'ลบของที่ชอบทั้งหมด', - noFavoriteDrinks: 'คุณไม่มีเครื่องดื่มที่ชอบ', - removeFavoritesPrompt: 'คุณแน่ใจว่าจะลบของที่ชอบทั้งหมด?', - delete: 'ลบ', - cancel: 'ยกเลิก', - }, - keywordList: { - enterYourKeyword: 'ใส่คำค้นหา', - }, - search: { - findYourDrink: 'หาเครื่องดื่มของคุณ', - }, - pageNotFound: { - pageNotFound: 'ไม่พบหน้าที่คุณต้องการดู', - backToHome: 'กลับไปหน้าแรก', - }, -}; +export default { + app: { + featured: 'แนะนำ', + random: 'สุ่ม', + explore: 'ค้นหา', + keywords: 'คำค้น', + search: 'ค้นหา', + }, + explore: { + filters: 'คัดกรอง', + resetFilters: 'ลบตัวคัดกรอง', + addKeyword: 'ใส่คีย์เวิร์ด', + }, + recipe: { + contributedBy: 'ร่วมสนับสนุนโดย', + ingredients: 'ส่วนประกอบ', + directions: 'ขั้นตอน', + fullRecipe: 'ดูสูตรทั้งหมด', + similarDrinks: 'เครื่องดื่มที่คล้ายกัน', + }, + featuredRecipes: { + loadMore: 'โหลดเพิ่มเติม', + }, + recipeFind: { + filterBy: 'คัดกรองโดย', + name: 'ชื่อ', + ingredients: 'ส่วนประกอบ', + keywords: 'คำค้นหาสำคัญ', + searchForIngredients: 'คุณสามารถค้นหาด้วยส่วนประอบหลายอย่างโดยใช้เว้นวรรคแยกคำ', + searchForKeywords: 'คุณสามารถค้นหาด้วยคีย์เวิร์ดหลายตัวโดยใช้เว้นวรรคแยกคำ', + }, + recipeList: { + viewRecipe: 'ดูสูตร', + }, + recipeToolbar: { + print: 'พิมพ์', + share: 'แชร์', + shareOnFacebook: 'Facebook', + shareOnTwitter: 'Twitter', + copyURL: 'คัดลอกลิ้งค', + hideImage: 'ซ่อนรูป', + }, + favorites: { + removeAllFavorites: 'ลบของที่ชอบทั้งหมด', + noFavoriteDrinks: 'คุณไม่มีเครื่องดื่มที่ชอบ', + removeFavoritesPrompt: 'คุณแน่ใจว่าจะลบของที่ชอบทั้งหมด?', + delete: 'ลบ', + cancel: 'ยกเลิก', + }, + keywordList: { + enterYourKeyword: 'ใส่คำค้นหา', + }, + search: { + findYourDrink: 'หาเครื่องดื่มของคุณ', + }, + pageNotFound: { + pageNotFound: 'ไม่พบหน้าที่คุณต้องการดู', + backToHome: 'กลับไปหน้าแรก', + }, +}; diff --git a/src/lang/uk.js b/src/lang/uk.js index 2597f67ea..57f6934ec 100644 --- a/src/lang/uk.js +++ b/src/lang/uk.js @@ -1,53 +1,53 @@ -export default { - explore: { - filters: 'Фільтри', - resetFilters: 'Скинути фільтри', - addKeyword: 'Додати ключове слово', - }, - recipe: { - contributedBy: 'Автор', - ingredients: 'Інгредієнти', - directions: 'Способи приготування', - fullRecipe: 'Подивитися повний рецепт на', - similarDrinks: 'Подібні напої', - }, - featuredRecipes: { - loadMore: 'Завантажити більше', - }, - recipeFind: { - filterBy: 'Фільтрувати за', - name: 'Назва', - ingredients: 'Інгредієнти', - keywords: 'Ключові слова', - searchForIngredients: 'Ви можете шукати кілька інгредієнтів, розділяючи їх пробілом', - searchForKeywords: 'Ви можете шукати кілька ключових слів, розділяючи їх пробілом', - }, - recipeList: { - viewRecipe: 'Переглянути рецепт', - }, - recipeToolbar: { - print: 'Роздрукувати', - share: 'Поділитися', - shareOnFacebook: 'Поділитися через Facebook', - shareOnTwitter: 'Поділитися через Twitter', - copyURL: 'скопіювати URL', - hideImage: 'Приховати зображення', - }, - favorites: { - removeAllFavorites: 'Видалити всі вибране', - noFavoriteDrinks: 'У вас немає улюблених напоїв', - removeFavoritesPrompt: 'Ви впевнені, що хочете видалити всі вибрані', - delete: 'Видалити', - cancel: 'Скасувати', - }, - keywordList: { - enterYourKeyword: 'Введіть ключове слово', - }, - search: { - findYourDrink: 'Знайдіть свій напій', - }, - pageNotFound: { - pageNotFound: 'Сторінку, яку ви шукаєте, не знайдено', - backToHome: 'Повернутися додому', - }, -}; +export default { + explore: { + filters: 'Фільтри', + resetFilters: 'Скинути фільтри', + addKeyword: 'Додати ключове слово', + }, + recipe: { + contributedBy: 'Автор', + ingredients: 'Інгредієнти', + directions: 'Способи приготування', + fullRecipe: 'Подивитися повний рецепт на', + similarDrinks: 'Подібні напої', + }, + featuredRecipes: { + loadMore: 'Завантажити більше', + }, + recipeFind: { + filterBy: 'Фільтрувати за', + name: 'Назва', + ingredients: 'Інгредієнти', + keywords: 'Ключові слова', + searchForIngredients: 'Ви можете шукати кілька інгредієнтів, розділяючи їх пробілом', + searchForKeywords: 'Ви можете шукати кілька ключових слів, розділяючи їх пробілом', + }, + recipeList: { + viewRecipe: 'Переглянути рецепт', + }, + recipeToolbar: { + print: 'Роздрукувати', + share: 'Поділитися', + shareOnFacebook: 'Поділитися через Facebook', + shareOnTwitter: 'Поділитися через Twitter', + copyURL: 'скопіювати URL', + hideImage: 'Приховати зображення', + }, + favorites: { + removeAllFavorites: 'Видалити всі вибране', + noFavoriteDrinks: 'У вас немає улюблених напоїв', + removeFavoritesPrompt: 'Ви впевнені, що хочете видалити всі вибрані', + delete: 'Видалити', + cancel: 'Скасувати', + }, + keywordList: { + enterYourKeyword: 'Введіть ключове слово', + }, + search: { + findYourDrink: 'Знайдіть свій напій', + }, + pageNotFound: { + pageNotFound: 'Сторінку, яку ви шукаєте, не знайдено', + backToHome: 'Повернутися додому', + }, +}; diff --git a/src/lang/vi.js b/src/lang/vi.js index 68e7afee5..58b2c0bd0 100644 --- a/src/lang/vi.js +++ b/src/lang/vi.js @@ -1,62 +1,62 @@ -export default { - app: { - featured: 'Tiêu biểu', - random: 'Ngẫu nhiên', - explore: 'Khám phá', - keywords: 'Từ khóa', - search: 'Tìm kiếm', - }, - explore: { - filters: 'Lọc', - resetFilters: 'Đặt lại bộ lọc', - addKeyword: 'Thêm từ khóa', - }, - recipe: { - contributedBy: 'Đóng góp bởi', - ingredients: 'Nguyên liệu', - directions: 'Cách làm', - fullRecipe: 'Xem toàn bộ công thức tại', - similarDrinks: 'Đồ uống tương tự', - }, - featuredRecipes: { - loadMore: 'Tải thêm', - }, - recipeFind: { - filterBy: 'Lọc theo', - name: 'Tên', - ingredients: 'Nguyên liệu', - keywords: 'Từ khóa', - searchForIngredients: - 'Khi tìm kiếm với nhiều nguyên liệu thì các nguyên liệu phải cách nhau bởi một khoảng trắng', - searchForKeywords: - 'Khi tìm kiếm với nhiều từ khóa thì các từ khóa phải cách nhau bởi một khoảng trắng', - }, - recipeList: { - viewRecipe: 'Xem công thức', - }, - recipeToolbar: { - print: 'In', - share: 'Chia sẻ', - shareOnFacebook: 'Chia sẻ trên Facebook', - shareOnTwitter: 'Chia sẻ trên Twitter', - copyURL: 'Sao chép URL', - hideImage: 'Ẩn hình ảnh', - }, - favorites: { - removeAllFavorites: 'Xóa tất cả các mục yêu thích', - noFavoriteDrinks: 'Bạn chưa có đồ uống yêu thích', - removeFavoritesPrompt: 'Bạn có chắc là muốn xóa tất cả các mục yêu thích?', - delete: 'Xóa', - cancel: 'Hủy bỏ', - }, - keywordList: { - enterYourKeyword: 'Nhập từ khóa của bạn', - }, - search: { - findYourDrink: 'Tìm đồ uống của bạn', - }, - pageNotFound: { - pageNotFound: 'Trang bạn đang tìm kiếm không tồn tại.', - backToHome: 'Quay lại trang chủ', - }, -}; +export default { + app: { + featured: 'Tiêu biểu', + random: 'Ngẫu nhiên', + explore: 'Khám phá', + keywords: 'Từ khóa', + search: 'Tìm kiếm', + }, + explore: { + filters: 'Lọc', + resetFilters: 'Đặt lại bộ lọc', + addKeyword: 'Thêm từ khóa', + }, + recipe: { + contributedBy: 'Đóng góp bởi', + ingredients: 'Nguyên liệu', + directions: 'Cách làm', + fullRecipe: 'Xem toàn bộ công thức tại', + similarDrinks: 'Đồ uống tương tự', + }, + featuredRecipes: { + loadMore: 'Tải thêm', + }, + recipeFind: { + filterBy: 'Lọc theo', + name: 'Tên', + ingredients: 'Nguyên liệu', + keywords: 'Từ khóa', + searchForIngredients: + 'Khi tìm kiếm với nhiều nguyên liệu thì các nguyên liệu phải cách nhau bởi một khoảng trắng', + searchForKeywords: + 'Khi tìm kiếm với nhiều từ khóa thì các từ khóa phải cách nhau bởi một khoảng trắng', + }, + recipeList: { + viewRecipe: 'Xem công thức', + }, + recipeToolbar: { + print: 'In', + share: 'Chia sẻ', + shareOnFacebook: 'Chia sẻ trên Facebook', + shareOnTwitter: 'Chia sẻ trên Twitter', + copyURL: 'Sao chép URL', + hideImage: 'Ẩn hình ảnh', + }, + favorites: { + removeAllFavorites: 'Xóa tất cả các mục yêu thích', + noFavoriteDrinks: 'Bạn chưa có đồ uống yêu thích', + removeFavoritesPrompt: 'Bạn có chắc là muốn xóa tất cả các mục yêu thích?', + delete: 'Xóa', + cancel: 'Hủy bỏ', + }, + keywordList: { + enterYourKeyword: 'Nhập từ khóa của bạn', + }, + search: { + findYourDrink: 'Tìm đồ uống của bạn', + }, + pageNotFound: { + pageNotFound: 'Trang bạn đang tìm kiếm không tồn tại.', + backToHome: 'Quay lại trang chủ', + }, +}; diff --git a/src/lang/zh.js b/src/lang/zh.js index d8ad9fedb..68839d86f 100644 --- a/src/lang/zh.js +++ b/src/lang/zh.js @@ -1,60 +1,60 @@ -export default { - app: { - featured: '精选', - random: '随机', - explore: '探索', - keywords: '关键词', - search: '搜索', - }, - explore: { - filters: '筛选', - resetFilters: '重置筛选', - addKeyword: '添加关键字', - }, - recipe: { - contributedBy: '贡献者', - ingredients: '用料', - directions: '步骤', - fullRecipe: '查看完整配方', - similarDrinks: '类似的饮料', - }, - featuredRecipes: { - loadMore: '加载更多', - }, - recipeFind: { - filterBy: '筛选条件', - name: '名称', - ingredients: '用料', - keywords: '关键词', - searchForIngredients: '您可以用空格分隔多个用料在搜索里', - searchForKeywords: '您可以用空格分隔多个关键字在搜索里', - }, - recipeList: { - viewRecipe: '查看配方', - }, - recipeToolbar: { - print: '打印', - share: '分享', - shareOnFacebook: 'Facebook', - shareOnTwitter: 'Twitter', - copyURL: '复制链接', - hideImage: '隐藏图像', - }, - favorites: { - removeAllFavorites: '删除所有收藏里的饮料', - noFavoriteDrinks: '您没有收藏的饮料', - removeFavoritesPrompt: '您确定要删除所有收藏里的饮料么?', - delete: '删除', - cancel: '取消', - }, - keywordList: { - enterYourKeyword: '输入关键字', - }, - search: { - findYourDrink: '找想要的饮料', - }, - pageNotFound: { - pageNotFound: '未找到您要查找的页面。', - backToHome: '返回首页', - }, -}; +export default { + app: { + featured: '精选', + random: '随机', + explore: '探索', + keywords: '关键词', + search: '搜索', + }, + explore: { + filters: '筛选', + resetFilters: '重置筛选', + addKeyword: '添加关键字', + }, + recipe: { + contributedBy: '贡献者', + ingredients: '用料', + directions: '步骤', + fullRecipe: '查看完整配方', + similarDrinks: '类似的饮料', + }, + featuredRecipes: { + loadMore: '加载更多', + }, + recipeFind: { + filterBy: '筛选条件', + name: '名称', + ingredients: '用料', + keywords: '关键词', + searchForIngredients: '您可以用空格分隔多个用料在搜索里', + searchForKeywords: '您可以用空格分隔多个关键字在搜索里', + }, + recipeList: { + viewRecipe: '查看配方', + }, + recipeToolbar: { + print: '打印', + share: '分享', + shareOnFacebook: 'Facebook', + shareOnTwitter: 'Twitter', + copyURL: '复制链接', + hideImage: '隐藏图像', + }, + favorites: { + removeAllFavorites: '删除所有收藏里的饮料', + noFavoriteDrinks: '您没有收藏的饮料', + removeFavoritesPrompt: '您确定要删除所有收藏里的饮料么?', + delete: '删除', + cancel: '取消', + }, + keywordList: { + enterYourKeyword: '输入关键字', + }, + search: { + findYourDrink: '找想要的饮料', + }, + pageNotFound: { + pageNotFound: '未找到您要查找的页面。', + backToHome: '返回首页', + }, +}; diff --git a/src/main.js b/src/main.js index 8b3d7bfde..9f439c095 100644 --- a/src/main.js +++ b/src/main.js @@ -1,40 +1,40 @@ -import 'bootstrap/dist/css/bootstrap.css'; -import 'bootstrap-vue/dist/bootstrap-vue.css'; -import './assets/css/main.css'; - -import Vue from 'vue'; -import VueMeta from 'vue-meta'; -import { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'; -import VueSocialSharing from 'vue-social-sharing'; -import App from './App.vue'; -import router from './router'; -import './registerServiceWorker'; -import 'core-js'; -import i18n from './i18n'; - -Vue.config.productionTip = false; -Vue.config.ignoredElements = ['amp-ad']; - -Vue.use(VueMeta, { refreshOnceOnNavigation: true }); -Vue.use(BootstrapVue); -Vue.use(BootstrapVueIcons); -Vue.use(VueSocialSharing); - -Vue.mixin({ - computed: { - isMobile() { - return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( - navigator.userAgent, - ); - }, - isPrintPage() { - return this.$route.name === 'printRecipe'; - }, - }, -}); - -new Vue({ - router, - i18n, - render: h => h(App), -}).$mount('#app'); +import 'bootstrap/dist/css/bootstrap.css'; +import 'bootstrap-vue/dist/bootstrap-vue.css'; +import './assets/css/main.css'; + +import Vue from 'vue'; +import VueMeta from 'vue-meta'; +import { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'; +import VueSocialSharing from 'vue-social-sharing'; +import App from './App.vue'; +import router from './router'; +import './registerServiceWorker'; +import 'core-js'; +import i18n from './i18n'; + +Vue.config.productionTip = false; +Vue.config.ignoredElements = ['amp-ad']; + +Vue.use(VueMeta, { refreshOnceOnNavigation: true }); +Vue.use(BootstrapVue); +Vue.use(BootstrapVueIcons); +Vue.use(VueSocialSharing); + +Vue.mixin({ + computed: { + isMobile() { + return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( + navigator.userAgent, + ); + }, + isPrintPage() { + return this.$route.name === 'printRecipe'; + }, + }, +}); + +new Vue({ + router, + i18n, + render: h => h(App), +}).$mount('#app'); diff --git a/src/recipes/across-the-pacific.json b/src/recipes/across-the-pacific.json index f7d862745..eaabcfb97 100644 --- a/src/recipes/across-the-pacific.json +++ b/src/recipes/across-the-pacific.json @@ -1,45 +1,45 @@ -{ - "name": "Across the Pacific", - "description": "A cocktail creation of Meaghan Dorman, bar director of Dear Irving and The Raines Law Room, New York. The Across the Pacific is another bitter tiki creation. The Averna Amaro brings dried fruit and raisin notes to the tropical, split-rum base cocktail.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "Blended Aged Rum" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Jamaican Rum" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Averna Amaro" - }, - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "Lime Juice" - }, - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "Orgeat Syrup" - } - ], - "directions": [ - "Add all ingredients into a shaker with one ice cube.", - "Shake until the ice melts and mixture is frothy.", - "Pour into a rocks glass filled with crushed ice.", - "Garnish with a lime wheel and grated nutmeg." - ], - "image": "across-the-pacific.jpg", - "keywords": [ - "alcoholic", - "rum", - "amaro", - "vegan" - ] -} +{ + "name": "Across the Pacific", + "description": "A cocktail creation of Meaghan Dorman, bar director of Dear Irving and The Raines Law Room, New York. The Across the Pacific is another bitter tiki creation. The Averna Amaro brings dried fruit and raisin notes to the tropical, split-rum base cocktail.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "Blended Aged Rum" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Jamaican Rum" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Averna Amaro" + }, + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "Lime Juice" + }, + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "Orgeat Syrup" + } + ], + "directions": [ + "Add all ingredients into a shaker with one ice cube.", + "Shake until the ice melts and mixture is frothy.", + "Pour into a rocks glass filled with crushed ice.", + "Garnish with a lime wheel and grated nutmeg." + ], + "image": "across-the-pacific.jpg", + "keywords": [ + "alcoholic", + "rum", + "amaro", + "vegan" + ] +} diff --git a/src/recipes/adonis.json b/src/recipes/adonis.json index e21ff152d..5255109dc 100644 --- a/src/recipes/adonis.json +++ b/src/recipes/adonis.json @@ -1,40 +1,40 @@ -{ - "name": "Adonis", - "description": "Nineteenth Century aperitif using sherry.", - "github": "bitsam", - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "sweet vermouth, Carpano Antica" - }, - { - "quantity": "60", - "measure": "ml", - "ingredient": "fino sherry, lustau La Ina" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "orange bitters" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "orange zest" - } - ], - "directions": [ - "Pour sherry, vermouth and bitters in to a mixing glass.", - "Fill glass with ice and stir quickly.", - "Strain into a coupe glass and garnish with orange zest" - ], - "image": "adonis.jpg", - "keywords": [ - "sherry", - "vermouth", - "sherry", - "orange", - "bitters" - ] -} +{ + "name": "Adonis", + "description": "Nineteenth Century aperitif using sherry.", + "github": "bitsam", + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "sweet vermouth, Carpano Antica" + }, + { + "quantity": "60", + "measure": "ml", + "ingredient": "fino sherry, lustau La Ina" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "orange bitters" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "orange zest" + } + ], + "directions": [ + "Pour sherry, vermouth and bitters in to a mixing glass.", + "Fill glass with ice and stir quickly.", + "Strain into a coupe glass and garnish with orange zest" + ], + "image": "adonis.jpg", + "keywords": [ + "sherry", + "vermouth", + "sherry", + "orange", + "bitters" + ] +} diff --git a/src/recipes/adult-hot-chocolate.json b/src/recipes/adult-hot-chocolate.json index 0c8fa74f2..80e038911 100644 --- a/src/recipes/adult-hot-chocolate.json +++ b/src/recipes/adult-hot-chocolate.json @@ -1,41 +1,41 @@ -{ - "name": "Adult Hot Chocolate", - "description": "Appropriately named 'adult hot chocolate', this recipe is one of the easiest and most common ways to spike your cocoa. To make it, you will simply add a shot of peppermint schnapps to your favorite hot chocolate and a delicious, warm drink is yours to enjoy.", - "github": "thesanjeevsharma", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Peppermint Schnapps" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Hot Chocolate" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: ​whipped cream" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: chocolate sprinkles or shaved chocolate" - } - ], - "directions": [ - "Gather the ingredients.", - "Pour the schnapps into a warm mug or Irish coffee glass.", - "Fill with hot chocolate.", - "Stir well.", - "Optionally, top with whipped cream and chocolate sprinkles or shaved chocolate.", - "Serve and enjoy!" - ], - "image": "adult-hot-chocolate.jpg", - "keywords": [ - "chocolate", - "peppermint", - "schnapps" - ] -} +{ + "name": "Adult Hot Chocolate", + "description": "Appropriately named 'adult hot chocolate', this recipe is one of the easiest and most common ways to spike your cocoa. To make it, you will simply add a shot of peppermint schnapps to your favorite hot chocolate and a delicious, warm drink is yours to enjoy.", + "github": "thesanjeevsharma", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Peppermint Schnapps" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Hot Chocolate" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: ​whipped cream" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: chocolate sprinkles or shaved chocolate" + } + ], + "directions": [ + "Gather the ingredients.", + "Pour the schnapps into a warm mug or Irish coffee glass.", + "Fill with hot chocolate.", + "Stir well.", + "Optionally, top with whipped cream and chocolate sprinkles or shaved chocolate.", + "Serve and enjoy!" + ], + "image": "adult-hot-chocolate.jpg", + "keywords": [ + "chocolate", + "peppermint", + "schnapps" + ] +} diff --git a/src/recipes/affogato.json b/src/recipes/affogato.json index 5b1e1e74c..d68efac2c 100644 --- a/src/recipes/affogato.json +++ b/src/recipes/affogato.json @@ -1,31 +1,31 @@ -{ - "name": "Affogato", - "description": "An affogato is an Italian coffee-based dessert. It usually takes the form of a scoop of vanilla gelato or ice cream topped or 'drowned' with a shot of hot espresso.", - "github": "Sonam3107", - "ingredients": [ - { - "quantity": "1", - "measure": "scoop", - "ingredient": "Gelato" - }, - { - "quantity": "1", - "measure": "double-shot", - "ingredient": "Espresso" - } - ], - "directions": [ - "Place a scoop of Gelato in a chilled bowl.", - "Pour the Espresso quickly over the Gelato", - "Add an extra topping of choice such as whipped cream." - ], - "image": "affogato.jpg", - "keywords": [ - "coffee", - "espresso", - "gelato", - "non-alcoholic", - "vanilla", - "italian" - ] +{ + "name": "Affogato", + "description": "An affogato is an Italian coffee-based dessert. It usually takes the form of a scoop of vanilla gelato or ice cream topped or 'drowned' with a shot of hot espresso.", + "github": "Sonam3107", + "ingredients": [ + { + "quantity": "1", + "measure": "scoop", + "ingredient": "Gelato" + }, + { + "quantity": "1", + "measure": "double-shot", + "ingredient": "Espresso" + } + ], + "directions": [ + "Place a scoop of Gelato in a chilled bowl.", + "Pour the Espresso quickly over the Gelato", + "Add an extra topping of choice such as whipped cream." + ], + "image": "affogato.jpg", + "keywords": [ + "coffee", + "espresso", + "gelato", + "non-alcoholic", + "vanilla", + "italian" + ] } \ No newline at end of file diff --git a/src/recipes/afterglow.json b/src/recipes/afterglow.json index 1babd26a8..e634d26e4 100644 --- a/src/recipes/afterglow.json +++ b/src/recipes/afterglow.json @@ -1,33 +1,33 @@ -{ - "name": "Afterglow", - "description": "A famous alcohol-free cocktail.", - "github": "leopaul29", - "ingredients": [{ - "quantity": "8", - "measure": "oz", - "ingredient": "Orange juice" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "Pineapple juice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Grenadine" - } - ], - "directions": [ - "Add all ingredients into a shaker", "Add ice into the shaker.", - "Shake vigorously.", - "Garnish with a slice of orange." - ], - "image": "afterglow.jpg", - "keywords": [ - "lemon", - "pineapple", - "grenadine", - "vegan" - ] +{ + "name": "Afterglow", + "description": "A famous alcohol-free cocktail.", + "github": "leopaul29", + "ingredients": [{ + "quantity": "8", + "measure": "oz", + "ingredient": "Orange juice" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "Pineapple juice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Grenadine" + } + ], + "directions": [ + "Add all ingredients into a shaker", "Add ice into the shaker.", + "Shake vigorously.", + "Garnish with a slice of orange." + ], + "image": "afterglow.jpg", + "keywords": [ + "lemon", + "pineapple", + "grenadine", + "vegan" + ] } \ No newline at end of file diff --git a/src/recipes/agua-de-bandido.json b/src/recipes/agua-de-bandido.json index aa9a1664b..c32e104d5 100644 --- a/src/recipes/agua-de-bandido.json +++ b/src/recipes/agua-de-bandido.json @@ -1,31 +1,31 @@ -{ - "name": "Agua de bandindo", - "description": "cheap drink and great for university parties.", - "github": "Mariana4Alves", - "ingredients": [ - { - "quantity": "1", - "measure": "500ml", - "ingredient": "Lemon flavored corote " - }, - { - "quantity": "1", - "measure": "25g", - "ingredient": "strawberry juice powder" - }, - { - "quantity": "1", - "measure": "200ml", - "ingredient": "frozen strawberry juice" - } - ], - "directions": [ - "Put the corote in a glass and mix the powdered juice and frozen juice", - "Be happy" - ], - "image": "agua-de-bandido.jpg", - "keywords": [ - "corote", - "brazil" - ] -} +{ + "name": "Agua de bandindo", + "description": "cheap drink and great for university parties.", + "github": "Mariana4Alves", + "ingredients": [ + { + "quantity": "1", + "measure": "500ml", + "ingredient": "Lemon flavored corote " + }, + { + "quantity": "1", + "measure": "25g", + "ingredient": "strawberry juice powder" + }, + { + "quantity": "1", + "measure": "200ml", + "ingredient": "frozen strawberry juice" + } + ], + "directions": [ + "Put the corote in a glass and mix the powdered juice and frozen juice", + "Be happy" + ], + "image": "agua-de-bandido.jpg", + "keywords": [ + "corote", + "brazil" + ] +} diff --git a/src/recipes/agua-de-valencia.json b/src/recipes/agua-de-valencia.json index 33dc5ee70..3c82851f3 100644 --- a/src/recipes/agua-de-valencia.json +++ b/src/recipes/agua-de-valencia.json @@ -1,46 +1,46 @@ -{ - "name": "Agua de valencia", - "description": "One of the traditional cocktails of Valencia", - "github": "reyesbalejandroe", - "ingredients": [ - { - "quantity": "500", - "measure": "ml", - "ingredient": "fresh-squeezed Valencia orange juice" - }, - { - "quantity": "300", - "measure": "ml", - "ingredient": "cava (or champagne)" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "gin" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "spoon", - "ingredient": "sugar" - } - ], - "directions": [ - "Start by making fresh-squeezed orange juice (if you can find Valencia oranges, all the better). It may be a bit labor intensive, but trust me, you will taste the difference! Fresh-squeezed orange juice has a much lighter, fresher taste that will make your Agua de Valencia super refreshing. In Spain, many grocery stores have orange juice machines where you can simply press a button to get a liter of Valencia’s famous orange juice. Taste your orange juice and take note of its sweetness. If its on the bitter side, you may need to add some sugar.", - "Pour all the liquid ingredients in your pitcher. Mix together and taste. If you used a bitter cava or type of champagne, this will also affect how much sugar needs to be added. Agua de Valencia is not meant to be a super sugary drink, but it isn’t meant to be bitter either!", - "Grab a couple of large wine glasses and pour your fresh Spanish cocktail over ice. Chop a few orange slices and add them as a garnish. Clink your glasses, say “¡Salud!” and enjoy!" - ], - "image": "agua-de-valencia.jpg", - "source":"https://gogoespana.com/en/blog/agua-de-valencia/", - "keywords": [ - "alcoholic", - "fruit", - "vegan", - "orange", - "vodka" - ] +{ + "name": "Agua de valencia", + "description": "One of the traditional cocktails of Valencia", + "github": "reyesbalejandroe", + "ingredients": [ + { + "quantity": "500", + "measure": "ml", + "ingredient": "fresh-squeezed Valencia orange juice" + }, + { + "quantity": "300", + "measure": "ml", + "ingredient": "cava (or champagne)" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "gin" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "spoon", + "ingredient": "sugar" + } + ], + "directions": [ + "Start by making fresh-squeezed orange juice (if you can find Valencia oranges, all the better). It may be a bit labor intensive, but trust me, you will taste the difference! Fresh-squeezed orange juice has a much lighter, fresher taste that will make your Agua de Valencia super refreshing. In Spain, many grocery stores have orange juice machines where you can simply press a button to get a liter of Valencia’s famous orange juice. Taste your orange juice and take note of its sweetness. If its on the bitter side, you may need to add some sugar.", + "Pour all the liquid ingredients in your pitcher. Mix together and taste. If you used a bitter cava or type of champagne, this will also affect how much sugar needs to be added. Agua de Valencia is not meant to be a super sugary drink, but it isn’t meant to be bitter either!", + "Grab a couple of large wine glasses and pour your fresh Spanish cocktail over ice. Chop a few orange slices and add them as a garnish. Clink your glasses, say “¡Salud!” and enjoy!" + ], + "image": "agua-de-valencia.jpg", + "source":"https://gogoespana.com/en/blog/agua-de-valencia/", + "keywords": [ + "alcoholic", + "fruit", + "vegan", + "orange", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/aguapanela.json b/src/recipes/aguapanela.json index fc25151b0..33e68513f 100644 --- a/src/recipes/aguapanela.json +++ b/src/recipes/aguapanela.json @@ -1,40 +1,40 @@ -{ - "name": "Aguapanela", - "description": "Aguapanela (panela water) is a traditional Latin American sweet drink made with 'panela', which is a solid form of sucrose obtained from the boiling and evaporation of sugar cane juice.", - "github": "jplessey", - "ingredients": [ - { - "quantity": "3 - 4", - "measure": "cups", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "piece of", - "ingredient": "Panela" - }, - { - "quantity": "3 - 4", - "measure": "cups", - "ingredient": "Ice" - }, - { - "quantity": "3 - 4", - "measure": "", - "ingredient": "Lemons" - } - ], - "directions": [ - "Put the water in a small saucepan or pot and heat until it boils. When it reaches this state, lower the heat.", - "When the water stops boiling add the panela in pieces and simmer for 30 minutes.", - "Pour the aguapanela over ice. Add in lemon juice, to taste.", - "Stir to combine, then serve." - ], - "image": "aguapanela.jpg", - "source": "https://www.piloncillomex.com/blog/aguapanela-a-wonderful-sweet-drink-with-many-benefits", - "keywords": [ - "non-alcoholic", - "fresh", - "natural" - ] -} +{ + "name": "Aguapanela", + "description": "Aguapanela (panela water) is a traditional Latin American sweet drink made with 'panela', which is a solid form of sucrose obtained from the boiling and evaporation of sugar cane juice.", + "github": "jplessey", + "ingredients": [ + { + "quantity": "3 - 4", + "measure": "cups", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "piece of", + "ingredient": "Panela" + }, + { + "quantity": "3 - 4", + "measure": "cups", + "ingredient": "Ice" + }, + { + "quantity": "3 - 4", + "measure": "", + "ingredient": "Lemons" + } + ], + "directions": [ + "Put the water in a small saucepan or pot and heat until it boils. When it reaches this state, lower the heat.", + "When the water stops boiling add the panela in pieces and simmer for 30 minutes.", + "Pour the aguapanela over ice. Add in lemon juice, to taste.", + "Stir to combine, then serve." + ], + "image": "aguapanela.jpg", + "source": "https://www.piloncillomex.com/blog/aguapanela-a-wonderful-sweet-drink-with-many-benefits", + "keywords": [ + "non-alcoholic", + "fresh", + "natural" + ] +} diff --git a/src/recipes/airmail.json b/src/recipes/airmail.json index 1389d7671..4b86e320a 100644 --- a/src/recipes/airmail.json +++ b/src/recipes/airmail.json @@ -1,41 +1,41 @@ -{ - "name": "Airmail", - "description": "Though not fully official on account of the plane breaking down, the first attempt at modern airmail was documented in 1911. It traveled from Petaluma to Santa Rosa, California and contained exactly three pieces of correspondence. The first instance of the Air Mail cocktail was documented in Esquire magazine’s 1949 edition of Handbook for Hosts. It’s not certain why the drink is named for the modern delivery method, but it can be said the Air Mail is quite like the Caribbean version of a French 75, with a splash of lime whisked into a turbulent mix of rum, honey and Champagne.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "15", - "measure": "ml", - "ingredient": "Lime juice" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Honey Syrup" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Aged rum" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Champagne" - } - ], - "directions": [ - "Add rum, lime juice and honey syrup to a cocktail shaker.", - "Add ice and shake until chilled.", - "Strain over ice into a Collins glass.", - "Top with Champagne and add a straw.", - "Garnish with a lime or orange twist." - ], - "image": "airmail.jpg", - "keywords": [ - "rum", - "lime juice", - "honey syrup", - "champagne" - ] -} +{ + "name": "Airmail", + "description": "Though not fully official on account of the plane breaking down, the first attempt at modern airmail was documented in 1911. It traveled from Petaluma to Santa Rosa, California and contained exactly three pieces of correspondence. The first instance of the Air Mail cocktail was documented in Esquire magazine’s 1949 edition of Handbook for Hosts. It’s not certain why the drink is named for the modern delivery method, but it can be said the Air Mail is quite like the Caribbean version of a French 75, with a splash of lime whisked into a turbulent mix of rum, honey and Champagne.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "15", + "measure": "ml", + "ingredient": "Lime juice" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Honey Syrup" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Aged rum" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Champagne" + } + ], + "directions": [ + "Add rum, lime juice and honey syrup to a cocktail shaker.", + "Add ice and shake until chilled.", + "Strain over ice into a Collins glass.", + "Top with Champagne and add a straw.", + "Garnish with a lime or orange twist." + ], + "image": "airmail.jpg", + "keywords": [ + "rum", + "lime juice", + "honey syrup", + "champagne" + ] +} diff --git a/src/recipes/ajoblanco.json b/src/recipes/ajoblanco.json index 2d97ce57f..2be2768c6 100644 --- a/src/recipes/ajoblanco.json +++ b/src/recipes/ajoblanco.json @@ -1,72 +1,72 @@ -{ - "name": "Ajoblanco", - "description": "Ajoblanco is a delicious cold almond and garlic soup typical of southern Spain. Some say it’s the precursor to better known Spanish cold soups like gazpacho and salmorejo.", - "github": "maximetinu", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "blanched Marcona almonds" - }, - { - "quantity": "2", - "measure": "slices", - "ingredient": "white bread" - }, - { - "quantity": "1", - "measure": "clove", - "ingredient": "garlic" - }, - { - "quantity": "1-2", - "measure": "teaspoons", - "ingredient": "sherry vinegar" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "apple" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "salt" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "cold water" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "extra vurgub ikuve iuk" - }, - { - "quantity": "some", - "measure": "pieces", - "ingredient": "green grapes" - } - ], - "directions": [ - "Place the stale bread into the blender and cover with the cold water and vinegar.", - "Add the strained almonds, diced apple, and garlic.", - "Pulse in the blender until smooth.", - "Taste and adjust for salt and vinegar.", - "Add ice if serving immediately (to make sure it's fully chilled).", - "While blending, slowly add the olive oil.", - "Taste and adjust seasoning.", - "Chill in the fridge if you have time. If not, add some ice cubes.", - "To serve, top with sliced green grapes." - - ], - "image": "ajoblanco.jpg", - "keywords": [ - "fresh", - "healthy", - "vegan", - "spanish", - "andalusian" - ] -} +{ + "name": "Ajoblanco", + "description": "Ajoblanco is a delicious cold almond and garlic soup typical of southern Spain. Some say it’s the precursor to better known Spanish cold soups like gazpacho and salmorejo.", + "github": "maximetinu", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "blanched Marcona almonds" + }, + { + "quantity": "2", + "measure": "slices", + "ingredient": "white bread" + }, + { + "quantity": "1", + "measure": "clove", + "ingredient": "garlic" + }, + { + "quantity": "1-2", + "measure": "teaspoons", + "ingredient": "sherry vinegar" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "apple" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "salt" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "cold water" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "extra vurgub ikuve iuk" + }, + { + "quantity": "some", + "measure": "pieces", + "ingredient": "green grapes" + } + ], + "directions": [ + "Place the stale bread into the blender and cover with the cold water and vinegar.", + "Add the strained almonds, diced apple, and garlic.", + "Pulse in the blender until smooth.", + "Taste and adjust for salt and vinegar.", + "Add ice if serving immediately (to make sure it's fully chilled).", + "While blending, slowly add the olive oil.", + "Taste and adjust seasoning.", + "Chill in the fridge if you have time. If not, add some ice cubes.", + "To serve, top with sliced green grapes." + + ], + "image": "ajoblanco.jpg", + "keywords": [ + "fresh", + "healthy", + "vegan", + "spanish", + "andalusian" + ] +} diff --git a/src/recipes/amaretto-sour.json b/src/recipes/amaretto-sour.json index bc2b11191..70962432f 100644 --- a/src/recipes/amaretto-sour.json +++ b/src/recipes/amaretto-sour.json @@ -1,53 +1,53 @@ -{ - "name": "Amaretto Sour", - "description": "Combining amaretto with bourbon, fresh lemon juice, rich simple syrup, and egg white creates a perfectly balanced Amaretto Sour.", - "github": "Donearm", - "ingredients": [ - { - "quantity": "40", - "measure": "ml", - "ingredient": "Amaretto liqueur" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "sugar syrup" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Angostura bitters" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "egg white" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lemon twist" - }, - { - "quantity": "", - "measure": "", - "ingredient": "cherries" - } - ], - "directions": [ - "Shake hard all ingredients with ice.", - "Fine strain into an ice-filled glass.", - "Garnish with a lemon twist and two skewered brandied cherries." - ], - "image": "amaretto-sour.jpg", - "keywords": [ - "amaretto", - "lemon", - "angostura bitters" - ] +{ + "name": "Amaretto Sour", + "description": "Combining amaretto with bourbon, fresh lemon juice, rich simple syrup, and egg white creates a perfectly balanced Amaretto Sour.", + "github": "Donearm", + "ingredients": [ + { + "quantity": "40", + "measure": "ml", + "ingredient": "Amaretto liqueur" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "sugar syrup" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Angostura bitters" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "egg white" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lemon twist" + }, + { + "quantity": "", + "measure": "", + "ingredient": "cherries" + } + ], + "directions": [ + "Shake hard all ingredients with ice.", + "Fine strain into an ice-filled glass.", + "Garnish with a lemon twist and two skewered brandied cherries." + ], + "image": "amaretto-sour.jpg", + "keywords": [ + "amaretto", + "lemon", + "angostura bitters" + ] } \ No newline at end of file diff --git a/src/recipes/amarula-thai-tea.json b/src/recipes/amarula-thai-tea.json index ca4bfc7cb..7b857f60d 100644 --- a/src/recipes/amarula-thai-tea.json +++ b/src/recipes/amarula-thai-tea.json @@ -1,37 +1,37 @@ -{ - "name": "Amarula Thai Tea", - "description": "If there is one must-add to your holiday bar setup this year it’s Amarula. This cream liqueur, made from the Marula fruit, is rich and creamy and delicious in all sorts of holiday inspired cocktails. ", - "github": "guido97", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Thai tea" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "Amarula Cream Liqueur" - }, - { - "quantity": "1 1/2", - "measure": "cup", - "ingredient": "fat-free milk, frothed" - } - ], - "directions": [ - "Bring 4 cups water to a simmer a medium saucepan then turn down the heat and add the Thai tea. Steep for up to 20 minutes over low heat. Strain to remove all of the tea leaves.", - "Pour the warm tea into 4 heatproof 12-ounce mugs. Add 2 ounces of Amarula to each cup.", - "Top with frothed milk and garnish with star anise or a cinnamon stick." - ], - "image": "amarula-thai-tea.jpg", - "source": "https://www.thekitchn.com/recipe-amarula-thai-tea-recipes-from-the-kitchn-197342?utm_campaign=yummly&utm_medium=yummly&utm_source=yummly", - "keywords": [ - "Amarula", - "Milk", - "Liquor", - "Holiday", - "Hot" - ] -} - +{ + "name": "Amarula Thai Tea", + "description": "If there is one must-add to your holiday bar setup this year it’s Amarula. This cream liqueur, made from the Marula fruit, is rich and creamy and delicious in all sorts of holiday inspired cocktails. ", + "github": "guido97", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Thai tea" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "Amarula Cream Liqueur" + }, + { + "quantity": "1 1/2", + "measure": "cup", + "ingredient": "fat-free milk, frothed" + } + ], + "directions": [ + "Bring 4 cups water to a simmer a medium saucepan then turn down the heat and add the Thai tea. Steep for up to 20 minutes over low heat. Strain to remove all of the tea leaves.", + "Pour the warm tea into 4 heatproof 12-ounce mugs. Add 2 ounces of Amarula to each cup.", + "Top with frothed milk and garnish with star anise or a cinnamon stick." + ], + "image": "amarula-thai-tea.jpg", + "source": "https://www.thekitchn.com/recipe-amarula-thai-tea-recipes-from-the-kitchn-197342?utm_campaign=yummly&utm_medium=yummly&utm_source=yummly", + "keywords": [ + "Amarula", + "Milk", + "Liquor", + "Holiday", + "Hot" + ] +} + diff --git a/src/recipes/american-trilogy.json b/src/recipes/american-trilogy.json index 6de41c30f..2e824439f 100644 --- a/src/recipes/american-trilogy.json +++ b/src/recipes/american-trilogy.json @@ -1,46 +1,46 @@ -{ - "name": "American Trilogy", - "description": "Brown sugar mingles with a half-rye, half-Applejack backbone to shift the classic into a slightly darker place.", - "github": "Bigshmow", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "rye whiskey" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "applejack" - }, - { - "quantity": "1", - "measure": "cube", - "ingredient": "brown sugar" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "orange bitters" - }, - { - "quantity": "1", - "measure": "long, curly", - "ingredient": "orange peel" - } - ], - "directions": [ - "In a rocks glass, add sugar cube and saturate with orange bitters.", - "Gently muddle to make a granulated paste.", - "Add whiskey and ice (preferably an oversized cube).", - "Garnish with a long, curly orange peel.", - "Enjoy!" - ], - "image": "american-trilogy.jpg", - "keywords": [ - "alcoholic", - "american", - "whisky", - "whiskey" - ] -} +{ + "name": "American Trilogy", + "description": "Brown sugar mingles with a half-rye, half-Applejack backbone to shift the classic into a slightly darker place.", + "github": "Bigshmow", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "rye whiskey" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "applejack" + }, + { + "quantity": "1", + "measure": "cube", + "ingredient": "brown sugar" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "orange bitters" + }, + { + "quantity": "1", + "measure": "long, curly", + "ingredient": "orange peel" + } + ], + "directions": [ + "In a rocks glass, add sugar cube and saturate with orange bitters.", + "Gently muddle to make a granulated paste.", + "Add whiskey and ice (preferably an oversized cube).", + "Garnish with a long, curly orange peel.", + "Enjoy!" + ], + "image": "american-trilogy.jpg", + "keywords": [ + "alcoholic", + "american", + "whisky", + "whiskey" + ] +} diff --git a/src/recipes/americano.json b/src/recipes/americano.json index 4f7b35b20..1107eae29 100644 --- a/src/recipes/americano.json +++ b/src/recipes/americano.json @@ -1,35 +1,35 @@ -{ - "name": "Americano", - "description": "The Americano is an IBA official cocktail composed of Campari, sweet vermouth, and for the sparkling version, club soda. The cocktail was first served in creator Gaspare Campari's bar, Caffè Campari, in the 1860s.", - "github": "primes2h", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Soda Water" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Red Vermouth" - } - ], - "directions": [ - "Pour the Campari and vermouth over ice into glass.", - "Add a splash of soda water.", - "Garnish with a half orange slice.", - "Served on the rocks, poured over ice." - ], - "image": "americano.jpg", - "keywords": [ - "campari", - "red vermouth", - "alcoholic", - "orange slice" - ] -} +{ + "name": "Americano", + "description": "The Americano is an IBA official cocktail composed of Campari, sweet vermouth, and for the sparkling version, club soda. The cocktail was first served in creator Gaspare Campari's bar, Caffè Campari, in the 1860s.", + "github": "primes2h", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Soda Water" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Red Vermouth" + } + ], + "directions": [ + "Pour the Campari and vermouth over ice into glass.", + "Add a splash of soda water.", + "Garnish with a half orange slice.", + "Served on the rocks, poured over ice." + ], + "image": "americano.jpg", + "keywords": [ + "campari", + "red vermouth", + "alcoholic", + "orange slice" + ] +} diff --git a/src/recipes/amf.json b/src/recipes/amf.json index 45f9f986b..fcc69964d 100644 --- a/src/recipes/amf.json +++ b/src/recipes/amf.json @@ -1,55 +1,55 @@ -{ - "name": "Adios Motherfucker (AMF)", - "description": "You say goodbye, we say hello, and also, Adios Motherfucker!", - "github": "dfarley1", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Tequila" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Sweet and Sour Mix" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sprite" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Blue Curaçao" - } - ], - "directions": [ - "Fill a glass with ice and pour in vodka, rum, gin, tequila sweet & sour, lemon-lime soda and blue curaçao.", - "Stir to mix.", - "Garnish with a lemon slice and a cherry." - ], - "image": "amf.jpg", - "keywords": [ - "vodka", - "rum", - "gin", - "tequila", - "vegan" - ] -} +{ + "name": "Adios Motherfucker (AMF)", + "description": "You say goodbye, we say hello, and also, Adios Motherfucker!", + "github": "dfarley1", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Tequila" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Sweet and Sour Mix" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sprite" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Blue Curaçao" + } + ], + "directions": [ + "Fill a glass with ice and pour in vodka, rum, gin, tequila sweet & sour, lemon-lime soda and blue curaçao.", + "Stir to mix.", + "Garnish with a lemon slice and a cherry." + ], + "image": "amf.jpg", + "keywords": [ + "vodka", + "rum", + "gin", + "tequila", + "vegan" + ] +} diff --git a/src/recipes/amrit-chai.json b/src/recipes/amrit-chai.json index 7dc669329..2bdd2efdb 100644 --- a/src/recipes/amrit-chai.json +++ b/src/recipes/amrit-chai.json @@ -1,45 +1,45 @@ -{ - "name": "Amritulya Chai", - "description": "A khulad chai made from milk and assam tea and elichi", - "github": "nishantminerva", - "ingredients": [ - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Assam Tea leave" - }, - { - "quantity": "3", - "measure": "teaspoon", - "ingredient": "Normal Sugar" - }, - { - "quantity": "2+1/5", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "2+1/5", - "measure": "cup", - "ingredient": "Water" - }, - { - "quantity": "2", - "measure": "Whole", - "ingredient": "Elaichi" - } - ], - "directions": [ - "Take a utensil and put the Water and Milk inside it.", - "Boil it for 5 minutes", - "Now add the Assam tea", - "Now wait for 3 minutes", - "Now as the color of the milk changes to brown add the elaichi" - ], - "image": "amritulya-chai.jpg", - "keywords": [ - "Khulad Tea", - "Khulad Chai", - "Amritulya Chai" - ] -} +{ + "name": "Amritulya Chai", + "description": "A khulad chai made from milk and assam tea and elichi", + "github": "nishantminerva", + "ingredients": [ + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Assam Tea leave" + }, + { + "quantity": "3", + "measure": "teaspoon", + "ingredient": "Normal Sugar" + }, + { + "quantity": "2+1/5", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "2+1/5", + "measure": "cup", + "ingredient": "Water" + }, + { + "quantity": "2", + "measure": "Whole", + "ingredient": "Elaichi" + } + ], + "directions": [ + "Take a utensil and put the Water and Milk inside it.", + "Boil it for 5 minutes", + "Now add the Assam tea", + "Now wait for 3 minutes", + "Now as the color of the milk changes to brown add the elaichi" + ], + "image": "amritulya-chai.jpg", + "keywords": [ + "Khulad Tea", + "Khulad Chai", + "Amritulya Chai" + ] +} diff --git a/src/recipes/angevine-soup.json b/src/recipes/angevine-soup.json index 24af0155d..b0631b2a2 100644 --- a/src/recipes/angevine-soup.json +++ b/src/recipes/angevine-soup.json @@ -1,40 +1,40 @@ -{ - "name": "Angevine Soup", - "description": "The Angevine Soup is a French cocktail, typical of Anjou. This is a recipe for 6 people. Share it!", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "75", - "measure": "cl", - "ingredient": "Crémant de Loire" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "Cointreau" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "lime juice" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "sugar cane syrup" - } - ], - "directions": [ - "Combine the lime juice with the Cointreau and the sugar in a very large bowl.", - "Set aside in the fridge.", - "Add the chilled Crémant just before serving!" - ], - "image": "angevine-soup.jpg", - "keywords": [ - "cremant", - "cointreau", - "lime juice", - "angevin", - "anjou" - ] +{ + "name": "Angevine Soup", + "description": "The Angevine Soup is a French cocktail, typical of Anjou. This is a recipe for 6 people. Share it!", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "75", + "measure": "cl", + "ingredient": "Crémant de Loire" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "Cointreau" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "lime juice" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "sugar cane syrup" + } + ], + "directions": [ + "Combine the lime juice with the Cointreau and the sugar in a very large bowl.", + "Set aside in the fridge.", + "Add the chilled Crémant just before serving!" + ], + "image": "angevine-soup.jpg", + "keywords": [ + "cremant", + "cointreau", + "lime juice", + "angevin", + "anjou" + ] } \ No newline at end of file diff --git a/src/recipes/aperol-spritz.json b/src/recipes/aperol-spritz.json index b4685bbc1..b91ef20ee 100644 --- a/src/recipes/aperol-spritz.json +++ b/src/recipes/aperol-spritz.json @@ -1,47 +1,47 @@ -{ - "name": "Aperol Spritz", - "description": "A great cocktail for a summer weekend.", - "github": "duongoku", - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "Prosecco" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Aperol" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Club Soda" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sliced orange or lemon for garnish" - } - ], - "directions": [ - "Fill a glass with ice.", - "Add Prosecco, Aperol and soda.", - "Stir gently to combine and garnish with a slice of orange." - ], - "image": "aperol-spritz.jpg", - "keywords": [ - "aperol", - "alcoholic", - "vegan", - "fruit", - "carbonated", - "club soda", - "prosecco" - ] -} +{ + "name": "Aperol Spritz", + "description": "A great cocktail for a summer weekend.", + "github": "duongoku", + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "Prosecco" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Aperol" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Club Soda" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sliced orange or lemon for garnish" + } + ], + "directions": [ + "Fill a glass with ice.", + "Add Prosecco, Aperol and soda.", + "Stir gently to combine and garnish with a slice of orange." + ], + "image": "aperol-spritz.jpg", + "keywords": [ + "aperol", + "alcoholic", + "vegan", + "fruit", + "carbonated", + "club soda", + "prosecco" + ] +} diff --git a/src/recipes/apertass.json b/src/recipes/apertass.json index cdd870dfa..4cc0041fb 100644 --- a/src/recipes/apertass.json +++ b/src/recipes/apertass.json @@ -1,38 +1,38 @@ -{ - "name": "Apertass", - "description": "Perfect drink for an appetizer.", - "github": "Pensionato", - "ingredients": [ - { - "quantity": "70", - "measure": "ml", - "ingredient": "Cedrata Tassoni Soda" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Aperol" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Orange" - } - ], - "directions": [ - "Cool a tumbler with ice.", - "Drain the water formed with a strainer.", - "Pour a small bottle of Tassoni Soda cedar and add a tip of Aperol, completing with the Soda.", - "Stir gently. Garnish with a slice of orange." - ], - "image": "apertass.jpg", - "keywords": [ - "alcoholic", - "fruit", - "vegan", - "orange", - "soda", - "aperol", - "carbonated" - ] -} +{ + "name": "Apertass", + "description": "Perfect drink for an appetizer.", + "github": "Pensionato", + "ingredients": [ + { + "quantity": "70", + "measure": "ml", + "ingredient": "Cedrata Tassoni Soda" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Aperol" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Orange" + } + ], + "directions": [ + "Cool a tumbler with ice.", + "Drain the water formed with a strainer.", + "Pour a small bottle of Tassoni Soda cedar and add a tip of Aperol, completing with the Soda.", + "Stir gently. Garnish with a slice of orange." + ], + "image": "apertass.jpg", + "keywords": [ + "alcoholic", + "fruit", + "vegan", + "orange", + "soda", + "aperol", + "carbonated" + ] +} diff --git a/src/recipes/apple-cider-margarita.json b/src/recipes/apple-cider-margarita.json index 187910f67..60d947de6 100644 --- a/src/recipes/apple-cider-margarita.json +++ b/src/recipes/apple-cider-margarita.json @@ -1,65 +1,65 @@ -{ - "name": "Apple Cider Margarita", - "description": "These apple cider margaritas are a seasonal twist on a classic cocktail recipe. Sweetened with maple syrup and garnished with a cinnamon sugar rim, these are perfect for Thanksgiving or another holiday gathering.", - "github": "iampk94", - "ingredients": [ - { - "quantity": "125", - "measure": "ml", - "ingredient": "apple cider" - }, - { - "quantity": "31", - "measure": "ml", - "ingredient": "silver tequila" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cointreau or other orange flavored liqueur" - }, - { - "quantity": "", - "measure": "", - "ingredient": "freshly squeezed lime juice" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "maple syrup" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "cinnamon" - },{ - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "salt" - } - ], - "directions": [ - "Combine sugar, cinnamon, and salt on a small, flat plate.", - "Pour a small amount of maple syrup on another small plate.", - "Dip the rim of the glass in a bit of maple syrup, then coat into the cinnamon sugar mixture.", - "Fill a cocktail shaker halfway with ice.", - "Add all ingredients to cocktail shaker and shake vigorously for about 30 seconds.", - "Strain into glass and enjoy!" - ], - "image": "apple-cider-margarita.jpg", - "source": "https://www.crowdedkitchen.com/apple-cider-margarita-with-cranberry-maple-simple-syrup/", - "keywords": [ - "apple", - "cinnamon", - "cocktail", - "cointreau", - "maple syrup", - "salt", - "sugar" - ] -} +{ + "name": "Apple Cider Margarita", + "description": "These apple cider margaritas are a seasonal twist on a classic cocktail recipe. Sweetened with maple syrup and garnished with a cinnamon sugar rim, these are perfect for Thanksgiving or another holiday gathering.", + "github": "iampk94", + "ingredients": [ + { + "quantity": "125", + "measure": "ml", + "ingredient": "apple cider" + }, + { + "quantity": "31", + "measure": "ml", + "ingredient": "silver tequila" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cointreau or other orange flavored liqueur" + }, + { + "quantity": "", + "measure": "", + "ingredient": "freshly squeezed lime juice" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "maple syrup" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "cinnamon" + },{ + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "salt" + } + ], + "directions": [ + "Combine sugar, cinnamon, and salt on a small, flat plate.", + "Pour a small amount of maple syrup on another small plate.", + "Dip the rim of the glass in a bit of maple syrup, then coat into the cinnamon sugar mixture.", + "Fill a cocktail shaker halfway with ice.", + "Add all ingredients to cocktail shaker and shake vigorously for about 30 seconds.", + "Strain into glass and enjoy!" + ], + "image": "apple-cider-margarita.jpg", + "source": "https://www.crowdedkitchen.com/apple-cider-margarita-with-cranberry-maple-simple-syrup/", + "keywords": [ + "apple", + "cinnamon", + "cocktail", + "cointreau", + "maple syrup", + "salt", + "sugar" + ] +} diff --git a/src/recipes/apple-cider-mimosa.json b/src/recipes/apple-cider-mimosa.json index f8c964bcd..9991551db 100644 --- a/src/recipes/apple-cider-mimosa.json +++ b/src/recipes/apple-cider-mimosa.json @@ -1,56 +1,56 @@ -{ - "name": "Apple Cider Mimosa", - "description": "A sweet and bubbly fall brunch cocktail garnished with a cinnamon sugar rim and apple slice. Recipe makes two drinks.", - "github": "lecerick", - "ingredients": [ - { - "quantity": "4", - "measure": "oz", - "ingredient": "apple cider" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "brut champagne" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "brandy" - }, - { - "quantity": "2", - "measure": "slice", - "ingredient": "apple" - }, - { - "quantity": "0.5", - "measure": "tsp", - "ingredient": "cinnamon" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "granulated sugar" - } - ], - "directions": [ - "Rim the glasses: Mix together cinnamon and sugar in a small bowl. Wet the exterior edges of the glasses (ideally champagne flutes) with apple cider. Then tap the wet edges in the cinnamon and sugar mixture.", - "Pour 1 oz brandy and 2 oz apple cider into each glass.", - "Top each glass with 4 oz of chilled champagne.", - "Garnish with apple slices and serve." - ], - "image": "apple-cider-mimosa.jpg", - "source": "https://www.wellplated.com/apple-cider-champagne-cocktail-recipe/", - "keywords": [ - "apple", - "cinnamon", - "sugar", - "cocktail", - "champagne", - "brandy", - "cider", - "brunch", - "fall" - ] +{ + "name": "Apple Cider Mimosa", + "description": "A sweet and bubbly fall brunch cocktail garnished with a cinnamon sugar rim and apple slice. Recipe makes two drinks.", + "github": "lecerick", + "ingredients": [ + { + "quantity": "4", + "measure": "oz", + "ingredient": "apple cider" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "brut champagne" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "brandy" + }, + { + "quantity": "2", + "measure": "slice", + "ingredient": "apple" + }, + { + "quantity": "0.5", + "measure": "tsp", + "ingredient": "cinnamon" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "granulated sugar" + } + ], + "directions": [ + "Rim the glasses: Mix together cinnamon and sugar in a small bowl. Wet the exterior edges of the glasses (ideally champagne flutes) with apple cider. Then tap the wet edges in the cinnamon and sugar mixture.", + "Pour 1 oz brandy and 2 oz apple cider into each glass.", + "Top each glass with 4 oz of chilled champagne.", + "Garnish with apple slices and serve." + ], + "image": "apple-cider-mimosa.jpg", + "source": "https://www.wellplated.com/apple-cider-champagne-cocktail-recipe/", + "keywords": [ + "apple", + "cinnamon", + "sugar", + "cocktail", + "champagne", + "brandy", + "cider", + "brunch", + "fall" + ] } \ No newline at end of file diff --git a/src/recipes/apple-cider-mules.json b/src/recipes/apple-cider-mules.json index a67bf80c7..02516e4b8 100644 --- a/src/recipes/apple-cider-mules.json +++ b/src/recipes/apple-cider-mules.json @@ -1,45 +1,45 @@ -{ - "name": "Apple Cider Mules", - "description": "Perfect way to toast to Fall!", - "github": "phpshko", - "ingredients": [ - { - "quantity": "4", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ginger beer" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sparkling cider" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sliced apple, for garnish" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cinnamon sticks, for garnish" - } - ], - "directions": [ - "Fill two copper mugs with ice.", - "Pour 2 oz vodka into each cup.", - "Fill 2/3 full with sparkling cider, then top with ginger beer.", - "Garnish with an apple slice and a cinnamon stick. Serve." - ], - "image": "apple-cider-mules.jpg", - "keywords": [ - "vodka", - "beer", - "cider", - "cinnamon" - ] -} +{ + "name": "Apple Cider Mules", + "description": "Perfect way to toast to Fall!", + "github": "phpshko", + "ingredients": [ + { + "quantity": "4", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ginger beer" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sparkling cider" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sliced apple, for garnish" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cinnamon sticks, for garnish" + } + ], + "directions": [ + "Fill two copper mugs with ice.", + "Pour 2 oz vodka into each cup.", + "Fill 2/3 full with sparkling cider, then top with ginger beer.", + "Garnish with an apple slice and a cinnamon stick. Serve." + ], + "image": "apple-cider-mules.jpg", + "keywords": [ + "vodka", + "beer", + "cider", + "cinnamon" + ] +} diff --git a/src/recipes/apple-liqueur.json b/src/recipes/apple-liqueur.json index c50a6220d..3128f0118 100644 --- a/src/recipes/apple-liqueur.json +++ b/src/recipes/apple-liqueur.json @@ -1,41 +1,41 @@ -{ - "name": "Apple Liqueur", - "description": "A sweet apple-flavoured liqueur perfect for the Christmas holidays", - "github": "matteomessmer", - "ingredients": [ - { - "quantity": "4", - "measure": "whole", - "ingredient": "Apples" - }, - { - "quantity": "500", - "measure": "g", - "ingredient": "Ethyl Alcohol" - }, - { - "quantity": "350", - "measure": "g", - "ingredient": "Water" - }, - { - "quantity": "300", - "measure": "g", - "ingredient": "Sugar" - } - ], - "directions": [ - "Prepare the syrup by melting the water and sugar over a low heat in a saucepan. Afterwards, let it cool down.", - "Prepare the apple cores with all their seeds and peel, the pulp should be as little as possible.", - "Combine the apple cores, the completely cooled syrup and the alcohol in an airtight jar.", - "Leave to rest for 30 days in a dry place away from light, shaking the jar twice a week.", - "Filter the liqueur with a cloth or gauze, bottle it and let it rest in a cool, dark place for at least a month before serving." - ], - "image": "apple-liqueur.jpg", - "source": "https://www.misya.info/wp-content/uploads/2020/04/liquore-mela-annurca.jpg", - "keywords": [ - "apple", - "liqueur", - "sweet" - ] +{ + "name": "Apple Liqueur", + "description": "A sweet apple-flavoured liqueur perfect for the Christmas holidays", + "github": "matteomessmer", + "ingredients": [ + { + "quantity": "4", + "measure": "whole", + "ingredient": "Apples" + }, + { + "quantity": "500", + "measure": "g", + "ingredient": "Ethyl Alcohol" + }, + { + "quantity": "350", + "measure": "g", + "ingredient": "Water" + }, + { + "quantity": "300", + "measure": "g", + "ingredient": "Sugar" + } + ], + "directions": [ + "Prepare the syrup by melting the water and sugar over a low heat in a saucepan. Afterwards, let it cool down.", + "Prepare the apple cores with all their seeds and peel, the pulp should be as little as possible.", + "Combine the apple cores, the completely cooled syrup and the alcohol in an airtight jar.", + "Leave to rest for 30 days in a dry place away from light, shaking the jar twice a week.", + "Filter the liqueur with a cloth or gauze, bottle it and let it rest in a cool, dark place for at least a month before serving." + ], + "image": "apple-liqueur.jpg", + "source": "https://www.misya.info/wp-content/uploads/2020/04/liquore-mela-annurca.jpg", + "keywords": [ + "apple", + "liqueur", + "sweet" + ] } \ No newline at end of file diff --git a/src/recipes/apple-orchard-punch.json b/src/recipes/apple-orchard-punch.json index 51638540d..f6fd297e8 100644 --- a/src/recipes/apple-orchard-punch.json +++ b/src/recipes/apple-orchard-punch.json @@ -1,45 +1,45 @@ -{ - "name": "Apple Orchard Punch", - "description": "This quick and easy punch would be delightful at a country wedding or any celebration. Champagne can be used instead of ginger ale for an adult punch.", - "github": "AnmolBaansal", - "ingredients": [ - { - "quantity": "1", - "measure": "Liters", - "ingredient": "Chilled Apple Juice" - }, - { - "quantity": "350", - "measure": "MilliLiters", - "ingredient": "Frozen Cranberry Juice Concentrate" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Apple" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Orange Juice" - }, - { - "quantity": "1.5", - "measure": "Liters", - "ingredient": "Ginger Ale" - } - ], - "directions": [ - "Combine apple juice, cranberry juice concentrate and orange juice in a large punch bowl.", - "Stir until dissolved, then slowly pour in the ginger ale.", - "Thinly slice the apple vertically, forming whole apple slices. Float apple slices on top of punch." - ], - "image": "apple-orchard-punch.jpg", - "source": "https://www.allrecipes.com/recipe/20580/apple-orchard-punch/", - "keywords": [ - "non-alcoholic", - "punch", - "vegan" - - ] -} +{ + "name": "Apple Orchard Punch", + "description": "This quick and easy punch would be delightful at a country wedding or any celebration. Champagne can be used instead of ginger ale for an adult punch.", + "github": "AnmolBaansal", + "ingredients": [ + { + "quantity": "1", + "measure": "Liters", + "ingredient": "Chilled Apple Juice" + }, + { + "quantity": "350", + "measure": "MilliLiters", + "ingredient": "Frozen Cranberry Juice Concentrate" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Apple" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Orange Juice" + }, + { + "quantity": "1.5", + "measure": "Liters", + "ingredient": "Ginger Ale" + } + ], + "directions": [ + "Combine apple juice, cranberry juice concentrate and orange juice in a large punch bowl.", + "Stir until dissolved, then slowly pour in the ginger ale.", + "Thinly slice the apple vertically, forming whole apple slices. Float apple slices on top of punch." + ], + "image": "apple-orchard-punch.jpg", + "source": "https://www.allrecipes.com/recipe/20580/apple-orchard-punch/", + "keywords": [ + "non-alcoholic", + "punch", + "vegan" + + ] +} diff --git a/src/recipes/apple-pie-cocktail.json b/src/recipes/apple-pie-cocktail.json index e4acae045..c172b186c 100644 --- a/src/recipes/apple-pie-cocktail.json +++ b/src/recipes/apple-pie-cocktail.json @@ -1,51 +1,51 @@ -{ - "name": "Apple Pie Cocktail", - "description" : "All the flavors of fall in a glass! Fireball® whiskey, vanilla vodka, and sparkling apple cider make this a very refreshing drink.", - "github": "jonboundy", - "ingredients": [ - { - "quantity": "1", - "measure": "fl oz", - "ingredient": "vanilla-flavored vodka" - }, - { - "quantity": "1", - "measure": "fl oz", - "ingredient": "cinnamon whiskey" - }, - { - "quantity": "1/4", - "measure": "fl oz", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "chilled sparkling apple cider" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "cardamom bitters" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Combine vodka, whiskey, and lemon juice in a cocktail shaker filled whit ice. Shake.", - "Strain mixture into a glass and add cider and bitters; stir. Serve." - ], - "image": "apple-pie-cocktail.jpg", - "source": "https://www.allrecipes.com/recipe/276192/autumn-apple-pie-cocktail/", - "keywords": [ - "alcoholic", - "cocktail", - "vodka", - "whiskey", - "apple", - "vegan" - ] -} +{ + "name": "Apple Pie Cocktail", + "description" : "All the flavors of fall in a glass! Fireball® whiskey, vanilla vodka, and sparkling apple cider make this a very refreshing drink.", + "github": "jonboundy", + "ingredients": [ + { + "quantity": "1", + "measure": "fl oz", + "ingredient": "vanilla-flavored vodka" + }, + { + "quantity": "1", + "measure": "fl oz", + "ingredient": "cinnamon whiskey" + }, + { + "quantity": "1/4", + "measure": "fl oz", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "chilled sparkling apple cider" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "cardamom bitters" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Combine vodka, whiskey, and lemon juice in a cocktail shaker filled whit ice. Shake.", + "Strain mixture into a glass and add cider and bitters; stir. Serve." + ], + "image": "apple-pie-cocktail.jpg", + "source": "https://www.allrecipes.com/recipe/276192/autumn-apple-pie-cocktail/", + "keywords": [ + "alcoholic", + "cocktail", + "vodka", + "whiskey", + "apple", + "vegan" + ] +} diff --git a/src/recipes/appletini.json b/src/recipes/appletini.json index 6ac9f4f63..fb8207500 100644 --- a/src/recipes/appletini.json +++ b/src/recipes/appletini.json @@ -1,45 +1,45 @@ -{ - "name": "Appletini", - "description": "A sweet and sour electric green drink with a sweet, delicious apple flavor", - "github": "aldermann", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "fl oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "fl oz", - "ingredient": "green apple schnapps" - }, - { - "quantity": "1/4", - "measure": "fl oz", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "ice cubes" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "apple slice" - } - ], - "directions": [ - "Dip the apple slice in lemon juice to prevent it from turning yellow.", - "Combine all the liquid ingredients in a cocktail mixing cup. Fill it with ice and shake well.", - "Strain into a cocktail glass.", - "Garnish with the apple slice." - ], - "image": "appletini.jpg", - "keywords": [ - "vodka", - "apple", - "alcoholic", - "vegan" - ] -} +{ + "name": "Appletini", + "description": "A sweet and sour electric green drink with a sweet, delicious apple flavor", + "github": "aldermann", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "fl oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "fl oz", + "ingredient": "green apple schnapps" + }, + { + "quantity": "1/4", + "measure": "fl oz", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "ice cubes" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "apple slice" + } + ], + "directions": [ + "Dip the apple slice in lemon juice to prevent it from turning yellow.", + "Combine all the liquid ingredients in a cocktail mixing cup. Fill it with ice and shake well.", + "Strain into a cocktail glass.", + "Garnish with the apple slice." + ], + "image": "appletini.jpg", + "keywords": [ + "vodka", + "apple", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/april-rain.json b/src/recipes/april-rain.json index ef00c94e7..15fe53212 100644 --- a/src/recipes/april-rain.json +++ b/src/recipes/april-rain.json @@ -1,42 +1,42 @@ -{ - "name": "April Rain Cocktail", - "description": "Bright, refreshing, and just slightly dry, the April rain is a wonderful cocktail that's sure to put you in a spring mood.", - "github": "Sai-Adarsh", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "lime juice, freshly squeezed" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "dry vermouth" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: lime peel" - } - ], - "directions": [ - "Gather the ingredients.", - "Pour the vodka, lime juice, and dry vermouth in a cocktail shaker filled with ice cubes.", - "Shake well.", - "Strain into a chilled cocktail glass.", - "Garnish with a lime peel.", - "Serve and enjoy!" - ], - "image": "april-rain.jpg", - "keywords": [ - "alcoholic", - "vegan", - "savory", - "citrus" - ] -} +{ + "name": "April Rain Cocktail", + "description": "Bright, refreshing, and just slightly dry, the April rain is a wonderful cocktail that's sure to put you in a spring mood.", + "github": "Sai-Adarsh", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "lime juice, freshly squeezed" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "dry vermouth" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: lime peel" + } + ], + "directions": [ + "Gather the ingredients.", + "Pour the vodka, lime juice, and dry vermouth in a cocktail shaker filled with ice cubes.", + "Shake well.", + "Strain into a chilled cocktail glass.", + "Garnish with a lime peel.", + "Serve and enjoy!" + ], + "image": "april-rain.jpg", + "keywords": [ + "alcoholic", + "vegan", + "savory", + "citrus" + ] +} diff --git a/src/recipes/aqueduct.json b/src/recipes/aqueduct.json index ce3996c46..2560d9e87 100644 --- a/src/recipes/aqueduct.json +++ b/src/recipes/aqueduct.json @@ -1,40 +1,40 @@ - -{ - "name": "Aqueduct", - "description": "The Aqueduct cocktail is made from vodka, Cointreau, apricot brandy and lime juice, and served in a cocktail glass.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "Vodka" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Cointreau" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Apricot Liqueur" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Lime Juice" - } - ], - "directions": [ - "Fill a shaker with ice cubes.", - "Add all ingredients.", - "Shake and strain into a cocktail glass.", - "Garnish with orange." - ], - "image": "aqueduct.jpg", - "keywords": [ - "vodka", - "cointreau", - "apricot" - ] -} + +{ + "name": "Aqueduct", + "description": "The Aqueduct cocktail is made from vodka, Cointreau, apricot brandy and lime juice, and served in a cocktail glass.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "Vodka" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Cointreau" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Apricot Liqueur" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Lime Juice" + } + ], + "directions": [ + "Fill a shaker with ice cubes.", + "Add all ingredients.", + "Shake and strain into a cocktail glass.", + "Garnish with orange." + ], + "image": "aqueduct.jpg", + "keywords": [ + "vodka", + "cointreau", + "apricot" + ] +} diff --git a/src/recipes/argentinian-mate.json b/src/recipes/argentinian-mate.json index eae616070..c22c441f8 100644 --- a/src/recipes/argentinian-mate.json +++ b/src/recipes/argentinian-mate.json @@ -1,39 +1,39 @@ -{ - "name": "Argentinian Mate", - "description": "Mate is an extremely popular beverage in Argentina. Made from a bitter herb, called yerba mate, the drink has an extensive history and a wealth of rituals and customs surrounding its consumption. Most foreigners find mate bitter, perhaps even unsavory, but Argentines adore it.", - "github": "guido97", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Yerba Mate" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Hot Water" - } - ], - "directions": [ - "You start by filling the container until it’s just over half full with the yerba.", - "Then place your hand on the top of the half-filled container and turn it upside down and give it a bit of a shake bringing the more powdery leaves to the top. This helps you to not suck up the powdery leaves later on!", - "Then turn the container on its side and give it a few more shakes meaning the yerba is on a pile on one side.", - "Now time for the bombilla! Add a bit of cool water to help preserve some of the mate.", - "Then put the bombilla in the empty space in the container trying hard not to disturb the leaves. Bring the bombilla to the wall of the container as far away as you can from the mixture and add cold water until it reaches the top of the powdery pile (with the top of the pile still dry) and wait for the water to be absorbed.", - "Pour hot water into the empty space just as you did with the cold water. The water should be about 80 degrees.", - "Drink from the bombilla until you drink the entire mate. Don’t just keep sipping. Also, try not to jiggle the straw as you will end up clogging the bombilla.", - "The person that makes the mate drinks first and then they refill it and pass it to the next person keeping the same bombilla.", - "Keep refilling the container until it loses its taste. It should last for about 10 refills.", - "To signal that you don’t want anymore give it back to the ‘el cebador’ (the server) and give them “thanks”. Remember to give “thanks” only after your last mate. Once you have given a “thanks”, you will not be served anymore mate." - ], - "image": "argentinian-mate.jpg", - "source": "https://vamospanish.com/discover/yerba-mate-ultimate-guide/", - "keywords": [ - "Mate", - "Hot", - "Argentina", - "Popular", - "Friendly" - ] -} - +{ + "name": "Argentinian Mate", + "description": "Mate is an extremely popular beverage in Argentina. Made from a bitter herb, called yerba mate, the drink has an extensive history and a wealth of rituals and customs surrounding its consumption. Most foreigners find mate bitter, perhaps even unsavory, but Argentines adore it.", + "github": "guido97", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Yerba Mate" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Hot Water" + } + ], + "directions": [ + "You start by filling the container until it’s just over half full with the yerba.", + "Then place your hand on the top of the half-filled container and turn it upside down and give it a bit of a shake bringing the more powdery leaves to the top. This helps you to not suck up the powdery leaves later on!", + "Then turn the container on its side and give it a few more shakes meaning the yerba is on a pile on one side.", + "Now time for the bombilla! Add a bit of cool water to help preserve some of the mate.", + "Then put the bombilla in the empty space in the container trying hard not to disturb the leaves. Bring the bombilla to the wall of the container as far away as you can from the mixture and add cold water until it reaches the top of the powdery pile (with the top of the pile still dry) and wait for the water to be absorbed.", + "Pour hot water into the empty space just as you did with the cold water. The water should be about 80 degrees.", + "Drink from the bombilla until you drink the entire mate. Don’t just keep sipping. Also, try not to jiggle the straw as you will end up clogging the bombilla.", + "The person that makes the mate drinks first and then they refill it and pass it to the next person keeping the same bombilla.", + "Keep refilling the container until it loses its taste. It should last for about 10 refills.", + "To signal that you don’t want anymore give it back to the ‘el cebador’ (the server) and give them “thanks”. Remember to give “thanks” only after your last mate. Once you have given a “thanks”, you will not be served anymore mate." + ], + "image": "argentinian-mate.jpg", + "source": "https://vamospanish.com/discover/yerba-mate-ultimate-guide/", + "keywords": [ + "Mate", + "Hot", + "Argentina", + "Popular", + "Friendly" + ] +} + diff --git a/src/recipes/astronaut.json b/src/recipes/astronaut.json index 60b200c3b..1777eb558 100644 --- a/src/recipes/astronaut.json +++ b/src/recipes/astronaut.json @@ -1,51 +1,51 @@ -{ - "name": "Astronaut", - "description": "Summer drink based on the Danish ice lolly of the same name that dates back to 1958.", - "github": "dangerstone", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Crushed ice" - }, - { - "quantity": "4", - "measure": "cl", - "ingredient": "gin" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "lemon soda" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "lemon juice" - }, - { - "quantity": "3", - "measure": "cl", - "ingredient": "grenadine" - }, - { - "quantity": "(Optional)", - "measure": "", - "ingredient": "yellow wine gum as garnish" - } - ], - "directions": [ - "Fill glass with ice.", - "Pour in gin, soda, and lemon juice.", - "Carefully pour in the grenadine." - ], - "image": "astronaut.jpg", - "source": "https://madensverden.dk/astronaut-drink/", - "keywords": [ - "gin", - "grenadine", - "lemon soda", - "alcoholic", - "summer" - ] -} +{ + "name": "Astronaut", + "description": "Summer drink based on the Danish ice lolly of the same name that dates back to 1958.", + "github": "dangerstone", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Crushed ice" + }, + { + "quantity": "4", + "measure": "cl", + "ingredient": "gin" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "lemon soda" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "lemon juice" + }, + { + "quantity": "3", + "measure": "cl", + "ingredient": "grenadine" + }, + { + "quantity": "(Optional)", + "measure": "", + "ingredient": "yellow wine gum as garnish" + } + ], + "directions": [ + "Fill glass with ice.", + "Pour in gin, soda, and lemon juice.", + "Carefully pour in the grenadine." + ], + "image": "astronaut.jpg", + "source": "https://madensverden.dk/astronaut-drink/", + "keywords": [ + "gin", + "grenadine", + "lemon soda", + "alcoholic", + "summer" + ] +} diff --git a/src/recipes/aviation.json b/src/recipes/aviation.json index 68e137def..f0b47fc0e 100644 --- a/src/recipes/aviation.json +++ b/src/recipes/aviation.json @@ -1,38 +1,38 @@ -{ - "name": "Aviation", - "description": "A classic cocktail made with gin, maraschino liqueur, creme de violette (optional), and lemon juice. This drink is meant to be served straight, and in a cocktail glass.", - "github": "hganavak", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "gin" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "maraschino liqueur" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "creme de violette (optional)" - } - ], - "directions": [ - "Add all ingredients into a cocktail shaker filled with ice.", - "Shake well and strain into a cocktail glass.", - "Garnish with a cherry." - ], - "image": "aviation.jpg", - "keywords": [ - "alcoholic", - "citrus", - "fruit" - ] -} +{ + "name": "Aviation", + "description": "A classic cocktail made with gin, maraschino liqueur, creme de violette (optional), and lemon juice. This drink is meant to be served straight, and in a cocktail glass.", + "github": "hganavak", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "gin" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "maraschino liqueur" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "creme de violette (optional)" + } + ], + "directions": [ + "Add all ingredients into a cocktail shaker filled with ice.", + "Shake well and strain into a cocktail glass.", + "Garnish with a cherry." + ], + "image": "aviation.jpg", + "keywords": [ + "alcoholic", + "citrus", + "fruit" + ] +} diff --git a/src/recipes/ayran.json b/src/recipes/ayran.json index 531688529..d38dc9243 100644 --- a/src/recipes/ayran.json +++ b/src/recipes/ayran.json @@ -1,36 +1,36 @@ -{ - "name": "Ayran", - "description": "Ayran is a Turkish non-alcoholic drink made of yoghurt and water.", - "github": "bbyalcinkaya", - "ingredients": [ - { - "quantity": "250", - "measure": "ml", - "ingredient": "yoghurt" - }, - { - "quantity": "250", - "measure": "ml", - "ingredient": "cold water" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "salt" - } - ], - "directions": [ - "Add yoghurt, cold water, and salt into a blender", - "Add some fresh mint (optional).", - "Blend and serve." - ], - "image": "ayran.jpg", - "keywords": [ - "yogurt", - "water", - "cold", - "non-alcoholic", - "mint", - "turkish" - ] -} +{ + "name": "Ayran", + "description": "Ayran is a Turkish non-alcoholic drink made of yoghurt and water.", + "github": "bbyalcinkaya", + "ingredients": [ + { + "quantity": "250", + "measure": "ml", + "ingredient": "yoghurt" + }, + { + "quantity": "250", + "measure": "ml", + "ingredient": "cold water" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "salt" + } + ], + "directions": [ + "Add yoghurt, cold water, and salt into a blender", + "Add some fresh mint (optional).", + "Blend and serve." + ], + "image": "ayran.jpg", + "keywords": [ + "yogurt", + "water", + "cold", + "non-alcoholic", + "mint", + "turkish" + ] +} diff --git a/src/recipes/b-52.json b/src/recipes/b-52.json index 9c4d74577..9c2504c12 100644 --- a/src/recipes/b-52.json +++ b/src/recipes/b-52.json @@ -1,33 +1,33 @@ -{ - "name": "B-52", - "description": "Believed to have originated in 1970 by a bartender and fan of the iconic band, the B-52 is classic guilty pleasure armed with three liqueurs. Make this layered shooter in seconds and impress all your friends.", - "github": "README1ST", - "ingredients": [ - { - "quantity": "10", - "measure": "ml", - "ingredient": "Coffee liqueur" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Baileys Irish cream liqueur" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Grand Marnier liqueur" - } - ], - "directions": [ - "Layer the three spirits in a shot glass in the following order: Coffee liqueur, Baileys Irish cream liqueur, Grand Marnier liqueur." - ], - "image": "b-52.jpg", - "source": "https://www.liquor.com/recipes/b-52/", - "keywords": [ - "shot", - "layers", - "coffee liqueur", - "alcoholic" - ] -} +{ + "name": "B-52", + "description": "Believed to have originated in 1970 by a bartender and fan of the iconic band, the B-52 is classic guilty pleasure armed with three liqueurs. Make this layered shooter in seconds and impress all your friends.", + "github": "README1ST", + "ingredients": [ + { + "quantity": "10", + "measure": "ml", + "ingredient": "Coffee liqueur" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Baileys Irish cream liqueur" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Grand Marnier liqueur" + } + ], + "directions": [ + "Layer the three spirits in a shot glass in the following order: Coffee liqueur, Baileys Irish cream liqueur, Grand Marnier liqueur." + ], + "image": "b-52.jpg", + "source": "https://www.liquor.com/recipes/b-52/", + "keywords": [ + "shot", + "layers", + "coffee liqueur", + "alcoholic" + ] +} diff --git a/src/recipes/baby-guinness.json b/src/recipes/baby-guinness.json index 650011236..c40705517 100644 --- a/src/recipes/baby-guinness.json +++ b/src/recipes/baby-guinness.json @@ -1,31 +1,31 @@ -{ - "name": "Baby Guinness", - "description": "A simple and sweet shot that resembles a baby pint of Guinness.", - "github": "ronmcg", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "coffee flavored liqueur" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "irish cream liqueur" - } - ], - "directions": [ - "Get a shot glass and fill it nearly to the top with a coffee flavored liqueur (ex. Kahlúa).", - "Fill the the rest of the shot glass with an Irish cream liqueur (ex. Baileys)." - ], - "image": "baby-guinness.jpg", - "source": "https://www.allrecipes.com/recipe/74819/baby-guinness/", - "keywords": [ - "alcoholic", - "guinness", - "coffee", - "shot", - "irish", - "irish cream" - ] +{ + "name": "Baby Guinness", + "description": "A simple and sweet shot that resembles a baby pint of Guinness.", + "github": "ronmcg", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "coffee flavored liqueur" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "irish cream liqueur" + } + ], + "directions": [ + "Get a shot glass and fill it nearly to the top with a coffee flavored liqueur (ex. Kahlúa).", + "Fill the the rest of the shot glass with an Irish cream liqueur (ex. Baileys)." + ], + "image": "baby-guinness.jpg", + "source": "https://www.allrecipes.com/recipe/74819/baby-guinness/", + "keywords": [ + "alcoholic", + "guinness", + "coffee", + "shot", + "irish", + "irish cream" + ] } \ No newline at end of file diff --git a/src/recipes/bacardi-cocktail.json b/src/recipes/bacardi-cocktail.json index db4f51d9a..14b388eee 100644 --- a/src/recipes/bacardi-cocktail.json +++ b/src/recipes/bacardi-cocktail.json @@ -1,35 +1,35 @@ -{ - "name": "Bacardi Cocktail", - "description": "The Bacardí Cocktail became one of the most popular drinks of the period immediately following the repeal of Prohibition. It is a variation of the Daiquiri that involves rum, lime and grenadine. It is rare on menus today but was a stalwart of the 1930s bar repertoire.", - "github": "Donearm", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "Bacardi rum" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "lime juice" - }, - { - "quantity": "5", - "measure": "ml", - "ingredient": "grenadine syrup" - } - ], - "directions": [ - "Chill a coupe glass with ice and set aside.", - "Add all the ingredients into a shaker with ice and shake.", - "Strain into the chilled coupe." - ], - "image": "bacardi-cocktail.jpg", - "source": "https://www.liquor.com/recipes/bacardi-cocktail", - "keywords": [ - "rum", - "bacardi", - "lime", - "grenadine syrup" - ] -} +{ + "name": "Bacardi Cocktail", + "description": "The Bacardí Cocktail became one of the most popular drinks of the period immediately following the repeal of Prohibition. It is a variation of the Daiquiri that involves rum, lime and grenadine. It is rare on menus today but was a stalwart of the 1930s bar repertoire.", + "github": "Donearm", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "Bacardi rum" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "lime juice" + }, + { + "quantity": "5", + "measure": "ml", + "ingredient": "grenadine syrup" + } + ], + "directions": [ + "Chill a coupe glass with ice and set aside.", + "Add all the ingredients into a shaker with ice and shake.", + "Strain into the chilled coupe." + ], + "image": "bacardi-cocktail.jpg", + "source": "https://www.liquor.com/recipes/bacardi-cocktail", + "keywords": [ + "rum", + "bacardi", + "lime", + "grenadine syrup" + ] +} diff --git a/src/recipes/bael-panna.json b/src/recipes/bael-panna.json index 55079ed0f..6177f2ca1 100644 --- a/src/recipes/bael-panna.json +++ b/src/recipes/bael-panna.json @@ -1,51 +1,51 @@ -{ - "name": "Bael Panna (Woodapple Juice)", - "description": "This juice is not something you might find on a mocktail menu, but will surely soothe your heart on a hot summer day.", - "github": "sounak98", - "ingredients": [ - { - "quantity": "2", - "measure": "pieces", - "ingredient": "Medium-sized Bael (Woodapple)" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Powdered Jaggery" - }, - { - "quantity": "1/8", - "measure": "tablespoon", - "ingredient": "Rock Salt" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Roasted and Powdered Cumin Seeds (Jeera)" - }, - { - "quantity": "2", - "measure": "glasses", - "ingredient": "Water" - } - ], - "directions": [ - "Break open the fruit using a pestle or if you are adventurous, strike it against the floor or a platform till it splits open.", - "Scoop the pulp using a spoon and place in a large bowl.", - "Pour a glass of water and using your palms gather and squish the pulp to separate the seeds and juice the pulp.", - "Press the juice through a soup siever to strain the fibres and seeds from the thick pulp.", - "Scoop the remaining pulp in the sieve into a vessel and add more water. Repeat the squishing process and strain until all that remains is the fiber.", - "Add jaggery to the strained juice and season with salt and cumin powders as per taste.", - "Run the juice in a mixer.", - "Pour in tall glasses and serve." - ], - "image": "bael-panna.jpg", - "source": "https://hariniandharsha.com/bael-pathhar-bael-ka-sherbet-woodapple-stoneapple-sherbet-an-indian-coolant-a-summer-recipe/", - "keywords": [ - "fruit", - "vegan", - "indian", - "non-alcoholic", - "savory" - ] -} +{ + "name": "Bael Panna (Woodapple Juice)", + "description": "This juice is not something you might find on a mocktail menu, but will surely soothe your heart on a hot summer day.", + "github": "sounak98", + "ingredients": [ + { + "quantity": "2", + "measure": "pieces", + "ingredient": "Medium-sized Bael (Woodapple)" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Powdered Jaggery" + }, + { + "quantity": "1/8", + "measure": "tablespoon", + "ingredient": "Rock Salt" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Roasted and Powdered Cumin Seeds (Jeera)" + }, + { + "quantity": "2", + "measure": "glasses", + "ingredient": "Water" + } + ], + "directions": [ + "Break open the fruit using a pestle or if you are adventurous, strike it against the floor or a platform till it splits open.", + "Scoop the pulp using a spoon and place in a large bowl.", + "Pour a glass of water and using your palms gather and squish the pulp to separate the seeds and juice the pulp.", + "Press the juice through a soup siever to strain the fibres and seeds from the thick pulp.", + "Scoop the remaining pulp in the sieve into a vessel and add more water. Repeat the squishing process and strain until all that remains is the fiber.", + "Add jaggery to the strained juice and season with salt and cumin powders as per taste.", + "Run the juice in a mixer.", + "Pour in tall glasses and serve." + ], + "image": "bael-panna.jpg", + "source": "https://hariniandharsha.com/bael-pathhar-bael-ka-sherbet-woodapple-stoneapple-sherbet-an-indian-coolant-a-summer-recipe/", + "keywords": [ + "fruit", + "vegan", + "indian", + "non-alcoholic", + "savory" + ] +} diff --git a/src/recipes/bahama-mama.json b/src/recipes/bahama-mama.json index 73cee5d43..3eaa44256 100644 --- a/src/recipes/bahama-mama.json +++ b/src/recipes/bahama-mama.json @@ -1,50 +1,50 @@ -{ - "name": "Bahama Mama", - "description": "A blend of fruit juice and rum create this delicious, tropical cocktail.", - "github": "titofrota", - "ingredients": [ - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "rum" - }, - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "coconut-flavored rum" - }, - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "grenadine syrup" - }, - { - "quantity": "1", - "measure": "fluid ounce", - "ingredient": "orange juice" - }, - { - "quantity": "1", - "measure": "fluid ounce", - "ingredient": "pineapple juice" - }, - { - "quantity": "1 ", - "measure": "cup", - "ingredient": "crushed ice" - } - ], - "directions": [ - "Combine regular rum, rum with coconut flavoring, grenadine, orange juice, pineapple juice and crushed ice in an electric blender. ", - "Blend until the drink's consistency is slushy." - ], - "image": "bahama-mama.jpg", - "source": "https://www.allrecipes.com/recipe/17309/bahama-mama/", - "keywords": [ - "rum", - "grenadine", - "tropical", - "alcoholic", - "pineapple" - ] -} +{ + "name": "Bahama Mama", + "description": "A blend of fruit juice and rum create this delicious, tropical cocktail.", + "github": "titofrota", + "ingredients": [ + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "rum" + }, + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "coconut-flavored rum" + }, + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "grenadine syrup" + }, + { + "quantity": "1", + "measure": "fluid ounce", + "ingredient": "orange juice" + }, + { + "quantity": "1", + "measure": "fluid ounce", + "ingredient": "pineapple juice" + }, + { + "quantity": "1 ", + "measure": "cup", + "ingredient": "crushed ice" + } + ], + "directions": [ + "Combine regular rum, rum with coconut flavoring, grenadine, orange juice, pineapple juice and crushed ice in an electric blender. ", + "Blend until the drink's consistency is slushy." + ], + "image": "bahama-mama.jpg", + "source": "https://www.allrecipes.com/recipe/17309/bahama-mama/", + "keywords": [ + "rum", + "grenadine", + "tropical", + "alcoholic", + "pineapple" + ] +} diff --git a/src/recipes/bajigur.json b/src/recipes/bajigur.json index d0b9b1130..61687e783 100644 --- a/src/recipes/bajigur.json +++ b/src/recipes/bajigur.json @@ -1,57 +1,57 @@ -{ - "name": "Bajigur", - "description": "Bajigur is a warm drink typical of the Sundanese people from the West Java region, Indonesia. Supported ingredients are palm sugar and coconut milk. To add to the enjoyment also mixed with a little ginger, salt and vanilla powder. This hot beverage is usually sold using a stove provided. Bajigur is best for drinking during cold and wet weather after rain. Foods that are often served with bajigur are boiled bananas, boiled yams, or boiled peanuts.", - "github": "wfebriad", - "ingredients": [ - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "black coffee" - }, - { - "quantity": "1", - "measure": "liter", - "ingredient": "coconut milk" - }, - { - "quantity": "100", - "measure": "grams", - "ingredient": "brown sugar (fine comb)" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "granulated sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Graham (to taste)" - }, - { - "quantity": "2", - "measure": "sheets", - "ingredient": "of pandan leaves (tied knot)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cinnamon (to taste, if desired)" - } - ], - "directions": [ - "Prepare a pan and then boil coconut milk.", - "Add brown sugar, granulated sugar and black coffee and stir well.", - "Let the sugar and coffee dissolve, wait until it boils.", - "Add cinnamon, salt and bay leaf, then stir again until it smells, bringing fragrance from wedang bajigur.", - "Boil again until boiling then strain and serve while still hot.", - "Wedang Bajigur is ready to be enjoyed and warms the body." - ], - "image": "bajigur.jpg", - "keywords": [ - "tea", - "fruit", - "non-alcoholic", - "vegan" - ] -} +{ + "name": "Bajigur", + "description": "Bajigur is a warm drink typical of the Sundanese people from the West Java region, Indonesia. Supported ingredients are palm sugar and coconut milk. To add to the enjoyment also mixed with a little ginger, salt and vanilla powder. This hot beverage is usually sold using a stove provided. Bajigur is best for drinking during cold and wet weather after rain. Foods that are often served with bajigur are boiled bananas, boiled yams, or boiled peanuts.", + "github": "wfebriad", + "ingredients": [ + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "black coffee" + }, + { + "quantity": "1", + "measure": "liter", + "ingredient": "coconut milk" + }, + { + "quantity": "100", + "measure": "grams", + "ingredient": "brown sugar (fine comb)" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "granulated sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Graham (to taste)" + }, + { + "quantity": "2", + "measure": "sheets", + "ingredient": "of pandan leaves (tied knot)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cinnamon (to taste, if desired)" + } + ], + "directions": [ + "Prepare a pan and then boil coconut milk.", + "Add brown sugar, granulated sugar and black coffee and stir well.", + "Let the sugar and coffee dissolve, wait until it boils.", + "Add cinnamon, salt and bay leaf, then stir again until it smells, bringing fragrance from wedang bajigur.", + "Boil again until boiling then strain and serve while still hot.", + "Wedang Bajigur is ready to be enjoyed and warms the body." + ], + "image": "bajigur.jpg", + "keywords": [ + "tea", + "fruit", + "non-alcoholic", + "vegan" + ] +} diff --git a/src/recipes/banana-cocoa.json b/src/recipes/banana-cocoa.json index 8435c9bb2..91dc4fbd9 100644 --- a/src/recipes/banana-cocoa.json +++ b/src/recipes/banana-cocoa.json @@ -1,37 +1,37 @@ -{ - "name": "Banana with cocoa powder", - "description": "A delicious drink with banana and cocoa powder.", - "github": "Muurilo", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "bananas" - }, - { - "quantity": "4", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "4", - "measure": "tablespoon", - "ingredient": "Cocoa Powder" - } - ], - "directions": [ - "Cut the banana into slices", - "Put the bananas, the milk, the Cocoa Powder in the blender, turn it on, and blend these ingredients.", - "Put ice in the blender and beat very little" - ], - "image": "banana-cocoa.jpg", - "keywords": [ - "milk", - "banana", - "cocoa powder", - "cocoa", - "chocolate", - "fruit", - "non-alcoholic" - ] -} +{ + "name": "Banana with cocoa powder", + "description": "A delicious drink with banana and cocoa powder.", + "github": "Muurilo", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "bananas" + }, + { + "quantity": "4", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "4", + "measure": "tablespoon", + "ingredient": "Cocoa Powder" + } + ], + "directions": [ + "Cut the banana into slices", + "Put the bananas, the milk, the Cocoa Powder in the blender, turn it on, and blend these ingredients.", + "Put ice in the blender and beat very little" + ], + "image": "banana-cocoa.jpg", + "keywords": [ + "milk", + "banana", + "cocoa powder", + "cocoa", + "chocolate", + "fruit", + "non-alcoholic" + ] +} diff --git a/src/recipes/banana-smoothie.json b/src/recipes/banana-smoothie.json index fba4d4948..c0de8c7dc 100644 --- a/src/recipes/banana-smoothie.json +++ b/src/recipes/banana-smoothie.json @@ -1,50 +1,50 @@ -{ - "name": "Banana Smoothie", - "description": "Enjoy a Banana Smoothie. This recipe contains raw eggs.", - "github": "kevinmel2000", - "ingredients": [{ - "quantity": "1", - "measure": "banana", - "ingredient": "" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "vanilla extract" - }, - { - "quantity": "1", - "measure": "egg", - "ingredient": "" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "white sugar" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "ground cinnamon" - } - ], - "directions": [ - "Combine banana, milk, vanilla, egg, and sugar in a blender.", - "Blend until smooth.", - "Pour into a tall glass and top with a pinch of cinnamon." - ], - "image": "banana-smoothie.jpg", - "keywords": [ - "milk", - "banana", - "egg", - "smoothie", - "fruit", - "non-alcoholic" - ] +{ + "name": "Banana Smoothie", + "description": "Enjoy a Banana Smoothie. This recipe contains raw eggs.", + "github": "kevinmel2000", + "ingredients": [{ + "quantity": "1", + "measure": "banana", + "ingredient": "" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "vanilla extract" + }, + { + "quantity": "1", + "measure": "egg", + "ingredient": "" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "white sugar" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "ground cinnamon" + } + ], + "directions": [ + "Combine banana, milk, vanilla, egg, and sugar in a blender.", + "Blend until smooth.", + "Pour into a tall glass and top with a pinch of cinnamon." + ], + "image": "banana-smoothie.jpg", + "keywords": [ + "milk", + "banana", + "egg", + "smoothie", + "fruit", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/bandrek.json b/src/recipes/bandrek.json index b78984efc..aee6ff3c2 100644 --- a/src/recipes/bandrek.json +++ b/src/recipes/bandrek.json @@ -1,60 +1,60 @@ -{ - "name": "Bandrek", - "description": "Bandrek is a Sundanese-based spicy drink from Indonesia that can warm the body and relax.", - "github": "dedechandran", - "ingredients": [ - { - "quantity": "1", - "measure": "liter", - "ingredient": "mineral water" - }, - { - "quantity": "350", - "measure": "grams", - "ingredient": "refined brown sugar" - }, - { - "quantity": "3", - "measure": "sticks", - "ingredient": "lemongrass stems then rubbed" - }, - { - "quantity": "80", - "measure": "grams", - "ingredient": "grilled ginger are then crushed" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "salt" - }, - { - "quantity": "1", - "measure": "sheet", - "ingredient": "pandan leaves (before use, clean first)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Vanilla sweetened condensed milk (optional)" - } - ], - "directions": [ - "Boil sugar and water in a saucepan until it boils.", - "Add pandan leaves, grilled ginger, and lemongrass stems. Then stir to taste.", - "Add salt and stir again.", - "If the resulting flavor is just right and the ingredients and seasonings have been mixed evenly, turn off the heat and lift this bandrek drink.", - "Pour the bandrek drink to the glass.", - "Add a few mililiters vanilla sweetened condensed milk if needed.", - "Bandrek ready to serve." - - ], - "image": "bandrek.jpg", - "source": "https://www.liputan6.com/lifestyle/read/3858911/cara-membuat-bandrek-susu-minuman-penghangat-badan-di-musim-hujan", - "keywords": [ - "fresh", - "vegan", - "non-alcoholic" - ] - -} +{ + "name": "Bandrek", + "description": "Bandrek is a Sundanese-based spicy drink from Indonesia that can warm the body and relax.", + "github": "dedechandran", + "ingredients": [ + { + "quantity": "1", + "measure": "liter", + "ingredient": "mineral water" + }, + { + "quantity": "350", + "measure": "grams", + "ingredient": "refined brown sugar" + }, + { + "quantity": "3", + "measure": "sticks", + "ingredient": "lemongrass stems then rubbed" + }, + { + "quantity": "80", + "measure": "grams", + "ingredient": "grilled ginger are then crushed" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "salt" + }, + { + "quantity": "1", + "measure": "sheet", + "ingredient": "pandan leaves (before use, clean first)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Vanilla sweetened condensed milk (optional)" + } + ], + "directions": [ + "Boil sugar and water in a saucepan until it boils.", + "Add pandan leaves, grilled ginger, and lemongrass stems. Then stir to taste.", + "Add salt and stir again.", + "If the resulting flavor is just right and the ingredients and seasonings have been mixed evenly, turn off the heat and lift this bandrek drink.", + "Pour the bandrek drink to the glass.", + "Add a few mililiters vanilla sweetened condensed milk if needed.", + "Bandrek ready to serve." + + ], + "image": "bandrek.jpg", + "source": "https://www.liputan6.com/lifestyle/read/3858911/cara-membuat-bandrek-susu-minuman-penghangat-badan-di-musim-hujan", + "keywords": [ + "fresh", + "vegan", + "non-alcoholic" + ] + +} diff --git a/src/recipes/bandung.json b/src/recipes/bandung.json index da054ff13..eb9d55b15 100644 --- a/src/recipes/bandung.json +++ b/src/recipes/bandung.json @@ -1,35 +1,35 @@ -{ - "name": "Bandung, Rose Syrup Beverage", - "description": "Bandung is a popular drink from Malaysia and Singapore. This is a popular street side drink and is also a favorite drink in Malaya community. It is served during iftar during the month of Ramadan. It is also served at weddings and celebrations. It is a simple drink prepared with condensed milk and Rose syrup.", - "github": "lukasleeyo", - "ingredients": [ - { - "quantity": "2–3", - "measure": "tablespoon", - "ingredient": "Condensed Milk" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "Roohafza" - }, - { - "quantity": "1 ½", - "measure": "cup", - "ingredient": "water" - } - ], - "directions": [ - "Combine condensed milk and roohafza in a bowl.", - "Add water and mix well until condensed milk dissolves in the water. A combination of soda and milk can also be used.", - "Chill and serve. OR pour in serving glasses, add some ice and serve." - ], - "image": "bandung.jpg", - "source": "https://www.myspicykitchen.net/bandung-rose-syrup-beverage-from-malaysia/", - "keywords": [ - "cool", - "Malaysian", - "milk", - "soda" - ] -} +{ + "name": "Bandung, Rose Syrup Beverage", + "description": "Bandung is a popular drink from Malaysia and Singapore. This is a popular street side drink and is also a favorite drink in Malaya community. It is served during iftar during the month of Ramadan. It is also served at weddings and celebrations. It is a simple drink prepared with condensed milk and Rose syrup.", + "github": "lukasleeyo", + "ingredients": [ + { + "quantity": "2–3", + "measure": "tablespoon", + "ingredient": "Condensed Milk" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "Roohafza" + }, + { + "quantity": "1 ½", + "measure": "cup", + "ingredient": "water" + } + ], + "directions": [ + "Combine condensed milk and roohafza in a bowl.", + "Add water and mix well until condensed milk dissolves in the water. A combination of soda and milk can also be used.", + "Chill and serve. OR pour in serving glasses, add some ice and serve." + ], + "image": "bandung.jpg", + "source": "https://www.myspicykitchen.net/bandung-rose-syrup-beverage-from-malaysia/", + "keywords": [ + "cool", + "Malaysian", + "milk", + "soda" + ] +} diff --git a/src/recipes/bangkok-sunrise.json b/src/recipes/bangkok-sunrise.json index f681e549d..9d8172ee4 100644 --- a/src/recipes/bangkok-sunrise.json +++ b/src/recipes/bangkok-sunrise.json @@ -1,41 +1,41 @@ -{ - "name": "Bangkok Sunrise", - "description": "A drink that looks like a Bangkok sunrise. Shown in Danger 5, this is a wonderful cocktail that's sure to put you in a spring mood.", - "github": "nicholashuber", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "tequila" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Orange Juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "lemongrass syrup" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "grenadine" - } - ], - "directions": [ - "Gather the ingredients.", - "Pour the tequila, Orange juice, and lemongrass syrup in a cocktail shaker filled with ice cubes. Top with grenadine", - "Shake well.", - "Strain into a chilled cocktail glass.", - "Serve and enjoy!" - ], - "image": "bangkok-sunrise.jpg", - "keywords": [ - "alcoholic", - "fruit", - "citrus", - "vegan" - ] -} +{ + "name": "Bangkok Sunrise", + "description": "A drink that looks like a Bangkok sunrise. Shown in Danger 5, this is a wonderful cocktail that's sure to put you in a spring mood.", + "github": "nicholashuber", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "tequila" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Orange Juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "lemongrass syrup" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "grenadine" + } + ], + "directions": [ + "Gather the ingredients.", + "Pour the tequila, Orange juice, and lemongrass syrup in a cocktail shaker filled with ice cubes. Top with grenadine", + "Shake well.", + "Strain into a chilled cocktail glass.", + "Serve and enjoy!" + ], + "image": "bangkok-sunrise.jpg", + "keywords": [ + "alcoholic", + "fruit", + "citrus", + "vegan" + ] +} diff --git a/src/recipes/barley-drink.json b/src/recipes/barley-drink.json index 9a662899a..a054e9902 100644 --- a/src/recipes/barley-drink.json +++ b/src/recipes/barley-drink.json @@ -1,46 +1,46 @@ -{ - "name": "Barley Drink", - "description": "Barley drink is a drink consumed in various parts of the world. It is made by boiling barley grains in water, then straining to remove the grains and adding sugar.", - "github": "connectnitish", - "ingredients": [ - { - "quantity": "½", - "measure": "cup", - "ingredient": "pearl barley" - }, - { - "quantity": "2", - "measure": "litres", - "ingredient": "water" - }, - { - "quantity": "6", - "measure": "stalks", - "ingredient": "of pandan leaves - tied into a knot" - }, - { - "quantity": "½", - "measure": "cup", - "ingredient": "candied wintermelon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Rock sugar to taste" - } - ], - "directions": [ - "Wash and drain the pearl barley until the water is much clearer.", - "Place water, barley, candied wintermelon and pandan leaves into a soup pot and bring to a boil.", - "Once the mix is boiling, lower the heat and let it simmer for about 30 minutes until the barley expands and softens. Top up with more water if necessary.", - "Add in rock sugar 5-10 minutes before turning off the heat.", - "Stir until the rock sugar is fully dissolved. Discard the pandan leaves.", - "Serve hot. Or leave it to cool and chuck it into the fridge and enjoy it chilled." - ], - "image": "barley-drink.jpg", - "keywords": [ - "vegan", - "non-alcoholic", - "tea" - ] +{ + "name": "Barley Drink", + "description": "Barley drink is a drink consumed in various parts of the world. It is made by boiling barley grains in water, then straining to remove the grains and adding sugar.", + "github": "connectnitish", + "ingredients": [ + { + "quantity": "½", + "measure": "cup", + "ingredient": "pearl barley" + }, + { + "quantity": "2", + "measure": "litres", + "ingredient": "water" + }, + { + "quantity": "6", + "measure": "stalks", + "ingredient": "of pandan leaves - tied into a knot" + }, + { + "quantity": "½", + "measure": "cup", + "ingredient": "candied wintermelon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Rock sugar to taste" + } + ], + "directions": [ + "Wash and drain the pearl barley until the water is much clearer.", + "Place water, barley, candied wintermelon and pandan leaves into a soup pot and bring to a boil.", + "Once the mix is boiling, lower the heat and let it simmer for about 30 minutes until the barley expands and softens. Top up with more water if necessary.", + "Add in rock sugar 5-10 minutes before turning off the heat.", + "Stir until the rock sugar is fully dissolved. Discard the pandan leaves.", + "Serve hot. Or leave it to cool and chuck it into the fridge and enjoy it chilled." + ], + "image": "barley-drink.jpg", + "keywords": [ + "vegan", + "non-alcoholic", + "tea" + ] } \ No newline at end of file diff --git a/src/recipes/barnamint-baileys.json b/src/recipes/barnamint-baileys.json index 0cb323c1a..d137175ea 100644 --- a/src/recipes/barnamint-baileys.json +++ b/src/recipes/barnamint-baileys.json @@ -1,52 +1,52 @@ -{ - "name": "Barnamint Bailey's", - "description": "This original TGI Friday's cocktail is named after the Barnum & Bailey Circus, which also inspired the red and white awnings outside Friday's restaurants.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "40", - "measure": "ml", - "ingredient": "baileys" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "creme de menthe" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "milk" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "oreo cookies" - }, - { - "quantity": "2", - "measure": "scoops", - "ingredient": "vanilla ice cream" - }, - { - "quantity": "1", - "measure": "scoop", - "ingredient": "crushed ice" - } - ], - "directions": [ - "Blend all ingredients in a blender.", - "Garnish with one Oreo cookie." - ], - "image": "barnamint-baileys.jpg", - "keywords": [ - "alcoholic", - "baileys", - "creme de menthe", - "ice cream", - "milk", - "oreo" - ] - -} +{ + "name": "Barnamint Bailey's", + "description": "This original TGI Friday's cocktail is named after the Barnum & Bailey Circus, which also inspired the red and white awnings outside Friday's restaurants.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "40", + "measure": "ml", + "ingredient": "baileys" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "creme de menthe" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "milk" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "oreo cookies" + }, + { + "quantity": "2", + "measure": "scoops", + "ingredient": "vanilla ice cream" + }, + { + "quantity": "1", + "measure": "scoop", + "ingredient": "crushed ice" + } + ], + "directions": [ + "Blend all ingredients in a blender.", + "Garnish with one Oreo cookie." + ], + "image": "barnamint-baileys.jpg", + "keywords": [ + "alcoholic", + "baileys", + "creme de menthe", + "ice cream", + "milk", + "oreo" + ] + +} diff --git a/src/recipes/barracuda.json b/src/recipes/barracuda.json index 7e184dac0..b161214fe 100644 --- a/src/recipes/barracuda.json +++ b/src/recipes/barracuda.json @@ -1,48 +1,48 @@ -{ - "name": "Barracuda", - "description": "A well known cocktail of unknown origins, thought to date from the 1970s.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "gold rum" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "galliano" - }, - { - "quantity": "60", - "measure": "ml", - "ingredient": "pineapple juice" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "lime juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "prosecco" - } - ], - "directions": [ - "Shake first 4 ingredients with ice.", - "Fine strain into a cocktail glass.", - "Top with Prosecco" - ], - "image": "barracuda.jpg", - "keywords": [ - "rum", - "galliano", - "pineapple", - "alcoholic", - "lime", - "prosecco" - ] - -} +{ + "name": "Barracuda", + "description": "A well known cocktail of unknown origins, thought to date from the 1970s.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "gold rum" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "galliano" + }, + { + "quantity": "60", + "measure": "ml", + "ingredient": "pineapple juice" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "lime juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "prosecco" + } + ], + "directions": [ + "Shake first 4 ingredients with ice.", + "Fine strain into a cocktail glass.", + "Top with Prosecco" + ], + "image": "barracuda.jpg", + "keywords": [ + "rum", + "galliano", + "pineapple", + "alcoholic", + "lime", + "prosecco" + ] + +} diff --git a/src/recipes/barraquito.json b/src/recipes/barraquito.json index f217ff74d..84451410e 100644 --- a/src/recipes/barraquito.json +++ b/src/recipes/barraquito.json @@ -1,41 +1,41 @@ -{ - "name": "Barraquito", - "description": "A multi-layered coffee drink.", - "github": "RichardVerbraak", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Coffee" - }, - { - "quantity": "1-2", - "measure": "oz", - "ingredient": "Licor 43" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Frothed Milk" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Condensed Milk" - } - ], - "directions": [ - "Add the condensed milk to the coffee, followed by the licor.", - "Add the espresso and optional lemon peel.", - "Add the frothed milk and sprinkle some cinammon for some extra flavor." - ], - "image": "barraquito.jpg", - "keywords": [ - "coffee", - "spanish", - "milk", - "layers", - "cinnamon", - "canary islands" - ] -} +{ + "name": "Barraquito", + "description": "A multi-layered coffee drink.", + "github": "RichardVerbraak", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Coffee" + }, + { + "quantity": "1-2", + "measure": "oz", + "ingredient": "Licor 43" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Frothed Milk" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Condensed Milk" + } + ], + "directions": [ + "Add the condensed milk to the coffee, followed by the licor.", + "Add the espresso and optional lemon peel.", + "Add the frothed milk and sprinkle some cinammon for some extra flavor." + ], + "image": "barraquito.jpg", + "keywords": [ + "coffee", + "spanish", + "milk", + "layers", + "cinnamon", + "canary islands" + ] +} diff --git a/src/recipes/basil-kadha.json b/src/recipes/basil-kadha.json index cb42a0ae2..0bee5ad2a 100644 --- a/src/recipes/basil-kadha.json +++ b/src/recipes/basil-kadha.json @@ -1,49 +1,49 @@ -{ - "name": "Basil Kadha", - "description": "Herbal tea with goodnesss of Basil, Ginger and Lemongrass, works wonders with common cold and Cough", - "github": "somesh-ops", - "ingredients": [ - { - "quantity": "10-15", - "measure": "", - "ingredient": "Basil" - }, - { - "quantity": "1-1/2", - "measure": "", - "ingredient": "Lemongrass" - }, - { - "quantity": "", - "measure": "25mm", - "ingredient": "Ginger" - }, - { - "quantity": "", - "measure": "6 Cups", - "ingredient": "Water" - }, - { - "quantity": "", - "measure": "4 Tsp", - "ingredient": "Jaggery" - } - ], - "directions": [ - "Wash the Basil, Lemongrass and Ginger.", - "Boil water in deep pan.", - "Add Basil, Lemongrass and Ginger and boil for 3-4 minutes", - "If the Panna is not very tangy, you can add some lemon juice to it.", - "Add jaggery and mix well then turn off the gas", - "Strain and serve hot." - ], - "image": "basil-kadha.jpg", - "keywords": [ - "herbal", - "basil", - "non-alcoholic", - "vegan", - "ginger", - "tea" - ] -} +{ + "name": "Basil Kadha", + "description": "Herbal tea with goodnesss of Basil, Ginger and Lemongrass, works wonders with common cold and Cough", + "github": "somesh-ops", + "ingredients": [ + { + "quantity": "10-15", + "measure": "", + "ingredient": "Basil" + }, + { + "quantity": "1-1/2", + "measure": "", + "ingredient": "Lemongrass" + }, + { + "quantity": "", + "measure": "25mm", + "ingredient": "Ginger" + }, + { + "quantity": "", + "measure": "6 Cups", + "ingredient": "Water" + }, + { + "quantity": "", + "measure": "4 Tsp", + "ingredient": "Jaggery" + } + ], + "directions": [ + "Wash the Basil, Lemongrass and Ginger.", + "Boil water in deep pan.", + "Add Basil, Lemongrass and Ginger and boil for 3-4 minutes", + "If the Panna is not very tangy, you can add some lemon juice to it.", + "Add jaggery and mix well then turn off the gas", + "Strain and serve hot." + ], + "image": "basil-kadha.jpg", + "keywords": [ + "herbal", + "basil", + "non-alcoholic", + "vegan", + "ginger", + "tea" + ] +} diff --git a/src/recipes/basil-smash-pina-colada.json b/src/recipes/basil-smash-pina-colada.json index 7c023820c..94e5391f4 100644 --- a/src/recipes/basil-smash-pina-colada.json +++ b/src/recipes/basil-smash-pina-colada.json @@ -1,54 +1,54 @@ -{ - "name": "Basil Smash Pina Colada", - "description": "Perfect frozen cocktail to celebrate the unofficial start of summer!", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "4", - "measure": "pieces", - "ingredient": "lime, quartered" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "basil or mint leaves" - }, - { - "quantity": "8", - "measure": "ounces", - "ingredient": "white rum" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "dark rum" - }, - { - "quantity": "3 1/2", - "measure": "cup", - "ingredient": "pineapple chunks" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "canned coconut cream" - } - ], - "directions": [ - "Muddle the lime juice, basil (or mint) together in a cocktail shaker or glass jar, squashing everything to release the juices.", - "Add the white rum and dark rum. Fill with ice and shake until combined. Strain into a blender.", - "Add the pineapple chunks and coconut cream to the blender and blend until smooth.", - "Add three cups ice and blend until frozen.", - "Pour into glasses and enjoy!" - ], - "image": "basil-smash-pina-colada.jpg", - "source": "https://www.halfbakedharvest.com/cranberry-bourbon-sour/", - "keywords": [ - "cool", - "basil", - "alcoholic", - "summer", - "rum", - "pina colada" - ] +{ + "name": "Basil Smash Pina Colada", + "description": "Perfect frozen cocktail to celebrate the unofficial start of summer!", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "4", + "measure": "pieces", + "ingredient": "lime, quartered" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "basil or mint leaves" + }, + { + "quantity": "8", + "measure": "ounces", + "ingredient": "white rum" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "dark rum" + }, + { + "quantity": "3 1/2", + "measure": "cup", + "ingredient": "pineapple chunks" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "canned coconut cream" + } + ], + "directions": [ + "Muddle the lime juice, basil (or mint) together in a cocktail shaker or glass jar, squashing everything to release the juices.", + "Add the white rum and dark rum. Fill with ice and shake until combined. Strain into a blender.", + "Add the pineapple chunks and coconut cream to the blender and blend until smooth.", + "Add three cups ice and blend until frozen.", + "Pour into glasses and enjoy!" + ], + "image": "basil-smash-pina-colada.jpg", + "source": "https://www.halfbakedharvest.com/cranberry-bourbon-sour/", + "keywords": [ + "cool", + "basil", + "alcoholic", + "summer", + "rum", + "pina colada" + ] } \ No newline at end of file diff --git a/src/recipes/basil-smash.json b/src/recipes/basil-smash.json index 632e26e67..629ea0216 100644 --- a/src/recipes/basil-smash.json +++ b/src/recipes/basil-smash.json @@ -1,38 +1,38 @@ -{ - "name": "Basil Smash", - "description": "Enjoy a summer breezed basil flavoured cocktail.", - "github": "codingMeSlowly", - "ingredients": [{ - "quantity": "5", - "measure": "cl", - "ingredient": "Gin" - }, - { - "quantity": "2", - "measure": "cl", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "cl", - "ingredient": "sugar syrup" - }, - { - "quantity": "1", - "measure": "bunch", - "ingredient": "basil leaves" - } - ], - "directions": [ - "Put basil, lemon juice, sugar syrup into a cocktail shaker and top up with ice.", - "Do the strong man shake and strain it into an ice-filled glass. Garnish with basil leaves." - ], - "image": "basil-smash.jpg", - "keywords": [ - "gin", - "lemon juice", - "sugar syrup", - "basil", - "alcoholic" - ] +{ + "name": "Basil Smash", + "description": "Enjoy a summer breezed basil flavoured cocktail.", + "github": "codingMeSlowly", + "ingredients": [{ + "quantity": "5", + "measure": "cl", + "ingredient": "Gin" + }, + { + "quantity": "2", + "measure": "cl", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "cl", + "ingredient": "sugar syrup" + }, + { + "quantity": "1", + "measure": "bunch", + "ingredient": "basil leaves" + } + ], + "directions": [ + "Put basil, lemon juice, sugar syrup into a cocktail shaker and top up with ice.", + "Do the strong man shake and strain it into an ice-filled glass. Garnish with basil leaves." + ], + "image": "basil-smash.jpg", + "keywords": [ + "gin", + "lemon juice", + "sugar syrup", + "basil", + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/bay-breeze.json b/src/recipes/bay-breeze.json index 2f55eeba9..4a982af32 100644 --- a/src/recipes/bay-breeze.json +++ b/src/recipes/bay-breeze.json @@ -1,35 +1,35 @@ -{ - "name": "Bay Breeze", - "description": "A tropical, refreshing cocktail based on the classic Cape Cod.", - "github": "michaellore", - "ingredients": [ - { - "quantity": "4", - "measure": "oz", - "ingredient": "cranberry juice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "pineapple juice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "vodka" - } - ], - "directions": [ - "Combine cranberry juice, pineapple juice, and vodka in highball glass filled with ice.", - "Stir and garnish with pineapple and lime wedges if desired." - ], - "image": "bay-breeze.jpg", - "source": "https://www.myrecipes.com/recipe/bay-breeze", - "keywords": [ - "alcoholic", - "juice", - "vodka", - "fruit", - "vegan" - ] -} +{ + "name": "Bay Breeze", + "description": "A tropical, refreshing cocktail based on the classic Cape Cod.", + "github": "michaellore", + "ingredients": [ + { + "quantity": "4", + "measure": "oz", + "ingredient": "cranberry juice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "pineapple juice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "vodka" + } + ], + "directions": [ + "Combine cranberry juice, pineapple juice, and vodka in highball glass filled with ice.", + "Stir and garnish with pineapple and lime wedges if desired." + ], + "image": "bay-breeze.jpg", + "source": "https://www.myrecipes.com/recipe/bay-breeze", + "keywords": [ + "alcoholic", + "juice", + "vodka", + "fruit", + "vegan" + ] +} diff --git a/src/recipes/beam-me-up-scotchie.json b/src/recipes/beam-me-up-scotchie.json index 0f897316b..269c78ee1 100644 --- a/src/recipes/beam-me-up-scotchie.json +++ b/src/recipes/beam-me-up-scotchie.json @@ -1,38 +1,38 @@ -{ - "name": "Beam me up, Scotchie", - "description": "A simple Fall cocktail worthy of Scotty himself", - "github": "JoeFromDenver", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Glenfiddich Scotch" - }, - { - "quantity": "2", - "measure": "seeded", - "ingredient": "Figs" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vanilla liqueur" - } - - ], - "directions": [ - "Muddle ingredients", - "Strain out fig seeds", - "Serve in a cocktail glass over ice", - "Garnish with figs" - ], - "image": "beam-me-up-scotchie.jpg", - "source": "https://delishably.com/beverages/star-trek-themed-drinks", - "keywords": [ - "liqueur", - "scotch", - "star trek", - "fig", - "fall" - ] -} +{ + "name": "Beam me up, Scotchie", + "description": "A simple Fall cocktail worthy of Scotty himself", + "github": "JoeFromDenver", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Glenfiddich Scotch" + }, + { + "quantity": "2", + "measure": "seeded", + "ingredient": "Figs" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vanilla liqueur" + } + + ], + "directions": [ + "Muddle ingredients", + "Strain out fig seeds", + "Serve in a cocktail glass over ice", + "Garnish with figs" + ], + "image": "beam-me-up-scotchie.jpg", + "source": "https://delishably.com/beverages/star-trek-themed-drinks", + "keywords": [ + "liqueur", + "scotch", + "star trek", + "fig", + "fall" + ] +} diff --git a/src/recipes/beer-pletok.json b/src/recipes/beer-pletok.json index 7870bcd19..45e519a8f 100644 --- a/src/recipes/beer-pletok.json +++ b/src/recipes/beer-pletok.json @@ -1,63 +1,63 @@ -{ - "name": "Beer Pletok", - "description": "Pletok beer is a refreshing drink made from a mixture of several herbs, namely ginger, fragrant pandan leaves, and lemongrass. This traditional drink is known among Betawi ethnic groups", - "github": "YogaSakti", - "ingredients": [ - { - "quantity": "2", - "measure": "thumbs", - "ingredient": "ginger (choose the old one)" - }, - { - "quantity": "2", - "measure": "stems, bruised", - "ingredient": "lemongrass" - }, - { - "quantity": "1", - "measure": "liter", - "ingredient": "water (boiled)" - }, - { - "quantity": "150", - "measure": "grams", - "ingredient": "sappan wood (washed)" - }, - { - "quantity": "5", - "measure": "milligrams", - "ingredient": "cinnamon" - }, - { - "quantity": "150", - "measure": "grams", - "ingredient": "of granulated sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes as needed" - }, - { - "quantity": "", - "measure": "", - "ingredient": "salt as needed" - } - ], - "directions": [ - "Burn the ginger then peel and crush, set aside.", - "Boil ginger, lemongrass, secang wood, cinnamon, salt, and sugar until boiling.", - "Reduce the heat and continue until the boiled water is thick.", - "Lift and strain.", - "Chill the pletok beer.", - "Blend with ice.", - "Serve immediately while still cold." - ], - "image": "bir-pletok.jpg", - "keywords": [ - "vegan", - "non-alcoholic", - "tea", - "fresh" - ] -} +{ + "name": "Beer Pletok", + "description": "Pletok beer is a refreshing drink made from a mixture of several herbs, namely ginger, fragrant pandan leaves, and lemongrass. This traditional drink is known among Betawi ethnic groups", + "github": "YogaSakti", + "ingredients": [ + { + "quantity": "2", + "measure": "thumbs", + "ingredient": "ginger (choose the old one)" + }, + { + "quantity": "2", + "measure": "stems, bruised", + "ingredient": "lemongrass" + }, + { + "quantity": "1", + "measure": "liter", + "ingredient": "water (boiled)" + }, + { + "quantity": "150", + "measure": "grams", + "ingredient": "sappan wood (washed)" + }, + { + "quantity": "5", + "measure": "milligrams", + "ingredient": "cinnamon" + }, + { + "quantity": "150", + "measure": "grams", + "ingredient": "of granulated sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes as needed" + }, + { + "quantity": "", + "measure": "", + "ingredient": "salt as needed" + } + ], + "directions": [ + "Burn the ginger then peel and crush, set aside.", + "Boil ginger, lemongrass, secang wood, cinnamon, salt, and sugar until boiling.", + "Reduce the heat and continue until the boiled water is thick.", + "Lift and strain.", + "Chill the pletok beer.", + "Blend with ice.", + "Serve immediately while still cold." + ], + "image": "bir-pletok.jpg", + "keywords": [ + "vegan", + "non-alcoholic", + "tea", + "fresh" + ] +} diff --git a/src/recipes/beergarita.json b/src/recipes/beergarita.json index 60f9d25d6..c53e0c27e 100644 --- a/src/recipes/beergarita.json +++ b/src/recipes/beergarita.json @@ -1,41 +1,41 @@ -{ - "name": "Beergarita", - "description": "Beergarita combines beer with a freshly made margarita", - "github": "kazuhirodk", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Tequila" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Tattersall Grapefruit Crema" - }, - { - "quantity": ".5", - "measure": "oz", - "ingredient": "Lime juice" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Light Beer (i.e. Kolsh)" - } - ], - "directions": [ - "Combine all ingredients in a glass over ice.", - "Garnish with a lime wedge.", - "Salt rim optional.", - "Enjoy!" - ], - "image": "beergarita.jpg", - "source": "https://www.marieclaire.com/food-cocktails/g3765/simple-beer-cocktails/?slide=4", - "keywords": [ - "beer", - "tequila", - "margarita", - "alcoholic" - ] -} +{ + "name": "Beergarita", + "description": "Beergarita combines beer with a freshly made margarita", + "github": "kazuhirodk", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Tequila" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Tattersall Grapefruit Crema" + }, + { + "quantity": ".5", + "measure": "oz", + "ingredient": "Lime juice" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Light Beer (i.e. Kolsh)" + } + ], + "directions": [ + "Combine all ingredients in a glass over ice.", + "Garnish with a lime wedge.", + "Salt rim optional.", + "Enjoy!" + ], + "image": "beergarita.jpg", + "source": "https://www.marieclaire.com/food-cocktails/g3765/simple-beer-cocktails/?slide=4", + "keywords": [ + "beer", + "tequila", + "margarita", + "alcoholic" + ] +} diff --git a/src/recipes/bees-kiss.json b/src/recipes/bees-kiss.json index 1eafc476c..869165787 100644 --- a/src/recipes/bees-kiss.json +++ b/src/recipes/bees-kiss.json @@ -1,42 +1,42 @@ -{ - "name": "Bee's Kiss", - "description": "This creamy after-dinner cocktail is an adaptation of a gin-based cocktail named the Bee’s Knees. Originally from the Ritz Bar in Paris (1936).", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "40", - "measure": "ml", - "ingredient": "white rum" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "cream" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "honey" - }, - { - "quantity": "", - "measure": "", - "ingredient": "nutmeg" - } - ], - "directions": [ - "Combine ingredients in a shaker and shake with ice until chilled.", - "Fine strain into a cocktail glass.", - "Garnish with grated nutmeg." - ], - "image": "bees-kiss.jpg", - "keywords": [ - "alcoholic", - "rum", - "cream", - "honey", - "nutmeg" - ] - -} +{ + "name": "Bee's Kiss", + "description": "This creamy after-dinner cocktail is an adaptation of a gin-based cocktail named the Bee’s Knees. Originally from the Ritz Bar in Paris (1936).", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "40", + "measure": "ml", + "ingredient": "white rum" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "cream" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "honey" + }, + { + "quantity": "", + "measure": "", + "ingredient": "nutmeg" + } + ], + "directions": [ + "Combine ingredients in a shaker and shake with ice until chilled.", + "Fine strain into a cocktail glass.", + "Garnish with grated nutmeg." + ], + "image": "bees-kiss.jpg", + "keywords": [ + "alcoholic", + "rum", + "cream", + "honey", + "nutmeg" + ] + +} diff --git a/src/recipes/bees-knees.json b/src/recipes/bees-knees.json index 55aa94f5c..5c12a7f7c 100644 --- a/src/recipes/bees-knees.json +++ b/src/recipes/bees-knees.json @@ -1,37 +1,37 @@ -{ - "name": "Bee's Knees", - "description": "The recipe allegedly appears in a 1930 edition of San Francisco bartender and author Bill Boothby’s cocktail compendium World Drinks and How to Mix Them. However, other evidence suggests Frank Meier, a bartender at the Ritz Paris, was the cocktail’s original creator. It appears in Meier’s 1936 edition of The Artistry of Mixing Drinks.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "40", - "measure": "ml", - "ingredient": "dry gin" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "honey" - } - ], - "directions": [ - "Combine ingredients in a shaker.", - "Shake with ice until chilled.", - "Fine strain into a cocktail class." - ], - "image": "bees-knees.jpg", - "keywords": [ - "alcoholic", - "dry gin", - "gin", - "lemon", - "honey" - ] - -} +{ + "name": "Bee's Knees", + "description": "The recipe allegedly appears in a 1930 edition of San Francisco bartender and author Bill Boothby’s cocktail compendium World Drinks and How to Mix Them. However, other evidence suggests Frank Meier, a bartender at the Ritz Paris, was the cocktail’s original creator. It appears in Meier’s 1936 edition of The Artistry of Mixing Drinks.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "40", + "measure": "ml", + "ingredient": "dry gin" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "honey" + } + ], + "directions": [ + "Combine ingredients in a shaker.", + "Shake with ice until chilled.", + "Fine strain into a cocktail class." + ], + "image": "bees-knees.jpg", + "keywords": [ + "alcoholic", + "dry gin", + "gin", + "lemon", + "honey" + ] + +} diff --git a/src/recipes/bellini.json b/src/recipes/bellini.json index aa76445ed..9266253f1 100644 --- a/src/recipes/bellini.json +++ b/src/recipes/bellini.json @@ -1,34 +1,34 @@ -{ - "name": "Bellini", - "description": "Bellini is a sparkling Italian cocktail.", - "github": "forsas", - "ingredients": [ - { - "quantity": "2", - "measure": "fl oz", - "ingredient": "peach juice" - }, - { - "quantity": "4", - "measure": "fl oz", - "ingredient": "chilled sparkling wine" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "raspberry juice" - } - ], - "directions": [ - "Pour peach juice into a champagne flute.", - "Slowly pour sparkling wine over peach juice; let sit until liquids have blended for one minute.", - "Pour raspberry juice over champagne mixture." - ], - "image": "bellini.jpg", - "keywords":[ - "cocktail", - "alcoholic", - "fruit", - "vegan" - ] -} +{ + "name": "Bellini", + "description": "Bellini is a sparkling Italian cocktail.", + "github": "forsas", + "ingredients": [ + { + "quantity": "2", + "measure": "fl oz", + "ingredient": "peach juice" + }, + { + "quantity": "4", + "measure": "fl oz", + "ingredient": "chilled sparkling wine" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "raspberry juice" + } + ], + "directions": [ + "Pour peach juice into a champagne flute.", + "Slowly pour sparkling wine over peach juice; let sit until liquids have blended for one minute.", + "Pour raspberry juice over champagne mixture." + ], + "image": "bellini.jpg", + "keywords":[ + "cocktail", + "alcoholic", + "fruit", + "vegan" + ] +} diff --git a/src/recipes/bentley.json b/src/recipes/bentley.json index 0728bcce6..6c1a0150d 100644 --- a/src/recipes/bentley.json +++ b/src/recipes/bentley.json @@ -1,37 +1,37 @@ -{ - "name": "Bentley", - "description": "This cocktail invented in 1920's in London refers to the famous brand of luxe car. It is referenced in Savoy Cocktail Book from 1930. The legend says that the Bentley Boys (rich and famous British drivers) invented this drink after a win at 24h Le Mans.", - "github": "Ludoo0d0a", - - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "applejack (or calvados)" - }, - { - "quantity": "45", - "measure": "ml", - "ingredient": "Red Dubonnet" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Peychaud's Bitters, optional (or bitter orange)" - } - ], - "directions": [ - "Pour ingredients in a shaker, add ice and shake.", - "Strain into an old fashioned glass.", - "Decorate with orange peel." - ], - "image": "bentley.jpg", - "keywords": [ - "alcoholic", - "applejack", - "calvados", - "dubonnet", - "bentley" - ] - -} +{ + "name": "Bentley", + "description": "This cocktail invented in 1920's in London refers to the famous brand of luxe car. It is referenced in Savoy Cocktail Book from 1930. The legend says that the Bentley Boys (rich and famous British drivers) invented this drink after a win at 24h Le Mans.", + "github": "Ludoo0d0a", + + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "applejack (or calvados)" + }, + { + "quantity": "45", + "measure": "ml", + "ingredient": "Red Dubonnet" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Peychaud's Bitters, optional (or bitter orange)" + } + ], + "directions": [ + "Pour ingredients in a shaker, add ice and shake.", + "Strain into an old fashioned glass.", + "Decorate with orange peel." + ], + "image": "bentley.jpg", + "keywords": [ + "alcoholic", + "applejack", + "calvados", + "dubonnet", + "bentley" + ] + +} diff --git a/src/recipes/berry-and-oat-smoothie.json b/src/recipes/berry-and-oat-smoothie.json index 5168ae69f..a9368149d 100644 --- a/src/recipes/berry-and-oat-smoothie.json +++ b/src/recipes/berry-and-oat-smoothie.json @@ -1,49 +1,49 @@ -{ - "name": "Berry and Oat Smoothie", - "description": "A berry smoothie with added oats and flaxseeds to help you feel filler for longer!", - "github": "CalumChamberlain", - "ingredients": [{ - "quantity": "25", - "measure": "g", - "ingredient": "Rolled oats" - }, - { - "quantity": "150", - "measure": "ml", - "ingredient": "semi-skimmed milk" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "honey" - }, - { - "quantity": "75", - "measure": "g", - "ingredient": "blackberries" - }, - { - "quantity": "75", - "measure": "g", - "ingredient": "blueberries" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "flaxseeds" - } - ], - "directions": [ - "Put the oats into the blender and pour in the milk.", - "Leave to sit for five minutes.", - "Add the honey, blueberries, blackberries and ground flaxseeds and blitz until smooth." - ], - "image": "berry-and-oat-smoothie.jpg", - "keywords": [ - "berry", - "oats", - "healthy", - "smoothie", - "non-alcoholic" - ] -} +{ + "name": "Berry and Oat Smoothie", + "description": "A berry smoothie with added oats and flaxseeds to help you feel filler for longer!", + "github": "CalumChamberlain", + "ingredients": [{ + "quantity": "25", + "measure": "g", + "ingredient": "Rolled oats" + }, + { + "quantity": "150", + "measure": "ml", + "ingredient": "semi-skimmed milk" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "honey" + }, + { + "quantity": "75", + "measure": "g", + "ingredient": "blackberries" + }, + { + "quantity": "75", + "measure": "g", + "ingredient": "blueberries" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "flaxseeds" + } + ], + "directions": [ + "Put the oats into the blender and pour in the milk.", + "Leave to sit for five minutes.", + "Add the honey, blueberries, blackberries and ground flaxseeds and blitz until smooth." + ], + "image": "berry-and-oat-smoothie.jpg", + "keywords": [ + "berry", + "oats", + "healthy", + "smoothie", + "non-alcoholic" + ] +} diff --git a/src/recipes/berry-shrub.json b/src/recipes/berry-shrub.json index 096fd6bae..e4d7e024d 100644 --- a/src/recipes/berry-shrub.json +++ b/src/recipes/berry-shrub.json @@ -1,37 +1,37 @@ -{ - "name": "Berry Shrub", - "description": "A delicious berry cocktail shrub.", - "github": "cedrvanh", - "ingredients": [ - { - "quantity": "1", - "measure": "pint", - "ingredient": "fresh or frozen raspberries" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "sprig", - "ingredient": "thyme" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "white balsamic vinegar" - } - ], - "directions": [ - "Add the berries, thyme and sugar to a large bowl and refrigerate overnight.", - "Stir in the vinegar and let sit for 3 hours, mixing or shaking occasionally, then stir until sugar is dissolved.", - "Strain out solids and store in the refrigerator." - ], - "image": "berry-shrub.jpg", - "keywords": [ - "cocktail", - "fresh" - ] +{ + "name": "Berry Shrub", + "description": "A delicious berry cocktail shrub.", + "github": "cedrvanh", + "ingredients": [ + { + "quantity": "1", + "measure": "pint", + "ingredient": "fresh or frozen raspberries" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "sprig", + "ingredient": "thyme" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "white balsamic vinegar" + } + ], + "directions": [ + "Add the berries, thyme and sugar to a large bowl and refrigerate overnight.", + "Stir in the vinegar and let sit for 3 hours, mixing or shaking occasionally, then stir until sugar is dissolved.", + "Strain out solids and store in the refrigerator." + ], + "image": "berry-shrub.jpg", + "keywords": [ + "cocktail", + "fresh" + ] } \ No newline at end of file diff --git a/src/recipes/berrylicious-frozen-sangria-slush.json b/src/recipes/berrylicious-frozen-sangria-slush.json index a6937a1d7..59ba4582e 100644 --- a/src/recipes/berrylicious-frozen-sangria-slush.json +++ b/src/recipes/berrylicious-frozen-sangria-slush.json @@ -1,57 +1,57 @@ -{ - "name": "Berrylicious Frozen Sangria Slush", - "description": "This boozy, fruity frozen sangria is an adult version of the icy slushies we slurped down as kids. So refreshing on a hot summer night. Cheers!", - "github": "wfebriad", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "red wine" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "ice cubes, crushed" - }, - { - "quantity": "⅓ ", - "measure": "cup", - "ingredient": "frozen blueberries" - }, - { - "quantity": "⅓", - "measure": "cup", - "ingredient": "fresh raspberries" - }, - { - "quantity": "¼ ", - "measure": "cup", - "ingredient": "orange-flavored liqueur" - }, - { - "quantity": "½", - "measure": "", - "ingredient": "orange, juiced" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "white sugar, or more to taste" - } - ], - "directions": [ - "Combine red wine, ice cubes, blueberries, raspberries, strawberries, orange-flavored liqueur, orange juice, and sugar in a blender.", - "process until smooth.", - "Serve immediately or freeze." - ], - "image": "berrylicious-frozen-sangria-slush.jpg", - "keywords": [ - "fruit", - "fruit juice", - "juice", - "non-alcoholic", - "orange", - "red wine", - "wine" - ] -} +{ + "name": "Berrylicious Frozen Sangria Slush", + "description": "This boozy, fruity frozen sangria is an adult version of the icy slushies we slurped down as kids. So refreshing on a hot summer night. Cheers!", + "github": "wfebriad", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "red wine" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "ice cubes, crushed" + }, + { + "quantity": "⅓ ", + "measure": "cup", + "ingredient": "frozen blueberries" + }, + { + "quantity": "⅓", + "measure": "cup", + "ingredient": "fresh raspberries" + }, + { + "quantity": "¼ ", + "measure": "cup", + "ingredient": "orange-flavored liqueur" + }, + { + "quantity": "½", + "measure": "", + "ingredient": "orange, juiced" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "white sugar, or more to taste" + } + ], + "directions": [ + "Combine red wine, ice cubes, blueberries, raspberries, strawberries, orange-flavored liqueur, orange juice, and sugar in a blender.", + "process until smooth.", + "Serve immediately or freeze." + ], + "image": "berrylicious-frozen-sangria-slush.jpg", + "keywords": [ + "fruit", + "fruit juice", + "juice", + "non-alcoholic", + "orange", + "red wine", + "wine" + ] +} diff --git a/src/recipes/beton.json b/src/recipes/beton.json index 709700d89..fa1184116 100644 --- a/src/recipes/beton.json +++ b/src/recipes/beton.json @@ -1,35 +1,35 @@ -{ - "name": "Beton", - "description": "Herbal Becherovka variation to Gin-Tonic classic.", - "github": "4ndrej", - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "Becherovka" - }, - { - "quantity": "120", - "measure": "ml", - "ingredient": "Tonic" - }, - { - "quantity": "1", - "measure": "wedge", - "ingredient": "Lemon" - } - ], - "directions": [ - "Put ice into highball glass.", - "Add Becherovka and tonic water.", - "Garnish with a lemon wedge." - ], - "image": "beton.jpg", - "keywords": [ - "becherovka", - "tonic", - "lemon", - "alcoholic", - "vegan" - ] -} +{ + "name": "Beton", + "description": "Herbal Becherovka variation to Gin-Tonic classic.", + "github": "4ndrej", + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "Becherovka" + }, + { + "quantity": "120", + "measure": "ml", + "ingredient": "Tonic" + }, + { + "quantity": "1", + "measure": "wedge", + "ingredient": "Lemon" + } + ], + "directions": [ + "Put ice into highball glass.", + "Add Becherovka and tonic water.", + "Garnish with a lemon wedge." + ], + "image": "beton.jpg", + "keywords": [ + "becherovka", + "tonic", + "lemon", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/between-the-sheets.json b/src/recipes/between-the-sheets.json index 144a4996f..2ca7584e4 100644 --- a/src/recipes/between-the-sheets.json +++ b/src/recipes/between-the-sheets.json @@ -1,41 +1,41 @@ -{ - "name": "Between the Sheets", - "description": "Also known as the Maiden’s Prayer, Between the Sheets is a flirty cocktail for sexy people!", - "github": "kissu", - "ingredients": [ - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Light rum" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Brandy" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Triple sec" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Lemon juice" - } - ], - "directions": [ - "Pour ingredients into a cocktail shaker with ice cubes.", - "Shake well.", - "Strain and pour into a martini glass.", - "Garnish with the lemon twists." - ], - "image": "between-the-sheets.jpg", - "source": "http://blog.tripbase.com/8-most-exotic-cocktails-in-the-world-and-how-to-make-them/", - "keywords": [ - "lime", - "strong", - "sour", - "cocktail" - ] -} +{ + "name": "Between the Sheets", + "description": "Also known as the Maiden’s Prayer, Between the Sheets is a flirty cocktail for sexy people!", + "github": "kissu", + "ingredients": [ + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Light rum" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Brandy" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Triple sec" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Lemon juice" + } + ], + "directions": [ + "Pour ingredients into a cocktail shaker with ice cubes.", + "Shake well.", + "Strain and pour into a martini glass.", + "Garnish with the lemon twists." + ], + "image": "between-the-sheets.jpg", + "source": "http://blog.tripbase.com/8-most-exotic-cocktails-in-the-world-and-how-to-make-them/", + "keywords": [ + "lime", + "strong", + "sour", + "cocktail" + ] +} diff --git a/src/recipes/bijou.json b/src/recipes/bijou.json index fe01ac42c..1773a8882 100644 --- a/src/recipes/bijou.json +++ b/src/recipes/bijou.json @@ -1,47 +1,47 @@ -{ - "name": "Bijou", - "description": "Pronounced Bee-Jew, this is a somewhat drier version of the classic cocktail included in the Harry Johnson's Bartender Manual from 1900", - "github": "cary-williams", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "dry Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Chartreuse" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sweet Vermouth" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Orange Bitters" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "Lemon Peel" - } - ], - "directions": [ - "Combine in a mixing glass and fill with cracked ice", - "Stir for 20 seconds", - "Strain into a chilled cocktail glass.", - "Garnish with a twist of lemon peel over the drink." - ], - "image": "bijou.jpg", - "keywords": [ - "gin", - "vermouth", - "alcoholic", - "simple", - "chartreuse", - "dry" - ] -} +{ + "name": "Bijou", + "description": "Pronounced Bee-Jew, this is a somewhat drier version of the classic cocktail included in the Harry Johnson's Bartender Manual from 1900", + "github": "cary-williams", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "dry Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Chartreuse" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sweet Vermouth" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Orange Bitters" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "Lemon Peel" + } + ], + "directions": [ + "Combine in a mixing glass and fill with cracked ice", + "Stir for 20 seconds", + "Strain into a chilled cocktail glass.", + "Garnish with a twist of lemon peel over the drink." + ], + "image": "bijou.jpg", + "keywords": [ + "gin", + "vermouth", + "alcoholic", + "simple", + "chartreuse", + "dry" + ] +} diff --git a/src/recipes/bikini-martini.json b/src/recipes/bikini-martini.json index 6868c1766..b54da0711 100644 --- a/src/recipes/bikini-martini.json +++ b/src/recipes/bikini-martini.json @@ -1,40 +1,40 @@ -{ - "name": "Bikini Martini", - "description": "An awesome drink to sip by the pool! Garnish with an orange wheel.", - "github": "kevinmel2000", - "ingredients": [ - { - "quantity": "1", - "measure": "fluid ounce", - "ingredient": "coconut rum" - }, - { - "quantity": "3/4", - "measure": "fluid ounce", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "fluid ounce", - "ingredient": "pineapple juice" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "grenadine syrup" - } - ], - "directions": [ - "Combine rum, vodka and pineapple juice in a drink shaker.", - "Shake firmly until frothy.", - "Pour in a martini glass.", - "Add a touch of grenadine in the middle. Garnish with an orange wheel." - ], - "image": "bikini-martini.jpg", - "keywords": [ - "vegan", - "alcoholic", - "fruit", - "sweet" - ] -} +{ + "name": "Bikini Martini", + "description": "An awesome drink to sip by the pool! Garnish with an orange wheel.", + "github": "kevinmel2000", + "ingredients": [ + { + "quantity": "1", + "measure": "fluid ounce", + "ingredient": "coconut rum" + }, + { + "quantity": "3/4", + "measure": "fluid ounce", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "fluid ounce", + "ingredient": "pineapple juice" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "grenadine syrup" + } + ], + "directions": [ + "Combine rum, vodka and pineapple juice in a drink shaker.", + "Shake firmly until frothy.", + "Pour in a martini glass.", + "Add a touch of grenadine in the middle. Garnish with an orange wheel." + ], + "image": "bikini-martini.jpg", + "keywords": [ + "vegan", + "alcoholic", + "fruit", + "sweet" + ] +} diff --git a/src/recipes/bitter-but-good.json b/src/recipes/bitter-but-good.json index 8cecec764..78fbfdd7a 100644 --- a/src/recipes/bitter-but-good.json +++ b/src/recipes/bitter-but-good.json @@ -1,40 +1,40 @@ -{ - "name": "Bitter but Good eh!", - "description": "A sweet quebecois/french-canadian take on a Negroni.", - "github": "girOly", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "White Beer" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "Combine the spirits into a mixing glass with ice.", - "Stir until chilled. Strain into a rocks glass filled halfway with ice.", - "Fill rest of Rocks Glass with White Beer.", - "Garnish with an orange peel." - ], - "image": "bitter-but-good.jpg", - "keywords": [ - "gin", - "white beer", - "alcoholic", - "vegan" - ] -} +{ + "name": "Bitter but Good eh!", + "description": "A sweet quebecois/french-canadian take on a Negroni.", + "github": "girOly", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "White Beer" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "Combine the spirits into a mixing glass with ice.", + "Stir until chilled. Strain into a rocks glass filled halfway with ice.", + "Fill rest of Rocks Glass with White Beer.", + "Garnish with an orange peel." + ], + "image": "bitter-but-good.jpg", + "keywords": [ + "gin", + "white beer", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/black-martini.json b/src/recipes/black-martini.json index 53dce8b41..22a744f0c 100644 --- a/src/recipes/black-martini.json +++ b/src/recipes/black-martini.json @@ -1,36 +1,36 @@ -{ - "name": "Black Martini", - "description": "Black Martini is a famous cocktail beverage served at parties and special occasions, with plenty of variations.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "gin" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "black sambuca" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemon twist" - } - ], - "directions": [ - "Combine ingredients in a shaker and shake with ice until chilled.", - "Strain into a cocktail glass.", - "Garnish with a lemon twist." - ], - "image": "black-martini.jpg", - "keywords": [ - "alcoholic", - "gin", - "lemon", - "sambuca" - ] - -} +{ + "name": "Black Martini", + "description": "Black Martini is a famous cocktail beverage served at parties and special occasions, with plenty of variations.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "gin" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "black sambuca" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemon twist" + } + ], + "directions": [ + "Combine ingredients in a shaker and shake with ice until chilled.", + "Strain into a cocktail glass.", + "Garnish with a lemon twist." + ], + "image": "black-martini.jpg", + "keywords": [ + "alcoholic", + "gin", + "lemon", + "sambuca" + ] + +} diff --git a/src/recipes/black-russian.json b/src/recipes/black-russian.json index e0404976e..2d25abdde 100644 --- a/src/recipes/black-russian.json +++ b/src/recipes/black-russian.json @@ -1,29 +1,29 @@ -{ - "name": "Black Russian", - "description": "This is a drink similar to White Russian, made with just vodka and coffee liqueur.", - "github": "evoticone", - "ingredients": [ - { - "quantity": "2", - "measure": "parts", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "coffee liqueur, such as Kahlua" - } - ], - "directions": [ - "Fill a rocks glass with ice.", - "Add one part Kahlua, two parts of vodka.", - "Mix, add a cherry on top and enjoy." - ], - "image": "black-russian.jpg", - "keywords": [ - "coffee", - "cocktail", - "alcoholic", - "vodka" - ] -} +{ + "name": "Black Russian", + "description": "This is a drink similar to White Russian, made with just vodka and coffee liqueur.", + "github": "evoticone", + "ingredients": [ + { + "quantity": "2", + "measure": "parts", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "coffee liqueur, such as Kahlua" + } + ], + "directions": [ + "Fill a rocks glass with ice.", + "Add one part Kahlua, two parts of vodka.", + "Mix, add a cherry on top and enjoy." + ], + "image": "black-russian.jpg", + "keywords": [ + "coffee", + "cocktail", + "alcoholic", + "vodka" + ] +} diff --git a/src/recipes/black-velvet.json b/src/recipes/black-velvet.json index 65dea15e0..d3c222361 100644 --- a/src/recipes/black-velvet.json +++ b/src/recipes/black-velvet.json @@ -1,28 +1,28 @@ -{ - "name": "Black Velvet", - "description": "The Black Velvet is a beer cocktail made from a stout and white sparkling wine or champagne.", - "github": "codekendo", - "ingredients": [ - { - "quantity": "1", - "measure": "part", - "ingredient": "Sparkling Wine or Champagne" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Stout Beer" - } - ], - "directions": [ - "Fill a tall champagne flute, halfway with chilled sparkling wine (champagne).", - "Fill the other half with chilled stout beer on top of the wine." - ], - "image": "black-velvet.jpg", - "source": "https://en.wikipedia.org/wiki/Black_Velvet_(beer_cocktail)", - "keywords": [ - "stout", - "champagne", - "sparkling wine" - ] +{ + "name": "Black Velvet", + "description": "The Black Velvet is a beer cocktail made from a stout and white sparkling wine or champagne.", + "github": "codekendo", + "ingredients": [ + { + "quantity": "1", + "measure": "part", + "ingredient": "Sparkling Wine or Champagne" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Stout Beer" + } + ], + "directions": [ + "Fill a tall champagne flute, halfway with chilled sparkling wine (champagne).", + "Fill the other half with chilled stout beer on top of the wine." + ], + "image": "black-velvet.jpg", + "source": "https://en.wikipedia.org/wiki/Black_Velvet_(beer_cocktail)", + "keywords": [ + "stout", + "champagne", + "sparkling wine" + ] } \ No newline at end of file diff --git a/src/recipes/black-widow.json b/src/recipes/black-widow.json index 62061af72..c428cf255 100644 --- a/src/recipes/black-widow.json +++ b/src/recipes/black-widow.json @@ -1,28 +1,28 @@ -{ - "name": "Black Widow", - "description": "A cocktail perfect for Halloween to impress your friends.", - "github": "chiaramistro", - "ingredients": [ - { - "quantity": "2", - "measure": "ounces", - "ingredient": "black vodka or frozen raspberries" - }, - { - "quantity": "3", - "measure": "ounces", - "ingredient": "cranberry juice" - } - ], - "directions": [ - "Pour the cranberry juice into a glass filled with ice. The taller the glass, the nicer will be the effect of the two liquids mixing together.", - "Float the vodka on top by pouring it over the back of a bar spoon to disrupt the flow. Or you can slowly drizzle the vodka onto the cranberry juice for a swirling effect.", - "Serve and enjoy!" - ], - "image": "black-widow.jpg", - "keywords": [ - "cocktail", - "halloween", - "vodka" - ] -} +{ + "name": "Black Widow", + "description": "A cocktail perfect for Halloween to impress your friends.", + "github": "chiaramistro", + "ingredients": [ + { + "quantity": "2", + "measure": "ounces", + "ingredient": "black vodka or frozen raspberries" + }, + { + "quantity": "3", + "measure": "ounces", + "ingredient": "cranberry juice" + } + ], + "directions": [ + "Pour the cranberry juice into a glass filled with ice. The taller the glass, the nicer will be the effect of the two liquids mixing together.", + "Float the vodka on top by pouring it over the back of a bar spoon to disrupt the flow. Or you can slowly drizzle the vodka onto the cranberry juice for a swirling effect.", + "Serve and enjoy!" + ], + "image": "black-widow.jpg", + "keywords": [ + "cocktail", + "halloween", + "vodka" + ] +} diff --git a/src/recipes/blackberry-thyme-margarita.json b/src/recipes/blackberry-thyme-margarita.json index a0174b358..07f7148cf 100644 --- a/src/recipes/blackberry-thyme-margarita.json +++ b/src/recipes/blackberry-thyme-margarita.json @@ -1,66 +1,66 @@ -{ - "name": "Blackberry Thyme Margarita", - "description": "Margaritas served with a not so usual combination of blackberries and thyme.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "8", - "measure": "number", - "ingredient": "fresh blackberries" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "fresh thyme" - }, - { - "quantity": "1/2", - "measure": "number", - "ingredient": "lime" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "orange zest" - }, - { - "quantity": "2", - "measure": "ounce", - "ingredient": "silver tequila" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sparkling water for topping" - }, - { - "quantity": "1-2", - "measure": "tablespoon", - "ingredient": "Optional: Honey for sweetening" - }, - { - "quantity": "1", - "measure": "number", - "ingredient": "Optional: red plum quartered" - } - ], - "directions": [ - "Run a lime wedge around the rim of glass and coat in flaky salt.", - "Add blackberries, plums, thyme, lime juice, honey (if using), and orange zest in a cocktail shaker or glass jar.", - "Muddle all of the ingredients together, squashing everything to release the juices from the fruit.", - "Add the tequila.", - "Fill with ice and shake until combined.", - "Strain into your prepared glass.", - "Top with sparkling water, if desired.", - "Serve with fresh thyme.", - "Cheers!" - ], - "image": "blackberry-thyme-margarita.jpg", - "source": "https://www.halfbakedharvest.com/blackberry-thyme-margarita/", - "keywords": [ - "tequila", - "blackberry", - "thyme", - "alcoholic" - ] -} +{ + "name": "Blackberry Thyme Margarita", + "description": "Margaritas served with a not so usual combination of blackberries and thyme.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "8", + "measure": "number", + "ingredient": "fresh blackberries" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "fresh thyme" + }, + { + "quantity": "1/2", + "measure": "number", + "ingredient": "lime" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "orange zest" + }, + { + "quantity": "2", + "measure": "ounce", + "ingredient": "silver tequila" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sparkling water for topping" + }, + { + "quantity": "1-2", + "measure": "tablespoon", + "ingredient": "Optional: Honey for sweetening" + }, + { + "quantity": "1", + "measure": "number", + "ingredient": "Optional: red plum quartered" + } + ], + "directions": [ + "Run a lime wedge around the rim of glass and coat in flaky salt.", + "Add blackberries, plums, thyme, lime juice, honey (if using), and orange zest in a cocktail shaker or glass jar.", + "Muddle all of the ingredients together, squashing everything to release the juices from the fruit.", + "Add the tequila.", + "Fill with ice and shake until combined.", + "Strain into your prepared glass.", + "Top with sparkling water, if desired.", + "Serve with fresh thyme.", + "Cheers!" + ], + "image": "blackberry-thyme-margarita.jpg", + "source": "https://www.halfbakedharvest.com/blackberry-thyme-margarita/", + "keywords": [ + "tequila", + "blackberry", + "thyme", + "alcoholic" + ] +} diff --git a/src/recipes/blackthorn-cocktail.json b/src/recipes/blackthorn-cocktail.json index 741aa059f..aac0ee091 100644 --- a/src/recipes/blackthorn-cocktail.json +++ b/src/recipes/blackthorn-cocktail.json @@ -1,52 +1,52 @@ -{ - "name": "Blackthorn Cocktail", - "description": "One of the few classics to highlight Irish whiskey", - "github": "DDuplinszki", - "ingredients": [ - { - "quantity": "2", - "measure": "oz.", - "ingredient": "Irish whiskey" - }, - { - "quantity": "1/2", - "measure": "oz.", - "ingredient": "dry vermouth" - }, - { - "quantity": "1/2", - "measure": "oz.", - "ingredient": "sweet vermouth" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Angostura bitters" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "absinthe" - }, - { - "quantity": "1/2", - "measure": "oz.", - "ingredient": "sweet vermouth" - }, - { - "quantity": "1", - "measure": "piece of", - "ingredient": "lemon twist" - } - ], - "directions": [ - "Stir all ingredients with ice, then strain into a glass filled with fresh ice, and garnish.", - "Enjoy!" - ], - "image": "blackthorn-cocktail.jpg", - "source": "https://imbibemagazine.com/recipe/blackthorn-cocktail/", - "keywords": [ - "Irish whiskey", - "vermouth" - ] +{ + "name": "Blackthorn Cocktail", + "description": "One of the few classics to highlight Irish whiskey", + "github": "DDuplinszki", + "ingredients": [ + { + "quantity": "2", + "measure": "oz.", + "ingredient": "Irish whiskey" + }, + { + "quantity": "1/2", + "measure": "oz.", + "ingredient": "dry vermouth" + }, + { + "quantity": "1/2", + "measure": "oz.", + "ingredient": "sweet vermouth" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Angostura bitters" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "absinthe" + }, + { + "quantity": "1/2", + "measure": "oz.", + "ingredient": "sweet vermouth" + }, + { + "quantity": "1", + "measure": "piece of", + "ingredient": "lemon twist" + } + ], + "directions": [ + "Stir all ingredients with ice, then strain into a glass filled with fresh ice, and garnish.", + "Enjoy!" + ], + "image": "blackthorn-cocktail.jpg", + "source": "https://imbibemagazine.com/recipe/blackthorn-cocktail/", + "keywords": [ + "Irish whiskey", + "vermouth" + ] } \ No newline at end of file diff --git a/src/recipes/blood-and-sand.json b/src/recipes/blood-and-sand.json index 03ab20c7f..0be4171c0 100644 --- a/src/recipes/blood-and-sand.json +++ b/src/recipes/blood-and-sand.json @@ -1,59 +1,59 @@ -{ - "name": "Blood and Sand", - "description": "A sweet and citrus-y martini alternative.", - "github": "cazagen", - "ingredients": [ - { - "quantity": "3/4", - "measure": "fl oz", - "ingredient": "Fresh blood orange juice" - }, - { - "quantity": "3/4", - "measure": "fl oz", - "ingredient": "Cherry liqueur" - }, - { - "quantity": "3/4", - "measure": "fl oz", - "ingredient": "Sweet vermouth" - }, - { - "quantity": "3/4", - "measure": "fl oz", - "ingredient": "Scotch" - }, - { - "quantity": "", - "measure": "", - "ingredient": "An orange" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "A chilled coupe glass" - } - ], - "directions": [ - "Add orange juice, cherry liqueur, vermouth, and scotch to a mixing tin.", - "Add ice to mixing tin.", - "Shake well.", - "Double-strain into a chilled coupe.", - "Garnish with an orange swath." - ], - "image": "blood-and-sand.jpg", - "keywords": [ - "blood orange juice", - "cherry flavoured liqueur", - "sweet vermouth", - "scotch", - "alcoholic", - "classic", - "fruit" - ] -} +{ + "name": "Blood and Sand", + "description": "A sweet and citrus-y martini alternative.", + "github": "cazagen", + "ingredients": [ + { + "quantity": "3/4", + "measure": "fl oz", + "ingredient": "Fresh blood orange juice" + }, + { + "quantity": "3/4", + "measure": "fl oz", + "ingredient": "Cherry liqueur" + }, + { + "quantity": "3/4", + "measure": "fl oz", + "ingredient": "Sweet vermouth" + }, + { + "quantity": "3/4", + "measure": "fl oz", + "ingredient": "Scotch" + }, + { + "quantity": "", + "measure": "", + "ingredient": "An orange" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "A chilled coupe glass" + } + ], + "directions": [ + "Add orange juice, cherry liqueur, vermouth, and scotch to a mixing tin.", + "Add ice to mixing tin.", + "Shake well.", + "Double-strain into a chilled coupe.", + "Garnish with an orange swath." + ], + "image": "blood-and-sand.jpg", + "keywords": [ + "blood orange juice", + "cherry flavoured liqueur", + "sweet vermouth", + "scotch", + "alcoholic", + "classic", + "fruit" + ] +} diff --git a/src/recipes/blood-orange-champagne-mule.json b/src/recipes/blood-orange-champagne-mule.json index 1f80de235..de5955de6 100644 --- a/src/recipes/blood-orange-champagne-mule.json +++ b/src/recipes/blood-orange-champagne-mule.json @@ -1,53 +1,53 @@ -{ - "name": "Blood Orange Champagne Mule", - "description": "A cocktail perfect for every occasion.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1/2", - "measure": "piece", - "ingredient": "medium blood orange: juiced" - }, - { - "quantity": "1/2", - "measure": "piece", - "ingredient": "lime: juiced" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "vodka" - }, - { - "quantity": "8", - "measure": "pieces", - "ingredient": "mint leaves" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "chilled ginger beer" - }, - { - "quantity": "", - "measure": "", - "ingredient": "chilled champagne for topping" - } - ], - "directions": [ - "Combine the blood orange juice, lime juice and vodka in a glass.", - "Add the ginger beer and top with the champagne.", - "Garnish with blood orange slices and fresh mint.", - "Cheers!" - ], - "image": "blood-orange-champagne-mule.jpg", - "source": "https://www.halfbakedharvest.com/blood-orange-champagne-mule/", - "keywords": [ - "orange", - "champagne", - "vodka", - "ginger beer", - "alcoholic", - "vegan" - ] -} +{ + "name": "Blood Orange Champagne Mule", + "description": "A cocktail perfect for every occasion.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1/2", + "measure": "piece", + "ingredient": "medium blood orange: juiced" + }, + { + "quantity": "1/2", + "measure": "piece", + "ingredient": "lime: juiced" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "vodka" + }, + { + "quantity": "8", + "measure": "pieces", + "ingredient": "mint leaves" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "chilled ginger beer" + }, + { + "quantity": "", + "measure": "", + "ingredient": "chilled champagne for topping" + } + ], + "directions": [ + "Combine the blood orange juice, lime juice and vodka in a glass.", + "Add the ginger beer and top with the champagne.", + "Garnish with blood orange slices and fresh mint.", + "Cheers!" + ], + "image": "blood-orange-champagne-mule.jpg", + "source": "https://www.halfbakedharvest.com/blood-orange-champagne-mule/", + "keywords": [ + "orange", + "champagne", + "vodka", + "ginger beer", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/bloody-eyeball-shot.json b/src/recipes/bloody-eyeball-shot.json index 6f48c06fb..50abf8ec4 100644 --- a/src/recipes/bloody-eyeball-shot.json +++ b/src/recipes/bloody-eyeball-shot.json @@ -1,47 +1,47 @@ -{ - "name": "Bloody Eyeball Shot", - "description": "With a mix of coconut rum, Peach Schnapps, vodka, lychee fruits, and blueberries, you can be sure these boozy Halloween treats will work perfectly for your little haunted parties. Plus, these little creepy Halloween cocktails look like they have real eyes in them!", - "github": "speex404", - "ingredients": [ - { - "quantity": "1", - "measure": "part", - "ingredient": "Coconut Rum" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Vodka" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Red Food Coloring" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lychee" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Jelly" - } - ], - "directions": [ - "Create bloody eyeball garnish by placing a small amount of red jam into a lychee before adding a blueberry inside also.", - "Add ice, coconut rum, peach schnapps and vodka to a shaking glass and combine until cold.", - "Strain mix into shot glass and add a splash of red food coloring. Garnish with eyeball.\u2028" - ], - "image": "bloody-eyeball-shot.jpg", - "source": "https://tipsybartender.com/recipe/bloody-eyeball-shot/", - "keywords": [ - "halloween" - ] +{ + "name": "Bloody Eyeball Shot", + "description": "With a mix of coconut rum, Peach Schnapps, vodka, lychee fruits, and blueberries, you can be sure these boozy Halloween treats will work perfectly for your little haunted parties. Plus, these little creepy Halloween cocktails look like they have real eyes in them!", + "github": "speex404", + "ingredients": [ + { + "quantity": "1", + "measure": "part", + "ingredient": "Coconut Rum" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Vodka" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Red Food Coloring" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lychee" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Jelly" + } + ], + "directions": [ + "Create bloody eyeball garnish by placing a small amount of red jam into a lychee before adding a blueberry inside also.", + "Add ice, coconut rum, peach schnapps and vodka to a shaking glass and combine until cold.", + "Strain mix into shot glass and add a splash of red food coloring. Garnish with eyeball.\u2028" + ], + "image": "bloody-eyeball-shot.jpg", + "source": "https://tipsybartender.com/recipe/bloody-eyeball-shot/", + "keywords": [ + "halloween" + ] } \ No newline at end of file diff --git a/src/recipes/bloody-geisha.json b/src/recipes/bloody-geisha.json index 5f903a104..fefda19b4 100644 --- a/src/recipes/bloody-geisha.json +++ b/src/recipes/bloody-geisha.json @@ -1,65 +1,65 @@ -{ - "name": "Bloody Geisha", - "description": "The Bloody Geisha is a variant of the Bloody Mary with Sake instead of Vodka.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Sake" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "tomato juice" - }, - { - "quantity": "0.5", - "measure": "dashes", - "ingredient": "lime juice" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Worcestershire sauce" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Tabasco sauce" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "celery salt" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "ground black pepper" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "smoked paprika" - } - ], - "directions": [ - "Pour some celery salt onto a small plate.", - "Rub the juicy side of the lemon or lime wedge along the lip of a pint glass.", - "Roll the outer edge of the glass in celery salt until fully coated.", - "Fill with ice and set aside.", - "Squeeze the lemon and lime wedges into a shaker and drop them in.", - "Add the remaining ingredients and ice and shake gently.", - "Strain into the prepared glass.", - "Garnish with a parsley sprig, 2 speared green olives, and a lime wedge and a celery stalk (optional)." - ], - "image": "bloody-geisha.jpg", - "keywords": [ - "sake", - "tabasco", - "lemon", - "tomato juice", - "worcestershire sauce" - ] -} +{ + "name": "Bloody Geisha", + "description": "The Bloody Geisha is a variant of the Bloody Mary with Sake instead of Vodka.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Sake" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "tomato juice" + }, + { + "quantity": "0.5", + "measure": "dashes", + "ingredient": "lime juice" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Worcestershire sauce" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Tabasco sauce" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "celery salt" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "ground black pepper" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "smoked paprika" + } + ], + "directions": [ + "Pour some celery salt onto a small plate.", + "Rub the juicy side of the lemon or lime wedge along the lip of a pint glass.", + "Roll the outer edge of the glass in celery salt until fully coated.", + "Fill with ice and set aside.", + "Squeeze the lemon and lime wedges into a shaker and drop them in.", + "Add the remaining ingredients and ice and shake gently.", + "Strain into the prepared glass.", + "Garnish with a parsley sprig, 2 speared green olives, and a lime wedge and a celery stalk (optional)." + ], + "image": "bloody-geisha.jpg", + "keywords": [ + "sake", + "tabasco", + "lemon", + "tomato juice", + "worcestershire sauce" + ] +} diff --git a/src/recipes/bloody-kirby.json b/src/recipes/bloody-kirby.json index dc8a2b0de..9a7c11633 100644 --- a/src/recipes/bloody-kirby.json +++ b/src/recipes/bloody-kirby.json @@ -1,47 +1,47 @@ -{ - "name": "Bloody Kirby", - "description": "Don’t let the Bloody Mary steal all of the limelight.", - "github": "zzyzy", - "ingredients": [ - { - "quantity": "1 1⁄2", - "measure": "oz", - "ingredient": "Grey Goose Le Citron vodka" - }, - { - "quantity": "1 1⁄2", - "measure": "", - "ingredient": "Kirby cucumber slice, peeled" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Tabasco sauce" - }, - { - "quantity": "1⁄4", - "measure": "oz", - "ingredient": "Dry vermouth" - }, - { - "quantity": "1 1⁄2", - "measure": "oz", - "ingredient": "Tomato juice" - } - ], - "directions": [ - "Muddle the vodka, cucumber, Tabasco, and vermouth in a shaker.", - "Strain into a rocks glass filled with ice.", - "Top with the tomato juice and garnish with a Kirby cucumber spear." - ], - "image": "bloody-kirby.jpg", - "keywords": [ - "vodka", - "tabasco", - "vermouth", - "tomato juice", - "alcoholic", - "vegan", - "savory" - ] -} +{ + "name": "Bloody Kirby", + "description": "Don’t let the Bloody Mary steal all of the limelight.", + "github": "zzyzy", + "ingredients": [ + { + "quantity": "1 1⁄2", + "measure": "oz", + "ingredient": "Grey Goose Le Citron vodka" + }, + { + "quantity": "1 1⁄2", + "measure": "", + "ingredient": "Kirby cucumber slice, peeled" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Tabasco sauce" + }, + { + "quantity": "1⁄4", + "measure": "oz", + "ingredient": "Dry vermouth" + }, + { + "quantity": "1 1⁄2", + "measure": "oz", + "ingredient": "Tomato juice" + } + ], + "directions": [ + "Muddle the vodka, cucumber, Tabasco, and vermouth in a shaker.", + "Strain into a rocks glass filled with ice.", + "Top with the tomato juice and garnish with a Kirby cucumber spear." + ], + "image": "bloody-kirby.jpg", + "keywords": [ + "vodka", + "tabasco", + "vermouth", + "tomato juice", + "alcoholic", + "vegan", + "savory" + ] +} diff --git a/src/recipes/bloody-mary.json b/src/recipes/bloody-mary.json index 9e983db31..ecae1cb4a 100644 --- a/src/recipes/bloody-mary.json +++ b/src/recipes/bloody-mary.json @@ -1,78 +1,78 @@ -{ - "name": "Bloody Mary", - "description": "The Bloody Mary is a vodka-soaked nutritional breakfast and hangover cure all in one.", - "github": "hilsmann", - "ingredients": [ - { - "quantity": "1", - "measure": "Lemon", - "ingredient": "wedge" - }, - { - "quantity": "1", - "measure": "Lime", - "ingredient": "wedge" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Tomato juice" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Tabasco sauce" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "Prepared horseradish" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Worcestershire sauce" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "Celery salt" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "Ground black pepper" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "smoked paprika" - } - ], - "directions": [ - "Pour some celery salt onto a small plate.", - "Rub the juicy side of the lemon or lime wedge along the lip of a pint glass.", - "Roll the outer edge of the glass in celery salt until fully coated.", - "Fill with ice and set aside.", - "Squeeze the lemon and lime wedges into a shaker and drop them in.", - "Add the remaining ingredients and ice and shake gently.", - "Strain into the prepared glass.", - "Garnish with a parsley sprig, 2 speared green olives, and a lime wedge and a celery stalk (optional)." - ], - "image": "bloody-mary.jpg", - "keywords": [ - "vodka", - "tabasco", - "lemon", - "tomato juice", - "worcestershire sauce", - "alcoholic", - "savory", - "vegan" - ] -} +{ + "name": "Bloody Mary", + "description": "The Bloody Mary is a vodka-soaked nutritional breakfast and hangover cure all in one.", + "github": "hilsmann", + "ingredients": [ + { + "quantity": "1", + "measure": "Lemon", + "ingredient": "wedge" + }, + { + "quantity": "1", + "measure": "Lime", + "ingredient": "wedge" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Tomato juice" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Tabasco sauce" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "Prepared horseradish" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Worcestershire sauce" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "Celery salt" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "Ground black pepper" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "smoked paprika" + } + ], + "directions": [ + "Pour some celery salt onto a small plate.", + "Rub the juicy side of the lemon or lime wedge along the lip of a pint glass.", + "Roll the outer edge of the glass in celery salt until fully coated.", + "Fill with ice and set aside.", + "Squeeze the lemon and lime wedges into a shaker and drop them in.", + "Add the remaining ingredients and ice and shake gently.", + "Strain into the prepared glass.", + "Garnish with a parsley sprig, 2 speared green olives, and a lime wedge and a celery stalk (optional)." + ], + "image": "bloody-mary.jpg", + "keywords": [ + "vodka", + "tabasco", + "lemon", + "tomato juice", + "worcestershire sauce", + "alcoholic", + "savory", + "vegan" + ] +} diff --git a/src/recipes/blow-job-cocktail.json b/src/recipes/blow-job-cocktail.json index 67d8d5b38..0f3599b70 100644 --- a/src/recipes/blow-job-cocktail.json +++ b/src/recipes/blow-job-cocktail.json @@ -1,40 +1,40 @@ -{ - "name": "Blow Job Cocktail", - "description": "This layered shot originated around the early ’90s in the U.S. and is meant to be imbibed hands-free.", - "github": "fr1sk", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Irish cream" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Amaretto" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Whipped cream" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Coffee liqueur" - } - ], - "directions": [ - "Slowly pour the amaretto in a shot glass.", - "Add Irish cream.", - "Top it with the whipped cream without mixing." - ], - "image": "blow-job-cocktail.jpg", - "keywords": [ - "alcoholic", - "vodka", - "amaretto", - "layers", - "sweet" - ] -} +{ + "name": "Blow Job Cocktail", + "description": "This layered shot originated around the early ’90s in the U.S. and is meant to be imbibed hands-free.", + "github": "fr1sk", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Irish cream" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Amaretto" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Whipped cream" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Coffee liqueur" + } + ], + "directions": [ + "Slowly pour the amaretto in a shot glass.", + "Add Irish cream.", + "Top it with the whipped cream without mixing." + ], + "image": "blow-job-cocktail.jpg", + "keywords": [ + "alcoholic", + "vodka", + "amaretto", + "layers", + "sweet" + ] +} diff --git a/src/recipes/blue-hawaiian-cocktail.json b/src/recipes/blue-hawaiian-cocktail.json index cd81dd8a1..a2fa7b3a5 100644 --- a/src/recipes/blue-hawaiian-cocktail.json +++ b/src/recipes/blue-hawaiian-cocktail.json @@ -1,58 +1,58 @@ -{ - "name": "Blue Hawaiian Cocktail", - "description": "The Blue Hawaiian is a tropical cocktail filled with rum, pineapple, and coconut!", - "github": "damiandiaz212", - "ingredients": [ - { - "quantity": "1", - "measure": "fluid oz", - "ingredient": "rum" - }, - { - "quantity": "1", - "measure": "fluid oz", - "ingredient": "blue Curacao" - }, - { - "quantity": "2", - "measure": "fluid oz", - "ingredient": "pineapple juice" - }, - { - "quantity": "1", - "measure": "fluid oz", - "ingredient": "cream of coconut" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "crushed ice" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "pineapple" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "maraschino cherry" - } - ], - "directions": [ - "Combine rum, blue Curacao, pineapple juice, cream of coconut, and 1 cup crushed ice in blender.", - "Blend on high until smooth. Pour into chilled highball glass.", - "Garnish with a slice of pineapple and a maraschino cherry." - ], - "image": "blue-hawaiian-cocktail.jpg", - "source": "https://www.allrecipes.com/recipe/222550/blue-hawaiian-cocktail/", - "keywords": [ - "blue", - "hawaiian", - "cocktail", - "rum", - "pineapple", - "coconut", - "vegan" - ] -} +{ + "name": "Blue Hawaiian Cocktail", + "description": "The Blue Hawaiian is a tropical cocktail filled with rum, pineapple, and coconut!", + "github": "damiandiaz212", + "ingredients": [ + { + "quantity": "1", + "measure": "fluid oz", + "ingredient": "rum" + }, + { + "quantity": "1", + "measure": "fluid oz", + "ingredient": "blue Curacao" + }, + { + "quantity": "2", + "measure": "fluid oz", + "ingredient": "pineapple juice" + }, + { + "quantity": "1", + "measure": "fluid oz", + "ingredient": "cream of coconut" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "crushed ice" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "pineapple" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "maraschino cherry" + } + ], + "directions": [ + "Combine rum, blue Curacao, pineapple juice, cream of coconut, and 1 cup crushed ice in blender.", + "Blend on high until smooth. Pour into chilled highball glass.", + "Garnish with a slice of pineapple and a maraschino cherry." + ], + "image": "blue-hawaiian-cocktail.jpg", + "source": "https://www.allrecipes.com/recipe/222550/blue-hawaiian-cocktail/", + "keywords": [ + "blue", + "hawaiian", + "cocktail", + "rum", + "pineapple", + "coconut", + "vegan" + ] +} diff --git a/src/recipes/blue-lady.json b/src/recipes/blue-lady.json index f922828a2..b72291c74 100644 --- a/src/recipes/blue-lady.json +++ b/src/recipes/blue-lady.json @@ -1,39 +1,39 @@ -{ - "name": "Blue Lady", - "description": "A delicious blue Curacao & light rum mix (serves 2.)", - "github": "alessandrojcm", - "ingredients": [ - { - "quantity": "3", - "measure": "oz", - "ingredient": "Blue Curaçao" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Light rum" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Lemon juice" - } - ], - "directions": [ - "Pour ingredients in a cocktail shaker.", - "Add ice.", - "Shake vigorously.", - "Strain into chilled cocktail glasses." - ], - "image": "blue-lady.jpg", - "keywords": [ - "rum", - "blue", - "blue curaçao", - "curaçao", - "lemon", - "fresh", - "vegan", - "alcoholic" - ] -} +{ + "name": "Blue Lady", + "description": "A delicious blue Curacao & light rum mix (serves 2.)", + "github": "alessandrojcm", + "ingredients": [ + { + "quantity": "3", + "measure": "oz", + "ingredient": "Blue Curaçao" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Light rum" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Lemon juice" + } + ], + "directions": [ + "Pour ingredients in a cocktail shaker.", + "Add ice.", + "Shake vigorously.", + "Strain into chilled cocktail glasses." + ], + "image": "blue-lady.jpg", + "keywords": [ + "rum", + "blue", + "blue curaçao", + "curaçao", + "lemon", + "fresh", + "vegan", + "alcoholic" + ] +} diff --git a/src/recipes/blue-lagoon.json b/src/recipes/blue-lagoon.json index 29f8890d0..e0ac7048e 100644 --- a/src/recipes/blue-lagoon.json +++ b/src/recipes/blue-lagoon.json @@ -1,40 +1,40 @@ -{ - "name": "Blue Lagoon", - "description": "It was created by Andy MacElhone at Harry's New York Bar in Paris in 1960. Andy MacElhone is none other than Harry's son, founder of Harry's New York Bar and inventor of the White Lady.", - "github": "joshuamart", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "blue curaçao" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "lemon juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cube" - } - ], - "directions": [ - "Squeeze the juice of half a lemon, add it to the shaker with the other ingredients and ice cubes. Strike and pour into the glass while filtering.", - "To make it fresher and lighter, fill the glass with crushed ice beforehand. ", - "Serve in a martini glass." - ], - "image": "blue-lagoon.jpg", - "keywords": [ - "vodka", - "blue curaçao", - "lemon juice", - "alcoholic", - "vegan" - ] -} +{ + "name": "Blue Lagoon", + "description": "It was created by Andy MacElhone at Harry's New York Bar in Paris in 1960. Andy MacElhone is none other than Harry's son, founder of Harry's New York Bar and inventor of the White Lady.", + "github": "joshuamart", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "blue curaçao" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "lemon juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cube" + } + ], + "directions": [ + "Squeeze the juice of half a lemon, add it to the shaker with the other ingredients and ice cubes. Strike and pour into the glass while filtering.", + "To make it fresher and lighter, fill the glass with crushed ice beforehand. ", + "Serve in a martini glass." + ], + "image": "blue-lagoon.jpg", + "keywords": [ + "vodka", + "blue curaçao", + "lemon juice", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/blue-monday.json b/src/recipes/blue-monday.json index 1360dd2c1..51d494431 100644 --- a/src/recipes/blue-monday.json +++ b/src/recipes/blue-monday.json @@ -1,42 +1,42 @@ -{ - "name": "Blue Monday", - "description": "A cocktail from Harry Craddock's 'Savoy Cocktail Book'.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "vodka" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "cointreau" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "blue curaçao" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "flamed orange zest" - } - ], - "directions": [ - "Combine ingredients in a shaker and shake with ice until chilled.", - "Fine strain into a cocktail glass.", - "Garnish with a flamed orange zest." - ], - "image": "blue-monday.jpg", - "keywords": [ - "alcoholic", - "vodka", - "cointreau", - "blue curaçao", - "orange" - ] - -} +{ + "name": "Blue Monday", + "description": "A cocktail from Harry Craddock's 'Savoy Cocktail Book'.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "vodka" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "cointreau" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "blue curaçao" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "flamed orange zest" + } + ], + "directions": [ + "Combine ingredients in a shaker and shake with ice until chilled.", + "Fine strain into a cocktail glass.", + "Garnish with a flamed orange zest." + ], + "image": "blue-monday.jpg", + "keywords": [ + "alcoholic", + "vodka", + "cointreau", + "blue curaçao", + "orange" + ] + +} diff --git a/src/recipes/blue-oasis.json b/src/recipes/blue-oasis.json index 5be6d2627..8764f3bd7 100644 --- a/src/recipes/blue-oasis.json +++ b/src/recipes/blue-oasis.json @@ -1,48 +1,48 @@ -{ - "name": "Blue Oasis", - "description": "Blue Oasis is a delicious gin cocktail that you can prepare for your guests in a kitty party o a game night! This drink goes well on a hot summer night to unwind with your friends.", - "github": "elquimeras", - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "gin" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "blue curaçao" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "soda" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Lemon wedges" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes as required" - } - ], - "directions": [ - "Take a cocktail shaker and fill it half with crushed ice.", - "Add gin along with blue curacao and soda, and shake well until frosted.", - "Take a chilled cocktail glass and strain the liquid mixture into it.", - "Serve in a martini glass.", - "Garnish with a lemon wedge or slice, and serve immediately.", - "(Note: You can even put salt on the rim of the glass for an exciting flavour." - ], - "image": "blue-oasis.jpg", - "keywords": [ - "gin", - "blue curaçao", - "soda", - "alcoholic", - "vegan" - ] -} +{ + "name": "Blue Oasis", + "description": "Blue Oasis is a delicious gin cocktail that you can prepare for your guests in a kitty party o a game night! This drink goes well on a hot summer night to unwind with your friends.", + "github": "elquimeras", + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "gin" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "blue curaçao" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "soda" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Lemon wedges" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes as required" + } + ], + "directions": [ + "Take a cocktail shaker and fill it half with crushed ice.", + "Add gin along with blue curacao and soda, and shake well until frosted.", + "Take a chilled cocktail glass and strain the liquid mixture into it.", + "Serve in a martini glass.", + "Garnish with a lemon wedge or slice, and serve immediately.", + "(Note: You can even put salt on the rim of the glass for an exciting flavour." + ], + "image": "blue-oasis.jpg", + "keywords": [ + "gin", + "blue curaçao", + "soda", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/blue-vodka-lemonade.json b/src/recipes/blue-vodka-lemonade.json index 12c8256e3..f90757962 100644 --- a/src/recipes/blue-vodka-lemonade.json +++ b/src/recipes/blue-vodka-lemonade.json @@ -1,42 +1,42 @@ -{ - "name": "Blue Vodka Lemonade", - "description": "A twist to classic lemonade", - "github": "JZerman2018", - "ingredients": [ - { - "quantity": "8", - "measure": "oz", - "ingredient": "Lemonade" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Blue liquor, (UV Blue Vodka or Blue Curaçao)" - }, - { - "quantity": "1-2", - "measure": "drops", - "ingredient": "Blue food coloring, optional" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lemon Wedge" - } - ], - "directions": [ - "Mix together lemonade and blue liquor", - "Add a drop or 2 of blue food coloring for deeper blue color", - "Serve over ice. Garnish with lemon" - ], - "image": "blue-vodka-lemonade.jpg", - "source": "https://dinnersdishesanddesserts.com/blue-vodka-lemonade/", - "keywords": [ - "blue", - "vodka", - "lemonade", - "alcoholic", - "cocktail", - "curaçao" - ] -} +{ + "name": "Blue Vodka Lemonade", + "description": "A twist to classic lemonade", + "github": "JZerman2018", + "ingredients": [ + { + "quantity": "8", + "measure": "oz", + "ingredient": "Lemonade" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Blue liquor, (UV Blue Vodka or Blue Curaçao)" + }, + { + "quantity": "1-2", + "measure": "drops", + "ingredient": "Blue food coloring, optional" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lemon Wedge" + } + ], + "directions": [ + "Mix together lemonade and blue liquor", + "Add a drop or 2 of blue food coloring for deeper blue color", + "Serve over ice. Garnish with lemon" + ], + "image": "blue-vodka-lemonade.jpg", + "source": "https://dinnersdishesanddesserts.com/blue-vodka-lemonade/", + "keywords": [ + "blue", + "vodka", + "lemonade", + "alcoholic", + "cocktail", + "curaçao" + ] +} diff --git a/src/recipes/boba-tea.json b/src/recipes/boba-tea.json index 030e4c23d..d9470728b 100644 --- a/src/recipes/boba-tea.json +++ b/src/recipes/boba-tea.json @@ -1,49 +1,49 @@ -{ - "name": "Boba Tea", - "description": "Trending Boba Tea.", - "github": "cendekia", - "ingredients": [ - { - "quantity": "240", - "measure": "ml", - "ingredient": "water" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "black tea bags" - }, - { - "quantity": "25", - "measure": "gram", - "ingredient": "black tapioca pearls" - }, - { - "quantity": "220", - "measure": "gram", - "ingredient": "brown sugar" - }, - { - "quantity": "120", - "measure": "ml", - "ingredient": "hot water" - } - ], - "directions": [ - "Combine the water and tea bags in a medium pot over high heat. Bring to a boil, then remove the pan from the heat and let the tea cool to room temperature.", - "Bring a medium pot of water to boil over high heat. Once the water is boiling, add the tapioca pearls and boil until softened, about 20 minutes.", - "Drain the pearls through a strainer.", - "Set the strainer with the pearls over a medium bowl. Add the brown sugar to the strainer and pour the hot water over.", - "Stir to dissolve the brown sugar. Soak the pearls in brown sugar syrup for 30 minutes, then store the bubbles and syrup separately until ready to serve.", - "Assemble the tea: Put the pearls and ice, then add the brown sugar syrup, tea", - "Stir with a wide-opening straw, then serve.", - "Enjoy!" - ], - "image": "boba-tea.jpg", - "keywords": [ - "tea", - "mocktail", - "non-alcoholic", - "vegan" - ] -} +{ + "name": "Boba Tea", + "description": "Trending Boba Tea.", + "github": "cendekia", + "ingredients": [ + { + "quantity": "240", + "measure": "ml", + "ingredient": "water" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "black tea bags" + }, + { + "quantity": "25", + "measure": "gram", + "ingredient": "black tapioca pearls" + }, + { + "quantity": "220", + "measure": "gram", + "ingredient": "brown sugar" + }, + { + "quantity": "120", + "measure": "ml", + "ingredient": "hot water" + } + ], + "directions": [ + "Combine the water and tea bags in a medium pot over high heat. Bring to a boil, then remove the pan from the heat and let the tea cool to room temperature.", + "Bring a medium pot of water to boil over high heat. Once the water is boiling, add the tapioca pearls and boil until softened, about 20 minutes.", + "Drain the pearls through a strainer.", + "Set the strainer with the pearls over a medium bowl. Add the brown sugar to the strainer and pour the hot water over.", + "Stir to dissolve the brown sugar. Soak the pearls in brown sugar syrup for 30 minutes, then store the bubbles and syrup separately until ready to serve.", + "Assemble the tea: Put the pearls and ice, then add the brown sugar syrup, tea", + "Stir with a wide-opening straw, then serve.", + "Enjoy!" + ], + "image": "boba-tea.jpg", + "keywords": [ + "tea", + "mocktail", + "non-alcoholic", + "vegan" + ] +} diff --git a/src/recipes/bobby-burns.json b/src/recipes/bobby-burns.json index 9db98ecc9..e805e6fbe 100644 --- a/src/recipes/bobby-burns.json +++ b/src/recipes/bobby-burns.json @@ -1,42 +1,42 @@ -{ - "name": "Bobby Burns", - "description": "A whisky-based cocktail named after the scottish poet and lyricist.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "scotch whisky" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "sweet vermouth" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "benedictine D.O.M." - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemon twist" - } - ], - "directions": [ - "Combine ingredients in a shaker and shake with ice until chilled.", - "Fine strain into a cocktail glass.", - "Garnish with a lemon twist." - ], - "image": "bobby-burns.jpg", - "keywords": [ - "alcoholic", - "whisky", - "sweet vermouth", - "benedictine dom", - "lemon" - ] - -} +{ + "name": "Bobby Burns", + "description": "A whisky-based cocktail named after the scottish poet and lyricist.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "scotch whisky" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "sweet vermouth" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "benedictine D.O.M." + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemon twist" + } + ], + "directions": [ + "Combine ingredients in a shaker and shake with ice until chilled.", + "Fine strain into a cocktail glass.", + "Garnish with a lemon twist." + ], + "image": "bobby-burns.jpg", + "keywords": [ + "alcoholic", + "whisky", + "sweet vermouth", + "benedictine dom", + "lemon" + ] + +} diff --git a/src/recipes/bombeirinho.json b/src/recipes/bombeirinho.json index e32ae2ee5..231d0f9d7 100644 --- a/src/recipes/bombeirinho.json +++ b/src/recipes/bombeirinho.json @@ -1,45 +1,45 @@ -{ - "name": "Bombeirinho", - "description": "The most famous drink at pubs in Brazil, very simple to prepare and it taste like sugar when drunk.", - "github": "rzorzal", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Red Gooseberry Liquor" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "White Cachaça (Cachaça Branca)" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "Lemon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice, optional" - } - ], - "directions": [ - "Put the ice in the cup.", - "Add the cachaça first and then add the Red Gooseberry Liquor.", - "Squeeze the lemon.", - "Mix all the ingredients until they form one red color drink.", - "Serve in a rounded cup of glass.", - "(Optional) Add some lemon peel at the top of the drink." - ], - "image": "bombeirinho.jpg", - "keywords": [ - "red", - "gooseberry", - "liqueur", - "cachaça", - "lemon", - "alcoholic", - "vegan" - ] -} +{ + "name": "Bombeirinho", + "description": "The most famous drink at pubs in Brazil, very simple to prepare and it taste like sugar when drunk.", + "github": "rzorzal", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Red Gooseberry Liquor" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "White Cachaça (Cachaça Branca)" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "Lemon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice, optional" + } + ], + "directions": [ + "Put the ice in the cup.", + "Add the cachaça first and then add the Red Gooseberry Liquor.", + "Squeeze the lemon.", + "Mix all the ingredients until they form one red color drink.", + "Serve in a rounded cup of glass.", + "(Optional) Add some lemon peel at the top of the drink." + ], + "image": "bombeirinho.jpg", + "keywords": [ + "red", + "gooseberry", + "liqueur", + "cachaça", + "lemon", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/boomerang.json b/src/recipes/boomerang.json index 6fdcb1cfb..2812c1f57 100644 --- a/src/recipes/boomerang.json +++ b/src/recipes/boomerang.json @@ -1,53 +1,53 @@ -{ - "name": "Boomerang", - "description": "A cocktail dating back to the early 1900s, popularized in the 'Official Mixer's Manual'.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "rye whisky" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "dry vermouth" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "swedish punsch" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Angostura bitters" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "maraschino cherry" - } - ], - "directions": [ - "Combine ingredients in a shaker and shake with ice until chilled.", - "Fine strain into a cocktail glass.", - "Garnish with a Maraschino cherry." - ], - "image": "boomerang.jpg", - "keywords": [ - "alcoholic", - "whisky", - "dry vermouth", - "punsch", - "angostura bitters", - "lemon" - ] - -} +{ + "name": "Boomerang", + "description": "A cocktail dating back to the early 1900s, popularized in the 'Official Mixer's Manual'.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "rye whisky" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "dry vermouth" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "swedish punsch" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Angostura bitters" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "maraschino cherry" + } + ], + "directions": [ + "Combine ingredients in a shaker and shake with ice until chilled.", + "Fine strain into a cocktail glass.", + "Garnish with a Maraschino cherry." + ], + "image": "boomerang.jpg", + "keywords": [ + "alcoholic", + "whisky", + "dry vermouth", + "punsch", + "angostura bitters", + "lemon" + ] + +} diff --git a/src/recipes/boulevardier.json b/src/recipes/boulevardier.json index 7dc55d453..4b8b6254a 100644 --- a/src/recipes/boulevardier.json +++ b/src/recipes/boulevardier.json @@ -1,39 +1,39 @@ -{ - "name": "Boulevardier", - "description": "The Negroni but with bourbon! This strange creation is surprisingly brilliant and a wonderful choice if you’re interested in trying a new take on a traditional favorite.", - "github": "Chrispy404", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Bourbon" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sweet Vermouth" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "Combine the spirits into a mixing glass with ice.", - "Stir until chilled. Strain into a coup glass without ice.", - "Garnish with an orange peel." - ], - "image": "boulevardier.jpg", - "keywords": [ - "negroni", - "italian", - "bourbon", - "vegan" - ] -} +{ + "name": "Boulevardier", + "description": "The Negroni but with bourbon! This strange creation is surprisingly brilliant and a wonderful choice if you’re interested in trying a new take on a traditional favorite.", + "github": "Chrispy404", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Bourbon" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sweet Vermouth" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "Combine the spirits into a mixing glass with ice.", + "Stir until chilled. Strain into a coup glass without ice.", + "Garnish with an orange peel." + ], + "image": "boulevardier.jpg", + "keywords": [ + "negroni", + "italian", + "bourbon", + "vegan" + ] +} diff --git a/src/recipes/bourbon-lemonade.json b/src/recipes/bourbon-lemonade.json index ec8e41876..a359bed52 100644 --- a/src/recipes/bourbon-lemonade.json +++ b/src/recipes/bourbon-lemonade.json @@ -1,38 +1,38 @@ -{ - "name": "Bourbon Lemonade", - "description": "Little western kick to a summer classic.", - "github": "girOly", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Bulleit Bourbon" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Lemonade" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Maraschino Cherries" - } - ], - "directions": [ - "Mix all ingredients in a glass over ice.", - "Garnish with lemon slice and maraschino cherry, if desired." - ], - "image": "bourbon-lemonade.jpg", - "keywords": [ - "lemonade", - "whiskey", - "alcoholic", - "vegan" - ] -} +{ + "name": "Bourbon Lemonade", + "description": "Little western kick to a summer classic.", + "github": "girOly", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Bulleit Bourbon" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Lemonade" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Maraschino Cherries" + } + ], + "directions": [ + "Mix all ingredients in a glass over ice.", + "Garnish with lemon slice and maraschino cherry, if desired." + ], + "image": "bourbon-lemonade.jpg", + "keywords": [ + "lemonade", + "whiskey", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/bourbon-mule.json b/src/recipes/bourbon-mule.json index dbfab5d03..5257051ed 100644 --- a/src/recipes/bourbon-mule.json +++ b/src/recipes/bourbon-mule.json @@ -1,45 +1,45 @@ -{ - "name": "Bourbon Mule", - "description": "Mules are traditionally served in a copper mug, a handsome vessel that keeps them delightfully frigid.", - "github": "brittanyjoiner15", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "fresh lime juice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "light ginger beer, such as Fever-Tree Naturally Light" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "fresh mint sprig" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lime slice" - } - ], - "directions": [ - "Combine bourbon and lime juice in a copper mug or highball glass.", - "Fill cup with ice. Add ginger beer; stir gently to combine.", - "Garnish with mint sprig and lime slice." - ], - "image": "bourbon-mule.jpg", - "source": "https://www.cookinglight.com/recipes/bourbon-mule", - "keywords": [ - "bourbon mule", - "ginger beer", - "bourbon", - "vegan" - ] -} +{ + "name": "Bourbon Mule", + "description": "Mules are traditionally served in a copper mug, a handsome vessel that keeps them delightfully frigid.", + "github": "brittanyjoiner15", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "fresh lime juice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "light ginger beer, such as Fever-Tree Naturally Light" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "fresh mint sprig" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lime slice" + } + ], + "directions": [ + "Combine bourbon and lime juice in a copper mug or highball glass.", + "Fill cup with ice. Add ginger beer; stir gently to combine.", + "Garnish with mint sprig and lime slice." + ], + "image": "bourbon-mule.jpg", + "source": "https://www.cookinglight.com/recipes/bourbon-mule", + "keywords": [ + "bourbon mule", + "ginger beer", + "bourbon", + "vegan" + ] +} diff --git a/src/recipes/bourbon-old-fashioned.json b/src/recipes/bourbon-old-fashioned.json index 28aa57a04..9ba849bd1 100644 --- a/src/recipes/bourbon-old-fashioned.json +++ b/src/recipes/bourbon-old-fashioned.json @@ -1,40 +1,40 @@ - -{ - "name": "Bourbon Old Fashioned", - "description": "When you get right down to it, the Bourbon Old Fashioned is little more than a slug of whiskey, seasoned and sweetened.", - "github": "brittanyjoiner15", - "ingredients": [ - { - "quantity": "1/2", - "measure": "tsp", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "water" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "whole", - "ingredient": "orange peel" - } - ], - "directions": [ - "Add the sugar, bitters and water into a rocks glass, and stir until sugar is nearly dissolved.", - "Fill the glass with large ice cubes, add the bourbon, and gently stir to combine the flavors.", - "Express the oil of an orange peel over the glass, then drop in." - ], - "image": "bourbon-old-fashioned.jpg", - "source": "https://www.liquor.com/recipes/bourbon-old-fashioned/#gs.892391", - "keywords": [ - "bourbon", - "bourbon old-fashioned", - "vegan" - ] -} + +{ + "name": "Bourbon Old Fashioned", + "description": "When you get right down to it, the Bourbon Old Fashioned is little more than a slug of whiskey, seasoned and sweetened.", + "github": "brittanyjoiner15", + "ingredients": [ + { + "quantity": "1/2", + "measure": "tsp", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "water" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "whole", + "ingredient": "orange peel" + } + ], + "directions": [ + "Add the sugar, bitters and water into a rocks glass, and stir until sugar is nearly dissolved.", + "Fill the glass with large ice cubes, add the bourbon, and gently stir to combine the flavors.", + "Express the oil of an orange peel over the glass, then drop in." + ], + "image": "bourbon-old-fashioned.jpg", + "source": "https://www.liquor.com/recipes/bourbon-old-fashioned/#gs.892391", + "keywords": [ + "bourbon", + "bourbon old-fashioned", + "vegan" + ] +} diff --git a/src/recipes/boza.json b/src/recipes/boza.json index 22145001e..5db22fd9b 100644 --- a/src/recipes/boza.json +++ b/src/recipes/boza.json @@ -1,55 +1,55 @@ -{ - "name": "Boza", - "description": "This traditional Turkish drink is indispensable in cold winter nights.", - "github": "Bekci", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "coarse bulghur" - }, - { - "quantity": "1/2", - "measure": "cups", - "ingredient": "rice" - }, - { - "quantity": "11", - "measure": "cups", - "ingredient": "water" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "powdered sugar" - }, - { - "quantity": "1", - "measure": "coffe spoon", - "ingredient": "sourdough" - }, - { - "quantity": "1", - "measure": "cups", - "ingredient": "warm milk" - } - ], - "directions": [ - "Transfer the coarse bulgur and rice you washed in plenty of water into a deep saucepan. Add the water and boil over medium heat until it becomes soft.", - "After straining the water of the mashed bulgur rice mixture, pass it through a fine-hole strainer. You can discard the pulp part.", - "Leave the bulghur porridge that you filtered at the room temperature to cool completely.", - "For the yeast mixture that will make boza sour; Mix warm milk, fresh yeast and powdered sugar in a separate bowl.", - "Transfer the porridge mixture cooled at room temperature into a large pot. After mixing it with the yeast mixture you have prepared, keep it in the pot you have closed its lid in, in a sunless environment for 24 hours.", - "Open the lid of the boza mixture that you have kept for fermentation from time to time and let it vent.", - "After the boza wait enough, add the powdered sugar and then the water little by little to the boza and adjust its consistency.", - "You can serve the boza cold for better taste." - ], - "image": "boza.jpg", - "keywords": [ - "traditional", - "non-alcoholic", - "cold", - "milk", - "sugar" - ] -} +{ + "name": "Boza", + "description": "This traditional Turkish drink is indispensable in cold winter nights.", + "github": "Bekci", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "coarse bulghur" + }, + { + "quantity": "1/2", + "measure": "cups", + "ingredient": "rice" + }, + { + "quantity": "11", + "measure": "cups", + "ingredient": "water" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "powdered sugar" + }, + { + "quantity": "1", + "measure": "coffe spoon", + "ingredient": "sourdough" + }, + { + "quantity": "1", + "measure": "cups", + "ingredient": "warm milk" + } + ], + "directions": [ + "Transfer the coarse bulgur and rice you washed in plenty of water into a deep saucepan. Add the water and boil over medium heat until it becomes soft.", + "After straining the water of the mashed bulgur rice mixture, pass it through a fine-hole strainer. You can discard the pulp part.", + "Leave the bulghur porridge that you filtered at the room temperature to cool completely.", + "For the yeast mixture that will make boza sour; Mix warm milk, fresh yeast and powdered sugar in a separate bowl.", + "Transfer the porridge mixture cooled at room temperature into a large pot. After mixing it with the yeast mixture you have prepared, keep it in the pot you have closed its lid in, in a sunless environment for 24 hours.", + "Open the lid of the boza mixture that you have kept for fermentation from time to time and let it vent.", + "After the boza wait enough, add the powdered sugar and then the water little by little to the boza and adjust its consistency.", + "You can serve the boza cold for better taste." + ], + "image": "boza.jpg", + "keywords": [ + "traditional", + "non-alcoholic", + "cold", + "milk", + "sugar" + ] +} diff --git a/src/recipes/brain-damage.json b/src/recipes/brain-damage.json index 16e4448a6..3153bd05c 100644 --- a/src/recipes/brain-damage.json +++ b/src/recipes/brain-damage.json @@ -1,38 +1,38 @@ -{ - "name": "Brain Damage", - "description": "Also known as a \"Haemorrhage Shot\", this short cocktail is supposedly named for its ability to kill brain cells, although the appearance and texture suggest more than one reason it may have gained its namesake.", - "github": "stellarpower", - "ingredients": [ - { - "quantity": "2", - "measure": "part", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Irish Cream" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "grenadine" - } - ], - "directions": [ - "Mix the schnapps and Irish cream together in a shot glass - *do not stir*", - "Gently tilt the glass to help the mixture curdle to the desired level.", - "Add the dash of grenadine to the mix, swilling the glass more if desired for consistency." - ], - "image": "brain-damage.jpg", - "keywords": [ - "schnapps", - "peach", - "shot", - "brain", - "grenadine", - "baileys", - "layers", - "texture" - ] -} +{ + "name": "Brain Damage", + "description": "Also known as a \"Haemorrhage Shot\", this short cocktail is supposedly named for its ability to kill brain cells, although the appearance and texture suggest more than one reason it may have gained its namesake.", + "github": "stellarpower", + "ingredients": [ + { + "quantity": "2", + "measure": "part", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Irish Cream" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "grenadine" + } + ], + "directions": [ + "Mix the schnapps and Irish cream together in a shot glass - *do not stir*", + "Gently tilt the glass to help the mixture curdle to the desired level.", + "Add the dash of grenadine to the mix, swilling the glass more if desired for consistency." + ], + "image": "brain-damage.jpg", + "keywords": [ + "schnapps", + "peach", + "shot", + "brain", + "grenadine", + "baileys", + "layers", + "texture" + ] +} diff --git a/src/recipes/bramble.json b/src/recipes/bramble.json index 08ddc55d6..87fe203cb 100644 --- a/src/recipes/bramble.json +++ b/src/recipes/bramble.json @@ -1,47 +1,47 @@ -{ - "name": "Bramble", - "description": "The Bramble is a spring cocktail created by Dick Bradsell in 1980s London, England. Bradsell suggests finishing off the cocktail with some fresh red fruits and a slice of lemon.", - "github": "jammerstho", - "ingredients": [ - { - "quantity": "35", - "measure": "ml", - "ingredient": "gin" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "sugar syrup" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "blackberry liqueur" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish – slice of lemon and a blackberry" - } - ], - "directions": [ - "Shake the gin, lemon juice and sugar syrup in a cocktail shaker with a good handful of ice cubes.", - "Then strain into a rocks glass full of crushed ice.", - "Drizzle the crème de mure over the top so it ‘bleeds’ into the drink.", - "Garnish with the lemon slice and blackberry." - ], - "image": "bramble.jpg", - "keywords": [ - "gin", - "sugar syrup", - "lemon juice", - "blackberry liqueur", - "alcoholic", - "vegan" - ] -} +{ + "name": "Bramble", + "description": "The Bramble is a spring cocktail created by Dick Bradsell in 1980s London, England. Bradsell suggests finishing off the cocktail with some fresh red fruits and a slice of lemon.", + "github": "jammerstho", + "ingredients": [ + { + "quantity": "35", + "measure": "ml", + "ingredient": "gin" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "sugar syrup" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "blackberry liqueur" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish – slice of lemon and a blackberry" + } + ], + "directions": [ + "Shake the gin, lemon juice and sugar syrup in a cocktail shaker with a good handful of ice cubes.", + "Then strain into a rocks glass full of crushed ice.", + "Drizzle the crème de mure over the top so it ‘bleeds’ into the drink.", + "Garnish with the lemon slice and blackberry." + ], + "image": "bramble.jpg", + "keywords": [ + "gin", + "sugar syrup", + "lemon juice", + "blackberry liqueur", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/brandy-alexander.json b/src/recipes/brandy-alexander.json index 8e6e1d577..576866732 100644 --- a/src/recipes/brandy-alexander.json +++ b/src/recipes/brandy-alexander.json @@ -1,40 +1,40 @@ -{ - "name": "Brandy Alexander", - "description": "A chocolately, sweet, and creamy dessert cocktail consisting of cognac, crème de cacao, and cream.", - "github": "tamarbuta", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Brandy" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Dark Crème de Cacao" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Cream" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Fresh Nutmeg" - } - ], - "directions": [ - "Pour brandy, crème de cacao and cream into a cocktail shaker.", - "Shake well and strain into a cup.", - "Grate a little nutmeg on top." - ], - "image": "brandy-alexander.jpg", - "source": "https://drizly.com/brandy-alexander/r-8b033efecd352701", - "keywords": [ - "brandy alexander", - "brandy", - "cream", - "nutmeg" - ] -} +{ + "name": "Brandy Alexander", + "description": "A chocolately, sweet, and creamy dessert cocktail consisting of cognac, crème de cacao, and cream.", + "github": "tamarbuta", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Brandy" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Dark Crème de Cacao" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Cream" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Fresh Nutmeg" + } + ], + "directions": [ + "Pour brandy, crème de cacao and cream into a cocktail shaker.", + "Shake well and strain into a cup.", + "Grate a little nutmeg on top." + ], + "image": "brandy-alexander.jpg", + "source": "https://drizly.com/brandy-alexander/r-8b033efecd352701", + "keywords": [ + "brandy alexander", + "brandy", + "cream", + "nutmeg" + ] +} diff --git a/src/recipes/brandy-sour.json b/src/recipes/brandy-sour.json index f8a38a1b5..212e9cb85 100644 --- a/src/recipes/brandy-sour.json +++ b/src/recipes/brandy-sour.json @@ -1,35 +1,35 @@ -{ - "name": "Brandy Sour", - "description": "The earliest Sour on record, dating back to the 1850s.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "brandy" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "2-4", - "measure": "drops", - "ingredient": "angostura bitters" - } - ], - "directions": [ - "Stir ingredients with ice.", - "Strain into a highball glass with ice." - ], - "image": "brandy-sour.jpg", - "keywords": [ - "brandy", - "angostura bitters", - "lemon", - "alcoholic" - ] - -} +{ + "name": "Brandy Sour", + "description": "The earliest Sour on record, dating back to the 1850s.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "brandy" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "2-4", + "measure": "drops", + "ingredient": "angostura bitters" + } + ], + "directions": [ + "Stir ingredients with ice.", + "Strain into a highball glass with ice." + ], + "image": "brandy-sour.jpg", + "keywords": [ + "brandy", + "angostura bitters", + "lemon", + "alcoholic" + ] + +} diff --git a/src/recipes/brass-monkey.json b/src/recipes/brass-monkey.json index 81cc0a0a6..a095fd362 100644 --- a/src/recipes/brass-monkey.json +++ b/src/recipes/brass-monkey.json @@ -1,36 +1,36 @@ -{ - "name": "Brass Monkey", - "description": "", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "vodka" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "rum (preferably dark)" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "orange juice" - } - ], - "directions": [ - "Shake with ice.", - "Strain into a highball glass with ice." - ], - "image": "brass-monkey.jpg", - "keywords": [ - "vodka", - "rum", - "dark rum", - "orange juice", - "alcoholic" - ] - -} +{ + "name": "Brass Monkey", + "description": "", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "vodka" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "rum (preferably dark)" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "orange juice" + } + ], + "directions": [ + "Shake with ice.", + "Strain into a highball glass with ice." + ], + "image": "brass-monkey.jpg", + "keywords": [ + "vodka", + "rum", + "dark rum", + "orange juice", + "alcoholic" + ] + +} diff --git a/src/recipes/brazilian-coconut-cocktail.json b/src/recipes/brazilian-coconut-cocktail.json index 9831be16b..02ed6005a 100644 --- a/src/recipes/brazilian-coconut-cocktail.json +++ b/src/recipes/brazilian-coconut-cocktail.json @@ -1,48 +1,48 @@ -{ - "name": "Brazilian Coconut Cocktail", - "description": "This Brazilian coconut cocktail is creamy and full of flavor. So if you’re looking for a delicious tropical drink, you’ve come to the right place!", - "github": "kazuhirodk", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Coconut milk" - }, - { - "quantity": "2/3", - "measure": "14 oz can", - "ingredient": "Sweetened condensed milk" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Cachaça or vodka" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Coconut water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Fill a pitcher with ice and set it aside.", - "Put all ingredients in the blender and blend until creamy and frothy.", - "Pour the drink in the pitcher and serve!", - "If you want, you can sprinkle shredded coconut on top of it.", - "Cheers!" - ], - "image": "brazilian-coconut-cocktail.jpg", - "source": "https://www.iheartbrazil.com/brazilian-coconut-cocktail/", - "keywords": [ - "coconut", - "alcoholic", - "cachaca", - "cocktail", - "brazil" - ] -} +{ + "name": "Brazilian Coconut Cocktail", + "description": "This Brazilian coconut cocktail is creamy and full of flavor. So if you’re looking for a delicious tropical drink, you’ve come to the right place!", + "github": "kazuhirodk", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Coconut milk" + }, + { + "quantity": "2/3", + "measure": "14 oz can", + "ingredient": "Sweetened condensed milk" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Cachaça or vodka" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Coconut water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Fill a pitcher with ice and set it aside.", + "Put all ingredients in the blender and blend until creamy and frothy.", + "Pour the drink in the pitcher and serve!", + "If you want, you can sprinkle shredded coconut on top of it.", + "Cheers!" + ], + "image": "brazilian-coconut-cocktail.jpg", + "source": "https://www.iheartbrazil.com/brazilian-coconut-cocktail/", + "keywords": [ + "coconut", + "alcoholic", + "cachaca", + "cocktail", + "brazil" + ] +} diff --git a/src/recipes/brazilian-strawberry-drink.json b/src/recipes/brazilian-strawberry-drink.json index 93908750d..d0abf1c70 100644 --- a/src/recipes/brazilian-strawberry-drink.json +++ b/src/recipes/brazilian-strawberry-drink.json @@ -1,52 +1,52 @@ -{ - "name": "Brazilian Strawberry Drink", - "description": "A complex sweet drink with vodka.", - "github": "nathhia", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Vodka" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Condensed milk" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Sugar" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Milk" - }, - { - "quantity": "1/2", - "measure": "box", - "ingredient": "Milk cream" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Yogurt" - }, - { - "quantity": "5", - "measure": "Strawberry", - "ingredient": "Strawberry" - } - ], - "directions": [ - "Cut the starwberrys into small pieces.", - "Mix the liquid ingredients in a blends.", - "Add the strawberrys and the sugar and mix then with help of a spoon." - ], - "image": "brazilian-strawberry-drink.jpg", - "keywords": [ - "strawberry", - "Brazil" - ] -} +{ + "name": "Brazilian Strawberry Drink", + "description": "A complex sweet drink with vodka.", + "github": "nathhia", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Vodka" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Condensed milk" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Sugar" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Milk" + }, + { + "quantity": "1/2", + "measure": "box", + "ingredient": "Milk cream" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Yogurt" + }, + { + "quantity": "5", + "measure": "Strawberry", + "ingredient": "Strawberry" + } + ], + "directions": [ + "Cut the starwberrys into small pieces.", + "Mix the liquid ingredients in a blends.", + "Add the strawberrys and the sugar and mix then with help of a spoon." + ], + "image": "brazilian-strawberry-drink.jpg", + "keywords": [ + "strawberry", + "Brazil" + ] +} diff --git a/src/recipes/breakfast-club-cocktail.json b/src/recipes/breakfast-club-cocktail.json index 5c46173cd..5be9b40a2 100644 --- a/src/recipes/breakfast-club-cocktail.json +++ b/src/recipes/breakfast-club-cocktail.json @@ -1,40 +1,40 @@ -{ - "name": "Breakfast Club Cocktail", - "description": "An homage to the breakfast club movie, a drink that is slightly fancier than if you poured some bourbon into your leftover cereal milk.", - "github": "JacobLBaum", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Cereal Milk" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Demerara Syrup" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Bourbon" - }, - { - "quantity": "10", - "measure": "pieces", - "ingredient": "Favorite colorful cereal" - } - ], - "directions": [ - "Pour cereal milk, demerara syrup and bourbon shaker.", - "Shake over ice.", - "Strain into glass and garnish with cereal pieces (suggestion: Lucky Charms Marshmallows)" - ], - "image": "breakfast-club-cocktail.jpg", - "source": "https://www.youtube.com/watch?v=6hbaRLTrLsw", - "keywords": [ - "cereal", - "bourbon", - "demerara", - "milk" - ] -} +{ + "name": "Breakfast Club Cocktail", + "description": "An homage to the breakfast club movie, a drink that is slightly fancier than if you poured some bourbon into your leftover cereal milk.", + "github": "JacobLBaum", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Cereal Milk" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Demerara Syrup" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Bourbon" + }, + { + "quantity": "10", + "measure": "pieces", + "ingredient": "Favorite colorful cereal" + } + ], + "directions": [ + "Pour cereal milk, demerara syrup and bourbon shaker.", + "Shake over ice.", + "Strain into glass and garnish with cereal pieces (suggestion: Lucky Charms Marshmallows)" + ], + "image": "breakfast-club-cocktail.jpg", + "source": "https://www.youtube.com/watch?v=6hbaRLTrLsw", + "keywords": [ + "cereal", + "bourbon", + "demerara", + "milk" + ] +} diff --git a/src/recipes/breakfast-mai-tai.json b/src/recipes/breakfast-mai-tai.json index 99442c3b0..2b3f818b6 100644 --- a/src/recipes/breakfast-mai-tai.json +++ b/src/recipes/breakfast-mai-tai.json @@ -1,52 +1,52 @@ -{ - "name": "Breakfast Mai Tai", - "description": "The Breakfast Mai Tai has gone through several iterations at Donna, where it was first created with an oat orgeat for a guest who had a nut allergy. The recipe has evolved over the course of several menus, but its crushability remains intact. As Fancy Chu, the drink's creator, says, 'I definitely would drink this for breakfast when vacationing somewhere tropical, or even on a day off, daydreaming of being in the tropics.'", - "github": "lsheltonSTO", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "overproof Jamaican rum (preferably Smith & Cross)" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "banana liqueur (preferably Giffard Banane du Bresil)" - },{ - "quantity": "1/2", - "measure": "ounce", - "ingredient": "orgeat" - },{ - "quantity": "1/4", - "measure": "ounce", - "ingredient": "cinnamon syrup" - },{ - "quantity": "1", - "measure": "ounce", - "ingredient": "lime juice" - },{ - "quantity": "3/4", - "measure": "ounce", - "ingredient": "black rum (preferably Hamilton)" - } - ], - "directions": [ - "Combine the overproof rum, banana liqueur, orgeat, cinnamon syrup, and lime juice in a cocktail shaker.", - "Add a few pellets of crushed or cracked ice and shake until they melt.", - "Pour into a large rocks glass, add the black rum, and top with more crushed ice.", - "Garnish with a mint sprig, a charred cinnamon stick, and edible flowers." - ], - "image": "breakfast-mai-tai.jpg", - "source": "https://www.amazon.com/Easy-Tiki-Modern-Revival-Recipes/dp/1984856758/ref=sr_1_1?crid=204CDMWHZGJAC&dchild=1&keywords=easy+tiki+cocktail+book&qid=1635526068&sprefix=easy+tiki%2Caps%2C210&sr=8-1", - "keywords": [ - "tiki", - "mai tai", - "rum", - "banana liqueur", - "orgeat", - "cinnamon syrup", - "lime juice" - ] -} - - +{ + "name": "Breakfast Mai Tai", + "description": "The Breakfast Mai Tai has gone through several iterations at Donna, where it was first created with an oat orgeat for a guest who had a nut allergy. The recipe has evolved over the course of several menus, but its crushability remains intact. As Fancy Chu, the drink's creator, says, 'I definitely would drink this for breakfast when vacationing somewhere tropical, or even on a day off, daydreaming of being in the tropics.'", + "github": "lsheltonSTO", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "overproof Jamaican rum (preferably Smith & Cross)" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "banana liqueur (preferably Giffard Banane du Bresil)" + },{ + "quantity": "1/2", + "measure": "ounce", + "ingredient": "orgeat" + },{ + "quantity": "1/4", + "measure": "ounce", + "ingredient": "cinnamon syrup" + },{ + "quantity": "1", + "measure": "ounce", + "ingredient": "lime juice" + },{ + "quantity": "3/4", + "measure": "ounce", + "ingredient": "black rum (preferably Hamilton)" + } + ], + "directions": [ + "Combine the overproof rum, banana liqueur, orgeat, cinnamon syrup, and lime juice in a cocktail shaker.", + "Add a few pellets of crushed or cracked ice and shake until they melt.", + "Pour into a large rocks glass, add the black rum, and top with more crushed ice.", + "Garnish with a mint sprig, a charred cinnamon stick, and edible flowers." + ], + "image": "breakfast-mai-tai.jpg", + "source": "https://www.amazon.com/Easy-Tiki-Modern-Revival-Recipes/dp/1984856758/ref=sr_1_1?crid=204CDMWHZGJAC&dchild=1&keywords=easy+tiki+cocktail+book&qid=1635526068&sprefix=easy+tiki%2Caps%2C210&sr=8-1", + "keywords": [ + "tiki", + "mai tai", + "rum", + "banana liqueur", + "orgeat", + "cinnamon syrup", + "lime juice" + ] +} + + diff --git a/src/recipes/breakfast-martini.json b/src/recipes/breakfast-martini.json index 6ff5d6b15..4d9bcaa6c 100644 --- a/src/recipes/breakfast-martini.json +++ b/src/recipes/breakfast-martini.json @@ -1,49 +1,49 @@ -{ - "name": "Breakfast Martini", - "description": "Not strictly a Martini, merely served in a V-shaped Martini glass, this now world-famous cocktail was created in 1996 by bartender, raconteur and long term President of the United Kingdom Bartender's Guild, Salvatore Calabrese.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "gin" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "triple sec/cointreau" - }, - { - "quantity": "20", - "measure": "mli", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "orange marmalade" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "toast" - } - ], - "directions": [ - "Stir with ice.", - "Strain into a martini glass.", - "Garnish with a slice of a toast." - ], - "image": "breakfast-martini.jpg", - "keywords": [ - "gin", - "triple sec", - "cointreau", - "lemon juice", - "orange marmalade", - "toast", - "alcoholic" - ] - -} +{ + "name": "Breakfast Martini", + "description": "Not strictly a Martini, merely served in a V-shaped Martini glass, this now world-famous cocktail was created in 1996 by bartender, raconteur and long term President of the United Kingdom Bartender's Guild, Salvatore Calabrese.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "gin" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "triple sec/cointreau" + }, + { + "quantity": "20", + "measure": "mli", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "orange marmalade" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "toast" + } + ], + "directions": [ + "Stir with ice.", + "Strain into a martini glass.", + "Garnish with a slice of a toast." + ], + "image": "breakfast-martini.jpg", + "keywords": [ + "gin", + "triple sec", + "cointreau", + "lemon juice", + "orange marmalade", + "toast", + "alcoholic" + ] + +} diff --git a/src/recipes/bruce-wayne.json b/src/recipes/bruce-wayne.json index eb8ed2164..29091b3f7 100644 --- a/src/recipes/bruce-wayne.json +++ b/src/recipes/bruce-wayne.json @@ -1,35 +1,35 @@ -{ - "name": "Bruce Wayne Cocktail", - "description": "Something magical happens to an iced coffee when you shake it with whiskey and maple syrup: You get a lovely, creamy head of foam on top — almost like a Guinness — that disguises the dark depths below (which contain enough caffeine to power any nocturnal superhero).", - "github": "zacho112", - "ingredients": [ - { - "quantity": "135", - "measure": "ml", - "ingredient": "Cold brew coffee" - }, - { - "quantity": "60", - "measure": "ml", - "ingredient": "Bourbon" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Maple syrup" - } - ], - "directions": [ - "Prepare coffee with cold brew method of choice.", - "Add Coffee, Bourbon and Maple Syrup into a cocktail shaker with ice.", - "Shake until chilled and foamy and strain into your cocktail glass with ice." - ], - "image": "bruce-wayne-cocktail.jpg", - "keywords": [ - "bourbon", - "maple syrup", - "coffee", - "alcoholic", - "vegan" - ] -} +{ + "name": "Bruce Wayne Cocktail", + "description": "Something magical happens to an iced coffee when you shake it with whiskey and maple syrup: You get a lovely, creamy head of foam on top — almost like a Guinness — that disguises the dark depths below (which contain enough caffeine to power any nocturnal superhero).", + "github": "zacho112", + "ingredients": [ + { + "quantity": "135", + "measure": "ml", + "ingredient": "Cold brew coffee" + }, + { + "quantity": "60", + "measure": "ml", + "ingredient": "Bourbon" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Maple syrup" + } + ], + "directions": [ + "Prepare coffee with cold brew method of choice.", + "Add Coffee, Bourbon and Maple Syrup into a cocktail shaker with ice.", + "Shake until chilled and foamy and strain into your cocktail glass with ice." + ], + "image": "bruce-wayne-cocktail.jpg", + "keywords": [ + "bourbon", + "maple syrup", + "coffee", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/brunswick-cocktail.json b/src/recipes/brunswick-cocktail.json index 4fe95980c..a46cb0d6f 100644 --- a/src/recipes/brunswick-cocktail.json +++ b/src/recipes/brunswick-cocktail.json @@ -1,40 +1,40 @@ -{ - "name": "Brunswick Cocktail", - "description": "Cocktail featuring wine floated over whiskey.", - "github": "ajciancimino", - "ingredients": [ - { - "quantity": "2", - "measure": "parts", - "ingredient": "whiskey (Tennessee rye preferred)" - }, - { - "quantity": "1/2", - "measure": "parts", - "ingredient": "simple syrup" - }, - { - "quantity": "3/4", - "measure": "parts", - "ingredient": "lemon juice" - }, - { - "quantity": "3/4", - "measure": "parts", - "ingredient": "red wine" - } - ], - "directions": [ - "Mix all ingredients but wine and shake w/ ice.", - "Strain into rocks glass over ice.", - "Float wine over mixture." - ], - "image": "brunswick-cocktail.jpg", - "keywords": [ - "wine", - "cocktail", - "alcoholic", - "whiskey", - "vegan" - ] -} +{ + "name": "Brunswick Cocktail", + "description": "Cocktail featuring wine floated over whiskey.", + "github": "ajciancimino", + "ingredients": [ + { + "quantity": "2", + "measure": "parts", + "ingredient": "whiskey (Tennessee rye preferred)" + }, + { + "quantity": "1/2", + "measure": "parts", + "ingredient": "simple syrup" + }, + { + "quantity": "3/4", + "measure": "parts", + "ingredient": "lemon juice" + }, + { + "quantity": "3/4", + "measure": "parts", + "ingredient": "red wine" + } + ], + "directions": [ + "Mix all ingredients but wine and shake w/ ice.", + "Strain into rocks glass over ice.", + "Float wine over mixture." + ], + "image": "brunswick-cocktail.jpg", + "keywords": [ + "wine", + "cocktail", + "alcoholic", + "whiskey", + "vegan" + ] +} diff --git a/src/recipes/buffalo-sweat.json b/src/recipes/buffalo-sweat.json index 1f7193a44..9daee4f9b 100644 --- a/src/recipes/buffalo-sweat.json +++ b/src/recipes/buffalo-sweat.json @@ -1,35 +1,35 @@ -{ - "name": "Buffalo Sweat", - "description": "A mean little shooter that gets the blood flowing.", - "github": "tnoeding", - "ingredients": [ - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Bacardi 151" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "Tabasco Sauce" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Orange Juice" - } - ], - "directions": [ - "Add ice and ingredients to a shaker.", - "Shake until it's completely cold.", - "Serve in a whiskey glass or large shooter." - ], - "image": "buffalo-sweat.jpg", - "keywords": [ - "orange juice", - "bacardi", - "alcoholic", - "tabasco", - "shot" - ] -} +{ + "name": "Buffalo Sweat", + "description": "A mean little shooter that gets the blood flowing.", + "github": "tnoeding", + "ingredients": [ + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Bacardi 151" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "Tabasco Sauce" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Orange Juice" + } + ], + "directions": [ + "Add ice and ingredients to a shaker.", + "Shake until it's completely cold.", + "Serve in a whiskey glass or large shooter." + ], + "image": "buffalo-sweat.jpg", + "keywords": [ + "orange juice", + "bacardi", + "alcoholic", + "tabasco", + "shot" + ] +} diff --git a/src/recipes/bullfisher.json b/src/recipes/bullfisher.json index 18931d8a0..bba1c4b51 100644 --- a/src/recipes/bullfisher.json +++ b/src/recipes/bullfisher.json @@ -1,40 +1,40 @@ -{ - "name": "Bullfisher", - "description": "The Bullfisher drink recipe is made from Malibu coconut rum, apple juice and ginger ale, and served over ice in a highball glass garnished with apple slices.", - "github": "primes2h", - "ingredients": [ - { - "quantity": "1-1/2", - "measure": "oz", - "ingredient": "Coconut Rum" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Apple juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Ginger Ale" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Apple slice" - } - ], - "directions": [ - "Shake apple juice and coconut rum with ice in a cocktail shaker.", - "Strain into a highball glass full of ice and fill with ginger ale.", - "Stir gently and garnish with apple slices." - ], - "image": "bullfisher.jpg", - "keywords": [ - "rum", - "coconut", - "alcoholic", - "juice", - "apple" - ] -} +{ + "name": "Bullfisher", + "description": "The Bullfisher drink recipe is made from Malibu coconut rum, apple juice and ginger ale, and served over ice in a highball glass garnished with apple slices.", + "github": "primes2h", + "ingredients": [ + { + "quantity": "1-1/2", + "measure": "oz", + "ingredient": "Coconut Rum" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Apple juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Ginger Ale" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Apple slice" + } + ], + "directions": [ + "Shake apple juice and coconut rum with ice in a cocktail shaker.", + "Strain into a highball glass full of ice and fill with ginger ale.", + "Stir gently and garnish with apple slices." + ], + "image": "bullfisher.jpg", + "keywords": [ + "rum", + "coconut", + "alcoholic", + "juice", + "apple" + ] +} diff --git a/src/recipes/burnt-caramel-manhattan.json b/src/recipes/burnt-caramel-manhattan.json index a2558597e..8050dc8af 100644 --- a/src/recipes/burnt-caramel-manhattan.json +++ b/src/recipes/burnt-caramel-manhattan.json @@ -1,51 +1,51 @@ -{ - "name": "Burnt Caramel Manhattan", - "description": "The Burnt Caramel Manhattan is a sweet, decadent variation on the classic Manhattan.", - "github": "kristina-hager", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "bourbon" - }, - { - "quantity": ".25", - "measure": "oz", - "ingredient": "sweet vermouth" - }, - { - "quantity": ".25", - "measure": "oz", - "ingredient": "buttershot schnapps" - }, - { - "quantity": ".5", - "measure": "oz", - "ingredient": "raspberry Chambord" - }, - { - "quantity": "3", - "measure": "dashes", - "ingredient": "angostura bitters" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "cherry" - } - ], - "directions": [ - "Chill a cocktail glass with ice and water.", - "Fill a shaker with ice and then add all liquid ingredients.", - "Shake for about 30 seconds. Shaking creates ice flakes which are fun.", - "Taste and then strain into the chilled cocktail glass, serving straight up.", - "Note: You can vary this by increasing buttershot schnapps and vermouth to .5 oz." - ], - "image": "burnt-caramel-manhattan.jpg", - "keywords": [ - "alcoholic", - "classic", - "bourbon", - "vegan" - ] -} +{ + "name": "Burnt Caramel Manhattan", + "description": "The Burnt Caramel Manhattan is a sweet, decadent variation on the classic Manhattan.", + "github": "kristina-hager", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "bourbon" + }, + { + "quantity": ".25", + "measure": "oz", + "ingredient": "sweet vermouth" + }, + { + "quantity": ".25", + "measure": "oz", + "ingredient": "buttershot schnapps" + }, + { + "quantity": ".5", + "measure": "oz", + "ingredient": "raspberry Chambord" + }, + { + "quantity": "3", + "measure": "dashes", + "ingredient": "angostura bitters" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "cherry" + } + ], + "directions": [ + "Chill a cocktail glass with ice and water.", + "Fill a shaker with ice and then add all liquid ingredients.", + "Shake for about 30 seconds. Shaking creates ice flakes which are fun.", + "Taste and then strain into the chilled cocktail glass, serving straight up.", + "Note: You can vary this by increasing buttershot schnapps and vermouth to .5 oz." + ], + "image": "burnt-caramel-manhattan.jpg", + "keywords": [ + "alcoholic", + "classic", + "bourbon", + "vegan" + ] +} diff --git a/src/recipes/butter-coffee.json b/src/recipes/butter-coffee.json index 9d5b7e99a..55f9c60d4 100644 --- a/src/recipes/butter-coffee.json +++ b/src/recipes/butter-coffee.json @@ -1,40 +1,40 @@ -{ - "name": "Butter Coffee", - "description": "Butter coffee is a drink consisting of brewed coffee, unsalted butter, and medium-chain triglycerides (MCTs), an easily digested type of fat.", - "github": "manxbiker", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "fresh brewed coffee" - }, - { - "quantity": "1–2", - "measure": "tablespoons", - "ingredient": "of coconut or MCT oil" - }, - { - "quantity": "1–2", - "measure": "tablespoons", - "ingredient": "of unsalted butter or ghee" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Optional sprikle of cinnamon" - } - ], - "directions": [ - "Freshly brew the coffee and add to blender.", - "Add the coconut oil and butter.", - "Blend for 20–30 seconds until it resembles a foamy latte.", - "Optionally sprinkle some cinnamon on top." - ], - "image": "butter-coffee.jpg", - "keywords": [ - "non-alcoholic", - "coffee", - "butter", - "hot" - ] +{ + "name": "Butter Coffee", + "description": "Butter coffee is a drink consisting of brewed coffee, unsalted butter, and medium-chain triglycerides (MCTs), an easily digested type of fat.", + "github": "manxbiker", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "fresh brewed coffee" + }, + { + "quantity": "1–2", + "measure": "tablespoons", + "ingredient": "of coconut or MCT oil" + }, + { + "quantity": "1–2", + "measure": "tablespoons", + "ingredient": "of unsalted butter or ghee" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Optional sprikle of cinnamon" + } + ], + "directions": [ + "Freshly brew the coffee and add to blender.", + "Add the coconut oil and butter.", + "Blend for 20–30 seconds until it resembles a foamy latte.", + "Optionally sprinkle some cinnamon on top." + ], + "image": "butter-coffee.jpg", + "keywords": [ + "non-alcoholic", + "coffee", + "butter", + "hot" + ] } \ No newline at end of file diff --git a/src/recipes/buttermilk.json b/src/recipes/buttermilk.json index 8afe4c940..d340e0de9 100644 --- a/src/recipes/buttermilk.json +++ b/src/recipes/buttermilk.json @@ -1,37 +1,37 @@ -{ - "name": "Buttermilk", - "description": "Buttermilk is one of the most popular summer cooler all over india with different variations.", - "github": "chiragparekh", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "yogurt" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Few coriander leaves" - } - ], - "directions": [ - "Place all ingredients except coriander leaves in a jar and mix it until all ingredients mixed properly.", - "Pour in glasses.", - "Garnish with coriander leaves." - ], - "image": "buttermilk.jpg", - "keywords": [ - "non-alcoholic", - "milk" - ] -} +{ + "name": "Buttermilk", + "description": "Buttermilk is one of the most popular summer cooler all over india with different variations.", + "github": "chiragparekh", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "yogurt" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Few coriander leaves" + } + ], + "directions": [ + "Place all ingredients except coriander leaves in a jar and mix it until all ingredients mixed properly.", + "Pour in glasses.", + "Garnish with coriander leaves." + ], + "image": "buttermilk.jpg", + "keywords": [ + "non-alcoholic", + "milk" + ] +} diff --git a/src/recipes/cable-car.json b/src/recipes/cable-car.json index d7fde81b9..8e10ad346 100644 --- a/src/recipes/cable-car.json +++ b/src/recipes/cable-car.json @@ -1,46 +1,46 @@ -{ - "name": "Cable Car", - "description": "Vanilla and Spice from rum interact with the orange liqueur interact with this and citrus", - "github": "shivanibhinge", - "ingredients": [ - { - "quantity": "3/2", - "measure": "shot", - "ingredient": "Spiced Rum " - }, - { - "quantity": "3/4", - "measure": "shot", - "ingredient": "orange Curacao liqueur" - }, - { - "quantity": "1", - "measure": "shot", - "ingredient": "lemon juice(freshly squeezed)" - }, - { - "quantity": "1/3", - "measure": "shot", - "ingredient": "Sugar Syrup(2 sugar to 1 water rich syrup)" - }, - { - "quantity": "1/3", - "measure": "shot", - "ingredient": "Pasteurized egg white " - } - - ], - "directions": [ - "Shake all the ingredients with ice.", - "Fine strain back into shaker.", - "Fine Starin (ie without ice).", - "Fine strain into chilled glass." - ], - "image": "cable-car.jpg", - "keywords": [ - "cocktail", - "Spiced Rum", - "liqueur", - "lemon juice" - ] +{ + "name": "Cable Car", + "description": "Vanilla and Spice from rum interact with the orange liqueur interact with this and citrus", + "github": "shivanibhinge", + "ingredients": [ + { + "quantity": "3/2", + "measure": "shot", + "ingredient": "Spiced Rum " + }, + { + "quantity": "3/4", + "measure": "shot", + "ingredient": "orange Curacao liqueur" + }, + { + "quantity": "1", + "measure": "shot", + "ingredient": "lemon juice(freshly squeezed)" + }, + { + "quantity": "1/3", + "measure": "shot", + "ingredient": "Sugar Syrup(2 sugar to 1 water rich syrup)" + }, + { + "quantity": "1/3", + "measure": "shot", + "ingredient": "Pasteurized egg white " + } + + ], + "directions": [ + "Shake all the ingredients with ice.", + "Fine strain back into shaker.", + "Fine Starin (ie without ice).", + "Fine strain into chilled glass." + ], + "image": "cable-car.jpg", + "keywords": [ + "cocktail", + "Spiced Rum", + "liqueur", + "lemon juice" + ] } \ No newline at end of file diff --git a/src/recipes/cafeconleche.json b/src/recipes/cafeconleche.json index 9e56a3de1..a04f4a5a9 100644 --- a/src/recipes/cafeconleche.json +++ b/src/recipes/cafeconleche.json @@ -1,32 +1,32 @@ -{ - "name": "Café Con Leche - Cuban Style", - "description": "The Cuban version of café au lait! A classic Miami breakfast beverage, usually dipped into with a slice of thick buttered toast.", - "github": "eprendes", - "ingredients": [ - { - "quantity": "1-2", - "measure": "ounces", - "ingredient": "espresso coffee - the Café Bustelo brand is common in Miami" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "hot or steamed milk" - }, - { - "quantity": "1-3", - "measure": "teaspoons", - "ingredient": "sugar, optional and to taste" - } - ], - "directions": [ - "Prepare espresso shot; Cubans commonly use a Moka stovetop pot.", - "Add your sugar to bottom of drink cup. Heat milk, either by slowly warming on the stove, microwaving, or steaming.", - "Pour piping hot espresso over sugar and stir until dissolved. Then pour hot milk into the cup and combine." - ], - "image": "cafeconleche.jpg", - "keywords": [ - "coffee", - "breakfast" - ] -} +{ + "name": "Café Con Leche - Cuban Style", + "description": "The Cuban version of café au lait! A classic Miami breakfast beverage, usually dipped into with a slice of thick buttered toast.", + "github": "eprendes", + "ingredients": [ + { + "quantity": "1-2", + "measure": "ounces", + "ingredient": "espresso coffee - the Café Bustelo brand is common in Miami" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "hot or steamed milk" + }, + { + "quantity": "1-3", + "measure": "teaspoons", + "ingredient": "sugar, optional and to taste" + } + ], + "directions": [ + "Prepare espresso shot; Cubans commonly use a Moka stovetop pot.", + "Add your sugar to bottom of drink cup. Heat milk, either by slowly warming on the stove, microwaving, or steaming.", + "Pour piping hot espresso over sugar and stir until dissolved. Then pour hot milk into the cup and combine." + ], + "image": "cafeconleche.jpg", + "keywords": [ + "coffee", + "breakfast" + ] +} diff --git a/src/recipes/caferio-cookie-shake.json b/src/recipes/caferio-cookie-shake.json index 6625d078e..fa2478e41 100644 --- a/src/recipes/caferio-cookie-shake.json +++ b/src/recipes/caferio-cookie-shake.json @@ -1,45 +1,45 @@ -{ - "name": "Caferio Cookie Shake", - "description": "A perfect dessert shake with richness of coffee and cookie-cream ice cream. ", - "github": "OREO1210", - "ingredients": [ - { - "quantity": "1", - "measure": "teaspoons", - "ingredient": "coffee powder" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "chilled milk" - }, - { - "quantity": "3", - "measure": "teaspoons", - "ingredient": "sugar, optional and to taste" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "cookie-cream ice cream" - }, - { - "quantity": "2-3", - "measure": "number", - "ingredient": "oreo cookies" - } - ], - "directions": [ - "Add sugar, coffee and chilled milk in the mixer and mix them.", - "Pour the smoothie into glass.", - "Top the smoothie with cookie-cream ice cream.", - "garnish and serve with oreo cookies." - ], - "image": "caferio-cookie-shake.jpg", - "keywords": [ - "coffee", - "ice cream", - "cookie", - "smoothie" - ] -} +{ + "name": "Caferio Cookie Shake", + "description": "A perfect dessert shake with richness of coffee and cookie-cream ice cream. ", + "github": "OREO1210", + "ingredients": [ + { + "quantity": "1", + "measure": "teaspoons", + "ingredient": "coffee powder" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "chilled milk" + }, + { + "quantity": "3", + "measure": "teaspoons", + "ingredient": "sugar, optional and to taste" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "cookie-cream ice cream" + }, + { + "quantity": "2-3", + "measure": "number", + "ingredient": "oreo cookies" + } + ], + "directions": [ + "Add sugar, coffee and chilled milk in the mixer and mix them.", + "Pour the smoothie into glass.", + "Top the smoothie with cookie-cream ice cream.", + "garnish and serve with oreo cookies." + ], + "image": "caferio-cookie-shake.jpg", + "keywords": [ + "coffee", + "ice cream", + "cookie", + "smoothie" + ] +} diff --git a/src/recipes/caipipink.json b/src/recipes/caipipink.json index d379ecc4a..9bee65d8e 100644 --- a/src/recipes/caipipink.json +++ b/src/recipes/caipipink.json @@ -1,59 +1,59 @@ -{ - "name": "Capipink", - "description": "The pink version of the traditional caipirinha.", - "github": "marcelosantos89", - "ingredients": [ - { - "quantity": "", - "measure": "Croft Pink", - "ingredient": "" - }, - { - "quantity": "3", - "measure": "units", - "ingredient": "strawberries" - }, - { - "quantity": "3", - "measure": "units", - "ingredient": "raspberries" - }, - { - "quantity": "3", - "measure": "units", - "ingredient": "blueberries" - }, - { - "quantity": "2", - "measure": "lime wedges", - "ingredient": "" - }, - { - "quantity": "500", - "measure": "ml", - "ingredient": "water" - }, - { - "quantity": "500", - "measure": "gr", - "ingredient": "sugar" - }, - { - "quantity": "", - "measure": "crushed ice", - "ingredient": "" - } - ], - "directions": [ - "Sugar Syrup: add 500ml of water and 500g of sugar into a medium hot pan and stir until the sugar is dissolved. Turn off the heat as soon as it starts to boil. Place the syrup into a bottle with lid.", - "Place the lime, the red fruits and 15ml of syrup in the the glass.", - "Muddle and add crushed ice before pouring Croft Pink to top." - ], - "image": "caipireja.jpg", - "source": "https://croftpink.com/cocktail/caipipink/", - "keywords": [ - "croft", - "pink", - "caipirinha" - ] -} +{ + "name": "Capipink", + "description": "The pink version of the traditional caipirinha.", + "github": "marcelosantos89", + "ingredients": [ + { + "quantity": "", + "measure": "Croft Pink", + "ingredient": "" + }, + { + "quantity": "3", + "measure": "units", + "ingredient": "strawberries" + }, + { + "quantity": "3", + "measure": "units", + "ingredient": "raspberries" + }, + { + "quantity": "3", + "measure": "units", + "ingredient": "blueberries" + }, + { + "quantity": "2", + "measure": "lime wedges", + "ingredient": "" + }, + { + "quantity": "500", + "measure": "ml", + "ingredient": "water" + }, + { + "quantity": "500", + "measure": "gr", + "ingredient": "sugar" + }, + { + "quantity": "", + "measure": "crushed ice", + "ingredient": "" + } + ], + "directions": [ + "Sugar Syrup: add 500ml of water and 500g of sugar into a medium hot pan and stir until the sugar is dissolved. Turn off the heat as soon as it starts to boil. Place the syrup into a bottle with lid.", + "Place the lime, the red fruits and 15ml of syrup in the the glass.", + "Muddle and add crushed ice before pouring Croft Pink to top." + ], + "image": "caipireja.jpg", + "source": "https://croftpink.com/cocktail/caipipink/", + "keywords": [ + "croft", + "pink", + "caipirinha" + ] +} diff --git a/src/recipes/caipireja.json b/src/recipes/caipireja.json index 57b6cffc9..f838a2840 100644 --- a/src/recipes/caipireja.json +++ b/src/recipes/caipireja.json @@ -1,41 +1,41 @@ -{ - "name": "Caipireja", - "description": "A typical brazilian drink, good for hot days!", - "github": "SantosMatheusGR", - "ingredients": [ - { - "quantity": "2", - "measure": "Lemons", - "ingredient": "" - }, - { - "quantity": "1", - "measure": "can of", - "ingredient": "beer" - }, - { - "quantity": "120", - "measure": "mls", - "ingredient": "vodka" - }, - { - "quantity": "3", - "measure": "tablespoon", - "ingredient": "sugar" - - } - ], - "directions": [ - "Squeeze the juice of one lemon, and chop the other into pieces.", - "Place the lemon juice and chopped lemons in a cocktail shaker and mash the lemon.", - "Add sugar and vodka then shake it.", - "Transfer the mixture to a glass and slowly add beer." - ], - "image": "caipireja.jpg", - "keywords": [ - "beer", - "vodka", - "brazil", - "lemon" - ] +{ + "name": "Caipireja", + "description": "A typical brazilian drink, good for hot days!", + "github": "SantosMatheusGR", + "ingredients": [ + { + "quantity": "2", + "measure": "Lemons", + "ingredient": "" + }, + { + "quantity": "1", + "measure": "can of", + "ingredient": "beer" + }, + { + "quantity": "120", + "measure": "mls", + "ingredient": "vodka" + }, + { + "quantity": "3", + "measure": "tablespoon", + "ingredient": "sugar" + + } + ], + "directions": [ + "Squeeze the juice of one lemon, and chop the other into pieces.", + "Place the lemon juice and chopped lemons in a cocktail shaker and mash the lemon.", + "Add sugar and vodka then shake it.", + "Transfer the mixture to a glass and slowly add beer." + ], + "image": "caipireja.jpg", + "keywords": [ + "beer", + "vodka", + "brazil", + "lemon" + ] } \ No newline at end of file diff --git a/src/recipes/caipirinha-black.json b/src/recipes/caipirinha-black.json index b74d9b098..63cf72ab5 100644 --- a/src/recipes/caipirinha-black.json +++ b/src/recipes/caipirinha-black.json @@ -1,39 +1,39 @@ -{ - "name": "Caipirinha Black", - "description": "Caipirinha is a Cape Verdan cocktail prepared with black vodka, refined sugar, and lime. CA variation of the classic Caipirinha which uses a black vodka, to create a unique looking concoction.", - "github": "ktrzcionka", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "black vodka" - }, - { - "quantity": "0,5", - "measure": "", - "ingredient": "green lime" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "refined sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cube" - } - ], - "directions": [ - "Place lime and sugar into Old-Fashioned glass and muddle.", - "Mash the two ingredients together using a muddler or a wooden spoon.", - "Fill the glass with crushed ice and add the Black Vodka." - ], - "image": "caipirinha-black.jpg", - "keywords": [ - "black vodka", - "green lime", - "sugar", - "alcoholic" - ] -} +{ + "name": "Caipirinha Black", + "description": "Caipirinha is a Cape Verdan cocktail prepared with black vodka, refined sugar, and lime. CA variation of the classic Caipirinha which uses a black vodka, to create a unique looking concoction.", + "github": "ktrzcionka", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "black vodka" + }, + { + "quantity": "0,5", + "measure": "", + "ingredient": "green lime" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "refined sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cube" + } + ], + "directions": [ + "Place lime and sugar into Old-Fashioned glass and muddle.", + "Mash the two ingredients together using a muddler or a wooden spoon.", + "Fill the glass with crushed ice and add the Black Vodka." + ], + "image": "caipirinha-black.jpg", + "keywords": [ + "black vodka", + "green lime", + "sugar", + "alcoholic" + ] +} diff --git a/src/recipes/caipirinha-red-fruit.json b/src/recipes/caipirinha-red-fruit.json index 02e99af7f..9e2eafd93 100644 --- a/src/recipes/caipirinha-red-fruit.json +++ b/src/recipes/caipirinha-red-fruit.json @@ -1,56 +1,56 @@ -{ - "name": "Red fruit caipirinha", - "description": "It's like a Caipirinha but red fruit.", - "github": "phfbueno", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "cachaça" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "strawberries" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "blackberries" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "raspberry" - }, - { - "quantity": "6", - "measure": "", - "ingredient": "blueberry" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cube" - } - ], - "directions": [ - "Add berries and sugar in a glass.", - "Mash the fruit using a tamper to extract the juice.", - "Add crushed ice, complete with cachaça, then stir gently and then serve.", - "Decorate the glass with the red berries." - ], - "image": "caipirinha-red-fruit.jpg", - "keywords": [ - "cachaça", - "red fruit", - "sugar", - "alcoholic", - "vegan" - ] -} +{ + "name": "Red fruit caipirinha", + "description": "It's like a Caipirinha but red fruit.", + "github": "phfbueno", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "cachaça" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "strawberries" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "blackberries" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "raspberry" + }, + { + "quantity": "6", + "measure": "", + "ingredient": "blueberry" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cube" + } + ], + "directions": [ + "Add berries and sugar in a glass.", + "Mash the fruit using a tamper to extract the juice.", + "Add crushed ice, complete with cachaça, then stir gently and then serve.", + "Decorate the glass with the red berries." + ], + "image": "caipirinha-red-fruit.jpg", + "keywords": [ + "cachaça", + "red fruit", + "sugar", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/caipirinha.json b/src/recipes/caipirinha.json index 6d2cd7c72..04184e499 100644 --- a/src/recipes/caipirinha.json +++ b/src/recipes/caipirinha.json @@ -1,41 +1,41 @@ -{ - "name": "Caipirinha", - "description": "Caipirinha is a Brazilian cocktail prepared with cachaça, cane sugar, and lime. Created by the farmers from whom it derives its name.", - "github": "joshuamart", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "cachaça" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "green lime" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cube" - } - ], - "directions": [ - "Wash the lime and cut off both ends. Cut the lime into 8 or 9 pieces and remove the central white part responsible for the bitterness.", - "Place the pieces in the glass and pour a good tablespoon of sugar. Crush firmly into the glass with the powdered sugar until the juice is extracted as completely as possible.", - "Cover the lime-sugar mixture with a good layer of crushed ice or simple ice cubes (close to the rim), then level it to a finger from the rim.", - "Serve in an old fashioned glass. " - ], - "image": "caipirinha.jpg", - "keywords": [ - "cachaça", - "green lime", - "sugar", - "alcoholic", - "vegan" - ] -} +{ + "name": "Caipirinha", + "description": "Caipirinha is a Brazilian cocktail prepared with cachaça, cane sugar, and lime. Created by the farmers from whom it derives its name.", + "github": "joshuamart", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "cachaça" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "green lime" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cube" + } + ], + "directions": [ + "Wash the lime and cut off both ends. Cut the lime into 8 or 9 pieces and remove the central white part responsible for the bitterness.", + "Place the pieces in the glass and pour a good tablespoon of sugar. Crush firmly into the glass with the powdered sugar until the juice is extracted as completely as possible.", + "Cover the lime-sugar mixture with a good layer of crushed ice or simple ice cubes (close to the rim), then level it to a finger from the rim.", + "Serve in an old fashioned glass. " + ], + "image": "caipirinha.jpg", + "keywords": [ + "cachaça", + "green lime", + "sugar", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/caipiroska.json b/src/recipes/caipiroska.json index 1cdbc34c8..140669440 100644 --- a/src/recipes/caipiroska.json +++ b/src/recipes/caipiroska.json @@ -1,40 +1,40 @@ -{ - "name": "Caipiroska", - "description": "It's like a Caipirinha but with Vodka.", - "github": "marcelosantos89", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "granulated white sugar" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lime (cuted in quarters)" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "cracked ice" - } - ], - "directions": [ - "Fill a glass with cracked ice", - "Add the sugar and lime quarters in a mixing glass.", - "Muddle to extract the juice without forcing the rind from the lime.", - "Dump the ice from the glass into the mixing glass, add the vodka, and shake." - ], - "image": "caipiroska.jpg", - "keywords": [ - "vodka", - "lime", - "cracked-ice", - "vegan" - ] -} +{ + "name": "Caipiroska", + "description": "It's like a Caipirinha but with Vodka.", + "github": "marcelosantos89", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "granulated white sugar" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lime (cuted in quarters)" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "cracked ice" + } + ], + "directions": [ + "Fill a glass with cracked ice", + "Add the sugar and lime quarters in a mixing glass.", + "Muddle to extract the juice without forcing the rind from the lime.", + "Dump the ice from the glass into the mixing glass, add the vodka, and shake." + ], + "image": "caipiroska.jpg", + "keywords": [ + "vodka", + "lime", + "cracked-ice", + "vegan" + ] +} diff --git a/src/recipes/calamansi-juice.json b/src/recipes/calamansi-juice.json index e61114bf4..d8fdb0625 100644 --- a/src/recipes/calamansi-juice.json +++ b/src/recipes/calamansi-juice.json @@ -1,40 +1,40 @@ -{ - "name": "Calamansi Juice", - "description": "Calamansi juice is a Filipino summer drink that is their version of lemonade. It uses calamansi fruits, which are citrus fruits common in the Philippines.", - "github": "jarcillas", - "ingredients": [ - { - "quantity": "0.75", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "fresh-squeezed calamansi juice" - }, - { - "quantity": "4", - "measure": "cups", - "ingredient": "water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Mix sugar, water and calamansi juice in a pitcher.", - "Stir until well-blended.", - "Add mixture and ice cubes to a glass. Enjoy!" - ], - "image": "calamansi-juice.jpg", - "keywords": [ - "calamansi", - "ice", - "summer", - "fruit juice", - "vegan" - ] -} +{ + "name": "Calamansi Juice", + "description": "Calamansi juice is a Filipino summer drink that is their version of lemonade. It uses calamansi fruits, which are citrus fruits common in the Philippines.", + "github": "jarcillas", + "ingredients": [ + { + "quantity": "0.75", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "fresh-squeezed calamansi juice" + }, + { + "quantity": "4", + "measure": "cups", + "ingredient": "water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Mix sugar, water and calamansi juice in a pitcher.", + "Stir until well-blended.", + "Add mixture and ice cubes to a glass. Enjoy!" + ], + "image": "calamansi-juice.jpg", + "keywords": [ + "calamansi", + "ice", + "summer", + "fruit juice", + "vegan" + ] +} diff --git a/src/recipes/californication.json b/src/recipes/californication.json index 8ea7ccdd5..717189441 100644 --- a/src/recipes/californication.json +++ b/src/recipes/californication.json @@ -1,57 +1,57 @@ -{ - "name": "Californication", - "description": "A mixture of run, vodka, tequila and gin finished with orange liqueur, lemon juice and orange juice to mask the various spirits used throughout. Strong and yet sweet. The cocktail is finished with either a slice of orange or a twisted peel of orange rind.", - "github": "manueldose", - "ingredients": [ - { - "quantity": "15", - "measure": "ml", - "ingredient": "Vodka" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "White Rum" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Tequila" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Lemon juice" - }, - { - "quantity": "70", - "measure": "ml", - "ingredient": "Orange juice" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Fresh orange" - } - ], - "directions": [ - "Add vodka, gin, white rum and tequila into a large glass", - "Add lemon juice, a good dose of freshly squeezed orange juice and lots of ice", - "Add a lots of ice", - "Decorate with a slice of fresh orange" - ], - "image": "californication.jpg", - "keywords": [ - "White Rum", - "Vodka", - "Tequila", - "Gin", - "Lemon", - "Orange" - ] -} +{ + "name": "Californication", + "description": "A mixture of run, vodka, tequila and gin finished with orange liqueur, lemon juice and orange juice to mask the various spirits used throughout. Strong and yet sweet. The cocktail is finished with either a slice of orange or a twisted peel of orange rind.", + "github": "manueldose", + "ingredients": [ + { + "quantity": "15", + "measure": "ml", + "ingredient": "Vodka" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "White Rum" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Tequila" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Lemon juice" + }, + { + "quantity": "70", + "measure": "ml", + "ingredient": "Orange juice" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Fresh orange" + } + ], + "directions": [ + "Add vodka, gin, white rum and tequila into a large glass", + "Add lemon juice, a good dose of freshly squeezed orange juice and lots of ice", + "Add a lots of ice", + "Decorate with a slice of fresh orange" + ], + "image": "californication.jpg", + "keywords": [ + "White Rum", + "Vodka", + "Tequila", + "Gin", + "Lemon", + "Orange" + ] +} diff --git a/src/recipes/canelazo.json b/src/recipes/canelazo.json index c6d2fe550..6f7065002 100644 --- a/src/recipes/canelazo.json +++ b/src/recipes/canelazo.json @@ -1,55 +1,55 @@ -{ - "name": "Canelazo", - "description": "Cinnamon hot cocktail (para el chachay de Ecuador)", - "github": "Cjuampi", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Water" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "Sugar" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Lime juice" - }, - { - "quantity": "4", - "measure": "sticks", - "ingredient": "Cinnamon" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Orange juice" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Aguardiente or puntas(alcoholic drink from Ecuador)" - } - ], - "directions": [ - "Bring the water, sugar, lime juice and cinnamon sticks to a boil.", - "Turn off the heat, then add the orange juice and aguardiente or puntas.", - "Serve in an glass or a coffe mug.", - "And say salud!!." - ], - "image": "canelazo-ecuador.jpg", - "source": "https://www.youtube.com/watch?v=ELPx4amM-ew", - "keywords": [ - "aguardiente", - "Ecuador", - "cinnamon", - "hot", - "puntas", - "lime", - "orange", - "sugar" - ] -} +{ + "name": "Canelazo", + "description": "Cinnamon hot cocktail (para el chachay de Ecuador)", + "github": "Cjuampi", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Water" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "Sugar" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Lime juice" + }, + { + "quantity": "4", + "measure": "sticks", + "ingredient": "Cinnamon" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Orange juice" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Aguardiente or puntas(alcoholic drink from Ecuador)" + } + ], + "directions": [ + "Bring the water, sugar, lime juice and cinnamon sticks to a boil.", + "Turn off the heat, then add the orange juice and aguardiente or puntas.", + "Serve in an glass or a coffe mug.", + "And say salud!!." + ], + "image": "canelazo-ecuador.jpg", + "source": "https://www.youtube.com/watch?v=ELPx4amM-ew", + "keywords": [ + "aguardiente", + "Ecuador", + "cinnamon", + "hot", + "puntas", + "lime", + "orange", + "sugar" + ] +} diff --git a/src/recipes/cantarito-tequila.json b/src/recipes/cantarito-tequila.json index 5d142b94d..551459970 100644 --- a/src/recipes/cantarito-tequila.json +++ b/src/recipes/cantarito-tequila.json @@ -1,55 +1,55 @@ -{ - "name": "Cantarito Tequila", - "description": "A refreshing citrus flavoured drink from Mexico that's easy to make!", - "github": "LeMichael88", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "tequila" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "orange juice" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "lemon juice" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": "4-6", - "measure": "oz", - "ingredient": "grapefruit soda" - }, - { - "quantity": "1", - "measure": "lemon, lime, or orange wedge", - "ingredient": "" - } - ], - "directions": [ - "Fill a tall glass with ice.", - "Pour in tequila and all fruit juices.", - "Top it off with grapefruit soda.", - "Garnish with a lemon, lime, or orange wedge", - "Serve and enjoy!" - ], - "image": "cantarito-tequila.jpg", - "source": "https://www.thespruceeats.com/cantarito-cocktail-recipe-760805", - "keywords": [ - "mexico", - "lemon", - "lime", - "orange", - "grapefruit", - "tequila", - "citrus" - ] -} +{ + "name": "Cantarito Tequila", + "description": "A refreshing citrus flavoured drink from Mexico that's easy to make!", + "github": "LeMichael88", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "tequila" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "orange juice" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "lemon juice" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": "4-6", + "measure": "oz", + "ingredient": "grapefruit soda" + }, + { + "quantity": "1", + "measure": "lemon, lime, or orange wedge", + "ingredient": "" + } + ], + "directions": [ + "Fill a tall glass with ice.", + "Pour in tequila and all fruit juices.", + "Top it off with grapefruit soda.", + "Garnish with a lemon, lime, or orange wedge", + "Serve and enjoy!" + ], + "image": "cantarito-tequila.jpg", + "source": "https://www.thespruceeats.com/cantarito-cocktail-recipe-760805", + "keywords": [ + "mexico", + "lemon", + "lime", + "orange", + "grapefruit", + "tequila", + "citrus" + ] +} diff --git a/src/recipes/cape-codder.json b/src/recipes/cape-codder.json index b3818ca9e..803f2f75f 100644 --- a/src/recipes/cape-codder.json +++ b/src/recipes/cape-codder.json @@ -1,40 +1,40 @@ -{ - "name": "Cape Codder", - "description": "More commonly known as a Vodka-Cranberry, it is a simple refreshing beverage originally created by the Ocean Spray cranberry growing company as the 'Red Devil'.", - "github": "r-i-c-h", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Cranberry Juice" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "lime" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Fill a highball glass with ice.", - "Add vodka, cranberry juice, and squeeze of lime.", - "Stir well.", - "Garnish with lime wedge and/or a few cranberries, if available." - ], - "image": "cape-codder.jpg", - "keywords": [ - "vodka", - "cranberry", - "lime", - "vegan" - ] -} +{ + "name": "Cape Codder", + "description": "More commonly known as a Vodka-Cranberry, it is a simple refreshing beverage originally created by the Ocean Spray cranberry growing company as the 'Red Devil'.", + "github": "r-i-c-h", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Cranberry Juice" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "lime" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Fill a highball glass with ice.", + "Add vodka, cranberry juice, and squeeze of lime.", + "Stir well.", + "Garnish with lime wedge and/or a few cranberries, if available." + ], + "image": "cape-codder.jpg", + "keywords": [ + "vodka", + "cranberry", + "lime", + "vegan" + ] +} diff --git a/src/recipes/capeta.json b/src/recipes/capeta.json index ec9d81694..b3f6f4b42 100644 --- a/src/recipes/capeta.json +++ b/src/recipes/capeta.json @@ -1,55 +1,55 @@ -{ - "name": "Capeta", - "description": "Capeta, which means devil in Portugese, is the name of this Carnival must-have drink, very popular in northern Brazil. This calls for guarana powder, which comes from a berry grown in Brazil and Venezuela; you can find it sold in health food shops as an energy supplement.", - "github": "edumello", - "ingredients": [ - { - "quantity": "3", - "measure": "Tablespoon", - "ingredient": "Sweetened condensed milk" - }, - { - "quantity": "3", - "measure": "Tablespoon", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "Ground cinnamon" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "Honey" - }, - { - "quantity": "1", - "measure": "Teaspoon", - "ingredient": "Guarana powder" - }, - { - "quantity": "1", - "measure": "Teaspoon", - "ingredient": "Unsweetened cocoa powder" - }, - { - "quantity": "1/2 or more", - "measure": "Cup", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Place ice, sweetened condensed milk, vodka, cinnamon, honey, guarana powder, and cocoa powder in a blender.", - "Blend until smooth." - ], - "image": "capeta.jpg", - "keywords": [ - "capeta", - "devil", - "alcoholic", - "vodka", - "guarana", - "vegan" - ] -} +{ + "name": "Capeta", + "description": "Capeta, which means devil in Portugese, is the name of this Carnival must-have drink, very popular in northern Brazil. This calls for guarana powder, which comes from a berry grown in Brazil and Venezuela; you can find it sold in health food shops as an energy supplement.", + "github": "edumello", + "ingredients": [ + { + "quantity": "3", + "measure": "Tablespoon", + "ingredient": "Sweetened condensed milk" + }, + { + "quantity": "3", + "measure": "Tablespoon", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "Ground cinnamon" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "Honey" + }, + { + "quantity": "1", + "measure": "Teaspoon", + "ingredient": "Guarana powder" + }, + { + "quantity": "1", + "measure": "Teaspoon", + "ingredient": "Unsweetened cocoa powder" + }, + { + "quantity": "1/2 or more", + "measure": "Cup", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Place ice, sweetened condensed milk, vodka, cinnamon, honey, guarana powder, and cocoa powder in a blender.", + "Blend until smooth." + ], + "image": "capeta.jpg", + "keywords": [ + "capeta", + "devil", + "alcoholic", + "vodka", + "guarana", + "vegan" + ] +} diff --git a/src/recipes/cappuccino.json b/src/recipes/cappuccino.json index db1d912bc..a296cc3e5 100644 --- a/src/recipes/cappuccino.json +++ b/src/recipes/cappuccino.json @@ -1,41 +1,41 @@ -{ - "name": "Cappuccino", - "description": "This recipe is for an authentic Italian cappuccino made with the perfect proportions of espresso, steamed milk, and foamed milk. (And by “perfect,” we mean approximately equal proportions of 1/3 each.) For a larger—or more typical American—cappuccino, double the quantities. For a milkier, or wet, cappuccino, increase the milk to 6 tablespoons. Ever wondered the difference between a cappuccino and a macchiato? The latter has just a small spot of foamed milk, as “macchiato” means “spot” in Italian.", - "github": "Brand00wn", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "rounded tablespoon finely ground coffee, preferably an espresso blend" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "cold milk (whole, 2%, or nonfat)" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "pinch cocoa powder or ground cinnamon, optional" - } - ], - "directions": [ - "Warm the espresso machine.", - "Put the coffee in the filter basket of the portafilter, gently but firmly tamp it down with a tamper, and secure the portafilter in the brew head.", - "Place a 5- or 6-ounce (148- or 177-ml) cup directly under the brew head.", - "Brew just long enough to yield 1 to 1 1/2 ounces (30 to 44 ml) of espresso. Turn your machine off just as it finishes pouring the last of the pale-colored crema and before the espresso becomes watery, which you’ll learn with practice. The exact time will depend on your machine.", - "Much will depend on your particular machine. Turn on the steamer and let it warm up.", - "Pour the milk into a stainless steel pitcher. Submerge the tip of the steam wand at least half an inch below the milk surface and turn on the steam switch. As the foam rises, gradually lower the pitcher so the tip of the wand remains just below the milk surface. As the milk begins to heat up, tilt the pitcher slightly to swirl the milk and continue to steam until the side of the pitcher becomes almost too hot to hold. Turn off the steam while still holding the tip of the wand under the milk surface.", - "For a smooth cappuccino in which both the warmed and foamed milk on top is evenly integrated throughout the beverage, gently pour the milk over the espresso in a thin, steady stream. For a cappuccino with a foamy head, hold back the foam with a spoon and gently pour the milk over the espresso. Spoon the foam over the top.", - "Sprinkle with cocoa powder or cinnamon, if desired. Serve hot." - ], - "image": "cappuccino.jpg", - "keywords": [ - "coffee", - "milk", - "hot", - "non-alcoholic", - "tasty", - "fancy" - ] -} +{ + "name": "Cappuccino", + "description": "This recipe is for an authentic Italian cappuccino made with the perfect proportions of espresso, steamed milk, and foamed milk. (And by “perfect,” we mean approximately equal proportions of 1/3 each.) For a larger—or more typical American—cappuccino, double the quantities. For a milkier, or wet, cappuccino, increase the milk to 6 tablespoons. Ever wondered the difference between a cappuccino and a macchiato? The latter has just a small spot of foamed milk, as “macchiato” means “spot” in Italian.", + "github": "Brand00wn", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "rounded tablespoon finely ground coffee, preferably an espresso blend" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "cold milk (whole, 2%, or nonfat)" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "pinch cocoa powder or ground cinnamon, optional" + } + ], + "directions": [ + "Warm the espresso machine.", + "Put the coffee in the filter basket of the portafilter, gently but firmly tamp it down with a tamper, and secure the portafilter in the brew head.", + "Place a 5- or 6-ounce (148- or 177-ml) cup directly under the brew head.", + "Brew just long enough to yield 1 to 1 1/2 ounces (30 to 44 ml) of espresso. Turn your machine off just as it finishes pouring the last of the pale-colored crema and before the espresso becomes watery, which you’ll learn with practice. The exact time will depend on your machine.", + "Much will depend on your particular machine. Turn on the steamer and let it warm up.", + "Pour the milk into a stainless steel pitcher. Submerge the tip of the steam wand at least half an inch below the milk surface and turn on the steam switch. As the foam rises, gradually lower the pitcher so the tip of the wand remains just below the milk surface. As the milk begins to heat up, tilt the pitcher slightly to swirl the milk and continue to steam until the side of the pitcher becomes almost too hot to hold. Turn off the steam while still holding the tip of the wand under the milk surface.", + "For a smooth cappuccino in which both the warmed and foamed milk on top is evenly integrated throughout the beverage, gently pour the milk over the espresso in a thin, steady stream. For a cappuccino with a foamy head, hold back the foam with a spoon and gently pour the milk over the espresso. Spoon the foam over the top.", + "Sprinkle with cocoa powder or cinnamon, if desired. Serve hot." + ], + "image": "cappuccino.jpg", + "keywords": [ + "coffee", + "milk", + "hot", + "non-alcoholic", + "tasty", + "fancy" + ] +} diff --git a/src/recipes/carajillo.json b/src/recipes/carajillo.json index c04831697..1b2573919 100644 --- a/src/recipes/carajillo.json +++ b/src/recipes/carajillo.json @@ -1,34 +1,34 @@ -{ - "name": "Carajillo", - "description": "Carajillo was born during the colonial era, when Cuba was a Spanish province. Spanish soldiers mixed coffee with liquor to take courage during the fighting.", - "github": "jcespinosa", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "espresso" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Liquor (Whiskey, Ron, Brandy)" - } - ], - "directions": [ - "Use your favorite mix of coffee roasted beans to brew 2 oz of espresso.", - "Let the espresso to stand and cold down a little bit.", - "Get an Old Fashioned glass and put the 2 oz espresso.", - "Carefully add the 2 oz of your favorite liquor (Whiskey, Ron or Brandy), this step is critical if you want a good looking cocktail. If done correctly you will get the liquor to fall to the bottom of the glass and you will see a beautiful transition between the two drinks.", - "Tip: Traditionally, carajillo is served warm, but you can also serve it cold, add some ice cubes if you want.", - "Tip: Use a liquior named \"Licor 43\", a spanish liquior made with a secret recipe of 43 ingredients (species, herbs, fruits), you will get a most refined taste.", - "Tip: Brew your coffee with some herbs (cinnamon, clove, anís, and more) to improve the taste." - ], - "image": "carajillo.jpg", - "source": "https://gourmetdemexico.com.mx/bebidas/reconocer-carajillo-perfecto/", - "keywords": [ - "coffee", - "liqueur", - "spices", - "Whiskey" - ] -} +{ + "name": "Carajillo", + "description": "Carajillo was born during the colonial era, when Cuba was a Spanish province. Spanish soldiers mixed coffee with liquor to take courage during the fighting.", + "github": "jcespinosa", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "espresso" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Liquor (Whiskey, Ron, Brandy)" + } + ], + "directions": [ + "Use your favorite mix of coffee roasted beans to brew 2 oz of espresso.", + "Let the espresso to stand and cold down a little bit.", + "Get an Old Fashioned glass and put the 2 oz espresso.", + "Carefully add the 2 oz of your favorite liquor (Whiskey, Ron or Brandy), this step is critical if you want a good looking cocktail. If done correctly you will get the liquor to fall to the bottom of the glass and you will see a beautiful transition between the two drinks.", + "Tip: Traditionally, carajillo is served warm, but you can also serve it cold, add some ice cubes if you want.", + "Tip: Use a liquior named \"Licor 43\", a spanish liquior made with a secret recipe of 43 ingredients (species, herbs, fruits), you will get a most refined taste.", + "Tip: Brew your coffee with some herbs (cinnamon, clove, anís, and more) to improve the taste." + ], + "image": "carajillo.jpg", + "source": "https://gourmetdemexico.com.mx/bebidas/reconocer-carajillo-perfecto/", + "keywords": [ + "coffee", + "liqueur", + "spices", + "Whiskey" + ] +} diff --git a/src/recipes/caramel-frappuccino.json b/src/recipes/caramel-frappuccino.json index 8d3468a57..2cba11363 100644 --- a/src/recipes/caramel-frappuccino.json +++ b/src/recipes/caramel-frappuccino.json @@ -1,54 +1,54 @@ -{ - "name": "Caramel Frappuccino", - "description": "Caramel syrup meets coffee, milk and ice for a rendezvous in the blender, while whipped cream and buttery caramel sauce layer the love on top.", - "github": "daksh890", - "ingredients": [ - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "10-12", - "measure": "cubes", - "ingredient": "Ice" - }, - { - "quantity": "3", - "measure": "tbsp", - "ingredient": "Caramel Sauce" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "Coffee Powder(instant)" - }, - { - "quantity": "1-2", - "measure": "drop", - "ingredient": "Vanilla Extract" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Whipped Cream" - } - - ], - "directions": [ - "To make Caramel Frappuccino simply add ice cubes, milk, caramel sauce, coffee powder (instant) and vanilla extract in a blender.", - "Blend till ice breaks into very fine crystals.", - "Remove and pour into a glass.", - "On top pipe whipped cream and pour some caramel sauce over the whipped cream to garnish it.", - "Serve it immediately. Cheers!!", - "Tip: Use the blender at medium pace to get a perfect fluffed coffee." - ], - "image": "caramel-frappuccino.jpg", - "source": "https://www.chefkunalkapur.com/recipe/cold-coffee/", - "keywords": [ - "cold-coffee", - "frappuccino", - "starbucks", - "creamy" - ] +{ + "name": "Caramel Frappuccino", + "description": "Caramel syrup meets coffee, milk and ice for a rendezvous in the blender, while whipped cream and buttery caramel sauce layer the love on top.", + "github": "daksh890", + "ingredients": [ + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "10-12", + "measure": "cubes", + "ingredient": "Ice" + }, + { + "quantity": "3", + "measure": "tbsp", + "ingredient": "Caramel Sauce" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "Coffee Powder(instant)" + }, + { + "quantity": "1-2", + "measure": "drop", + "ingredient": "Vanilla Extract" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Whipped Cream" + } + + ], + "directions": [ + "To make Caramel Frappuccino simply add ice cubes, milk, caramel sauce, coffee powder (instant) and vanilla extract in a blender.", + "Blend till ice breaks into very fine crystals.", + "Remove and pour into a glass.", + "On top pipe whipped cream and pour some caramel sauce over the whipped cream to garnish it.", + "Serve it immediately. Cheers!!", + "Tip: Use the blender at medium pace to get a perfect fluffed coffee." + ], + "image": "caramel-frappuccino.jpg", + "source": "https://www.chefkunalkapur.com/recipe/cold-coffee/", + "keywords": [ + "cold-coffee", + "frappuccino", + "starbucks", + "creamy" + ] } \ No newline at end of file diff --git a/src/recipes/caramel-snickerdoodle-martini.json b/src/recipes/caramel-snickerdoodle-martini.json index fcf65a3e0..3d3cc186a 100644 --- a/src/recipes/caramel-snickerdoodle-martini.json +++ b/src/recipes/caramel-snickerdoodle-martini.json @@ -1,61 +1,61 @@ -{ - "name": "Caramel Snickerdoodle Martini", - "description": "This martini has all the flavor of a snickerdoodle without any of the work of baking cookies.", - "github": "yoji-kojio", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "caramel, warmed" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "cinnamon sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "heavy cream" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Smirnoff Kissed Caramel" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "ground cinnamon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "whipped cream, for garnish" - }, - { - "quantity": "", - "measure": "", - "ingredient": "cinnamon sticks, for garnish" - } - ], - "directions": [ - "Place caramel on a plate and cinnamon sugar on another.", - "Dip rims of martini glasses in caramel, then in cinnamon sugar. ", - "In a cocktail shaker, add heavy cream, Smirnoff Kissed Caramel, and cinnamon.", - "Add ice and shake until cold.", - "Pour into glasses and top each one with whipped cream and a cinnamon stick." - ], - "image": "caramel-snickerdoodle-martini.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/a26243112/caramel-snickerdoodle-martini-recipe/", - "keywords": [ - "cinnamon", - "caramel", - "vodka" - ] -} +{ + "name": "Caramel Snickerdoodle Martini", + "description": "This martini has all the flavor of a snickerdoodle without any of the work of baking cookies.", + "github": "yoji-kojio", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "caramel, warmed" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "cinnamon sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "heavy cream" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Smirnoff Kissed Caramel" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "ground cinnamon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "whipped cream, for garnish" + }, + { + "quantity": "", + "measure": "", + "ingredient": "cinnamon sticks, for garnish" + } + ], + "directions": [ + "Place caramel on a plate and cinnamon sugar on another.", + "Dip rims of martini glasses in caramel, then in cinnamon sugar. ", + "In a cocktail shaker, add heavy cream, Smirnoff Kissed Caramel, and cinnamon.", + "Add ice and shake until cold.", + "Pour into glasses and top each one with whipped cream and a cinnamon stick." + ], + "image": "caramel-snickerdoodle-martini.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/a26243112/caramel-snickerdoodle-martini-recipe/", + "keywords": [ + "cinnamon", + "caramel", + "vodka" + ] +} diff --git a/src/recipes/carrulim.json b/src/recipes/carrulim.json index 3771b0750..31bf3a250 100644 --- a/src/recipes/carrulim.json +++ b/src/recipes/carrulim.json @@ -1,41 +1,41 @@ -{ - "name": "Carrulim", - "description": "Carrulim is a portmanteau of Caña (Paraguayan sugar cane distillate), Limón (green lime), and Ruda (rue). It is traditionally drank in the beginning of August in Paraguay against bad omens, since that time of the year was known to the indigenous Guarani as the time that takes the old and thin cattle away. Tradition also says it should be drank to avoid getting sick in August.", - "github": "rolisanchez", - "ingredients": [ - { - "quantity": "1", - "measure": "liter", - "ingredient": "caña paraguaya/rum" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "green lime" - }, - { - "quantity": "1", - "measure": "handful", - "ingredient": "rue" - }, - { - "quantity": "", - "measure": "", - "ingredient": "honey" - } - ], - "directions": [ - "Use a mortar and pestle to extract the rue essence.", - "Extract the juice from the limes.", - "Mix the rue with the lime and caña/rum in a jar.", - "(Optional) Add honey or other herbs to customize, according to your personal taste." - ], - "image": "carrulim.jpg", - "keywords": [ - "caña paraguaya", - "rum", - "green lime", - "alcoholic", - "paraguay" - ] -} +{ + "name": "Carrulim", + "description": "Carrulim is a portmanteau of Caña (Paraguayan sugar cane distillate), Limón (green lime), and Ruda (rue). It is traditionally drank in the beginning of August in Paraguay against bad omens, since that time of the year was known to the indigenous Guarani as the time that takes the old and thin cattle away. Tradition also says it should be drank to avoid getting sick in August.", + "github": "rolisanchez", + "ingredients": [ + { + "quantity": "1", + "measure": "liter", + "ingredient": "caña paraguaya/rum" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "green lime" + }, + { + "quantity": "1", + "measure": "handful", + "ingredient": "rue" + }, + { + "quantity": "", + "measure": "", + "ingredient": "honey" + } + ], + "directions": [ + "Use a mortar and pestle to extract the rue essence.", + "Extract the juice from the limes.", + "Mix the rue with the lime and caña/rum in a jar.", + "(Optional) Add honey or other herbs to customize, according to your personal taste." + ], + "image": "carrulim.jpg", + "keywords": [ + "caña paraguaya", + "rum", + "green lime", + "alcoholic", + "paraguay" + ] +} diff --git a/src/recipes/casino.json b/src/recipes/casino.json index 9feb6b71c..245f37d3e 100644 --- a/src/recipes/casino.json +++ b/src/recipes/casino.json @@ -1,40 +1,40 @@ -{ - "name": "Casino", - "description": "The Casino, which appeared in Harry Craddock's 1930 Savoy Cocktail Book, falls into a category of cocktails called Daisies. Each of these drinks includes a spirit, citrus, and a flavored sweetener.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Lemon Juice" - }, - { - "quantity": "23", - "measure": "ml", - "ingredient": "Maraschino Liqueur" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Orange Bitters" - } - ], - "directions": [ - "Add all ingredients to a cocktail shaker.", - "Shake until well chilled.", - "Strain into a Nick and Nora glass.", - "Garnish with a Maraschino cherry." - ], - "image": "casino.jpg", - "keywords": [ - "gin", - "lemon juice", - "maraschino", - "alcoholic" - ] -} +{ + "name": "Casino", + "description": "The Casino, which appeared in Harry Craddock's 1930 Savoy Cocktail Book, falls into a category of cocktails called Daisies. Each of these drinks includes a spirit, citrus, and a flavored sweetener.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Lemon Juice" + }, + { + "quantity": "23", + "measure": "ml", + "ingredient": "Maraschino Liqueur" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Orange Bitters" + } + ], + "directions": [ + "Add all ingredients to a cocktail shaker.", + "Shake until well chilled.", + "Strain into a Nick and Nora glass.", + "Garnish with a Maraschino cherry." + ], + "image": "casino.jpg", + "keywords": [ + "gin", + "lemon juice", + "maraschino", + "alcoholic" + ] +} diff --git a/src/recipes/cendol.json b/src/recipes/cendol.json index 4b15ccd45..267cdd06d 100644 --- a/src/recipes/cendol.json +++ b/src/recipes/cendol.json @@ -1,61 +1,61 @@ -{ - "name": "Es Cendol", - "description": "Indonesian tropical drink with coconut milk", - "github": "nadyamilona", - "ingredients": [ - { - "quantity": "100", - "measure": "gram", - "ingredient": "rice flour" - }, - { - "quantity": "50", - "measure": "gram", - "ingredient": "sago flour" - }, - { - "quantity": "450", - "measure": "ml", - "ingredient": "water" - }, - { - "quantity": "75", - "measure": "ml", - "ingredient": "water with pandan leaves" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "salt" - }, - { - "quantity": "200", - "measure": "gr", - "ingredient": "Amanprana Gula Java Coconut blossom sugar" - }, - { - "quantity": "600", - "measure": "ml", - "ingredient": "coconut milk" - } - - ], - "directions": [ - "Mix rice flour with sago flour and pour some water in the mixture. Boil the rest of the water, add green pandan leaves and a little salt.", - "Put the flour mixture into the boiled water.", - "Stir well and cook until it thickens (paste-like).", - "Drain with a strain that has round holes, so when you press the cendol mixture it will go out of the strain as spaghetti.", - "Put these cendol directly in a bowl with cold water and ice.", - "Cendol will become solid then.>", - "Drain the cendol and set aside.", - "Put some cendol into a tall glass, pour Gula java sugar syrup and coconut milk (separate layers) into the glass. You can add shaved ice or just some ice cubes." - ], - "image": "cendol.jpg", - "source": "https://www.amanprana.eu/en/recipe/es-cendol-es-dawet/", - "keywords": [ - "cendol", - "sweet", - "fresh", - "Asian" - ] -} +{ + "name": "Es Cendol", + "description": "Indonesian tropical drink with coconut milk", + "github": "nadyamilona", + "ingredients": [ + { + "quantity": "100", + "measure": "gram", + "ingredient": "rice flour" + }, + { + "quantity": "50", + "measure": "gram", + "ingredient": "sago flour" + }, + { + "quantity": "450", + "measure": "ml", + "ingredient": "water" + }, + { + "quantity": "75", + "measure": "ml", + "ingredient": "water with pandan leaves" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "salt" + }, + { + "quantity": "200", + "measure": "gr", + "ingredient": "Amanprana Gula Java Coconut blossom sugar" + }, + { + "quantity": "600", + "measure": "ml", + "ingredient": "coconut milk" + } + + ], + "directions": [ + "Mix rice flour with sago flour and pour some water in the mixture. Boil the rest of the water, add green pandan leaves and a little salt.", + "Put the flour mixture into the boiled water.", + "Stir well and cook until it thickens (paste-like).", + "Drain with a strain that has round holes, so when you press the cendol mixture it will go out of the strain as spaghetti.", + "Put these cendol directly in a bowl with cold water and ice.", + "Cendol will become solid then.>", + "Drain the cendol and set aside.", + "Put some cendol into a tall glass, pour Gula java sugar syrup and coconut milk (separate layers) into the glass. You can add shaved ice or just some ice cubes." + ], + "image": "cendol.jpg", + "source": "https://www.amanprana.eu/en/recipe/es-cendol-es-dawet/", + "keywords": [ + "cendol", + "sweet", + "fresh", + "Asian" + ] +} diff --git a/src/recipes/chai-e-zanjafeel.json b/src/recipes/chai-e-zanjafeel.json index 543978a74..d7b6715e0 100644 --- a/src/recipes/chai-e-zanjafeel.json +++ b/src/recipes/chai-e-zanjafeel.json @@ -1,46 +1,46 @@ -{ - "name": "Chai E Zanjafeel", - "description": "Afghan ginger tea that is refreshing on hot days or when you feel sick.", - "github": "FarbrorGarbo", - "ingredients": [ - { - "quantity": "3", - "measure": "tsp", - "ingredient": "Green tea" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "Sugar" - }, - { - "quantity": "2-3", - "measure": "tsp", - "ingredient": "Ground ginger" - }, - { - "quantity": "1", - "measure": "tbs", - "ingredient": "Walnuts, very finely chopped or ground" - }, - { - "quantity": "3 ½", - "measure": "cups", - "ingredient": "Water" - } - ], - "directions": [ - "Bring 3½ cups water to a boil in a pan, then add the tea and sugar. Continue boiling for about 2 minutes, then strain.", - "Pour the tea back into the pan and add the ground ginger and walnuts.", - "Boil again for about 2 minutes." - ], - "image": "chai-e-zanjafeel.jpg", - "source": "http://www.afghankitchenrecipes.com/recipe/chai-e-zanjafeel-ginger-tea/", - "keywords": [ - "afghan", - "ginger", - "tea", - "refreshing", - "non-alcoholic" - ] +{ + "name": "Chai E Zanjafeel", + "description": "Afghan ginger tea that is refreshing on hot days or when you feel sick.", + "github": "FarbrorGarbo", + "ingredients": [ + { + "quantity": "3", + "measure": "tsp", + "ingredient": "Green tea" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "Sugar" + }, + { + "quantity": "2-3", + "measure": "tsp", + "ingredient": "Ground ginger" + }, + { + "quantity": "1", + "measure": "tbs", + "ingredient": "Walnuts, very finely chopped or ground" + }, + { + "quantity": "3 ½", + "measure": "cups", + "ingredient": "Water" + } + ], + "directions": [ + "Bring 3½ cups water to a boil in a pan, then add the tea and sugar. Continue boiling for about 2 minutes, then strain.", + "Pour the tea back into the pan and add the ground ginger and walnuts.", + "Boil again for about 2 minutes." + ], + "image": "chai-e-zanjafeel.jpg", + "source": "http://www.afghankitchenrecipes.com/recipe/chai-e-zanjafeel-ginger-tea/", + "keywords": [ + "afghan", + "ginger", + "tea", + "refreshing", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/champagne-soup.json b/src/recipes/champagne-soup.json index c42013382..3eb3e6f99 100644 --- a/src/recipes/champagne-soup.json +++ b/src/recipes/champagne-soup.json @@ -1,40 +1,40 @@ -{ - "name": "Champagne Soup", - "description": "The Champagne Soup is a French cocktail, varying from the Angevine Soup. This is a recipe for six people. Share it!", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "75", - "measure": "cl", - "ingredient": "Champagne" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "Cointreau" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "lime juice" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "sugar cane syrup" - } - ], - "directions": [ - "Combine lime juice with the Cointreau and sugar in a very large bowl.", - "Set aside in the fridge.", - "Add the Champagne just before serving!" - ], - "image": "champagne-soup.jpg", - "keywords": [ - "champagne", - "cointreau", - "lime juice", - "angevin", - "anjou" - ] +{ + "name": "Champagne Soup", + "description": "The Champagne Soup is a French cocktail, varying from the Angevine Soup. This is a recipe for six people. Share it!", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "75", + "measure": "cl", + "ingredient": "Champagne" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "Cointreau" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "lime juice" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "sugar cane syrup" + } + ], + "directions": [ + "Combine lime juice with the Cointreau and sugar in a very large bowl.", + "Set aside in the fridge.", + "Add the Champagne just before serving!" + ], + "image": "champagne-soup.jpg", + "keywords": [ + "champagne", + "cointreau", + "lime juice", + "angevin", + "anjou" + ] } \ No newline at end of file diff --git a/src/recipes/cheerwine.json b/src/recipes/cheerwine.json index 929ce5aa4..aebc09b5c 100644 --- a/src/recipes/cheerwine.json +++ b/src/recipes/cheerwine.json @@ -1,33 +1,33 @@ -{ - "name": "Cheerwine", - "description": "A quick and easy fizzy cocktail for any occasion", - "github": "tobeornottobeadev", - "ingredients": [ - { - "quantity": "1", - "measure": "can", - "ingredient": "Cheerwine" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "Lime Juice" - } - ], - "directions": [ - "In a glass mix Vodka, Cheerwine, and Lime Juice.", - "Stir and serve!" - ], - "image": "cheerwine.jpg", - "keywords": [ - "fizzy", - "alcoholic", - "vodka", - "cheerwine" - ] +{ + "name": "Cheerwine", + "description": "A quick and easy fizzy cocktail for any occasion", + "github": "tobeornottobeadev", + "ingredients": [ + { + "quantity": "1", + "measure": "can", + "ingredient": "Cheerwine" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "Lime Juice" + } + ], + "directions": [ + "In a glass mix Vodka, Cheerwine, and Lime Juice.", + "Stir and serve!" + ], + "image": "cheerwine.jpg", + "keywords": [ + "fizzy", + "alcoholic", + "vodka", + "cheerwine" + ] } \ No newline at end of file diff --git a/src/recipes/cherry-bourbon-smash.json b/src/recipes/cherry-bourbon-smash.json index 8cc8953a2..3ad1b84a0 100644 --- a/src/recipes/cherry-bourbon-smash.json +++ b/src/recipes/cherry-bourbon-smash.json @@ -1,64 +1,64 @@ -{ - "name": "Cherry Bourbon Smash", - "description": "Summer garden inspired cocktail!", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "6", - "measure": "pieces", - "ingredient": "cherry" - }, - { - "quantity": "4", - "measure": "sprigs", - "ingredient": "basil" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "fresh thyme leaves" - }, - { - "quantity": "half", - "measure": "piece", - "ingredient": "lemon, juiced" - }, - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "bourbon" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "Cointreau" - }, - { - "quantity": "1-2", - "measure": "teaspoon", - "ingredient": "white wine vinegar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ginger beer for topping" - } - ], - "directions": [ - "Muddle the cherries, basil, thyme, and lemon juice in a cocktail shaker or glass jar, squashing everything to release the juices.", - "Add the bourbon, Cointreau, and vinegar.", - "Fill with ice and shake until combined.", - "Strain and pour into prepared glasses.", - "Top off with ginger beer.", - "Finish with basil and a cherry on top.", - "Serve and enjoy!" - ], - "image": "cherry-bourbon-smash.jpg", - "source": "https://www.halfbakedharvest.com/cherry-bourbon-smash/", - "keywords": [ - "bourbon", - "cherry", - "thyme", - "alcoholic" - ] -} +{ + "name": "Cherry Bourbon Smash", + "description": "Summer garden inspired cocktail!", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "6", + "measure": "pieces", + "ingredient": "cherry" + }, + { + "quantity": "4", + "measure": "sprigs", + "ingredient": "basil" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "fresh thyme leaves" + }, + { + "quantity": "half", + "measure": "piece", + "ingredient": "lemon, juiced" + }, + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "bourbon" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "Cointreau" + }, + { + "quantity": "1-2", + "measure": "teaspoon", + "ingredient": "white wine vinegar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ginger beer for topping" + } + ], + "directions": [ + "Muddle the cherries, basil, thyme, and lemon juice in a cocktail shaker or glass jar, squashing everything to release the juices.", + "Add the bourbon, Cointreau, and vinegar.", + "Fill with ice and shake until combined.", + "Strain and pour into prepared glasses.", + "Top off with ginger beer.", + "Finish with basil and a cherry on top.", + "Serve and enjoy!" + ], + "image": "cherry-bourbon-smash.jpg", + "source": "https://www.halfbakedharvest.com/cherry-bourbon-smash/", + "keywords": [ + "bourbon", + "cherry", + "thyme", + "alcoholic" + ] +} diff --git a/src/recipes/cherry-limeade.json b/src/recipes/cherry-limeade.json index 3a9c3857f..ea6512c58 100644 --- a/src/recipes/cherry-limeade.json +++ b/src/recipes/cherry-limeade.json @@ -1,39 +1,39 @@ -{ - "name": "Cherry Limeade", - "description": "This refreshing drink is pure goodness with no high fructose corn syrup and no artificial colors or flavors.", - "github": "da-r-k", - "ingredients": [ - { - "quantity": "0.5", - "measure": "cup", - "ingredient": "Sugar" - }, - { - "quantity": "0.5", - "measure": "cup", - "ingredient": "Lime Juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Water" - }, - { - "quantity": "1.5", - "measure": "cups", - "ingredient": "Cherries pitted" - } - ], - "directions": [ - "In a small saucepan combine sugar and 2 cups water. Heat to a boiling. Turn off and let cool to room temperature.", - "Meanwhile, blend pitted cherries in a blender until pureed smooth.", - "In a 2-qt pitcher combine syrup from step 1, lime juice, cherry puree, 3 cups of ice. Fill with water to the 2-quart line. Enjoy immediately or refrigerate until serving." - ], - "image": "lemonade.jpg", - "keywords": [ - "non-alcoholic", - "sweet", - "fresh", - "vegan" - ] +{ + "name": "Cherry Limeade", + "description": "This refreshing drink is pure goodness with no high fructose corn syrup and no artificial colors or flavors.", + "github": "da-r-k", + "ingredients": [ + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "Sugar" + }, + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "Lime Juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Water" + }, + { + "quantity": "1.5", + "measure": "cups", + "ingredient": "Cherries pitted" + } + ], + "directions": [ + "In a small saucepan combine sugar and 2 cups water. Heat to a boiling. Turn off and let cool to room temperature.", + "Meanwhile, blend pitted cherries in a blender until pureed smooth.", + "In a 2-qt pitcher combine syrup from step 1, lime juice, cherry puree, 3 cups of ice. Fill with water to the 2-quart line. Enjoy immediately or refrigerate until serving." + ], + "image": "lemonade.jpg", + "keywords": [ + "non-alcoholic", + "sweet", + "fresh", + "vegan" + ] } \ No newline at end of file diff --git a/src/recipes/chikoo-lassi.json b/src/recipes/chikoo-lassi.json index 692d59567..7c3f5b0bd 100644 --- a/src/recipes/chikoo-lassi.json +++ b/src/recipes/chikoo-lassi.json @@ -1,48 +1,48 @@ -{ - "name": "Chikoo lassi", - "description": "A chilled glass of lassi is just the perfect way to refresh during the summer season. Here's an easy and quick recipe to prepare delectable lassi at home with the flavours of chikoo fruit blended with curd, milk,cardamom and honey.", - "github": "Priyanka788", - "ingredients": [ - { - "quantity": "2", - "measure": "piece", - "ingredient": "Chikoo" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "curd" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "cardamom powder" - }, - { - "quantity": "6", - "measure": "teaspoon", - "ingredient": "honey" - } - ], - "directions": [ - "Place all the ingredients in a blender and blend well.", - "Sieve the lassi to avoid lumps and make it smooth.", - "Garnish with almond and more dry fruits.", - "Serve cold." - ], - "image": "chickoo-lassi.jpg", - "keywords": [ - "chikoo", - "honey", - "almond", - "coconut", - "cherry", - "lassi", - "grape" - ] -} +{ + "name": "Chikoo lassi", + "description": "A chilled glass of lassi is just the perfect way to refresh during the summer season. Here's an easy and quick recipe to prepare delectable lassi at home with the flavours of chikoo fruit blended with curd, milk,cardamom and honey.", + "github": "Priyanka788", + "ingredients": [ + { + "quantity": "2", + "measure": "piece", + "ingredient": "Chikoo" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "curd" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "cardamom powder" + }, + { + "quantity": "6", + "measure": "teaspoon", + "ingredient": "honey" + } + ], + "directions": [ + "Place all the ingredients in a blender and blend well.", + "Sieve the lassi to avoid lumps and make it smooth.", + "Garnish with almond and more dry fruits.", + "Serve cold." + ], + "image": "chickoo-lassi.jpg", + "keywords": [ + "chikoo", + "honey", + "almond", + "coconut", + "cherry", + "lassi", + "grape" + ] +} diff --git a/src/recipes/chocolate-milk.json b/src/recipes/chocolate-milk.json index 585c58b9d..659488808 100644 --- a/src/recipes/chocolate-milk.json +++ b/src/recipes/chocolate-milk.json @@ -1,40 +1,40 @@ -{ - "name": "Chocolate Milk", - "description": "A simple chocolate beverage with just four ingredients.", - "github": "Vertigeux", - "ingredients": [ - { - "quantity": "1", - "measure": "tablespoon (5g)", - "ingredient": "Cocoa Powder" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "1", - "measure": "tablespoon (12g)", - "ingredient": "Sugar" - } - ], - "directions": [ - "Combine cocoa powder and water in a microwave-safe cup or mug.", - "Microwave for 15 to 20 seconds until steaming, and stir until very smooth.", - "Add 1/4 cup of the milk and the sugar, and microwave for an additional 15 to 30 seconds, until steaming.", - "Stir until completely mixed.", - "Stir in remaining milk and enjoy." - ], - "image": "chocolate-milk.jpg", - "keywords": [ - "chocolate", - "milk", - "non-alcoholic" - ] +{ + "name": "Chocolate Milk", + "description": "A simple chocolate beverage with just four ingredients.", + "github": "Vertigeux", + "ingredients": [ + { + "quantity": "1", + "measure": "tablespoon (5g)", + "ingredient": "Cocoa Powder" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1", + "measure": "tablespoon (12g)", + "ingredient": "Sugar" + } + ], + "directions": [ + "Combine cocoa powder and water in a microwave-safe cup or mug.", + "Microwave for 15 to 20 seconds until steaming, and stir until very smooth.", + "Add 1/4 cup of the milk and the sugar, and microwave for an additional 15 to 30 seconds, until steaming.", + "Stir until completely mixed.", + "Stir in remaining milk and enjoy." + ], + "image": "chocolate-milk.jpg", + "keywords": [ + "chocolate", + "milk", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/chocolate-monkey.json b/src/recipes/chocolate-monkey.json index b777e2693..8e17321e0 100644 --- a/src/recipes/chocolate-monkey.json +++ b/src/recipes/chocolate-monkey.json @@ -1,51 +1,51 @@ -{ - "name": "Chocolate Monkey", - "description": "A liquid version of a chocolate covered banana, with a bit of a punch.", - "github": "bucks14", - "ingredients": [ - { - "quantity": "1.25", - "measure": "shots", - "ingredient": "banana liqueur" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "crème de cacao" - }, - { - "quantity": "0.25", - "measure": "cup", - "ingredient": "chocolate syrup" - }, - { - "quantity": "3", - "measure": "scoops", - "ingredient": "chocolate ice cream" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "0.25", - "measure": "cup", - "ingredient": "whipped cream" - } - ], - "directions": [ - "Place the banana liqueur, crème de cacao, chocolate syrup, ice cream and milk in a blender.", - "Process for a few seconds until smooth.", - "Pour into long glasses.", - "Top with whipped cream and a drizzle of more chocolate syrup." - ], - "image": "chocolate-monkey.jpg", - "source": "https://www.justapinch.com/recipes/drink/other-drink/chocolate-monkey.html", - "keywords": [ - "chocolate", - "banana", - "ice cream", - "alcoholic" - ] -} +{ + "name": "Chocolate Monkey", + "description": "A liquid version of a chocolate covered banana, with a bit of a punch.", + "github": "bucks14", + "ingredients": [ + { + "quantity": "1.25", + "measure": "shots", + "ingredient": "banana liqueur" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "crème de cacao" + }, + { + "quantity": "0.25", + "measure": "cup", + "ingredient": "chocolate syrup" + }, + { + "quantity": "3", + "measure": "scoops", + "ingredient": "chocolate ice cream" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "0.25", + "measure": "cup", + "ingredient": "whipped cream" + } + ], + "directions": [ + "Place the banana liqueur, crème de cacao, chocolate syrup, ice cream and milk in a blender.", + "Process for a few seconds until smooth.", + "Pour into long glasses.", + "Top with whipped cream and a drizzle of more chocolate syrup." + ], + "image": "chocolate-monkey.jpg", + "source": "https://www.justapinch.com/recipes/drink/other-drink/chocolate-monkey.html", + "keywords": [ + "chocolate", + "banana", + "ice cream", + "alcoholic" + ] +} diff --git a/src/recipes/chocoline.json b/src/recipes/chocoline.json index 6647afcbc..c9b7d7162 100644 --- a/src/recipes/chocoline.json +++ b/src/recipes/chocoline.json @@ -1,34 +1,34 @@ -{ - "name": "Chocoline Milk", - "description": "A Tunisian childhood breakfast drink (a real nostalgia bomb).", - "github": "ayoub3bidi", - "ingredients": [ - { - "quantity": "10", - "measure": "tablespoon (5g)", - "ingredient": "Chocoline" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "1", - "measure": "tablespoon (12g)", - "ingredient": "Sugar" - } - ], - "directions": [ - "Heat the milk until it boils", - "Combine chocoline powder and Sugar in the cup or mug.", - "Add the milk.", - "Stir until completely mixed and enjoy." - ], - "image": "chocoline.jpg", - "keywords": [ - "chocolate", - "milk", - "non-alcoholic" - ] +{ + "name": "Chocoline Milk", + "description": "A Tunisian childhood breakfast drink (a real nostalgia bomb).", + "github": "ayoub3bidi", + "ingredients": [ + { + "quantity": "10", + "measure": "tablespoon (5g)", + "ingredient": "Chocoline" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1", + "measure": "tablespoon (12g)", + "ingredient": "Sugar" + } + ], + "directions": [ + "Heat the milk until it boils", + "Combine chocoline powder and Sugar in the cup or mug.", + "Add the milk.", + "Stir until completely mixed and enjoy." + ], + "image": "chocoline.jpg", + "keywords": [ + "chocolate", + "milk", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/christmas-tonic.json b/src/recipes/christmas-tonic.json index c70d55974..312c9abcf 100644 --- a/src/recipes/christmas-tonic.json +++ b/src/recipes/christmas-tonic.json @@ -1,48 +1,48 @@ -{ - "name": "Christmas Tonic", - "description": "This gin and sparkling apple juice makes an easy seasonal twist on a gin and tonic which is ideal to serve at a Christmas party.", - "github": "marimendes", - "ingredients": [ - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Gin Bombay Sapphire" - }, - { - "quantity": "0.2", - "measure": "oz", - "ingredient": "Cedilla" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Tonic" - }, - { - "quantity": "10", - "measure": "", - "ingredient": "Raisins" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lemon" - } - ], - "directions": [ - "Blend all the ingredients.", - "Pour into into a cup.", - "Add the lemon and the raisins." - ], - "image": "christmas-tonic.jpg", - "source": "https://mdemulher.abril.com.br/gastronomia/gin-receitas-de-bebidas-para-o-verao/", - "keywords": [ - "gin", - "tonic", - "raisin", - "lemon", - "alcoholic", - "christmas", - "vegan" - ] -} +{ + "name": "Christmas Tonic", + "description": "This gin and sparkling apple juice makes an easy seasonal twist on a gin and tonic which is ideal to serve at a Christmas party.", + "github": "marimendes", + "ingredients": [ + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Gin Bombay Sapphire" + }, + { + "quantity": "0.2", + "measure": "oz", + "ingredient": "Cedilla" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Tonic" + }, + { + "quantity": "10", + "measure": "", + "ingredient": "Raisins" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lemon" + } + ], + "directions": [ + "Blend all the ingredients.", + "Pour into into a cup.", + "Add the lemon and the raisins." + ], + "image": "christmas-tonic.jpg", + "source": "https://mdemulher.abril.com.br/gastronomia/gin-receitas-de-bebidas-para-o-verao/", + "keywords": [ + "gin", + "tonic", + "raisin", + "lemon", + "alcoholic", + "christmas", + "vegan" + ] +} diff --git a/src/recipes/chuhai.json b/src/recipes/chuhai.json index b5a391227..7ba729aad 100644 --- a/src/recipes/chuhai.json +++ b/src/recipes/chuhai.json @@ -1,38 +1,38 @@ -{ - "name": "Chuhai", - "description": "Short for Shochu Highball, it is a carbonated fruit drink made from shochu or sometimes vodka.", - "github": "jenzk", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Shochu" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Yuzu Juice or any fruit juice of choice" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "Club Soda" - }, - { - "quantity": "1", - "measure": "Tbsp", - "ingredient": "of simple syrup (optional)" - } - ], - "directions": [ - "Add Shochu, Yuzu juice, Simple Syrup and ice to your cup.", - "Stir the ingredients together.", - "Top your glass with the club soda." - ], - "image": "chuhai.jpg", - "keywords": [ - "highball", - "alcoholic", - "vegan" - ] -} +{ + "name": "Chuhai", + "description": "Short for Shochu Highball, it is a carbonated fruit drink made from shochu or sometimes vodka.", + "github": "jenzk", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Shochu" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Yuzu Juice or any fruit juice of choice" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "Club Soda" + }, + { + "quantity": "1", + "measure": "Tbsp", + "ingredient": "of simple syrup (optional)" + } + ], + "directions": [ + "Add Shochu, Yuzu juice, Simple Syrup and ice to your cup.", + "Stir the ingredients together.", + "Top your glass with the club soda." + ], + "image": "chuhai.jpg", + "keywords": [ + "highball", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/churchill.json b/src/recipes/churchill.json index 1ecb77c69..32998dc99 100644 --- a/src/recipes/churchill.json +++ b/src/recipes/churchill.json @@ -1,36 +1,36 @@ -{ - "name": "Churchill", - "description": "Fresh and easy, non-alcohol drink", - "github": "cemuka", - "ingredients": [ - { - "quantity": "250", - "measure": "ml", - "ingredient": "Mineral water" - }, - { - "quantity": "1", - "measure": "Amount", - "ingredient": "Lemon" - }, - { - "quantity": "2", - "measure": "Tablespoon", - "ingredient": "Salt" - } - ], - "directions": [ - "Squeeze the lemon into the glass.", - "Poor the mineral water, be carefull with bubbles.", - "Add salt.", - "Additionally, you may add some ice." - ], - "image": "churchill.jpg", - "keywords": [ - "lemon", - "easy", - "non-alcoholic", - "fresh", - "carbonated" - ] -} +{ + "name": "Churchill", + "description": "Fresh and easy, non-alcohol drink", + "github": "cemuka", + "ingredients": [ + { + "quantity": "250", + "measure": "ml", + "ingredient": "Mineral water" + }, + { + "quantity": "1", + "measure": "Amount", + "ingredient": "Lemon" + }, + { + "quantity": "2", + "measure": "Tablespoon", + "ingredient": "Salt" + } + ], + "directions": [ + "Squeeze the lemon into the glass.", + "Poor the mineral water, be carefull with bubbles.", + "Add salt.", + "Additionally, you may add some ice." + ], + "image": "churchill.jpg", + "keywords": [ + "lemon", + "easy", + "non-alcoholic", + "fresh", + "carbonated" + ] +} diff --git a/src/recipes/cinnamon-maple-whiskey.json b/src/recipes/cinnamon-maple-whiskey.json index 074a82609..fcaa2e4be 100644 --- a/src/recipes/cinnamon-maple-whiskey.json +++ b/src/recipes/cinnamon-maple-whiskey.json @@ -1,41 +1,41 @@ -{ - "name": "Cinnamon Maple Whiskey Sour", - "description": "Meet the best whiskey sour recipe—it’s full of bourbon and fresh lemon, sweetened with maple syrup and includes a hint of cinnamon.", - "github": "jjohn50", - "ingredients": [ - { - "quantity": "3", - "measure": "tablespoons", - "ingredient": "Bulleit bourbon or your bourbon of choice" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Fresh lemon juice" - }, - { - "quantity": "2-4", - "measure": "teaspoons", - "ingredient": "Maple Syrup " - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "Ground cinnamon" - } - ], - "directions": [ - "Fill a cocktail shaker or mason jar about two-thirds full with ice. ", - "Pour in the bourbon, lemon juice, maple syrup and a pinch of ground cinnamon. ", - "Securely fasten the lid and shake well.", - "Fill a cocktail shaker or mason jar about two-thirds full with ice. ", - "Pour fresh ice into your cocktail glass and strain the cold whiskey sour mixture into the glass. Enjoy!" - ], - "image": "cinnamon-maple-whiskey-sour.jpg", - "keywords": [ - "cinnamon", - "maple syrup", - "whiskey", - "alcoholic" - ] -} +{ + "name": "Cinnamon Maple Whiskey Sour", + "description": "Meet the best whiskey sour recipe—it’s full of bourbon and fresh lemon, sweetened with maple syrup and includes a hint of cinnamon.", + "github": "jjohn50", + "ingredients": [ + { + "quantity": "3", + "measure": "tablespoons", + "ingredient": "Bulleit bourbon or your bourbon of choice" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Fresh lemon juice" + }, + { + "quantity": "2-4", + "measure": "teaspoons", + "ingredient": "Maple Syrup " + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "Ground cinnamon" + } + ], + "directions": [ + "Fill a cocktail shaker or mason jar about two-thirds full with ice. ", + "Pour in the bourbon, lemon juice, maple syrup and a pinch of ground cinnamon. ", + "Securely fasten the lid and shake well.", + "Fill a cocktail shaker or mason jar about two-thirds full with ice. ", + "Pour fresh ice into your cocktail glass and strain the cold whiskey sour mixture into the glass. Enjoy!" + ], + "image": "cinnamon-maple-whiskey-sour.jpg", + "keywords": [ + "cinnamon", + "maple syrup", + "whiskey", + "alcoholic" + ] +} diff --git a/src/recipes/citrus-martini.json b/src/recipes/citrus-martini.json index 54ae8057a..a7e073299 100644 --- a/src/recipes/citrus-martini.json +++ b/src/recipes/citrus-martini.json @@ -1,41 +1,41 @@ -{ - "name": "Citrus Martini", - "description": "This citrus martini uses triple sec, flavored vodka, and fresh squeezed citrus juice from your very own fruit bowl to make a delicious martini!", - "github": "lgomesp", - "ingredients": [{ - "quantity": "1", - "measure": "oz", - "ingredient": "Absolut Citron" - }, - { - "quantity": "1⁄2", - "measure": "oz", - "ingredient": "Lemon Juice" - }, - { - "quantity": "1⁄4", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "1⁄2", - "measure": "oz", - "ingredient": "Triple Sec" - } - ], - "directions": [ - "Fill a shaker with ice cubes.", - "Add all ingredients.", - "Shake and strain into a cocktail glass.", - "You can garnish with lemon zest." - ], - "image": "citrus-martini.jpg", - "source": "https://www.absolutdrinks.com/en/drinks/citrus-martini/", - "keywords": [ - "alcoholic", - "martini", - "citrus", - "vodka", - "juice" - ] +{ + "name": "Citrus Martini", + "description": "This citrus martini uses triple sec, flavored vodka, and fresh squeezed citrus juice from your very own fruit bowl to make a delicious martini!", + "github": "lgomesp", + "ingredients": [{ + "quantity": "1", + "measure": "oz", + "ingredient": "Absolut Citron" + }, + { + "quantity": "1⁄2", + "measure": "oz", + "ingredient": "Lemon Juice" + }, + { + "quantity": "1⁄4", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "1⁄2", + "measure": "oz", + "ingredient": "Triple Sec" + } + ], + "directions": [ + "Fill a shaker with ice cubes.", + "Add all ingredients.", + "Shake and strain into a cocktail glass.", + "You can garnish with lemon zest." + ], + "image": "citrus-martini.jpg", + "source": "https://www.absolutdrinks.com/en/drinks/citrus-martini/", + "keywords": [ + "alcoholic", + "martini", + "citrus", + "vodka", + "juice" + ] } \ No newline at end of file diff --git a/src/recipes/clarito.json b/src/recipes/clarito.json index f721c50cb..7fef58393 100644 --- a/src/recipes/clarito.json +++ b/src/recipes/clarito.json @@ -1,36 +1,36 @@ -{ - "name": "Clarito", - "description": "An adaptation of the Dry Martini made in 1935 by argentinian bartender Santiago 'Pichin' Policastro.", - "github": "juan88", - "ingredients": [ - { - "quantity": "190", - "measure": "gr", - "ingredient": "Dry gin" - }, - { - "quantity": "10", - "measure": "gr", - "ingredient": "French vermouth" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "twist of lemon" - } - ], - "directions": [ - "Chill a cocktail glass.", - "Cut a slice of lemon and rub the brim of the glass before serving.", - "Place the cup upside down on a dish with sugar so that the sugar adheres to the moistened part.", - "Add four or five ice rocks in a cocktail shaker. Pour the gin and the vermouth and shake for one minute.", - "Serve, add the lemon twist and enjoy." - ], - "image": "clarito.jpg", - "source": "Book 'Tragos mágicos' by Santiago Policastro", - "keywords": [ - "lemon", - "gin", - "Argentina" - ] +{ + "name": "Clarito", + "description": "An adaptation of the Dry Martini made in 1935 by argentinian bartender Santiago 'Pichin' Policastro.", + "github": "juan88", + "ingredients": [ + { + "quantity": "190", + "measure": "gr", + "ingredient": "Dry gin" + }, + { + "quantity": "10", + "measure": "gr", + "ingredient": "French vermouth" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "twist of lemon" + } + ], + "directions": [ + "Chill a cocktail glass.", + "Cut a slice of lemon and rub the brim of the glass before serving.", + "Place the cup upside down on a dish with sugar so that the sugar adheres to the moistened part.", + "Add four or five ice rocks in a cocktail shaker. Pour the gin and the vermouth and shake for one minute.", + "Serve, add the lemon twist and enjoy." + ], + "image": "clarito.jpg", + "source": "Book 'Tragos mágicos' by Santiago Policastro", + "keywords": [ + "lemon", + "gin", + "Argentina" + ] } \ No newline at end of file diff --git a/src/recipes/classic-whiskey-sour.json b/src/recipes/classic-whiskey-sour.json index af7ea5ce0..9c1f9fd2c 100644 --- a/src/recipes/classic-whiskey-sour.json +++ b/src/recipes/classic-whiskey-sour.json @@ -1,50 +1,50 @@ -{ - "name": "Classic Whiskey Sour", - "description": "A delicious Classic Whiskey Sour recipe from thekitchn.com", - "github": "deiganM", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "bourbon whiskey" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "freshly squeezed lemon juice" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "1", - "measure": "small to medium", - "ingredient": "egg white" - }, - { - "quantity": "1", - "measure": "shaker worth of", - "ingredient": "ice" - }, - { - "quantity": "1", - "measure": "whole", - "ingredient": "maraschino cherry" - } - ], - "directions": [ - "Build the cocktail. Place the bourbon, lemon juice, simple syrup, and egg white in a cocktail shaker. Do not add ice yet.", - "Dry shake the cocktail. Seal the shaker and shake vigorously for 10 seconds. (This is referred to as a 'dry shake.' It's good for incorporating the egg white before adding ice to the shaker.)", - "Shake again with ice. Add ice, seal again, and shake for 7 to 10 seconds more to chill.", - "Strain the cocktail. Fit a Hawthorne strainer over the top of the shaker and pour the cocktail through a fine-mesh strainer into a coupe glass. This is referred to as a 'double strain' and this method is used to catch any ice shards or pulp from the fresh-squeezed lemon juice.", - "Garnish and serve. Garnish with a speared maraschino cherry." - ], - "image": "classic-whiskey-sour.jpg", - "keywords": [ - "whiskey", - "whiskey-sour", - "alcoholic" - ] -} +{ + "name": "Classic Whiskey Sour", + "description": "A delicious Classic Whiskey Sour recipe from thekitchn.com", + "github": "deiganM", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "bourbon whiskey" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "freshly squeezed lemon juice" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "1", + "measure": "small to medium", + "ingredient": "egg white" + }, + { + "quantity": "1", + "measure": "shaker worth of", + "ingredient": "ice" + }, + { + "quantity": "1", + "measure": "whole", + "ingredient": "maraschino cherry" + } + ], + "directions": [ + "Build the cocktail. Place the bourbon, lemon juice, simple syrup, and egg white in a cocktail shaker. Do not add ice yet.", + "Dry shake the cocktail. Seal the shaker and shake vigorously for 10 seconds. (This is referred to as a 'dry shake.' It's good for incorporating the egg white before adding ice to the shaker.)", + "Shake again with ice. Add ice, seal again, and shake for 7 to 10 seconds more to chill.", + "Strain the cocktail. Fit a Hawthorne strainer over the top of the shaker and pour the cocktail through a fine-mesh strainer into a coupe glass. This is referred to as a 'double strain' and this method is used to catch any ice shards or pulp from the fresh-squeezed lemon juice.", + "Garnish and serve. Garnish with a speared maraschino cherry." + ], + "image": "classic-whiskey-sour.jpg", + "keywords": [ + "whiskey", + "whiskey-sour", + "alcoholic" + ] +} diff --git a/src/recipes/clavis-riga.json b/src/recipes/clavis-riga.json index c1ae02a5d..b5b9f1258 100644 --- a/src/recipes/clavis-riga.json +++ b/src/recipes/clavis-riga.json @@ -1,47 +1,47 @@ -{ - "name": "Clavis Riga", - "description": "Clavis Riga, or Key of Riga, is the offical cocktail of Latvia, using one of it's national drinks, Riga Black Balsam.", - "github": "danielhouston", - "ingredients": [ - { - "quantity": "20", - "measure": "ml", - "ingredient": "Riga Black Balsam" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Rhubarb liqueur" - }, - { - "quantity": "55", - "measure": "ml", - "ingredient": "Apple juice" - }, - { - "quantity": "5", - "measure": "ml", - "ingredient": "Pomegranate syrup" - }, - { - "quantity": "5", - "measure": "ml", - "ingredient": "White chocolate syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "Pour ingredients into a ice cooled mixing glass.", - "Mix, then strain into a cocktail glass.", - "Decorate with the orange peel." - ], - "image": "clavis-riga.jpg", - "keywords": [ - "cocktail", - "alcoholic" - ] -} +{ + "name": "Clavis Riga", + "description": "Clavis Riga, or Key of Riga, is the offical cocktail of Latvia, using one of it's national drinks, Riga Black Balsam.", + "github": "danielhouston", + "ingredients": [ + { + "quantity": "20", + "measure": "ml", + "ingredient": "Riga Black Balsam" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Rhubarb liqueur" + }, + { + "quantity": "55", + "measure": "ml", + "ingredient": "Apple juice" + }, + { + "quantity": "5", + "measure": "ml", + "ingredient": "Pomegranate syrup" + }, + { + "quantity": "5", + "measure": "ml", + "ingredient": "White chocolate syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "Pour ingredients into a ice cooled mixing glass.", + "Mix, then strain into a cocktail glass.", + "Decorate with the orange peel." + ], + "image": "clavis-riga.jpg", + "keywords": [ + "cocktail", + "alcoholic" + ] +} diff --git a/src/recipes/clericot.json b/src/recipes/clericot.json index 633091978..2057e4b7b 100644 --- a/src/recipes/clericot.json +++ b/src/recipes/clericot.json @@ -1,41 +1,41 @@ -{ - "name": "Clericot", - "description": "Clericot is a refreshing Uruguayan drink! It is basically composed of white wine and fruits. Perfect for the summer!", - "github": "gabrielaleal", - "ingredients": [ - { - "quantity": "500", - "measure": "ml", - "ingredient": "Dry white wine" - }, - { - "quantity": "200", - "measure": "ml", - "ingredient": "Lemon soda" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Orange juice" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Fruits of your choice" - } - ], - "directions": [ - "Cut two cups worth of fruits (oranges, kiwis, apples and pineapples are recommended) into medium pieces.", - "Add them to a jar.", - "Add orange juice, lemon soda, and wine to the jar.", - "Add ice (as much as you want)." - ], - "image": "clericot.jpg", - "keywords": [ - "alcoholic", - "citrus", - "fruit", - "wine", - "summer" - ] +{ + "name": "Clericot", + "description": "Clericot is a refreshing Uruguayan drink! It is basically composed of white wine and fruits. Perfect for the summer!", + "github": "gabrielaleal", + "ingredients": [ + { + "quantity": "500", + "measure": "ml", + "ingredient": "Dry white wine" + }, + { + "quantity": "200", + "measure": "ml", + "ingredient": "Lemon soda" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Orange juice" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Fruits of your choice" + } + ], + "directions": [ + "Cut two cups worth of fruits (oranges, kiwis, apples and pineapples are recommended) into medium pieces.", + "Add them to a jar.", + "Add orange juice, lemon soda, and wine to the jar.", + "Add ice (as much as you want)." + ], + "image": "clericot.jpg", + "keywords": [ + "alcoholic", + "citrus", + "fruit", + "wine", + "summer" + ] } \ No newline at end of file diff --git a/src/recipes/clover-club-cocktail.json b/src/recipes/clover-club-cocktail.json index d449077f9..03ccb720c 100644 --- a/src/recipes/clover-club-cocktail.json +++ b/src/recipes/clover-club-cocktail.json @@ -1,39 +1,39 @@ -{ - "name": "Clover Club Cocktail", - "description": "A delicious pre-prohibition cocktail where the signature ingredient is raspberry.", - "github": "jaybob007", - "ingredients": [ - { - "quantity": "2", - "measure": "fl oz", - "ingredient": "Gin" - }, - { - "quantity": "1/2", - "measure": "fl oz", - "ingredient": "Fresh Lemon Juice" - }, - { - "quantity": "1/2", - "measure": "fl oz", - "ingredient": "Raspberry Syrup" - }, - { "quantity": "1", - "measure" : "", - "ingredient": "Egg White" - } - ], - "directions": [ - "Combine ingredients into a shaker with ice.", - "Strain into chilled glass.", - "Garnish with three speared rasberries." - ], - "image": "clover-club-cocktail.jpg", - "source": "https://www.liquor.com/recipes/clover-club/", - "keywords": [ - "raspberry", - "cocktail", - "gin", - "alcoholic" - ] -} +{ + "name": "Clover Club Cocktail", + "description": "A delicious pre-prohibition cocktail where the signature ingredient is raspberry.", + "github": "jaybob007", + "ingredients": [ + { + "quantity": "2", + "measure": "fl oz", + "ingredient": "Gin" + }, + { + "quantity": "1/2", + "measure": "fl oz", + "ingredient": "Fresh Lemon Juice" + }, + { + "quantity": "1/2", + "measure": "fl oz", + "ingredient": "Raspberry Syrup" + }, + { "quantity": "1", + "measure" : "", + "ingredient": "Egg White" + } + ], + "directions": [ + "Combine ingredients into a shaker with ice.", + "Strain into chilled glass.", + "Garnish with three speared rasberries." + ], + "image": "clover-club-cocktail.jpg", + "source": "https://www.liquor.com/recipes/clover-club/", + "keywords": [ + "raspberry", + "cocktail", + "gin", + "alcoholic" + ] +} diff --git a/src/recipes/coco-avocado.json b/src/recipes/coco-avocado.json index 9624bc4d1..cca71b9a4 100644 --- a/src/recipes/coco-avocado.json +++ b/src/recipes/coco-avocado.json @@ -1,45 +1,45 @@ -{ - "name": "Coco Avocado", - "description": "Coco Avocado (or Es Alpukat Kelapa in Indonesian) is a popular beverage in Indonesia, usually sold as one of the street foods. If you are exhausted after an intense working or studying, this dessert might help you chill out.", - "github": "ahmadnaufal", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Ripe avocado" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Young, tender coconut" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Condensed milk, palm sugar, or honey for sweetener" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Ice cube" - } - ], - "directions": [ - "Put the whole cup of ice cube to a blender.", - "Cut the avocado in half and remove the pit.", - "Scoop out all the inside and add them on the blender.", - "Add the sweetener of your preference.", - "Blend them all until smooth.", - "Open up a coconut and put away the coconut water.", - "Scoop out the tender coconut inside and add it to the blender.", - "Pour the drink into a serving glass.", - "You can add more ice cubes or slushed ice to make it fresher!" - ], - "image": "coco-avocado.jpg", - "keywords": [ - "fruit", - "juice", - "non-alcoholic", - "vegan" - ] -} +{ + "name": "Coco Avocado", + "description": "Coco Avocado (or Es Alpukat Kelapa in Indonesian) is a popular beverage in Indonesia, usually sold as one of the street foods. If you are exhausted after an intense working or studying, this dessert might help you chill out.", + "github": "ahmadnaufal", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Ripe avocado" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Young, tender coconut" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Condensed milk, palm sugar, or honey for sweetener" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Ice cube" + } + ], + "directions": [ + "Put the whole cup of ice cube to a blender.", + "Cut the avocado in half and remove the pit.", + "Scoop out all the inside and add them on the blender.", + "Add the sweetener of your preference.", + "Blend them all until smooth.", + "Open up a coconut and put away the coconut water.", + "Scoop out the tender coconut inside and add it to the blender.", + "Pour the drink into a serving glass.", + "You can add more ice cubes or slushed ice to make it fresher!" + ], + "image": "coco-avocado.jpg", + "keywords": [ + "fruit", + "juice", + "non-alcoholic", + "vegan" + ] +} diff --git a/src/recipes/coco-dream.json b/src/recipes/coco-dream.json index 2def8c26f..cdc758b71 100644 --- a/src/recipes/coco-dream.json +++ b/src/recipes/coco-dream.json @@ -1,46 +1,46 @@ -{ - "name": "Coco Dream", - "description": "A refreshing mix of coconut lime and cachaça.", - "github": "rrrahal", - "ingredients": [ - { - "quantity": "1", - "measure": "pulp of", - "ingredient": "Coconut" - }, - { - "quantity": "1/2", - "measure": "squeezed lime", - "ingredient": "" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "of raw sugar" - }, - { - "quantity": "2", - "measure": "shots", - "ingredient": "of cachaça" - }, - { - "quantity": "1", - "measure": "shot", - "ingredient": "coconut milk" - }, - { - "quantity": "1", - "measure": "shot", - "ingredient": "condensed milk" - } - ], - "directions": [ - "Blend all ingredients together on a blender and serve." - ], - "image": "coco-dream.jpg", - "keywords": [ - "cachaça", - "coconut", - "lime" - ] -} +{ + "name": "Coco Dream", + "description": "A refreshing mix of coconut lime and cachaça.", + "github": "rrrahal", + "ingredients": [ + { + "quantity": "1", + "measure": "pulp of", + "ingredient": "Coconut" + }, + { + "quantity": "1/2", + "measure": "squeezed lime", + "ingredient": "" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "of raw sugar" + }, + { + "quantity": "2", + "measure": "shots", + "ingredient": "of cachaça" + }, + { + "quantity": "1", + "measure": "shot", + "ingredient": "coconut milk" + }, + { + "quantity": "1", + "measure": "shot", + "ingredient": "condensed milk" + } + ], + "directions": [ + "Blend all ingredients together on a blender and serve." + ], + "image": "coco-dream.jpg", + "keywords": [ + "cachaça", + "coconut", + "lime" + ] +} diff --git "a/src/recipes/coco-pi\303\261arita.json" "b/src/recipes/coco-pi\303\261arita.json" index 8dce520ca..a9c646310 100644 --- "a/src/recipes/coco-pi\303\261arita.json" +++ "b/src/recipes/coco-pi\303\261arita.json" @@ -1,55 +1,55 @@ -{ - "name": "1800 Coco Piñarita", - "description": "Refreshing Pineapple-Coconut Margarita.", - "github": "yantzincabrera", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "1800 Coconut Tequila" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Ice" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Dole Pineapple Juice" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "Tres Agaves Organic Margarita Mix" - }, - { - "quantity": "16", - "measure": "oz", - "ingredient": "Margarita Glass" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Fresh Pinapple, Coconut or Lime (optional)" - } - ], - "directions": [ - "Add two cups of ice in a 16 oz margarita glass.", - "Add two ounces of the 1800 Coconut Tequila.", - "After, add three ounces of Dole Pineapple Juice along with the eight ounces of Tres Agaves Organic Margarita Mix.", - "Carefully stir with a drink stirrer and garnish your glass with a slice of pineapple or coconut.", - "Sip and enjoy by the pool or on the go in your hydroflask!" - ], - "image": "coco-piñarita.jpg", - "keywords": [ - "margarita", - "coconut", - "pineapple", - "tequila", - "organic", - "lime", - "fresh", - "vegan" - ] -} +{ + "name": "1800 Coco Piñarita", + "description": "Refreshing Pineapple-Coconut Margarita.", + "github": "yantzincabrera", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "1800 Coconut Tequila" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Ice" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Dole Pineapple Juice" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "Tres Agaves Organic Margarita Mix" + }, + { + "quantity": "16", + "measure": "oz", + "ingredient": "Margarita Glass" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Fresh Pinapple, Coconut or Lime (optional)" + } + ], + "directions": [ + "Add two cups of ice in a 16 oz margarita glass.", + "Add two ounces of the 1800 Coconut Tequila.", + "After, add three ounces of Dole Pineapple Juice along with the eight ounces of Tres Agaves Organic Margarita Mix.", + "Carefully stir with a drink stirrer and garnish your glass with a slice of pineapple or coconut.", + "Sip and enjoy by the pool or on the go in your hydroflask!" + ], + "image": "coco-piñarita.jpg", + "keywords": [ + "margarita", + "coconut", + "pineapple", + "tequila", + "organic", + "lime", + "fresh", + "vegan" + ] +} diff --git a/src/recipes/coconut-coffee.json b/src/recipes/coconut-coffee.json index c5fb8c72d..58bd6271b 100644 --- a/src/recipes/coconut-coffee.json +++ b/src/recipes/coconut-coffee.json @@ -1,58 +1,58 @@ -{ - "name": "Coconut Coffee", - "description": "A new Hanoian specialty, where the creaminess of coconut mix perfectly well with the bitter taste of espresso", - "github": "antran22", - "ingredients": [ - { - "quantity": "1", - "measure": "shot", - "ingredient": "Espresso" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "Coconut Milk" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Condensed Milk" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Whipping Cream" - }, - { - "quantity": "20", - "measure": "gram", - "ingredient": "Ice" - }, - { - "quantity": "1", - "measure": "scoop", - "ingredient": "Coconut Ice Cream (optional)" - }, - { - "quantity": "10", - "measure": "gram", - "ingredient": "Coconut Flesh (optional)" - } - ], - "directions": [ - "Prepare one shot of espresso. If you can't get espresso, drip brewed coffee works fine but the taste won't be as robust.", - "Mix the coconut milk, condensed milk, whipping cream, ice together in a blender.", - "Put the coconut mixture into a glass cup, pour the espresso over.", - "Garnish with the ice cream scoop or the coconut flesh.", - "This drink tastes best on a hot day." - ], - "image": "coconut-coffee.jpg", - "keywords": [ - "coffee", - "coconut", - "cream", - "cold", - "non-alcoholic", - "organic" - ] -} +{ + "name": "Coconut Coffee", + "description": "A new Hanoian specialty, where the creaminess of coconut mix perfectly well with the bitter taste of espresso", + "github": "antran22", + "ingredients": [ + { + "quantity": "1", + "measure": "shot", + "ingredient": "Espresso" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "Coconut Milk" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Condensed Milk" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Whipping Cream" + }, + { + "quantity": "20", + "measure": "gram", + "ingredient": "Ice" + }, + { + "quantity": "1", + "measure": "scoop", + "ingredient": "Coconut Ice Cream (optional)" + }, + { + "quantity": "10", + "measure": "gram", + "ingredient": "Coconut Flesh (optional)" + } + ], + "directions": [ + "Prepare one shot of espresso. If you can't get espresso, drip brewed coffee works fine but the taste won't be as robust.", + "Mix the coconut milk, condensed milk, whipping cream, ice together in a blender.", + "Put the coconut mixture into a glass cup, pour the espresso over.", + "Garnish with the ice cream scoop or the coconut flesh.", + "This drink tastes best on a hot day." + ], + "image": "coconut-coffee.jpg", + "keywords": [ + "coffee", + "coconut", + "cream", + "cold", + "non-alcoholic", + "organic" + ] +} diff --git a/src/recipes/coconut-margarita.json b/src/recipes/coconut-margarita.json index 4235247e5..acd17197b 100644 --- a/src/recipes/coconut-margarita.json +++ b/src/recipes/coconut-margarita.json @@ -1,48 +1,48 @@ -{ - "name": "Coconut Margarita", - "description": "Setting out to duplicate the coconut margaritas we had in Costa Rica, my first attempt was awful! I surfed the internet for a good recipe with little luck. I then took what I'd learned from my first nasty try and the ideas I picked up online and after about 5 or 6 attempts I came up with this. Enjoy!", - "github": "ferdox2", - "ingredients": [ - { - "quantity": "2", - "measure": "Cup", - "ingredient": "Ice" - }, - { - "quantity": "3/4", - "measure": "Cup", - "ingredient": "Sweetened coconut cream" - }, - { - "quantity": "4 1/2", - "measure": "Oz", - "ingredient": "Tequila" - }, - { - "quantity": "1 1/2", - "measure": "Oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "1/4", - "measure": "Cup", - "ingredient": "Sweetened flaked coconut" - } - ], - "directions": [ - "Fill a blender with ice.", - "Add the coconut cream, tequila, and triple sec.", - "Blend at high speed until smooth.", - "Scatter the coconut onto a plate.", - "Wet the rims of four glasses.", - "Dip the glass rims in the coconut.", - "Serve the margaritas in the prepared glasses." - ], - "image": "coconut-margarita.jpg", - "keywords": [ - "tequila", - "margarita", - "cocktail", - "coconut" - ] +{ + "name": "Coconut Margarita", + "description": "Setting out to duplicate the coconut margaritas we had in Costa Rica, my first attempt was awful! I surfed the internet for a good recipe with little luck. I then took what I'd learned from my first nasty try and the ideas I picked up online and after about 5 or 6 attempts I came up with this. Enjoy!", + "github": "ferdox2", + "ingredients": [ + { + "quantity": "2", + "measure": "Cup", + "ingredient": "Ice" + }, + { + "quantity": "3/4", + "measure": "Cup", + "ingredient": "Sweetened coconut cream" + }, + { + "quantity": "4 1/2", + "measure": "Oz", + "ingredient": "Tequila" + }, + { + "quantity": "1 1/2", + "measure": "Oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "1/4", + "measure": "Cup", + "ingredient": "Sweetened flaked coconut" + } + ], + "directions": [ + "Fill a blender with ice.", + "Add the coconut cream, tequila, and triple sec.", + "Blend at high speed until smooth.", + "Scatter the coconut onto a plate.", + "Wet the rims of four glasses.", + "Dip the glass rims in the coconut.", + "Serve the margaritas in the prepared glasses." + ], + "image": "coconut-margarita.jpg", + "keywords": [ + "tequila", + "margarita", + "cocktail", + "coconut" + ] } \ No newline at end of file diff --git a/src/recipes/coconut-mint-collins.json b/src/recipes/coconut-mint-collins.json index 745dc2ee1..d47c020d0 100644 --- a/src/recipes/coconut-mint-collins.json +++ b/src/recipes/coconut-mint-collins.json @@ -1,44 +1,44 @@ -{ - "name": "Coconut Mint Collins", - "description": "Beat the summer heat with this minty, sweet and neat tasty Malibu cocktail. What a delicious treat!", - "github": "melda94", - "ingredients": [ - { - "quantity": "1", - "measure": "part", - "ingredient": "Malibu Original" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "Fresh Lime Juice" - }, - { - "quantity": "10", - "measure": "", - "ingredient": "Mint Leaves" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Top with Soda water & lime" - } - ], - "directions": [ - "Pour all ingredients into a chilled glass.", - "Add crushed ice, stir and fill with soda water.", - "Top off with a wedge of lime and mint leaves." - ], - "image": "coconut-mint-collins.jpg", - "source": "https://www.maliburumdrinks.com/en/drinks/coconut-mint-collins/", - "keywords": [ - "malibu", - "lime juice", - "mint", - "soda", - "alcoholic", - "coconut", - "vegan" - ] - -} +{ + "name": "Coconut Mint Collins", + "description": "Beat the summer heat with this minty, sweet and neat tasty Malibu cocktail. What a delicious treat!", + "github": "melda94", + "ingredients": [ + { + "quantity": "1", + "measure": "part", + "ingredient": "Malibu Original" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "Fresh Lime Juice" + }, + { + "quantity": "10", + "measure": "", + "ingredient": "Mint Leaves" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Top with Soda water & lime" + } + ], + "directions": [ + "Pour all ingredients into a chilled glass.", + "Add crushed ice, stir and fill with soda water.", + "Top off with a wedge of lime and mint leaves." + ], + "image": "coconut-mint-collins.jpg", + "source": "https://www.maliburumdrinks.com/en/drinks/coconut-mint-collins/", + "keywords": [ + "malibu", + "lime juice", + "mint", + "soda", + "alcoholic", + "coconut", + "vegan" + ] + +} diff --git a/src/recipes/cold-brew-old-fashioned.json b/src/recipes/cold-brew-old-fashioned.json index 974152f8c..e2ff8654e 100644 --- a/src/recipes/cold-brew-old-fashioned.json +++ b/src/recipes/cold-brew-old-fashioned.json @@ -1,35 +1,35 @@ -{ - "name": "Cold Brew Old Fashioned", - "description": "This is a new spin on an Old Fashioned. This recipe features Rye, black coffee, bitters, and was adapted from How To Drink's YouTube Channel.", - "github": "latonis", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "black coffee" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Rye" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "orange bitters" - } - ], - "directions": [ - "Do not stir, simply build the drink in the glass.", - "Add the cold black coffee.", - "Add the rye and then the bitters.", - "Served on the rocks, stir to combine." - ], - "image": "cold-brew-old-fashioned.jpg", - "keywords": [ - "coffee", - "rye", - "alcoholic", - "orange bitters" - ] -} +{ + "name": "Cold Brew Old Fashioned", + "description": "This is a new spin on an Old Fashioned. This recipe features Rye, black coffee, bitters, and was adapted from How To Drink's YouTube Channel.", + "github": "latonis", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "black coffee" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Rye" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "orange bitters" + } + ], + "directions": [ + "Do not stir, simply build the drink in the glass.", + "Add the cold black coffee.", + "Add the rye and then the bitters.", + "Served on the rocks, stir to combine." + ], + "image": "cold-brew-old-fashioned.jpg", + "keywords": [ + "coffee", + "rye", + "alcoholic", + "orange bitters" + ] +} diff --git a/src/recipes/cold-brew.json b/src/recipes/cold-brew.json index 5f9c9ebc4..6f30febaa 100644 --- a/src/recipes/cold-brew.json +++ b/src/recipes/cold-brew.json @@ -1,31 +1,31 @@ -{ - "name": "Cold Brew Coffee", - "description": "A super-smooth, less acidic, and highly caffeinated coffee.", - "github": "mccarthykp", - "ingredients": [ - { - "quantity": "1", - "measure": "Cup", - "ingredient": "Whole Coffee Beans" - }, - { - "quantity": "4", - "measure": "Cups", - "ingredient": "Water" - } - ], - "directions": [ - "Coarsely grind coffee beans.", - "Combine ground coffee and water in a 1 1/2 quart glass, jar or container by pouring water over the ground coffee.", - "Stir gently with a long-handled wooden spoon to make sure the grounds are thoroughly saturated with water.", - "Cover container with a lid and place in refrigerator to steep for 12 hours.", - "Line a small strainer with cheesecloth or flour sack cloth and place over a large measuring cup or bowl. Pour the coffee through the strainer.", - "Transfer the coffee to a small bottle or jar and store in the fridge for up to a week.", - "Dilute the coffee with as much water or milk as you prefer. Serve over ice if desired." - ], - "image": "cold-brew.jpg", - "source": "https://www.simplyrecipes.com/recipes/how_to_make_cold_brew_coffee/", - "keywords": [ - "coffee" - ] +{ + "name": "Cold Brew Coffee", + "description": "A super-smooth, less acidic, and highly caffeinated coffee.", + "github": "mccarthykp", + "ingredients": [ + { + "quantity": "1", + "measure": "Cup", + "ingredient": "Whole Coffee Beans" + }, + { + "quantity": "4", + "measure": "Cups", + "ingredient": "Water" + } + ], + "directions": [ + "Coarsely grind coffee beans.", + "Combine ground coffee and water in a 1 1/2 quart glass, jar or container by pouring water over the ground coffee.", + "Stir gently with a long-handled wooden spoon to make sure the grounds are thoroughly saturated with water.", + "Cover container with a lid and place in refrigerator to steep for 12 hours.", + "Line a small strainer with cheesecloth or flour sack cloth and place over a large measuring cup or bowl. Pour the coffee through the strainer.", + "Transfer the coffee to a small bottle or jar and store in the fridge for up to a week.", + "Dilute the coffee with as much water or milk as you prefer. Serve over ice if desired." + ], + "image": "cold-brew.jpg", + "source": "https://www.simplyrecipes.com/recipes/how_to_make_cold_brew_coffee/", + "keywords": [ + "coffee" + ] } \ No newline at end of file diff --git a/src/recipes/cold-coffee.json b/src/recipes/cold-coffee.json index 08b88b4d7..55cb61df2 100644 --- a/src/recipes/cold-coffee.json +++ b/src/recipes/cold-coffee.json @@ -1,56 +1,56 @@ -{ - "name": "Cold Coffee", - "description": "If you are a coffee lover you will relish it for sure.", - "github": "sakinarao", - "ingredients": [ - { - "quantity": "1", - "measure": "Mug", - "ingredient": "Chilled Milk" - }, - { - "quantity": "2", - "measure": "teaspoons", - "ingredient": "Coffee Powder" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Sugar" - }, - { - "quantity": "1", - "measure": "Scoop", - "ingredient": "Chocolate Chip Ice-cream" - }, - { - "quantity": "1", - "measure": "Scoop", - "ingredient": "Vanilla" - }, - { - "quantity": "3", - "measure": "teaspoon", - "ingredient": "Hersheys Chocolate Syrup" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "Cocoa Powder" - } - ], - "directions": [ - "Blend coffee powder and Sugar in a mixer jar with 2 teaspoons water until it turns light in colour.", - "Pour milk and Hersheys Syrup in the jar.", - "Blend the mixture until you get a good froth on the top.", - "Put the ice-cream in a serving glass.", - "Pour the coffee in the glass.", - "Garnish with the cocoa powder and some Hersheys Syrup." - ], - "image": "cold-coffee.jpg", - "keywords": [ - "cold", - "coffee", - "ice cream" - ] -} +{ + "name": "Cold Coffee", + "description": "If you are a coffee lover you will relish it for sure.", + "github": "sakinarao", + "ingredients": [ + { + "quantity": "1", + "measure": "Mug", + "ingredient": "Chilled Milk" + }, + { + "quantity": "2", + "measure": "teaspoons", + "ingredient": "Coffee Powder" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Sugar" + }, + { + "quantity": "1", + "measure": "Scoop", + "ingredient": "Chocolate Chip Ice-cream" + }, + { + "quantity": "1", + "measure": "Scoop", + "ingredient": "Vanilla" + }, + { + "quantity": "3", + "measure": "teaspoon", + "ingredient": "Hersheys Chocolate Syrup" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "Cocoa Powder" + } + ], + "directions": [ + "Blend coffee powder and Sugar in a mixer jar with 2 teaspoons water until it turns light in colour.", + "Pour milk and Hersheys Syrup in the jar.", + "Blend the mixture until you get a good froth on the top.", + "Put the ice-cream in a serving glass.", + "Pour the coffee in the glass.", + "Garnish with the cocoa powder and some Hersheys Syrup." + ], + "image": "cold-coffee.jpg", + "keywords": [ + "cold", + "coffee", + "ice cream" + ] +} diff --git a/src/recipes/cold-relief-tea.json b/src/recipes/cold-relief-tea.json index 57a0f7911..f3773fff7 100644 --- a/src/recipes/cold-relief-tea.json +++ b/src/recipes/cold-relief-tea.json @@ -1,94 +1,94 @@ -{ - "name": "Cold Relief Tea", - "description": "A great yet simple way to treat mild cold or a sore throat", - "github": "Lakshita2002", - "ingredients": [ - { - "quantity": "3", - "measure": "Quarter Cups", - "ingredient": "Milk" - }, - { - "quantity": "1", - "measure": "Quarter Cup", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "Teaspoon", - "ingredient": "Tea Leaves" - }, - { - "quantity": "2-3", - "measure": "Teaspoons", - "ingredient": "Sugar" - }, - { - "quantity": "1-2", - "measure": "Stalks", - "ingredient": "Lemongrass" - }, - { - "quantity": "1", - "measure": "Teaspoon", - "ingredient": "Grated Ginger" - }, - { - "quantity": "1-2", - "measure": "Nos", - "ingredient": "Cardamom" - }, - { - "quantity": "5-6", - "measure": "Nos", - "ingredient": "Tulsi Leaves" - }, - { - "quantity": "1/2", - "measure": "Teaspoon", - "ingredient": "Black Pepper Powder" - }, - { - "quantity": "1/4th", - "measure": "Teaspoon", - "ingredient": "Turmeric Powder" - }, - { - "quantity": "1-2", - "measure": "Nos", - "ingredient": "Cloves" - }, - { - "quantity": "1/2", - "measure": "Teaspoon", - "ingredient": "Cinnamon" - }, - { - "quantity": "2", - "measure": "Teaspoons", - "ingredient": "Honey" - }, - { - "quantity": "1", - "measure": "Teaspoon", - "ingredient": "Jaggery" - } - ], - "directions": [ - "In a saucepan, heat up quarter cup of water.", - "To this, add the tea leaves and sugar as per your taste call.", - "After it comes to a gradual boil, add the milk and bring it to a boil.", - "Now, add the lemongrass, grated ginger, cardamom, tulsi leaves, balck pepper powder, turmeric powder, cloves and cinnamon.", - "At the end, add a teaspoon of honey or jaggery to it.", - "Sit back and enjoy your relief tea!" - ], - "image": "cold-relief-tea.jpg", - "keywords": [ - "Cardamom", - "healthy", - "honey", - "milk", - "sugar", - "turmeric" - ] -} +{ + "name": "Cold Relief Tea", + "description": "A great yet simple way to treat mild cold or a sore throat", + "github": "Lakshita2002", + "ingredients": [ + { + "quantity": "3", + "measure": "Quarter Cups", + "ingredient": "Milk" + }, + { + "quantity": "1", + "measure": "Quarter Cup", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "Teaspoon", + "ingredient": "Tea Leaves" + }, + { + "quantity": "2-3", + "measure": "Teaspoons", + "ingredient": "Sugar" + }, + { + "quantity": "1-2", + "measure": "Stalks", + "ingredient": "Lemongrass" + }, + { + "quantity": "1", + "measure": "Teaspoon", + "ingredient": "Grated Ginger" + }, + { + "quantity": "1-2", + "measure": "Nos", + "ingredient": "Cardamom" + }, + { + "quantity": "5-6", + "measure": "Nos", + "ingredient": "Tulsi Leaves" + }, + { + "quantity": "1/2", + "measure": "Teaspoon", + "ingredient": "Black Pepper Powder" + }, + { + "quantity": "1/4th", + "measure": "Teaspoon", + "ingredient": "Turmeric Powder" + }, + { + "quantity": "1-2", + "measure": "Nos", + "ingredient": "Cloves" + }, + { + "quantity": "1/2", + "measure": "Teaspoon", + "ingredient": "Cinnamon" + }, + { + "quantity": "2", + "measure": "Teaspoons", + "ingredient": "Honey" + }, + { + "quantity": "1", + "measure": "Teaspoon", + "ingredient": "Jaggery" + } + ], + "directions": [ + "In a saucepan, heat up quarter cup of water.", + "To this, add the tea leaves and sugar as per your taste call.", + "After it comes to a gradual boil, add the milk and bring it to a boil.", + "Now, add the lemongrass, grated ginger, cardamom, tulsi leaves, balck pepper powder, turmeric powder, cloves and cinnamon.", + "At the end, add a teaspoon of honey or jaggery to it.", + "Sit back and enjoy your relief tea!" + ], + "image": "cold-relief-tea.jpg", + "keywords": [ + "Cardamom", + "healthy", + "honey", + "milk", + "sugar", + "turmeric" + ] +} diff --git a/src/recipes/colombian-michelada.json b/src/recipes/colombian-michelada.json index 522d63576..f45610cb9 100644 --- a/src/recipes/colombian-michelada.json +++ b/src/recipes/colombian-michelada.json @@ -1,36 +1,36 @@ -{ - "name": "Colombian michelada", - "description": "A beery contender for mojitos, daiquiris, and margaritas.", - "github": "reobin", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Lime" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Good summer beer" - } - ], - "directions": [ - "Rim the tip of the glass with lime.", - "Dip the glass top into salt.", - "Squeeze two lime halves into the glass.", - "Pour the beer in." - ], - "image": "colombian-michelada.jpg", - "keywords": [ - "lime", - "salt", - "beer", - "alcoholic", - "vegan" - ] -} +{ + "name": "Colombian michelada", + "description": "A beery contender for mojitos, daiquiris, and margaritas.", + "github": "reobin", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Lime" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Good summer beer" + } + ], + "directions": [ + "Rim the tip of the glass with lime.", + "Dip the glass top into salt.", + "Squeeze two lime halves into the glass.", + "Pour the beer in." + ], + "image": "colombian-michelada.jpg", + "keywords": [ + "lime", + "salt", + "beer", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/colorado-bulldog.json b/src/recipes/colorado-bulldog.json index 4cde804c1..c5dccca36 100644 --- a/src/recipes/colorado-bulldog.json +++ b/src/recipes/colorado-bulldog.json @@ -1,41 +1,41 @@ -{ - "name": "Colorado Bulldog", - "description": "Colorado Bulldog is a sweet and creamy alcoholic drink.", - "github": "cassandraGoose", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Kahlúa" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Cream" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cola" - } - ], - "directions": [ - "Shake the booze and cream together with ice.", - "Strain into a short glas with lots of ice and leave some space for cola.", - "Top off with cola to taste." - ], - "image": "colorado-bulldog.jpg", - "source": "www.cdkitchen.com", - "keywords": [ - "kahlúa", - "vodka", - "cream", - "alcoholic", - "cola" - ] -} +{ + "name": "Colorado Bulldog", + "description": "Colorado Bulldog is a sweet and creamy alcoholic drink.", + "github": "cassandraGoose", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Kahlúa" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Cream" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cola" + } + ], + "directions": [ + "Shake the booze and cream together with ice.", + "Strain into a short glas with lots of ice and leave some space for cola.", + "Top off with cola to taste." + ], + "image": "colorado-bulldog.jpg", + "source": "www.cdkitchen.com", + "keywords": [ + "kahlúa", + "vodka", + "cream", + "alcoholic", + "cola" + ] +} diff --git a/src/recipes/comfort-colllins.json b/src/recipes/comfort-colllins.json index 8d0679836..1f055d0b6 100644 --- a/src/recipes/comfort-colllins.json +++ b/src/recipes/comfort-colllins.json @@ -1,33 +1,33 @@ -{ - "name": "Comfort Collins", - "description": "A Tom Collins with a Southern twist", - "github": "jamiemccarville", - "ingredients": [{ - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Southern Comfort" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "lime juice" - }, - { - "quantity": "fill", - "measure": "glass", - "ingredient": "Lemon-lime soda" - } - ], - "directions": [ - "Add Southern Comfort and lime juice to collins glass filled with ice.", - "Top with lemon-lime soda." - ], - "image": "comfort-collins.jpg", - "keywords": [ - "Southern Comfort", - "lime juice", - "Lemon-lime soda", - "alcoholic", - "simple" - ] +{ + "name": "Comfort Collins", + "description": "A Tom Collins with a Southern twist", + "github": "jamiemccarville", + "ingredients": [{ + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Southern Comfort" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "lime juice" + }, + { + "quantity": "fill", + "measure": "glass", + "ingredient": "Lemon-lime soda" + } + ], + "directions": [ + "Add Southern Comfort and lime juice to collins glass filled with ice.", + "Top with lemon-lime soda." + ], + "image": "comfort-collins.jpg", + "keywords": [ + "Southern Comfort", + "lime juice", + "Lemon-lime soda", + "alcoholic", + "simple" + ] } \ No newline at end of file diff --git a/src/recipes/coquito.json b/src/recipes/coquito.json index ed78108f3..714db5826 100644 --- a/src/recipes/coquito.json +++ b/src/recipes/coquito.json @@ -1,90 +1,90 @@ -{ - "name": "Coquito", - "description": "Traditional Christmas drink that originated in Puerto Rico.", - "github": "JavaVista", - "ingredients": [ - { - "quantity": "1", - "measure": "pinch", - "ingredient": "salt" - }, - { - "quantity": "3/4", - "measure": "teaspoon", - "ingredient": "cloves" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "nutmeg" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "cinnamon" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "cinnamon sticks for garnishing" - }, - { - "quantity": "1 1/2", - "measure": "cups", - "ingredient": "dark spiced rum (to give it good flavor) or white rum (adjust to taste, may be omitted)" - }, - { - "quantity": "1", - "measure": "15 oz", - "ingredient": "coconut cream (Coco Lopez)" - }, - { - "quantity": "1", - "measure": "13.5 oz", - "ingredient": "coconut milk" - }, - { - "quantity": "1", - "measure": "14 oz", - "ingredient": "sweetened condensed milk" - }, - { - "quantity": "1", - "measure": "12 oz", - "ingredient": "evaporated milk" - }, - { - "quantity": "2", - "measure": "whole", - "ingredient": "star anise (optional)" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "water (optional)" - } - ], - "directions": [ - "(Optional) In a small pot, add water and anise. Gently boil for 2-3 minutes. Let it cool completely, remove the anise from the water.", - "In a blender, add all of the ingredients. If you omit the rum, you might want to add a little water to cut some of the sweetness. (Depending on size of the blender, you may have to do this in batches.)", - "Pour into old rum bottles or any liquor bottles or place in a sealed container and then refrigerate. Refrigerate for at least an hour or two before serving.", - "Garnish with ground cinnamon and cinnamon sticks, if desired" - ], - "image": "coquito.jpg", - "keywords": [ - "rum", - "traditional", - "holiday", - "dark rum", - "white rum", - "coconut milk", - "condensed milk", - "coconut cream", - "evaporated milk", - "nutmeg", - "cinnamon", - "clove", - "salt", - "water" - ] -} +{ + "name": "Coquito", + "description": "Traditional Christmas drink that originated in Puerto Rico.", + "github": "JavaVista", + "ingredients": [ + { + "quantity": "1", + "measure": "pinch", + "ingredient": "salt" + }, + { + "quantity": "3/4", + "measure": "teaspoon", + "ingredient": "cloves" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "nutmeg" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "cinnamon" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "cinnamon sticks for garnishing" + }, + { + "quantity": "1 1/2", + "measure": "cups", + "ingredient": "dark spiced rum (to give it good flavor) or white rum (adjust to taste, may be omitted)" + }, + { + "quantity": "1", + "measure": "15 oz", + "ingredient": "coconut cream (Coco Lopez)" + }, + { + "quantity": "1", + "measure": "13.5 oz", + "ingredient": "coconut milk" + }, + { + "quantity": "1", + "measure": "14 oz", + "ingredient": "sweetened condensed milk" + }, + { + "quantity": "1", + "measure": "12 oz", + "ingredient": "evaporated milk" + }, + { + "quantity": "2", + "measure": "whole", + "ingredient": "star anise (optional)" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "water (optional)" + } + ], + "directions": [ + "(Optional) In a small pot, add water and anise. Gently boil for 2-3 minutes. Let it cool completely, remove the anise from the water.", + "In a blender, add all of the ingredients. If you omit the rum, you might want to add a little water to cut some of the sweetness. (Depending on size of the blender, you may have to do this in batches.)", + "Pour into old rum bottles or any liquor bottles or place in a sealed container and then refrigerate. Refrigerate for at least an hour or two before serving.", + "Garnish with ground cinnamon and cinnamon sticks, if desired" + ], + "image": "coquito.jpg", + "keywords": [ + "rum", + "traditional", + "holiday", + "dark rum", + "white rum", + "coconut milk", + "condensed milk", + "coconut cream", + "evaporated milk", + "nutmeg", + "cinnamon", + "clove", + "salt", + "water" + ] +} diff --git a/src/recipes/corn-juice.json b/src/recipes/corn-juice.json index a10a60763..4f14c77c0 100644 --- a/src/recipes/corn-juice.json +++ b/src/recipes/corn-juice.json @@ -1,36 +1,36 @@ -{ - "name": "Corn Juice", - "description": "Besides being rich in carbohydrates, corn also has many benefits such as increasing endurance to prevent heart disease and anemia. Therefore this menu is a recommendation to be given to toddlers.", - "github": "coroo", - "ingredients": [ - { - "quantity": "4", - "measure": "", - "ingredient": "sweet corn" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sugar as needed" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Salt as needed" - } - ], - "directions": [ - "Boil sweet corn until cooked (set aside the boiled water and do not throw it away).", - "Sweet corn stew using a knife.", - "Blender sweet corn that has been smeared with sweet corn boiled water according to taste." - ], - "image": "corn-juice.jpg", - "keywords": [ - "corn", - "vegan", - "sugar", - "salt", - "non-alcoholic", - "vegan" - ] -} +{ + "name": "Corn Juice", + "description": "Besides being rich in carbohydrates, corn also has many benefits such as increasing endurance to prevent heart disease and anemia. Therefore this menu is a recommendation to be given to toddlers.", + "github": "coroo", + "ingredients": [ + { + "quantity": "4", + "measure": "", + "ingredient": "sweet corn" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sugar as needed" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Salt as needed" + } + ], + "directions": [ + "Boil sweet corn until cooked (set aside the boiled water and do not throw it away).", + "Sweet corn stew using a knife.", + "Blender sweet corn that has been smeared with sweet corn boiled water according to taste." + ], + "image": "corn-juice.jpg", + "keywords": [ + "corn", + "vegan", + "sugar", + "salt", + "non-alcoholic", + "vegan" + ] +} diff --git a/src/recipes/corpse-reviver-no2.json b/src/recipes/corpse-reviver-no2.json index 70ba9f018..bea11d3c3 100644 --- a/src/recipes/corpse-reviver-no2.json +++ b/src/recipes/corpse-reviver-no2.json @@ -1,45 +1,45 @@ -{ - "name": "Corpse Reviver no.2", - "description": "The Corpse Reviver family of named cocktails are sometimes drunk as alcoholic hangover cures, of potency or characteristics to tongue in cheek be able to revive even a dead person. The Corpse Reviver no.2 as described in the Savoy Cocktail Book is the most commonly drunk of the corpse revivers.", - "github": "slidd", - "ingredients": [ - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "Rutte Dry Gin" - }, - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "De Kuyper Triple Sec" - }, - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "Lillet Blanc" - }, - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "Freshly squeezed lemon juice" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "La Fee Parisienne absinthe" - } - ], - "directions": [ - "Shake all the ingredients with ice and fine strain into a chilled glass." - ], - "image": "corpse-reviver-no2.jpg", - "keywords": [ - "cocktail", - "gin", - "hangover", - "lemon", - "alcoholic", - "absinthe", - "vegan" - ] -} +{ + "name": "Corpse Reviver no.2", + "description": "The Corpse Reviver family of named cocktails are sometimes drunk as alcoholic hangover cures, of potency or characteristics to tongue in cheek be able to revive even a dead person. The Corpse Reviver no.2 as described in the Savoy Cocktail Book is the most commonly drunk of the corpse revivers.", + "github": "slidd", + "ingredients": [ + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "Rutte Dry Gin" + }, + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "De Kuyper Triple Sec" + }, + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "Lillet Blanc" + }, + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "Freshly squeezed lemon juice" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "La Fee Parisienne absinthe" + } + ], + "directions": [ + "Shake all the ingredients with ice and fine strain into a chilled glass." + ], + "image": "corpse-reviver-no2.jpg", + "keywords": [ + "cocktail", + "gin", + "hangover", + "lemon", + "alcoholic", + "absinthe", + "vegan" + ] +} diff --git a/src/recipes/cosmopolitan.json b/src/recipes/cosmopolitan.json index d8cd6a453..2568ea8c9 100644 --- a/src/recipes/cosmopolitan.json +++ b/src/recipes/cosmopolitan.json @@ -1,40 +1,40 @@ -{ - "name": "Cosmopolitan", - "description": "One thing is certain, the Cosmopolitan is outdated, but just like the cocktail as a whole, it just needs a little help to get back on track!", - "github": "joshuamart", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "green lemon juice" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "triple sec (Curacao, Grand Marnier, Cointreau)" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Cranberry juice" - } - ], - "directions": [ - "Combine all the ingredients in a shaker and mix vigorously for 15 seconds.", - "If you wish to respect the original recipe of the cosmo, take an orange peel and press it over the glass and in front of a match to ignite the orange essential oils on the surface of the peel." - ], - "image": "cosmopolitan.jpg", - "keywords": [ - "vodka", - "lemon juice", - "triple sec", - "cranberry juice", - "alcoholic", - "vegan" - ] -} +{ + "name": "Cosmopolitan", + "description": "One thing is certain, the Cosmopolitan is outdated, but just like the cocktail as a whole, it just needs a little help to get back on track!", + "github": "joshuamart", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "green lemon juice" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "triple sec (Curacao, Grand Marnier, Cointreau)" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Cranberry juice" + } + ], + "directions": [ + "Combine all the ingredients in a shaker and mix vigorously for 15 seconds.", + "If you wish to respect the original recipe of the cosmo, take an orange peel and press it over the glass and in front of a match to ignite the orange essential oils on the surface of the peel." + ], + "image": "cosmopolitan.jpg", + "keywords": [ + "vodka", + "lemon juice", + "triple sec", + "cranberry juice", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/cranberry-bourbon.json b/src/recipes/cranberry-bourbon.json index 43168f5c4..5db9a2908 100644 --- a/src/recipes/cranberry-bourbon.json +++ b/src/recipes/cranberry-bourbon.json @@ -1,62 +1,62 @@ -{ - "name": "Cranberry Bourbon Sour", - "description": "Putting a festive spin on a classic cocktail!", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Maple Syrup" - }, - { - "quantity": "1", - "measure": "number", - "ingredient": "Orange, sliced" - }, - { - "quantity": "8", - "measure": "ounces", - "ingredient": "Bourbon" - }, - { - "quantity": "4", - "measure": "ounces", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "100% cranberry juice" - }, - { - "quantity": "1", - "measure": "number", - "ingredient": "orange, zest" - }, - { - "quantity": "3-4", - "measure": "dashes", - "ingredient": "orange bitters" - } - ], - "directions": [ - "To make the cranberry syrup: bring 1/2 cup water, the maple syrup, and cranberries in a medium pot and boil over high heat.", - "Boil 5 minutes or until the cranberries begin to burst, then remove from the heat.", - "Stir in the orange zest. Let cool.", - "Combine 2-3 tablespoons cranberry syrup, the bourbon, lemon juice, cranberry juice, and orange bitters in a cocktail shaker.", - "Add ice and shake. Strain into a glass.", - "You can ground the spices in a motor and pestle too.", - "Boil milk in a heavy bottomed pan.", - "Garnish with orange slice." - ], - "image": "cranberry-bourbon.jpg", - "source": "https://www.halfbakedharvest.com/cranberry-bourbon-sour/", - "keywords": [ - "cool", - "cranberry", - "alcoholic", - "party", - "bourbon", - "orange" - ] +{ + "name": "Cranberry Bourbon Sour", + "description": "Putting a festive spin on a classic cocktail!", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Maple Syrup" + }, + { + "quantity": "1", + "measure": "number", + "ingredient": "Orange, sliced" + }, + { + "quantity": "8", + "measure": "ounces", + "ingredient": "Bourbon" + }, + { + "quantity": "4", + "measure": "ounces", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "100% cranberry juice" + }, + { + "quantity": "1", + "measure": "number", + "ingredient": "orange, zest" + }, + { + "quantity": "3-4", + "measure": "dashes", + "ingredient": "orange bitters" + } + ], + "directions": [ + "To make the cranberry syrup: bring 1/2 cup water, the maple syrup, and cranberries in a medium pot and boil over high heat.", + "Boil 5 minutes or until the cranberries begin to burst, then remove from the heat.", + "Stir in the orange zest. Let cool.", + "Combine 2-3 tablespoons cranberry syrup, the bourbon, lemon juice, cranberry juice, and orange bitters in a cocktail shaker.", + "Add ice and shake. Strain into a glass.", + "You can ground the spices in a motor and pestle too.", + "Boil milk in a heavy bottomed pan.", + "Garnish with orange slice." + ], + "image": "cranberry-bourbon.jpg", + "source": "https://www.halfbakedharvest.com/cranberry-bourbon-sour/", + "keywords": [ + "cool", + "cranberry", + "alcoholic", + "party", + "bourbon", + "orange" + ] } \ No newline at end of file diff --git a/src/recipes/cranberry-mimosa.json b/src/recipes/cranberry-mimosa.json index f19d54077..1e7ea7870 100644 --- a/src/recipes/cranberry-mimosa.json +++ b/src/recipes/cranberry-mimosa.json @@ -1,28 +1,28 @@ -{ - "name": "Cranberry Mimosa", - "description": "A nice drink to shake your morning.", - "github": "keilavizcarra", - "ingredients": [ - { - "quantity": "1", - "measure": "c.", - "ingredient": "sweetened cranberry juice" - }, - { - "quantity": "2.5", - "measure": "oz", - "ingredient": "champange" - } - ], - "directions": [ - "Pour 1/4 cup cranberry juice into each glass and top with champage." - ], - "image": "cranberry-mimosa.jpg", - "keywords": [ - "champagne", - "cranberry", - "juice", - "mimosa", - "vegan" - ] -} +{ + "name": "Cranberry Mimosa", + "description": "A nice drink to shake your morning.", + "github": "keilavizcarra", + "ingredients": [ + { + "quantity": "1", + "measure": "c.", + "ingredient": "sweetened cranberry juice" + }, + { + "quantity": "2.5", + "measure": "oz", + "ingredient": "champange" + } + ], + "directions": [ + "Pour 1/4 cup cranberry juice into each glass and top with champage." + ], + "image": "cranberry-mimosa.jpg", + "keywords": [ + "champagne", + "cranberry", + "juice", + "mimosa", + "vegan" + ] +} diff --git a/src/recipes/cranberry-orange-whiskey.json b/src/recipes/cranberry-orange-whiskey.json index 6e54a7f9b..89480e9df 100644 --- a/src/recipes/cranberry-orange-whiskey.json +++ b/src/recipes/cranberry-orange-whiskey.json @@ -1,55 +1,55 @@ -{ - "name": "Cranberry Orange Whiskey Cocktail", - "description": "One of our all-time favorite cocktail recipes, this whiskey cocktail is the perfect balance of tart and sweet.", - "github": "vijayakumarGit", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "unsweetened cranberry juice" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "orange juice (freshly squeezed is preferable)" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Whiskey" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "cointreau" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "freshly squeezed lemon juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "sprigs thyme" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "ginger beer" - } - ], - "directions": [ - "Add all ingredients except ginger beer to a cocktail shaker filled with ice..", - "Shake vigorously for 30 seconds and strain into chilled glass.", - "Top off with ginger beer and garnish with orange peel and fresh thyme (optional)." - ], - "image": "cranberry-orange-whiskey.jpg", - "source": "https://www.crowdedkitchen.com/cranberry-orange-whiskey-cocktail/", - "keywords": ["cocktail", "simple syrup", "cointreau", "orange", "whiskey"] -} +{ + "name": "Cranberry Orange Whiskey Cocktail", + "description": "One of our all-time favorite cocktail recipes, this whiskey cocktail is the perfect balance of tart and sweet.", + "github": "vijayakumarGit", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "unsweetened cranberry juice" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "orange juice (freshly squeezed is preferable)" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Whiskey" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "cointreau" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "freshly squeezed lemon juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "sprigs thyme" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "ginger beer" + } + ], + "directions": [ + "Add all ingredients except ginger beer to a cocktail shaker filled with ice..", + "Shake vigorously for 30 seconds and strain into chilled glass.", + "Top off with ginger beer and garnish with orange peel and fresh thyme (optional)." + ], + "image": "cranberry-orange-whiskey.jpg", + "source": "https://www.crowdedkitchen.com/cranberry-orange-whiskey-cocktail/", + "keywords": ["cocktail", "simple syrup", "cointreau", "orange", "whiskey"] +} diff --git a/src/recipes/cranberry-tonic.json b/src/recipes/cranberry-tonic.json index 140f7c8f6..5a1b50d0f 100644 --- a/src/recipes/cranberry-tonic.json +++ b/src/recipes/cranberry-tonic.json @@ -1,45 +1,45 @@ -{ - "name": "Cranberry Tonic", - "description": "When cranberry finds a tonic side to surprise us...", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "lime syrup" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "orange juice" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "cranberry juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "tonic water soda" - } - ], - "directions": [ - "Put the ingredients, except the soda, with a few ice cubes in a shaker.", - "Shake and pour over ice in a long drink glass.", - "Top off with the soda shake and add half a slice of lime." - ], - "image": "cranberry-tonic.jpg", - "keywords": [ - "gin", - "lime syrup", - "orange juice", - "cranberry juice", - "tonic" - ] -} +{ + "name": "Cranberry Tonic", + "description": "When cranberry finds a tonic side to surprise us...", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "lime syrup" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "orange juice" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "cranberry juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "tonic water soda" + } + ], + "directions": [ + "Put the ingredients, except the soda, with a few ice cubes in a shaker.", + "Shake and pour over ice in a long drink glass.", + "Top off with the soda shake and add half a slice of lime." + ], + "image": "cranberry-tonic.jpg", + "keywords": [ + "gin", + "lime syrup", + "orange juice", + "cranberry juice", + "tonic" + ] +} diff --git a/src/recipes/creamy-indian-espresso.json b/src/recipes/creamy-indian-espresso.json index efe5b022e..de424180a 100644 --- a/src/recipes/creamy-indian-espresso.json +++ b/src/recipes/creamy-indian-espresso.json @@ -1,46 +1,46 @@ -{ - "name": "Creamy Indian Espresso", - "description": "Indian Espresso Coffee made without an espresso machine.", - "github": "aindrila2412", - "ingredients": [ - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Instant Coffee Powder" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Granulated Sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cocoa Powder" - } - ], - "directions": [ - "Put instant coffee powder and sugar in a coffee mug.", - "Add 1 tsp. water and mix.", - "Beat the mix vigorously with a spoon. You have to incorpotate as much air as you can. That will give you the whipped frothy coffee-sugar mix. The more you beat, the mix will become pale in colour. Make sure your mix is whipped and creamy enough.", - "Heat a cup of milk and pour it over the whipped coffe-sugar paste. Stir. Sprinkle cocoa powder and serve immediately." - ], - "image": "creamy-indian-espresso.jpg", - "keywords": [ - "coffee powder", - "granulated sugar", - "milk", - "water", - "cocoa powder" - ] -} +{ + "name": "Creamy Indian Espresso", + "description": "Indian Espresso Coffee made without an espresso machine.", + "github": "aindrila2412", + "ingredients": [ + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Instant Coffee Powder" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Granulated Sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cocoa Powder" + } + ], + "directions": [ + "Put instant coffee powder and sugar in a coffee mug.", + "Add 1 tsp. water and mix.", + "Beat the mix vigorously with a spoon. You have to incorpotate as much air as you can. That will give you the whipped frothy coffee-sugar mix. The more you beat, the mix will become pale in colour. Make sure your mix is whipped and creamy enough.", + "Heat a cup of milk and pour it over the whipped coffe-sugar paste. Stir. Sprinkle cocoa powder and serve immediately." + ], + "image": "creamy-indian-espresso.jpg", + "keywords": [ + "coffee powder", + "granulated sugar", + "milk", + "water", + "cocoa powder" + ] +} diff --git a/src/recipes/creamy-mango-lassi.json b/src/recipes/creamy-mango-lassi.json index 9e6e9ceb4..3524ab01f 100644 --- a/src/recipes/creamy-mango-lassi.json +++ b/src/recipes/creamy-mango-lassi.json @@ -1,58 +1,58 @@ -{ - "name": "Creamy Mango Lassi", - "description": "Creamy Mango Lassi made with sweet mangoes, yogurt and touch of cardamom!", - "github": "saikoushalg", - "ingredients": [ - { - "quantity": "250", - "measure": "ml", - "ingredient": "mango pulp" - }, - { - "quantity": "240", - "measure": "ml", - "ingredient": "yougurt" - }, - { - "quantity": "120", - "measure": "ml", - "ingredient": "milk" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "sugar" - }, - { - "quantity": "1/4", - "measure": "teaspoons", - "ingredient": "cardamom powder" - }, - { - "quantity": "3-5", - "measure": "grams", - "ingredient": "crushed almonds" - } - - - - ], - "directions": [ - "Take a large bowl, add 250ml of fresh mango pulp.", - "To the same bowl, now add yogurt.", - "Now add cold milk.", - "Also add the sugar and the cardamom powder.", - "Blend everything until well combined.", - "Pour the mango lassi into serving glasses and chill before serving.", - "Garnish with crushed almonds,before serving!" - ], - "image": "creamy-mango-lassi.jpg", - - "keywords": [ - "mango", - "sweet", - "summer", - "lassi", - "refreshing" - ] -} +{ + "name": "Creamy Mango Lassi", + "description": "Creamy Mango Lassi made with sweet mangoes, yogurt and touch of cardamom!", + "github": "saikoushalg", + "ingredients": [ + { + "quantity": "250", + "measure": "ml", + "ingredient": "mango pulp" + }, + { + "quantity": "240", + "measure": "ml", + "ingredient": "yougurt" + }, + { + "quantity": "120", + "measure": "ml", + "ingredient": "milk" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "sugar" + }, + { + "quantity": "1/4", + "measure": "teaspoons", + "ingredient": "cardamom powder" + }, + { + "quantity": "3-5", + "measure": "grams", + "ingredient": "crushed almonds" + } + + + + ], + "directions": [ + "Take a large bowl, add 250ml of fresh mango pulp.", + "To the same bowl, now add yogurt.", + "Now add cold milk.", + "Also add the sugar and the cardamom powder.", + "Blend everything until well combined.", + "Pour the mango lassi into serving glasses and chill before serving.", + "Garnish with crushed almonds,before serving!" + ], + "image": "creamy-mango-lassi.jpg", + + "keywords": [ + "mango", + "sweet", + "summer", + "lassi", + "refreshing" + ] +} diff --git a/src/recipes/creole-cream.json b/src/recipes/creole-cream.json index e4cca5fd6..feba62a75 100644 --- a/src/recipes/creole-cream.json +++ b/src/recipes/creole-cream.json @@ -1,51 +1,51 @@ -{ - "name": "Creole Cream", - "description": "Cocktail created for the British show \"The Persuaders!\", you might like it if you enjoy Martini and sweet flavors!", - "github": "WilliamAboucaya", - "ingredients": [ - { - "quantity": "4", - "measure": "cl", - "ingredient": "Light rum" - }, - { - "quantity": "2", - "measure": "cl", - "ingredient": "White vermouth" - }, - { - "quantity": "1", - "measure": "cl", - "ingredient": "Grenadine" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Lemon juice" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Angostura bitters" - }, - { - "quantity": "1 or 2", - "measure": "", - "ingredient": "Olives" - } - ], - "directions": [ - "Put rum, vermouth, grenadine and lemon juice into a cocktail shaker and stir with crushed ice.", - "Pour into a martini glass.", - "Add a dash of Angostura and one or two olives." - ], - "image": "creole-cream.jpg", - "keywords": [ - "rum", - "vermouth", - "syrup", - "olives", - "alcoholic", - "vegan" - ] -} +{ + "name": "Creole Cream", + "description": "Cocktail created for the British show \"The Persuaders!\", you might like it if you enjoy Martini and sweet flavors!", + "github": "WilliamAboucaya", + "ingredients": [ + { + "quantity": "4", + "measure": "cl", + "ingredient": "Light rum" + }, + { + "quantity": "2", + "measure": "cl", + "ingredient": "White vermouth" + }, + { + "quantity": "1", + "measure": "cl", + "ingredient": "Grenadine" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Lemon juice" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Angostura bitters" + }, + { + "quantity": "1 or 2", + "measure": "", + "ingredient": "Olives" + } + ], + "directions": [ + "Put rum, vermouth, grenadine and lemon juice into a cocktail shaker and stir with crushed ice.", + "Pour into a martini glass.", + "Add a dash of Angostura and one or two olives." + ], + "image": "creole-cream.jpg", + "keywords": [ + "rum", + "vermouth", + "syrup", + "olives", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/crock-pot-butterbeer-rum.json b/src/recipes/crock-pot-butterbeer-rum.json index 963191755..6f8840af2 100644 --- a/src/recipes/crock-pot-butterbeer-rum.json +++ b/src/recipes/crock-pot-butterbeer-rum.json @@ -1,76 +1,76 @@ -{ - "name": "Crock-Pot Butterbeer Rum", - "description": "Impress all of your friends and make your own butterbeer rum.", - "github": "phpshko", - "ingredients": [ - { - "quantity": "6", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "12", - "measure": "oz", - "ingredient": "cans cream soda" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "brown sugar" - }, - { - "quantity": "1", - "measure": "stick", - "ingredient": "unsalted butter" - }, - { - "quantity": "1/2", - "measure": "c", - "ingredient": "butterscotch syrup, divided" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "cinnamon sticks" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "vanilla" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "salt" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "spiced rum" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Whipped cream, for serving" - }, - { - "quantity": "", - "measure": "", - "ingredient": "gold sanding sugar, for serving" - } - ], - "directions": [ - "In Crock-Pot, combine water, cream soda, sugar, butter, 1/4 cup butterscotch, cinnamon sticks, vanilla and salt.", - "Cover and cook on low for 3 to 3 1/2 hours, until warm and butter is melted. Remove lid and stir in rum.", - "Pour remaining butterscotch syrup onto a shallow plate.", - "Dip rims of mugs in syrup before filling with butter beer.", - "Top with whipped cream, sprinkle with sanding sugar, and serve." - ], - "image": "crock-pot-butterbeer-rum.jpg", - "keywords": [ - "rum", - "cinnamon", - "cream soda", - "vanilla" - ] -} +{ + "name": "Crock-Pot Butterbeer Rum", + "description": "Impress all of your friends and make your own butterbeer rum.", + "github": "phpshko", + "ingredients": [ + { + "quantity": "6", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "12", + "measure": "oz", + "ingredient": "cans cream soda" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "brown sugar" + }, + { + "quantity": "1", + "measure": "stick", + "ingredient": "unsalted butter" + }, + { + "quantity": "1/2", + "measure": "c", + "ingredient": "butterscotch syrup, divided" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "cinnamon sticks" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "vanilla" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "salt" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "spiced rum" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Whipped cream, for serving" + }, + { + "quantity": "", + "measure": "", + "ingredient": "gold sanding sugar, for serving" + } + ], + "directions": [ + "In Crock-Pot, combine water, cream soda, sugar, butter, 1/4 cup butterscotch, cinnamon sticks, vanilla and salt.", + "Cover and cook on low for 3 to 3 1/2 hours, until warm and butter is melted. Remove lid and stir in rum.", + "Pour remaining butterscotch syrup onto a shallow plate.", + "Dip rims of mugs in syrup before filling with butter beer.", + "Top with whipped cream, sprinkle with sanding sugar, and serve." + ], + "image": "crock-pot-butterbeer-rum.jpg", + "keywords": [ + "rum", + "cinnamon", + "cream soda", + "vanilla" + ] +} diff --git a/src/recipes/crusta.json b/src/recipes/crusta.json index 6b9e7d829..2146f2d09 100644 --- a/src/recipes/crusta.json +++ b/src/recipes/crusta.json @@ -1,64 +1,64 @@ -{ - "name": "Crusta", - "description": "A New Orleans based cocktail, named after its sugary outside crust.", - "github": "JeswinSunsi", - "ingredients": [{ - "quantity": "2", - "measure": "oz", - "ingredient": "brandy" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "fresh lemon juice" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "curaçao" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Maraschino liqueur" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Angostura bitters" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "lemon" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sugar" - } - ], - "directions": [ - "Rim a coupe glass with sugar and set aside.", - "Add all ingredients into a shaker with ice and shake.", - "Strain into the prepared glass.", - "Garnish with a lemon twist.", - "Freeze for five minutes, serve cold." - ], - "image": "crusta.jpg", - "keywords": [ - "brandy", - "american", - "sugar", - "lemon", - "liqueur", - "curaçao", - "simple syrup" - - ] -} +{ + "name": "Crusta", + "description": "A New Orleans based cocktail, named after its sugary outside crust.", + "github": "JeswinSunsi", + "ingredients": [{ + "quantity": "2", + "measure": "oz", + "ingredient": "brandy" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "fresh lemon juice" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "curaçao" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Maraschino liqueur" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Angostura bitters" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "lemon" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sugar" + } + ], + "directions": [ + "Rim a coupe glass with sugar and set aside.", + "Add all ingredients into a shaker with ice and shake.", + "Strain into the prepared glass.", + "Garnish with a lemon twist.", + "Freeze for five minutes, serve cold." + ], + "image": "crusta.jpg", + "keywords": [ + "brandy", + "american", + "sugar", + "lemon", + "liqueur", + "curaçao", + "simple syrup" + + ] +} diff --git a/src/recipes/cuba-libre.json b/src/recipes/cuba-libre.json index 597d8fe0b..11fb5dbc0 100644 --- a/src/recipes/cuba-libre.json +++ b/src/recipes/cuba-libre.json @@ -1,35 +1,35 @@ -{ - "name": "Cuba Libre", - "description": "Cuba Libre is a cocktail based on rum, lime, and cola.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Añejo Rum" - }, - { - "quantity": "8", - "measure": "", - "ingredient": "lime wedges" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "Cola" - } - ], - "directions": [ - "Add rum into a glass filled with ice and squeeze the lime wedges over the top.", - "Give quick churn with a bar spoon and top up with ice.", - "Fill to the brim with cola and add in the lime wedge as garnish." - ], - "image": "cuba-libre.jpg", - "keywords": [ - "rum", - "lime", - "cola", - "alcoholic", - "vegan" - ] -} +{ + "name": "Cuba Libre", + "description": "Cuba Libre is a cocktail based on rum, lime, and cola.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Añejo Rum" + }, + { + "quantity": "8", + "measure": "", + "ingredient": "lime wedges" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "Cola" + } + ], + "directions": [ + "Add rum into a glass filled with ice and squeeze the lime wedges over the top.", + "Give quick churn with a bar spoon and top up with ice.", + "Fill to the brim with cola and add in the lime wedge as garnish." + ], + "image": "cuba-libre.jpg", + "keywords": [ + "rum", + "lime", + "cola", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/cuban-zombie.json b/src/recipes/cuban-zombie.json index 45ae96df3..0e550b6a3 100644 --- a/src/recipes/cuban-zombie.json +++ b/src/recipes/cuban-zombie.json @@ -1,65 +1,65 @@ -{ - "name": "Cuban Zombie", - "description": "A sip of this cocktail can bring the dead back to life.", - "github": "darren-welch", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Havana Club 3 year" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Havana Club 7 year" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Pineapple juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lime juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Passion fruit" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Grenadine" - } - ], - "directions": [ - "Pour a shot of Havana 3 year old & a shot of Havana 7 year old into a glass.", - "Add Orange, Pineapple & Lime Juice.", - "Add lots of ice.", - "Add ingredients into a cocktail shaker & Shake.", - "Pour the mixture into a larger glass filled with ice.", - "Squeeze some Passion.", - "Pour the Grenadine & decorate with fresh Passion fruit." - ], - "image": "cuban-zombie.jpg", - "keywords": [ - "rum", - "orange juice", - "pineapple juice", - "lime juice", - "alcoholic", - "vegan" - ] -} +{ + "name": "Cuban Zombie", + "description": "A sip of this cocktail can bring the dead back to life.", + "github": "darren-welch", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Havana Club 3 year" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Havana Club 7 year" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Pineapple juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lime juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Passion fruit" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Grenadine" + } + ], + "directions": [ + "Pour a shot of Havana 3 year old & a shot of Havana 7 year old into a glass.", + "Add Orange, Pineapple & Lime Juice.", + "Add lots of ice.", + "Add ingredients into a cocktail shaker & Shake.", + "Pour the mixture into a larger glass filled with ice.", + "Squeeze some Passion.", + "Pour the Grenadine & decorate with fresh Passion fruit." + ], + "image": "cuban-zombie.jpg", + "keywords": [ + "rum", + "orange juice", + "pineapple juice", + "lime juice", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/cucumber-gin.json b/src/recipes/cucumber-gin.json index eaf023716..aecd9c092 100644 --- a/src/recipes/cucumber-gin.json +++ b/src/recipes/cucumber-gin.json @@ -1,49 +1,49 @@ -{ - "name": "Cucumber Gin", - "description": "Original and refreshing, discover the gin tonic with cucumber, mint and lime! A delicate and fragrant cocktail that is perfect for the aperitif.", - "github": "JoshuaMart", - "ingredients": [ - { - "quantity": "12", - "measure": "cl", - "ingredient": "Gin" - }, - { - "quantity": "32", - "measure": "cl", - "ingredient": "Tonic water" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lemon" - }, - { - "quantity": "3", - "measure": "Strips", - "ingredient": "Fresh cucumber" - }, - { - "quantity": "8", - "measure": "cl", - "ingredient": "mint syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Place the ice cubes and cucumber slices in a large glass.", - "Sprinkle with mint syrup and then add the gin and tonic water. Accompany the cocktail with a zest of lime.", - "Add a slice of lemon and enjoy its delicious flavor." - ], - "image": "cucumber-gin.jpg", - "keywords": [ - "gin", - "tonic", - "cucumber", - "lemon" - ] -} +{ + "name": "Cucumber Gin", + "description": "Original and refreshing, discover the gin tonic with cucumber, mint and lime! A delicate and fragrant cocktail that is perfect for the aperitif.", + "github": "JoshuaMart", + "ingredients": [ + { + "quantity": "12", + "measure": "cl", + "ingredient": "Gin" + }, + { + "quantity": "32", + "measure": "cl", + "ingredient": "Tonic water" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lemon" + }, + { + "quantity": "3", + "measure": "Strips", + "ingredient": "Fresh cucumber" + }, + { + "quantity": "8", + "measure": "cl", + "ingredient": "mint syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Place the ice cubes and cucumber slices in a large glass.", + "Sprinkle with mint syrup and then add the gin and tonic water. Accompany the cocktail with a zest of lime.", + "Add a slice of lemon and enjoy its delicious flavor." + ], + "image": "cucumber-gin.jpg", + "keywords": [ + "gin", + "tonic", + "cucumber", + "lemon" + ] +} diff --git a/src/recipes/cucumber-lemonade.json b/src/recipes/cucumber-lemonade.json index 421e75a58..71141a86a 100644 --- a/src/recipes/cucumber-lemonade.json +++ b/src/recipes/cucumber-lemonade.json @@ -1,33 +1,33 @@ -{ - "name": "Cucumber Lemonade", - "description": "A refreshing drink for any warm summer day.", - "github": "AnmolBaansal", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "cucumber" - }, - { - "quantity": "12", - "measure": "Ounce", - "ingredient": "frozen lemonade concentrate" - }, - { - "quantity": "1", - "measure": "Bottle", - "ingredient": "lemon-lime flavored carbonated beverage" - } - ], - "directions": [ - "Place the cucumber slices into a large pitcher.", - "Pour the lemonade concentrate over the cucumber and let stand for 10 minutes.", - "Pour in the lemon-lime soda and pour into glasses to serve." - ], - "image": "cucumber-lemonade.jpg", - "source": "https://www.allrecipes.com/recipe/147904/cucumber-lemonade/", - "keywords": [ - "lemon", - "non-alcoholic" - ] -} +{ + "name": "Cucumber Lemonade", + "description": "A refreshing drink for any warm summer day.", + "github": "AnmolBaansal", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "cucumber" + }, + { + "quantity": "12", + "measure": "Ounce", + "ingredient": "frozen lemonade concentrate" + }, + { + "quantity": "1", + "measure": "Bottle", + "ingredient": "lemon-lime flavored carbonated beverage" + } + ], + "directions": [ + "Place the cucumber slices into a large pitcher.", + "Pour the lemonade concentrate over the cucumber and let stand for 10 minutes.", + "Pour in the lemon-lime soda and pour into glasses to serve." + ], + "image": "cucumber-lemonade.jpg", + "source": "https://www.allrecipes.com/recipe/147904/cucumber-lemonade/", + "keywords": [ + "lemon", + "non-alcoholic" + ] +} diff --git a/src/recipes/cucumber-lime-mint-agua-fresca.json b/src/recipes/cucumber-lime-mint-agua-fresca.json index 023dc6057..b3fa2ca73 100644 --- a/src/recipes/cucumber-lime-mint-agua-fresca.json +++ b/src/recipes/cucumber-lime-mint-agua-fresca.json @@ -1,47 +1,47 @@ -{ - "name": "Cucumber Lime Mint Agua Fresca", - "description": "Cool and refreshing agua fresca made with cucumbers, lime, and mint.", - "github": "sinisterblade", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "cucumbers (ends trimmed, but peel still on, coarsely chopped)" - }, - { - "quantity": "0.5", - "measure": "cup", - "ingredient": "lime juice from fresh limes" - }, - { - "quantity": "1.25", - "measure": "cup", - "ingredient": "packed (spearmint) mint leaves, woody stems removed" - }, - { - "quantity": "0.5", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "1.25", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Put the ingredients in a blender and add enough water to fill 3/4 of the blender. Hold the lid on the blender and purée until smooth.", - "Place a fine mesh sieve over a bowl and pour the purée through it, pressing against the sieve with a rubber spatula or the back of a spoon to extract as much liquid out as possible.", - "Fill a large pitcher halfway with ice cubes. Add the juice. Serve with sprigs of mint and slices of lime." - ], - "image": "cucumber-lime-mint-agua-fresca.jpg", - "source": "https://www.simplyrecipes.com/recipes/cucumber_lime_mint_agua_fresca", - "keywords": [ - "non-alcoholic" - ] -} +{ + "name": "Cucumber Lime Mint Agua Fresca", + "description": "Cool and refreshing agua fresca made with cucumbers, lime, and mint.", + "github": "sinisterblade", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "cucumbers (ends trimmed, but peel still on, coarsely chopped)" + }, + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "lime juice from fresh limes" + }, + { + "quantity": "1.25", + "measure": "cup", + "ingredient": "packed (spearmint) mint leaves, woody stems removed" + }, + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "1.25", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Put the ingredients in a blender and add enough water to fill 3/4 of the blender. Hold the lid on the blender and purée until smooth.", + "Place a fine mesh sieve over a bowl and pour the purée through it, pressing against the sieve with a rubber spatula or the back of a spoon to extract as much liquid out as possible.", + "Fill a large pitcher halfway with ice cubes. Add the juice. Serve with sprigs of mint and slices of lime." + ], + "image": "cucumber-lime-mint-agua-fresca.jpg", + "source": "https://www.simplyrecipes.com/recipes/cucumber_lime_mint_agua_fresca", + "keywords": [ + "non-alcoholic" + ] +} diff --git a/src/recipes/cynar-spritz.json b/src/recipes/cynar-spritz.json index fca33126d..0a6c3d0ac 100644 --- a/src/recipes/cynar-spritz.json +++ b/src/recipes/cynar-spritz.json @@ -1,50 +1,50 @@ -{ - "name": "Cynar Spritz", - "description": "A really great cocktail for a summer weekend, slightly more bitter than classic spritz.", - "github": "albertodeago", - "ingredients": [ - { - "quantity": "3", - "measure": "parts", - "ingredient": "Prosecco" - }, - { - "quantity": "2", - "measure": "parts", - "ingredient": "Cynar" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Club Soda" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Lemon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Olives" - } - ], - "directions": [ - "Fill a glass with ice.", - "Add Prosecco, Cynar and soda.", - "Stir gently to combine and garnish with the slice of lemon.", - "Add one or two olives for garnish" - ], - "source": "https://food52.com/recipes/75600-cynar-spritz", - "image": "cynar-spritz.jpg", - "keywords": [ - "alcoholic", - "vegan", - "savory" - ] -} +{ + "name": "Cynar Spritz", + "description": "A really great cocktail for a summer weekend, slightly more bitter than classic spritz.", + "github": "albertodeago", + "ingredients": [ + { + "quantity": "3", + "measure": "parts", + "ingredient": "Prosecco" + }, + { + "quantity": "2", + "measure": "parts", + "ingredient": "Cynar" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Club Soda" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Lemon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Olives" + } + ], + "directions": [ + "Fill a glass with ice.", + "Add Prosecco, Cynar and soda.", + "Stir gently to combine and garnish with the slice of lemon.", + "Add one or two olives for garnish" + ], + "source": "https://food52.com/recipes/75600-cynar-spritz", + "image": "cynar-spritz.jpg", + "keywords": [ + "alcoholic", + "vegan", + "savory" + ] +} diff --git a/src/recipes/daiquiri.json b/src/recipes/daiquiri.json index d343bb084..d118a969e 100644 --- a/src/recipes/daiquiri.json +++ b/src/recipes/daiquiri.json @@ -1,35 +1,35 @@ -{ - "name": "Daiquiri", - "description": "Daiquiri is the granddaddy of rum cocktails having been created over 130 years ago in Havana.", - "github": "ratracegrad", - "ingredients": [ - { - "quantity": "2.0", - "measure": "oz", - "ingredient": "light rum" - }, - { - "quantity": "1.0", - "measure": "oz", - "ingredient": "fresh lemon juice" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Demerara sugar syrup" - } - ], - "directions": [ - "Combine all the ingredients in a shaker with ice and shake until well-chilled.", - "Strain into a chilled coupe.", - "Garnish with a lime twist." - ], - "image": "daiquiri.jpg", - "keywords":[ - "alcoholic", - "sugar", - "rum", - "lemon juice", - "vegan" - ] -} +{ + "name": "Daiquiri", + "description": "Daiquiri is the granddaddy of rum cocktails having been created over 130 years ago in Havana.", + "github": "ratracegrad", + "ingredients": [ + { + "quantity": "2.0", + "measure": "oz", + "ingredient": "light rum" + }, + { + "quantity": "1.0", + "measure": "oz", + "ingredient": "fresh lemon juice" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Demerara sugar syrup" + } + ], + "directions": [ + "Combine all the ingredients in a shaker with ice and shake until well-chilled.", + "Strain into a chilled coupe.", + "Garnish with a lime twist." + ], + "image": "daiquiri.jpg", + "keywords":[ + "alcoholic", + "sugar", + "rum", + "lemon juice", + "vegan" + ] +} diff --git a/src/recipes/dalgona-coffee.json b/src/recipes/dalgona-coffee.json index 04335a9bb..9e8b79cc5 100644 --- a/src/recipes/dalgona-coffee.json +++ b/src/recipes/dalgona-coffee.json @@ -1,40 +1,40 @@ -{ - "name": "Dalgona Coffee", - "description": "Dalgona Coffee is a cold latte drink that comes with a velvety smooth and sweet coffee foam on top. It is inspired from the South Korean Dalgona Candy that resembles the creamy dollop that tops the coffee", - "github": "Kiittyka", - "ingredients": [ - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "coffee powder" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "boiling water" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "cold milk" - } - ], - "directions": [ - "Take a bowl and mix equal quantities of coffee powder, sugar and hot water.", - "Beat coffee mixture using whisker or hand blender, until it is light, frothy and creamy.", - "Pour cold milk in the glasses or coffee mugs and add the beaten and whipped coffee over it." - ], - "image": "dalgona-coffee.jpg", - "keywords": [ - "coffee", - "milk", - "sugar", - "layers", - "non-alcoholic" - ] -} +{ + "name": "Dalgona Coffee", + "description": "Dalgona Coffee is a cold latte drink that comes with a velvety smooth and sweet coffee foam on top. It is inspired from the South Korean Dalgona Candy that resembles the creamy dollop that tops the coffee", + "github": "Kiittyka", + "ingredients": [ + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "coffee powder" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "boiling water" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "cold milk" + } + ], + "directions": [ + "Take a bowl and mix equal quantities of coffee powder, sugar and hot water.", + "Beat coffee mixture using whisker or hand blender, until it is light, frothy and creamy.", + "Pour cold milk in the glasses or coffee mugs and add the beaten and whipped coffee over it." + ], + "image": "dalgona-coffee.jpg", + "keywords": [ + "coffee", + "milk", + "sugar", + "layers", + "non-alcoholic" + ] +} diff --git a/src/recipes/danish-summer.json b/src/recipes/danish-summer.json index 1f80a8f84..50b499c2a 100644 --- a/src/recipes/danish-summer.json +++ b/src/recipes/danish-summer.json @@ -1,34 +1,34 @@ -{ - "name": "Danish Summer", - "description": "A pure and refreshing taste of strawberry and rhubarb leaves you think of summertime.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "4", - "measure": "cl", - "ingredient": "Råstoff Strawberry-Rhubarb" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sprite" - }, - { - "quantity": "", - "measure": "", - "ingredient": "freshly squeezed lime" - } - ], - "directions": [ - "Pour Råstoff Strawberry-Rhubarb over ice and top with Sprite.", - "Then add freshly squeezed lime and decorate with a rosemary twig.", - "Sweet and lovely like a warm summer’s day." - ], - "image": "danish-summer.jpg", - "keywords": [ - "strawberry", - "rhubarb", - "sprite", - "lime" - ] +{ + "name": "Danish Summer", + "description": "A pure and refreshing taste of strawberry and rhubarb leaves you think of summertime.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "4", + "measure": "cl", + "ingredient": "Råstoff Strawberry-Rhubarb" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sprite" + }, + { + "quantity": "", + "measure": "", + "ingredient": "freshly squeezed lime" + } + ], + "directions": [ + "Pour Råstoff Strawberry-Rhubarb over ice and top with Sprite.", + "Then add freshly squeezed lime and decorate with a rosemary twig.", + "Sweet and lovely like a warm summer’s day." + ], + "image": "danish-summer.jpg", + "keywords": [ + "strawberry", + "rhubarb", + "sprite", + "lime" + ] } \ No newline at end of file diff --git a/src/recipes/dark-and-stormy.json b/src/recipes/dark-and-stormy.json index d8aeaad0b..11c446cbf 100644 --- a/src/recipes/dark-and-stormy.json +++ b/src/recipes/dark-and-stormy.json @@ -1,40 +1,40 @@ -{ - "name": "Dark and Stormy", - "description": "A highball cocktail made with dark rum and ginger beer, served over ice.", - "github": "jenzk", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Dark Rum" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Ginger Beer" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Lime juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lime wedge for garnish" - } - ], - "directions": [ - "Combine the Dark Rum, Ginger Beer and Lime juice in a glass full of ice cubes.", - "Stir the ingredients.", - "Garnish glass with lime wedge." - ], - "image": "dark-and-stormy.jpg", - "source": "https://www.esquire.com/food-drink/drinks/a25820/best-halloween-drinks-cocktails/", - "keywords": [ - "highball", - "alcoholic", - "halloween", - "vegan" - ] -} +{ + "name": "Dark and Stormy", + "description": "A highball cocktail made with dark rum and ginger beer, served over ice.", + "github": "jenzk", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Dark Rum" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Ginger Beer" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Lime juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lime wedge for garnish" + } + ], + "directions": [ + "Combine the Dark Rum, Ginger Beer and Lime juice in a glass full of ice cubes.", + "Stir the ingredients.", + "Garnish glass with lime wedge." + ], + "image": "dark-and-stormy.jpg", + "source": "https://www.esquire.com/food-drink/drinks/a25820/best-halloween-drinks-cocktails/", + "keywords": [ + "highball", + "alcoholic", + "halloween", + "vegan" + ] +} diff --git a/src/recipes/dawet-rice-flours.json b/src/recipes/dawet-rice-flours.json index 6923bfb9b..d8993e8c4 100644 --- a/src/recipes/dawet-rice-flours.json +++ b/src/recipes/dawet-rice-flours.json @@ -1,36 +1,36 @@ -{ - "name": "Dawet", - "description": "Dawet is a special drink from Javanese Island, its made from rice flour and cornstarch. It serve with brown sugar sauce.", - "github": "pratamawijaya", - "ingredients": [ - { - "quantity": "60", - "measure": "gr", - "ingredient": "Rice Flours" - }, - { - "quantity": "15", - "measure": "gr", - "ingredient": "Cornstarch" - }, - { - "quantity": "300", - "measure": "ml", - "ingredient": "Water" - } - ], - "directions": [ - "Prepare ingredients, mix all ingredients until there are no lumps of flour.", - "Turn on the low heat, stir until the mixture begins to thicken and weigh, turn off the heat, prepare ice cubes and give enough water in a rather large container, to print the cendol mixture with cendol mold.", - "For the sugar sauce: boil all ingredients until the sugar dissolves stir and strain.", - "For the coconut milk: boil all ingredients to boil and take the leaf leaves to wait for cold, prepare and arrange cendol along with sugar sauce and coconut milk according to taste." - ], - "image": "dawet-rice-flours.jpg", - "source": "https://cookpad.com/us/recipes/7470969-cendol-manis-dawet?via=search&search_term=dawet", - "keywords": [ - "sweet", - "traditional", - "layers", - "non-alcoholic" - ] -} +{ + "name": "Dawet", + "description": "Dawet is a special drink from Javanese Island, its made from rice flour and cornstarch. It serve with brown sugar sauce.", + "github": "pratamawijaya", + "ingredients": [ + { + "quantity": "60", + "measure": "gr", + "ingredient": "Rice Flours" + }, + { + "quantity": "15", + "measure": "gr", + "ingredient": "Cornstarch" + }, + { + "quantity": "300", + "measure": "ml", + "ingredient": "Water" + } + ], + "directions": [ + "Prepare ingredients, mix all ingredients until there are no lumps of flour.", + "Turn on the low heat, stir until the mixture begins to thicken and weigh, turn off the heat, prepare ice cubes and give enough water in a rather large container, to print the cendol mixture with cendol mold.", + "For the sugar sauce: boil all ingredients until the sugar dissolves stir and strain.", + "For the coconut milk: boil all ingredients to boil and take the leaf leaves to wait for cold, prepare and arrange cendol along with sugar sauce and coconut milk according to taste." + ], + "image": "dawet-rice-flours.jpg", + "source": "https://cookpad.com/us/recipes/7470969-cendol-manis-dawet?via=search&search_term=dawet", + "keywords": [ + "sweet", + "traditional", + "layers", + "non-alcoholic" + ] +} diff --git a/src/recipes/death-in-the-afternoon.json b/src/recipes/death-in-the-afternoon.json index fdcb61939..ea86406ca 100644 --- a/src/recipes/death-in-the-afternoon.json +++ b/src/recipes/death-in-the-afternoon.json @@ -1,32 +1,32 @@ -{ - "name": "Death in the Afternoon", - "description": "What could be more decadent than absinthe and Champagne? Absinthe and Champagne and oysters. Death in the Afternoon is not only the name of a Hemingway book, it's also the author's name of a drink he contributed to a book of celebrity cocktail recipes in 1935.", - "github": "adclleva", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Absinthe" - }, - { - "quantity": "4 1/2", - "measure": "oz", - "ingredient": "Champagne" - } - ], - "directions": [ - "Pour one jigger absinthe into a Champagne glass.", - "Add iced Champagne until it attains the proper opalescent milkiness.", - "Drink three to five of these slowly." - ], - - "image": "death-in-the-afternoon.jpg", - "source": "https://www.epicurious.com/ingredients/absinthe-cocktails-and-what-to-pair-them-with-article", - "keywords": [ - "absinthe", - "strong", - "simple", - "bubbly", - "vegan" - ] -} +{ + "name": "Death in the Afternoon", + "description": "What could be more decadent than absinthe and Champagne? Absinthe and Champagne and oysters. Death in the Afternoon is not only the name of a Hemingway book, it's also the author's name of a drink he contributed to a book of celebrity cocktail recipes in 1935.", + "github": "adclleva", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Absinthe" + }, + { + "quantity": "4 1/2", + "measure": "oz", + "ingredient": "Champagne" + } + ], + "directions": [ + "Pour one jigger absinthe into a Champagne glass.", + "Add iced Champagne until it attains the proper opalescent milkiness.", + "Drink three to five of these slowly." + ], + + "image": "death-in-the-afternoon.jpg", + "source": "https://www.epicurious.com/ingredients/absinthe-cocktails-and-what-to-pair-them-with-article", + "keywords": [ + "absinthe", + "strong", + "simple", + "bubbly", + "vegan" + ] +} diff --git a/src/recipes/death-in-the-gulf-stream.json b/src/recipes/death-in-the-gulf-stream.json index 708b37438..efdc03d19 100644 --- a/src/recipes/death-in-the-gulf-stream.json +++ b/src/recipes/death-in-the-gulf-stream.json @@ -1,34 +1,34 @@ -{ - "name": "Death in the Gulf Stream", - "description": "A bitter favorite of Ernest Hemingway's, this drink is a tart pick me up on a sultry summer afternoon.", - "github": "nikolas-haug", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Holland Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lime juice (freshly squeezed)" - }, - { - "quantity": "15", - "measure": "dashes", - "ingredient": "Angostura Bitters" - } - ], - "directions": [ - "Shake all ingredients with ice.", - "Fill glass with crushed ice.", - "Strain into glass and garnish with sliced lime." - ], - "image": "death-in-the-gulf-stream.jpg", - "keywords": [ - "bitter", - "gin", - "lime", - "bitters" - ] +{ + "name": "Death in the Gulf Stream", + "description": "A bitter favorite of Ernest Hemingway's, this drink is a tart pick me up on a sultry summer afternoon.", + "github": "nikolas-haug", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Holland Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lime juice (freshly squeezed)" + }, + { + "quantity": "15", + "measure": "dashes", + "ingredient": "Angostura Bitters" + } + ], + "directions": [ + "Shake all ingredients with ice.", + "Fill glass with crushed ice.", + "Strain into glass and garnish with sliced lime." + ], + "image": "death-in-the-gulf-stream.jpg", + "keywords": [ + "bitter", + "gin", + "lime", + "bitters" + ] } \ No newline at end of file diff --git a/src/recipes/debonair.json b/src/recipes/debonair.json index 3e7701b55..46cad082d 100644 --- a/src/recipes/debonair.json +++ b/src/recipes/debonair.json @@ -1,26 +1,26 @@ -{ - "name": "Debonair", - "description": "Created in the 1990s by Gary Regan this rich, sophisticated Single Malt Scotch-based drink has a wonderful zing of spice from the Ginger Liqueur.", - "github": "lazav94", - "ingredients": [{ - "quantity": "30", - "measure": "ml", - "ingredient": "Ginger Liqueur" - }, - { - "quantity": "75", - "measure": "ml", - "ingredient": "Whiskey Scotch Single Malt" - } - ], - "directions": [ - "Stir all ingredients with ice.", - "Strain into a chilled glass.", - "Garnish with a lemon twist" - ], - "image": "debonair.jpg", - "keywords": [ - "alcoholic", - "whiskey" - ] +{ + "name": "Debonair", + "description": "Created in the 1990s by Gary Regan this rich, sophisticated Single Malt Scotch-based drink has a wonderful zing of spice from the Ginger Liqueur.", + "github": "lazav94", + "ingredients": [{ + "quantity": "30", + "measure": "ml", + "ingredient": "Ginger Liqueur" + }, + { + "quantity": "75", + "measure": "ml", + "ingredient": "Whiskey Scotch Single Malt" + } + ], + "directions": [ + "Stir all ingredients with ice.", + "Strain into a chilled glass.", + "Garnish with a lemon twist" + ], + "image": "debonair.jpg", + "keywords": [ + "alcoholic", + "whiskey" + ] } \ No newline at end of file diff --git a/src/recipes/desert-colada.json b/src/recipes/desert-colada.json index acb930fe9..0da2143e5 100644 --- a/src/recipes/desert-colada.json +++ b/src/recipes/desert-colada.json @@ -1,48 +1,48 @@ -{ - "name": "Desert Colada", - "description": "A new take on the classic Pina Colada, using Prickly Pear Syrup.", - "github": "spotts9", - "ingredients": [ - { - "quantity": "1.5", - "measure": "Oz", - "ingredient": "Prickly Pear Syrup" - }, - { - "quantity": "2", - "measure": "Oz", - "ingredient": "Cream of Coconut" - }, - { - "quantity": "1.25", - "measure": "Oz", - "ingredient": "Rum" - }, - { - "quantity": "1", - "measure": "Cup", - "ingredient": "Ice" - }, - { - "quantity": "2", - "measure": "Oz", - "ingredient": "Pineapple Juice" - } - ], - "directions": [ - "Prickly Pear Syrup in the bottom of a hurricane glass.", - "Combine next four ingredients in a blender carafe.", - "Blend until smooth and pour over top of Prickly Pear Syrup.", - "Swirl with spoon.", - "Garnish with pineapple and cherry." - ], - "image": "desert-colada.jpg", - "keywords": [ - "rum", - "cream of coconut", - "prickly pear syrup", - "pineapple", - "frozen", - "vegan" - ] -} +{ + "name": "Desert Colada", + "description": "A new take on the classic Pina Colada, using Prickly Pear Syrup.", + "github": "spotts9", + "ingredients": [ + { + "quantity": "1.5", + "measure": "Oz", + "ingredient": "Prickly Pear Syrup" + }, + { + "quantity": "2", + "measure": "Oz", + "ingredient": "Cream of Coconut" + }, + { + "quantity": "1.25", + "measure": "Oz", + "ingredient": "Rum" + }, + { + "quantity": "1", + "measure": "Cup", + "ingredient": "Ice" + }, + { + "quantity": "2", + "measure": "Oz", + "ingredient": "Pineapple Juice" + } + ], + "directions": [ + "Prickly Pear Syrup in the bottom of a hurricane glass.", + "Combine next four ingredients in a blender carafe.", + "Blend until smooth and pour over top of Prickly Pear Syrup.", + "Swirl with spoon.", + "Garnish with pineapple and cherry." + ], + "image": "desert-colada.jpg", + "keywords": [ + "rum", + "cream of coconut", + "prickly pear syrup", + "pineapple", + "frozen", + "vegan" + ] +} diff --git a/src/recipes/desi-borhani.json b/src/recipes/desi-borhani.json index c75c71cb3..5e388ba59 100644 --- a/src/recipes/desi-borhani.json +++ b/src/recipes/desi-borhani.json @@ -1,91 +1,91 @@ -{ - "name": "Burhani/Borhani", - "description": "Burhani/Borhani, is a traditional yogurt-like drink from Bangladesh. Burhani is a perfect summer drink. It is considered by some to be a type of lassi.", - "github": "Appledora", - "ingredients": [ - { - "quantity": ".5", - "measure": "Kilogram", - "ingredient": "Plain Yoghurt" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "White pepper powder" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "Mustard Powder" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "Fresh mint leaves paste" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "Red Chili Powder" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "Roasted Cumin Powder" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "Roasted Coriander Powder" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Ginger Paste" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Green Chili Paste" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Sugar" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Black Salt" - }, - { - "quantity": "to taste", - "measure": "N/a", - "ingredient": "Salt" - }, - { - "quantity": "1/2", - "measure": "Cup", - "ingredient": "Water" - } - ], - "directions": [ - "Whisk the yogurt well.", - "In a blender add mint leaves, coriander leaves, chopped green chili and minced ginger. Puree until smooth.", - "Then add roasted coriander powder, cumin powder, mustard seeds powder, white pepper powder, sugar and black salt. Blend again by adding whisked yogurt and water. Whizz until frothy.", - "Keep it refrigerator and let it become cold.", - "Serve chilled." - ], - "image": "desi-borhani.jpg", - "source": "https://zuranazrecipe.com/borhani/", - "keywords": [ - "classical", - "salt", - "coriander", - "cumin", - "yogurt", - "mint", - "summer", - "spicy" - ] -} +{ + "name": "Burhani/Borhani", + "description": "Burhani/Borhani, is a traditional yogurt-like drink from Bangladesh. Burhani is a perfect summer drink. It is considered by some to be a type of lassi.", + "github": "Appledora", + "ingredients": [ + { + "quantity": ".5", + "measure": "Kilogram", + "ingredient": "Plain Yoghurt" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "White pepper powder" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "Mustard Powder" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "Fresh mint leaves paste" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "Red Chili Powder" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "Roasted Cumin Powder" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "Roasted Coriander Powder" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Ginger Paste" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Green Chili Paste" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Sugar" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Black Salt" + }, + { + "quantity": "to taste", + "measure": "N/a", + "ingredient": "Salt" + }, + { + "quantity": "1/2", + "measure": "Cup", + "ingredient": "Water" + } + ], + "directions": [ + "Whisk the yogurt well.", + "In a blender add mint leaves, coriander leaves, chopped green chili and minced ginger. Puree until smooth.", + "Then add roasted coriander powder, cumin powder, mustard seeds powder, white pepper powder, sugar and black salt. Blend again by adding whisked yogurt and water. Whizz until frothy.", + "Keep it refrigerator and let it become cold.", + "Serve chilled." + ], + "image": "desi-borhani.jpg", + "source": "https://zuranazrecipe.com/borhani/", + "keywords": [ + "classical", + "salt", + "coriander", + "cumin", + "yogurt", + "mint", + "summer", + "spicy" + ] +} diff --git a/src/recipes/detox-green-juice.json b/src/recipes/detox-green-juice.json index c2d716ef4..2bc79ef26 100644 --- a/src/recipes/detox-green-juice.json +++ b/src/recipes/detox-green-juice.json @@ -1,51 +1,51 @@ -{ - "name": "Detox Green Juice", - "description": "Green juice is a source of a lot of vitamins and nutrients into your body", - "github": "aindrila2412", - "ingredients": [ - { - "quantity": "11/4", - "measure": "cup", - "ingredient": "spinach" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "orange juice" - }, - { - "quantity": "11/4", - "measure": "cup", - "ingredient": "mango" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "celery" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "parsley" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "salt" - } - ], - "directions": [ - "Wash and chop ingredients", - "Blend to a smooth puree", - "Garnish with mint leaves and serve" - ], - "image": "detox-green-juice.jpg", - "keywords": [ - "spinach", - "orange", - "mango", - "celery", - "parsley", - "salt" - ] -} +{ + "name": "Detox Green Juice", + "description": "Green juice is a source of a lot of vitamins and nutrients into your body", + "github": "aindrila2412", + "ingredients": [ + { + "quantity": "11/4", + "measure": "cup", + "ingredient": "spinach" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "orange juice" + }, + { + "quantity": "11/4", + "measure": "cup", + "ingredient": "mango" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "celery" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "parsley" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "salt" + } + ], + "directions": [ + "Wash and chop ingredients", + "Blend to a smooth puree", + "Garnish with mint leaves and serve" + ], + "image": "detox-green-juice.jpg", + "keywords": [ + "spinach", + "orange", + "mango", + "celery", + "parsley", + "salt" + ] +} diff --git a/src/recipes/detox-green-tea.json b/src/recipes/detox-green-tea.json index 705352655..71ba86f67 100644 --- a/src/recipes/detox-green-tea.json +++ b/src/recipes/detox-green-tea.json @@ -1,57 +1,57 @@ -{ - "name": "Detox Green Tea", - "description": "Detox green tea boosts the process of weight loss.", - "github": "aindrila2412", - "ingredients": [ - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Green Tea" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Dried Basil" - }, - { - "quantity": "7", - "measure": "", - "ingredient": "Mint Leaves" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Honey" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Lemon" - }, - { - "quantity": "1", - "measure": "ltr", - "ingredient": "Water" - } - ], - "directions": [ - "Heat a cup of water in a pan.", - "As water starts boiling off the flame, and put green tea leaves and dried basil.", - "Cover it for 1 min and sevie it.", - "Cool it down. Meanwhile add mint leaves, lemon slice and honey in a jar.", - "Now add this cooled tea.", - "Add remaining water in jar, and mix well.", - "Green tea detox water is ready, consume this after 4- 5 hour or overnight." - ], - "image": "detox-green-tea.jpg", - "keywords": [ - "green tea", - "mint leaves", - "lemon", - "slice", - "water", - "basil", - "mint", - "honey" - ] -} +{ + "name": "Detox Green Tea", + "description": "Detox green tea boosts the process of weight loss.", + "github": "aindrila2412", + "ingredients": [ + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Green Tea" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Dried Basil" + }, + { + "quantity": "7", + "measure": "", + "ingredient": "Mint Leaves" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Honey" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Lemon" + }, + { + "quantity": "1", + "measure": "ltr", + "ingredient": "Water" + } + ], + "directions": [ + "Heat a cup of water in a pan.", + "As water starts boiling off the flame, and put green tea leaves and dried basil.", + "Cover it for 1 min and sevie it.", + "Cool it down. Meanwhile add mint leaves, lemon slice and honey in a jar.", + "Now add this cooled tea.", + "Add remaining water in jar, and mix well.", + "Green tea detox water is ready, consume this after 4- 5 hour or overnight." + ], + "image": "detox-green-tea.jpg", + "keywords": [ + "green tea", + "mint leaves", + "lemon", + "slice", + "water", + "basil", + "mint", + "honey" + ] +} diff --git a/src/recipes/devils-ice-tea.json b/src/recipes/devils-ice-tea.json index 7f9813394..f1e0bd508 100644 --- a/src/recipes/devils-ice-tea.json +++ b/src/recipes/devils-ice-tea.json @@ -1,91 +1,91 @@ -{ - "name": "Devil's Ice Tea", - "description": "A very, very strong cocktail, drinking on your own responsibility.", - "github": "vsimonovski", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Bacardi 151" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Rye Whiskey" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Tequila" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Gin Bombay Saphire" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Brandy" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Dark Rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lime Juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lemon Juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sweet and Sour" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Coke" - } - ], - "directions": [ - "Shake all the alcohol in a large Collins glass or a tumbler.", - "Top with the sour mix (lemon & lime juice and 1 sugar cube) and cola.", - "Gently stir.", - "Add crushed ice.", - "Garnish with a lemon and a lime wedge." - ], - "image": "devils-ice-tea.jpg", - "keywords": [ - "cola", - "lemon", - "iced tea", - "bacardi", - "rum", - "tequila", - "vodka", - "vegan", - "whiskey" - ] -} +{ + "name": "Devil's Ice Tea", + "description": "A very, very strong cocktail, drinking on your own responsibility.", + "github": "vsimonovski", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Bacardi 151" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Rye Whiskey" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Tequila" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Gin Bombay Saphire" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Brandy" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Dark Rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lime Juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lemon Juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sweet and Sour" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Coke" + } + ], + "directions": [ + "Shake all the alcohol in a large Collins glass or a tumbler.", + "Top with the sour mix (lemon & lime juice and 1 sugar cube) and cola.", + "Gently stir.", + "Add crushed ice.", + "Garnish with a lemon and a lime wedge." + ], + "image": "devils-ice-tea.jpg", + "keywords": [ + "cola", + "lemon", + "iced tea", + "bacardi", + "rum", + "tequila", + "vodka", + "vegan", + "whiskey" + ] +} diff --git a/src/recipes/devils-own.json b/src/recipes/devils-own.json index 9deda038c..d67dc401b 100644 --- a/src/recipes/devils-own.json +++ b/src/recipes/devils-own.json @@ -1,38 +1,38 @@ -{ - "name": "Devil's Own", - "description": "You might imagine that a cocktail called the Devil’s Own would be dark and somewhat depressing but in fact, it’s light and extremely refreshing. Created by Colin Symons in the UK in the 1930’s the drinks has Cointreau, Gin, Dry Vermouth & Aromatic Bitters.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "1", - "measure": "dash", - "ingredient": "Angostura Bitters" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Dry Vermouth" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Cointreau" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Gin" - } - ], - "directions": [ - "Combine all ingredients in a mixing glass with ice.", - "Stir well and strain into a Coupe glass.", - "Garnish with a lemon twist" - ], - "image": "devils-own.jpg", - "keywords": [ - "alcoholic", - "gin", - "vermouth" - ] -} +{ + "name": "Devil's Own", + "description": "You might imagine that a cocktail called the Devil’s Own would be dark and somewhat depressing but in fact, it’s light and extremely refreshing. Created by Colin Symons in the UK in the 1930’s the drinks has Cointreau, Gin, Dry Vermouth & Aromatic Bitters.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "1", + "measure": "dash", + "ingredient": "Angostura Bitters" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Dry Vermouth" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Cointreau" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Gin" + } + ], + "directions": [ + "Combine all ingredients in a mixing glass with ice.", + "Stir well and strain into a Coupe glass.", + "Garnish with a lemon twist" + ], + "image": "devils-own.jpg", + "keywords": [ + "alcoholic", + "gin", + "vermouth" + ] +} diff --git a/src/recipes/dirty-snowmen.json b/src/recipes/dirty-snowmen.json index 7deaa3860..616c2063f 100644 --- a/src/recipes/dirty-snowmen.json +++ b/src/recipes/dirty-snowmen.json @@ -1,52 +1,52 @@ -{ - "name": "Dirty Snowmen", - "description": "For when you can't take the snow any longer.", - "github": "phpshko", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "melted chocolate, for rim" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "chocolate shavings" - }, - { - "quantity": "1", - "measure": "pint", - "ingredient": "vanilla ice cream" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "hot chocolate" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Baileys" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Whipped cream, for serving" - } - - ], - "directions": [ - "Pour melted chocolate and chocolate shavings into separate shallow dishes.", - "Dip rims of two mugs in melted chocolate then immediately dip in chocolate shavings.", - "Using a medium cookie scoop, add a few scoops of ice cream into each mug.", - "Pour hot chocolate and Baileys on top.", - "Top with whipped cream and sprinkle with any extra chocolate shavings." - ], - "image": "dirty-snowman.jpg", - "keywords": [ - "chocolate", - "vanila", - "ice", - "baileys" - ] +{ + "name": "Dirty Snowmen", + "description": "For when you can't take the snow any longer.", + "github": "phpshko", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "melted chocolate, for rim" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "chocolate shavings" + }, + { + "quantity": "1", + "measure": "pint", + "ingredient": "vanilla ice cream" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "hot chocolate" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Baileys" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Whipped cream, for serving" + } + + ], + "directions": [ + "Pour melted chocolate and chocolate shavings into separate shallow dishes.", + "Dip rims of two mugs in melted chocolate then immediately dip in chocolate shavings.", + "Using a medium cookie scoop, add a few scoops of ice cream into each mug.", + "Pour hot chocolate and Baileys on top.", + "Top with whipped cream and sprinkle with any extra chocolate shavings." + ], + "image": "dirty-snowman.jpg", + "keywords": [ + "chocolate", + "vanila", + "ice", + "baileys" + ] } \ No newline at end of file diff --git a/src/recipes/dolce-vita.json b/src/recipes/dolce-vita.json index 5490f1f12..226812e8f 100644 --- a/src/recipes/dolce-vita.json +++ b/src/recipes/dolce-vita.json @@ -1,45 +1,45 @@ -{ - "name": "Dolce Vita", - "description": "It is a unique and special drink with gancia, it is an ideal drink to surprise everyone thanks to its versatile flavor and incredible texture.", - "github": "Franqsanz", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "part of gancia" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "parts of sparkling wine" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "aromatic bitter drops" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "slice of orange" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Place the ice in a large glass.", - "Add gancia and sparkling gancia.", - "Add the drops of aromatic bitter.", - "Decorate with orange slice." - ], - "image": "dolce-vita.jpg", - "source": "https://www.losvinos.com.ar/tragos-y-cocteles/tragos-con-gancia/", - "keywords": [ - "orange", - "alcoholic", - "gancia" - ] +{ + "name": "Dolce Vita", + "description": "It is a unique and special drink with gancia, it is an ideal drink to surprise everyone thanks to its versatile flavor and incredible texture.", + "github": "Franqsanz", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "part of gancia" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "parts of sparkling wine" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "aromatic bitter drops" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "slice of orange" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Place the ice in a large glass.", + "Add gancia and sparkling gancia.", + "Add the drops of aromatic bitter.", + "Decorate with orange slice." + ], + "image": "dolce-vita.jpg", + "source": "https://www.losvinos.com.ar/tragos-y-cocteles/tragos-con-gancia/", + "keywords": [ + "orange", + "alcoholic", + "gancia" + ] } \ No newline at end of file diff --git a/src/recipes/dole-whip-lemonade.json b/src/recipes/dole-whip-lemonade.json index 00a955473..5db4dfb86 100644 --- a/src/recipes/dole-whip-lemonade.json +++ b/src/recipes/dole-whip-lemonade.json @@ -1,42 +1,42 @@ -{ - "name": "Dole Whip Lemonade", - "description": "Dole Whip is a soft serve dairy-free frozen dessert to bring island vibes to your backyard.", - "github": "TheRealDarkCoder", - "ingredients": [{ - "quantity": "1", - "measure": "c", - "ingredient": "frozen pineapple" - }, - { - "quantity": "1", - "measure": "c", - "ingredient": "lemonade" - }, - { - "quantity": "1/2", - "measure": "c", - "ingredient": "coconut milk" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Pineapple wedges, (garnishing)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Maraschino cherries, (garnishing)" - } - ], - "directions": [ - "Blend frozen pineapple, lemonade, and coconut milk in a blender.", - "Pour into glasses and garnish each with a pineapple wedge and a maraschino cherry.", - "That's all and very easy to make! Enjoy the cold refreshing dessert!" - ], - "image": "dole-whip-lemonade.jpg", - "keywords": [ - "non-alcoholic", - "vegan", - "dessert" - ] +{ + "name": "Dole Whip Lemonade", + "description": "Dole Whip is a soft serve dairy-free frozen dessert to bring island vibes to your backyard.", + "github": "TheRealDarkCoder", + "ingredients": [{ + "quantity": "1", + "measure": "c", + "ingredient": "frozen pineapple" + }, + { + "quantity": "1", + "measure": "c", + "ingredient": "lemonade" + }, + { + "quantity": "1/2", + "measure": "c", + "ingredient": "coconut milk" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Pineapple wedges, (garnishing)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Maraschino cherries, (garnishing)" + } + ], + "directions": [ + "Blend frozen pineapple, lemonade, and coconut milk in a blender.", + "Pour into glasses and garnish each with a pineapple wedge and a maraschino cherry.", + "That's all and very easy to make! Enjoy the cold refreshing dessert!" + ], + "image": "dole-whip-lemonade.jpg", + "keywords": [ + "non-alcoholic", + "vegan", + "dessert" + ] } \ No newline at end of file diff --git a/src/recipes/dom-pedro.json b/src/recipes/dom-pedro.json index 62e0a56f2..d53625a70 100644 --- a/src/recipes/dom-pedro.json +++ b/src/recipes/dom-pedro.json @@ -1,51 +1,51 @@ -{ - "name": "Dom Pedro", - "description": "Dom Pedro is a deliciously creamy drink, this particular recipe is a bit spiced up, so it packs a good punch!", - "github": "jessicavrooyen", - "ingredients": [ - { - "quantity": "2", - "measure": "Tots", - "ingredient": "Amarula Cream" - }, - { - "quantity": "1", - "measure": "Tot", - "ingredient": "Frangelico" - }, - { - "quantity": "150", - "measure": "ml", - "ingredient": "Vanilla Ice-cream" - }, - { - "quantity": "25", - "measure": "ml", - "ingredient": "Coconut cream" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Pinch of cinnamon" - }, - { - "quantity": "1-2", - "measure": "Blocks", - "ingredient": "of grated chocolate" - } - ], - "directions": [ - "Add your ice-cream, coconut cream, and amarula cream into a blender.", - "Add a few cubes of ice (optional).", - "Blend it all up & pour into glass.", - "Drizzle Frangelico on top.", - "Garnish with cinnamon and chocolate." - ], - "image": "dom-pedro.jpg", - "source": "https://www.greedygourmet.com/recipes-by-course/desserts/don-pedro/", - "keywords":[ - "alcoholic", - "sweet", - "creamy" - ] -} +{ + "name": "Dom Pedro", + "description": "Dom Pedro is a deliciously creamy drink, this particular recipe is a bit spiced up, so it packs a good punch!", + "github": "jessicavrooyen", + "ingredients": [ + { + "quantity": "2", + "measure": "Tots", + "ingredient": "Amarula Cream" + }, + { + "quantity": "1", + "measure": "Tot", + "ingredient": "Frangelico" + }, + { + "quantity": "150", + "measure": "ml", + "ingredient": "Vanilla Ice-cream" + }, + { + "quantity": "25", + "measure": "ml", + "ingredient": "Coconut cream" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Pinch of cinnamon" + }, + { + "quantity": "1-2", + "measure": "Blocks", + "ingredient": "of grated chocolate" + } + ], + "directions": [ + "Add your ice-cream, coconut cream, and amarula cream into a blender.", + "Add a few cubes of ice (optional).", + "Blend it all up & pour into glass.", + "Drizzle Frangelico on top.", + "Garnish with cinnamon and chocolate." + ], + "image": "dom-pedro.jpg", + "source": "https://www.greedygourmet.com/recipes-by-course/desserts/don-pedro/", + "keywords":[ + "alcoholic", + "sweet", + "creamy" + ] +} diff --git a/src/recipes/doodh-cola.json b/src/recipes/doodh-cola.json index 19e2fba1b..117335d53 100644 --- a/src/recipes/doodh-cola.json +++ b/src/recipes/doodh-cola.json @@ -1,34 +1,34 @@ -{ - "name": "Doodh Cola", - "description": "Doodh Cola / Milk Cola is a very unique Cooler from Kolkata. I can asure you that you had never heard about it before, but believe me it so yummy.Doodh Cola is one of the most favored of recent trending meals on earth. It is simple, it is quick, it tastes delicious", - "github": "realsidg", - "ingredients": [ - { - "quantity": "1", - "measure": "glass", - "ingredient": "Chilled Milk" - }, - { - "quantity": "1/4", - "measure": "glass", - "ingredient": "Chilled Cola" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "Ice Cubes" - } - ], - "directions": [ - "Take a large glass and add milk and ice cube.", - "Shake for 4 to 5 time.", - "Then add chilled Cola and again shake another few times.", - "Serve chilled Doodh Cola." - ], - "image": "doodh-cola.jpg", - "keywords": [ - "milk", - "cola", - "non-alcoholic" - ] -} +{ + "name": "Doodh Cola", + "description": "Doodh Cola / Milk Cola is a very unique Cooler from Kolkata. I can asure you that you had never heard about it before, but believe me it so yummy.Doodh Cola is one of the most favored of recent trending meals on earth. It is simple, it is quick, it tastes delicious", + "github": "realsidg", + "ingredients": [ + { + "quantity": "1", + "measure": "glass", + "ingredient": "Chilled Milk" + }, + { + "quantity": "1/4", + "measure": "glass", + "ingredient": "Chilled Cola" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "Ice Cubes" + } + ], + "directions": [ + "Take a large glass and add milk and ice cube.", + "Shake for 4 to 5 time.", + "Then add chilled Cola and again shake another few times.", + "Serve chilled Doodh Cola." + ], + "image": "doodh-cola.jpg", + "keywords": [ + "milk", + "cola", + "non-alcoholic" + ] +} diff --git a/src/recipes/dorflinger.json b/src/recipes/dorflinger.json index 41d7314cc..9aa7724ec 100644 --- a/src/recipes/dorflinger.json +++ b/src/recipes/dorflinger.json @@ -1,36 +1,36 @@ -{ - "name": "Dorflinger", - "description": "A classic pre prohibition drink that offers a unique taste, named after famed glass maker, Christian Dorflinger.", - "github": "astnrgn", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Absinthe" - }, - { - "quantity": "1 - 2", - "measure": "dash", - "ingredient": "Orange Bitters" - } - ], - "directions": [ - "Pour the ingredients into a cocktail shaker filled with ice. Stir well.", - "Strain into a chilled cocktail glass.", - "Add an extra dash (or two) of orange bitters to taste." - ], - "image": "dorflinger.jpg", - "source": "https://absinthia.com/recipes/dorflinger/#", - "keywords": [ - "absinthe", - "classic", - "gin", - "orange bitters", - "pre prohibition" - ] +{ + "name": "Dorflinger", + "description": "A classic pre prohibition drink that offers a unique taste, named after famed glass maker, Christian Dorflinger.", + "github": "astnrgn", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Absinthe" + }, + { + "quantity": "1 - 2", + "measure": "dash", + "ingredient": "Orange Bitters" + } + ], + "directions": [ + "Pour the ingredients into a cocktail shaker filled with ice. Stir well.", + "Strain into a chilled cocktail glass.", + "Add an extra dash (or two) of orange bitters to taste." + ], + "image": "dorflinger.jpg", + "source": "https://absinthia.com/recipes/dorflinger/#", + "keywords": [ + "absinthe", + "classic", + "gin", + "orange bitters", + "pre prohibition" + ] } \ No newline at end of file diff --git a/src/recipes/dr-disaronno.json b/src/recipes/dr-disaronno.json index 7961898d8..04ae54e3f 100644 --- a/src/recipes/dr-disaronno.json +++ b/src/recipes/dr-disaronno.json @@ -1,37 +1,37 @@ -{ - "name": "Dr. Disaronno", - "description": "A simple yet outstanding mixed drink, featuring Dr. Pepper and Disaronno. Tastes like a sweeter Dr. Pepper.", - "github": "MaksimumYT", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Disaronno" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Dr. Pepper" - }, - { - "quantity": "5", - "measure": "cubes", - "ingredient": "Ice" - } - ], - "directions": [ - "Add ice to taste (5 cubes recommended)", - "Pour 2 oz of Disaronno", - "Pour half a can of Dr. Pepper (6 oz)", - "Mix well" - ], - "image": "dr-disaronno.jpg", - "source": "https://cdn1.foodviva.com/static-content/food-images/cocktail-recipes/alcoholic-dr-pepper/alcoholic-dr-pepper.jpg", - "keywords": [ - "dr. pepper", - "ice", - "alcoholic", - "soda", - "liqueur" - ] -} +{ + "name": "Dr. Disaronno", + "description": "A simple yet outstanding mixed drink, featuring Dr. Pepper and Disaronno. Tastes like a sweeter Dr. Pepper.", + "github": "MaksimumYT", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Disaronno" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Dr. Pepper" + }, + { + "quantity": "5", + "measure": "cubes", + "ingredient": "Ice" + } + ], + "directions": [ + "Add ice to taste (5 cubes recommended)", + "Pour 2 oz of Disaronno", + "Pour half a can of Dr. Pepper (6 oz)", + "Mix well" + ], + "image": "dr-disaronno.jpg", + "source": "https://cdn1.foodviva.com/static-content/food-images/cocktail-recipes/alcoholic-dr-pepper/alcoholic-dr-pepper.jpg", + "keywords": [ + "dr. pepper", + "ice", + "alcoholic", + "soda", + "liqueur" + ] +} diff --git a/src/recipes/dragon-fruit-smoothie.json b/src/recipes/dragon-fruit-smoothie.json index d929c205d..9c496577a 100644 --- a/src/recipes/dragon-fruit-smoothie.json +++ b/src/recipes/dragon-fruit-smoothie.json @@ -1,49 +1,49 @@ -{ - "name": "Dragon Fruit Smoothie", - "description": "A healthy fruit smoothie with red dragon fruit, mango and bananas.", - "github": "varian97", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "cubed and frozen dragon fruit" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "cubed and frozen mango" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "frozen bananas (cut into quarters)" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "almond milk" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "lime juice" - }, - { - "quantity": "1/2", - "measure": "scoop", - "ingredient": "whey protein powder" - }, - { - "quantity": "2 - 4", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Add frozen fruits, milk, lime juice and protein powder to the blender, and blend until very smooth", - "Add almond milk as needed to thin out the desired texture" - ], - "image": "dragon-fruit-smoothie.jpg", - "source": "https://sunkissedkitchen.com/dragon-fruit-smoothie/", - "keywords": ["dragon fruit", "smoothie", "fruit", "ice", "lime", "almond milk", "mango", "banana"] -} +{ + "name": "Dragon Fruit Smoothie", + "description": "A healthy fruit smoothie with red dragon fruit, mango and bananas.", + "github": "varian97", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "cubed and frozen dragon fruit" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "cubed and frozen mango" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "frozen bananas (cut into quarters)" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "almond milk" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "lime juice" + }, + { + "quantity": "1/2", + "measure": "scoop", + "ingredient": "whey protein powder" + }, + { + "quantity": "2 - 4", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Add frozen fruits, milk, lime juice and protein powder to the blender, and blend until very smooth", + "Add almond milk as needed to thin out the desired texture" + ], + "image": "dragon-fruit-smoothie.jpg", + "source": "https://sunkissedkitchen.com/dragon-fruit-smoothie/", + "keywords": ["dragon fruit", "smoothie", "fruit", "ice", "lime", "almond milk", "mango", "banana"] +} diff --git a/src/recipes/drunken-monkey.json b/src/recipes/drunken-monkey.json index e7eaf1c72..8f6e0a77a 100644 --- a/src/recipes/drunken-monkey.json +++ b/src/recipes/drunken-monkey.json @@ -1,60 +1,60 @@ -{ - "name": "Drunken Monkey Cocktail", - "description": "Drunken Monkey Cocktail - a vibrant fruity tiki drink just like we experienced in the Caribbean.", - "github": "caseydierking", - "ingredients": [ - { - "quantity": "6", - "measure": "oz", - "ingredient": "orange-pineapple juice blend" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "coconut rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "spiced rum" - }, - { - "quantity": "4-5", - "measure": "dashes", - "ingredient": "bitters" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Fresh ground netmeg" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Maraschino cherries in juices" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lime slices" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Fresh Pineapple wedges" - } - ], - "directions": [ - "Fill a cocktail shaker with ice and add the juice, coconut rum, spiced rum, and 4-5 shakes of bitters. Shake for 30 seconds.", - "Pour into 2 iced tumblers or one tall glass. Then pour in 1-2 teaspoons of cherry juice and let it settle at the bottom of the glass.", - "Garnish with a lime slice, pineapple wedge, and a cherry.", - "Zest fresh nutmeg over the top and serve!" - ], - "image": "drunken-monkey-cocktail.jpg", - "source": "https://www.aspicyperspective.com/drunken-monkey-cocktail/", - "keywords":[ - "alcoholic", - "vegan", - "fruit" - ] -} +{ + "name": "Drunken Monkey Cocktail", + "description": "Drunken Monkey Cocktail - a vibrant fruity tiki drink just like we experienced in the Caribbean.", + "github": "caseydierking", + "ingredients": [ + { + "quantity": "6", + "measure": "oz", + "ingredient": "orange-pineapple juice blend" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "coconut rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "spiced rum" + }, + { + "quantity": "4-5", + "measure": "dashes", + "ingredient": "bitters" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Fresh ground netmeg" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Maraschino cherries in juices" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lime slices" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Fresh Pineapple wedges" + } + ], + "directions": [ + "Fill a cocktail shaker with ice and add the juice, coconut rum, spiced rum, and 4-5 shakes of bitters. Shake for 30 seconds.", + "Pour into 2 iced tumblers or one tall glass. Then pour in 1-2 teaspoons of cherry juice and let it settle at the bottom of the glass.", + "Garnish with a lime slice, pineapple wedge, and a cherry.", + "Zest fresh nutmeg over the top and serve!" + ], + "image": "drunken-monkey-cocktail.jpg", + "source": "https://www.aspicyperspective.com/drunken-monkey-cocktail/", + "keywords":[ + "alcoholic", + "vegan", + "fruit" + ] +} diff --git a/src/recipes/drunken-peanut-butter-cups.json b/src/recipes/drunken-peanut-butter-cups.json index 0be772fcc..46d177eea 100644 --- a/src/recipes/drunken-peanut-butter-cups.json +++ b/src/recipes/drunken-peanut-butter-cups.json @@ -1,73 +1,73 @@ -{ - "name": "Drunken Peanut Butter Cups", - "description": "A martini that uses home made Reese's Pieces infused vodka, garnished with a peanut buter rim! Recipe yields two servings.", - "github": "cvick", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Reese's Pieces" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "ice" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Reese's infused vodka" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "milk" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Chocolate Liquer" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Peanut Butter (optional, for garnishing the rim of the glass)" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Crushed Reese's Pieces (optional, for garnishing the rim of the glass)" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Reese's Cups (as garnish)" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "chocolate syrup" - } - ], - "directions": [ - "Combine vodka and Reese's Pieces in a sealable container (for example a mason jar).", - "Cover with a tight-fitting lid and shake. Refridgerate overnight, then strain.", - "Fill a cocktail shaker with ice, then pour over strained vodka, milk, and chocolate liqueur. Shake until chilled.", - "Put peanut butter on one small plate and crushed Reese's Pieces on another.", - "Dunk tops of two cocktail glasses in peanut butter then roll in crushed Reese's Pieces.", - "Drizzle about a tablespoon of chocolate syrup into each glass. Divide cocktail mixture between glasses and garnish each with a peanut butter cup." - ], - "image": "drunken-peanut-butter-cups.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a58358/drunken-peanut-butter-cups-recipe/", - "keywords": [ - "peanut butter", - "chocolate", - "vodka", - "halloween" - ] -} +{ + "name": "Drunken Peanut Butter Cups", + "description": "A martini that uses home made Reese's Pieces infused vodka, garnished with a peanut buter rim! Recipe yields two servings.", + "github": "cvick", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Reese's Pieces" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "ice" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Reese's infused vodka" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "milk" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Chocolate Liquer" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Peanut Butter (optional, for garnishing the rim of the glass)" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Crushed Reese's Pieces (optional, for garnishing the rim of the glass)" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Reese's Cups (as garnish)" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "chocolate syrup" + } + ], + "directions": [ + "Combine vodka and Reese's Pieces in a sealable container (for example a mason jar).", + "Cover with a tight-fitting lid and shake. Refridgerate overnight, then strain.", + "Fill a cocktail shaker with ice, then pour over strained vodka, milk, and chocolate liqueur. Shake until chilled.", + "Put peanut butter on one small plate and crushed Reese's Pieces on another.", + "Dunk tops of two cocktail glasses in peanut butter then roll in crushed Reese's Pieces.", + "Drizzle about a tablespoon of chocolate syrup into each glass. Divide cocktail mixture between glasses and garnish each with a peanut butter cup." + ], + "image": "drunken-peanut-butter-cups.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a58358/drunken-peanut-butter-cups-recipe/", + "keywords": [ + "peanut butter", + "chocolate", + "vodka", + "halloween" + ] +} diff --git a/src/recipes/dubliner.json b/src/recipes/dubliner.json index 977cd2945..58f39037e 100644 --- a/src/recipes/dubliner.json +++ b/src/recipes/dubliner.json @@ -1,37 +1,37 @@ -{ - "name": "Dubliner", - "description": "This cocktail is adapted from the original recipe of Gary & Mardee Regan (cocktail experts) created in 1999 in New York.", - "github": "JoshuaMart", - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "Irish Whiskey" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Grand Marnier" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Red Vermouth " - }, - { - "quantity": "2", - "measure": "line", - "ingredient": "Orange bitters" - } - ], - "directions": [ - "Mix all ingredients with ice cubes.", - "Strain into a cocktail glass.", - "Decorate with cherries." - ], - "image": "dubliner.jpg", - "keywords": [ - "Whiskey", - "Ice" - ] -} +{ + "name": "Dubliner", + "description": "This cocktail is adapted from the original recipe of Gary & Mardee Regan (cocktail experts) created in 1999 in New York.", + "github": "JoshuaMart", + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "Irish Whiskey" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Grand Marnier" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Red Vermouth " + }, + { + "quantity": "2", + "measure": "line", + "ingredient": "Orange bitters" + } + ], + "directions": [ + "Mix all ingredients with ice cubes.", + "Strain into a cocktail glass.", + "Decorate with cherries." + ], + "image": "dubliner.jpg", + "keywords": [ + "Whiskey", + "Ice" + ] +} diff --git a/src/recipes/dutchmans-daiquiri.json b/src/recipes/dutchmans-daiquiri.json index 461d89700..a9c247852 100644 --- a/src/recipes/dutchmans-daiquiri.json +++ b/src/recipes/dutchmans-daiquiri.json @@ -1,39 +1,39 @@ -{ - "name": "Dutchman’s Daiquiri", - "description": "Genever, lime and a chile pepper apparently they like it spicy in Holland.", - "github": "zzyzy", - "ingredients": [ - { - "quantity": "1 1⁄2", - "measure": "oz", - "ingredient": "Bols genever" - }, - { - "quantity": "1/4", - "measure": "", - "ingredient": "Red chile pepper, seeded and sliced" - }, - { - "quantity": "3⁄4", - "measure": "oz", - "ingredient": "Lime juice" - }, - { - "quantity": "1⁄2", - "measure": "oz", - "ingredient": "Rich sugar syrup (2 parts sugar, 1 part water)" - } - ], - "directions": [ - "Muddle the chile in a shaker.", - "Add the remaining ingredients and fill with ice.", - "Shake, and double-strain into a Martini glass.", - "Garnish with a red chile pepper." - ], - "image": "dutchmans-daiquiri.jpg", - "keywords":[ - "alcoholic", - "vegan", - "spicy" - ] +{ + "name": "Dutchman’s Daiquiri", + "description": "Genever, lime and a chile pepper apparently they like it spicy in Holland.", + "github": "zzyzy", + "ingredients": [ + { + "quantity": "1 1⁄2", + "measure": "oz", + "ingredient": "Bols genever" + }, + { + "quantity": "1/4", + "measure": "", + "ingredient": "Red chile pepper, seeded and sliced" + }, + { + "quantity": "3⁄4", + "measure": "oz", + "ingredient": "Lime juice" + }, + { + "quantity": "1⁄2", + "measure": "oz", + "ingredient": "Rich sugar syrup (2 parts sugar, 1 part water)" + } + ], + "directions": [ + "Muddle the chile in a shaker.", + "Add the remaining ingredients and fill with ice.", + "Shake, and double-strain into a Martini glass.", + "Garnish with a red chile pepper." + ], + "image": "dutchmans-daiquiri.jpg", + "keywords":[ + "alcoholic", + "vegan", + "spicy" + ] } \ No newline at end of file diff --git a/src/recipes/earl-grey-gin-tea.json b/src/recipes/earl-grey-gin-tea.json index ca2e2a668..01958dbd6 100644 --- a/src/recipes/earl-grey-gin-tea.json +++ b/src/recipes/earl-grey-gin-tea.json @@ -1,61 +1,61 @@ -{ - "name": "Earl Grey Gin Tea", - "description": "Iced sweet black tea with a hint of bergamot pairs perfectly with the juniper notes in gin. Top with milk of choice if desired.", - "github": "frankylee", - "ingredients": [ - { - "quantity": "1", - "measure": "tbsp (bag)", - "ingredient": "earl grey tea" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "gin of choice" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "boiled water" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "cold water" - }, - { - "quantity": "1", - "measure": "handful", - "ingredient": "ice cubes" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "honey or sweetener of choice" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "milk or cream of choice (optional)" - } - ], - "directions": [ - "Steep earl grey tea in boiled water for 4 minutes.", - "Remove tea and stir in honey or sweetener of choice until dissolved.", - "Throw in ice cubes and mix until cooled. Add more if needed.", - "Add a shot of your favorite gin.", - "Fill with cold water, leaving room for milk or cream if desired.", - "Top with milk or cream of choice." - ], - "image": "earl-grey-gin-tea.jpg", - "keywords": [ - "earl grey", - "tea", - "sweet", - "honey", - "gin", - "milk tea", - "bergamot", - "alcoholic" - ] +{ + "name": "Earl Grey Gin Tea", + "description": "Iced sweet black tea with a hint of bergamot pairs perfectly with the juniper notes in gin. Top with milk of choice if desired.", + "github": "frankylee", + "ingredients": [ + { + "quantity": "1", + "measure": "tbsp (bag)", + "ingredient": "earl grey tea" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "gin of choice" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "boiled water" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "cold water" + }, + { + "quantity": "1", + "measure": "handful", + "ingredient": "ice cubes" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "honey or sweetener of choice" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "milk or cream of choice (optional)" + } + ], + "directions": [ + "Steep earl grey tea in boiled water for 4 minutes.", + "Remove tea and stir in honey or sweetener of choice until dissolved.", + "Throw in ice cubes and mix until cooled. Add more if needed.", + "Add a shot of your favorite gin.", + "Fill with cold water, leaving room for milk or cream if desired.", + "Top with milk or cream of choice." + ], + "image": "earl-grey-gin-tea.jpg", + "keywords": [ + "earl grey", + "tea", + "sweet", + "honey", + "gin", + "milk tea", + "bergamot", + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/easy-sangria.json b/src/recipes/easy-sangria.json index f7bd5bf9d..f9c3c4815 100644 --- a/src/recipes/easy-sangria.json +++ b/src/recipes/easy-sangria.json @@ -1,78 +1,78 @@ -{ - "name": "Easy sangria", - "description": "Embrace balmy summer days with a jug of sangria. With red wine, Spanish brandy, sparkling water, cinnamon and chopped fruit, it's a lovely sharing cocktail.", - "github": "xtbe", - "ingredients": [ - { - "quantity": "2", - "measure": "pieces", - "ingredient": "chopped oranges" - }, - { - "quantity": "2", - "measure": "pieces", - "ingredient": "chopped pears" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "chopped lemon" - }, - { - "quantity": "1", - "measure": "pieces", - "ingredient": "juiced lemon" - }, - { - "quantity": "200", - "measure": "gr", - "ingredient": "chopped red berries" - }, - { - "quantity": "3", - "measure": "tablespoon", - "ingredient": "caster sugar" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "cinnamon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - }, - { - "quantity": "750", - "measure": "ml", - "ingredient": "light red wine" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "Spanish brandy" - }, - { - "quantity": "300", - "measure": "ml", - "ingredient": "sparkling water" - } - ], - "directions": [ - "Put the chopped fruit in a bowl and sprinkle over the sugar and cinnamon, then stir to coat. ", - "Cover and leave to macerate in the fridge for at least 1 hr, or ideally overnight.", - "Fill a large jug with ice.", - "Stir the macerated fruit mixture to ensure the sugar is dissolved, then tip into the jug with the wine and brandy.", - "Stir, then top up with the sparkling water and serve." - ], - "image": "easy-sangria.jpg", - "keywords": [ - "brandy", - "wine", - "water", - "lemon", - "orange", - "berry" - ] -} +{ + "name": "Easy sangria", + "description": "Embrace balmy summer days with a jug of sangria. With red wine, Spanish brandy, sparkling water, cinnamon and chopped fruit, it's a lovely sharing cocktail.", + "github": "xtbe", + "ingredients": [ + { + "quantity": "2", + "measure": "pieces", + "ingredient": "chopped oranges" + }, + { + "quantity": "2", + "measure": "pieces", + "ingredient": "chopped pears" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "chopped lemon" + }, + { + "quantity": "1", + "measure": "pieces", + "ingredient": "juiced lemon" + }, + { + "quantity": "200", + "measure": "gr", + "ingredient": "chopped red berries" + }, + { + "quantity": "3", + "measure": "tablespoon", + "ingredient": "caster sugar" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "cinnamon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + }, + { + "quantity": "750", + "measure": "ml", + "ingredient": "light red wine" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "Spanish brandy" + }, + { + "quantity": "300", + "measure": "ml", + "ingredient": "sparkling water" + } + ], + "directions": [ + "Put the chopped fruit in a bowl and sprinkle over the sugar and cinnamon, then stir to coat. ", + "Cover and leave to macerate in the fridge for at least 1 hr, or ideally overnight.", + "Fill a large jug with ice.", + "Stir the macerated fruit mixture to ensure the sugar is dissolved, then tip into the jug with the wine and brandy.", + "Stir, then top up with the sparkling water and serve." + ], + "image": "easy-sangria.jpg", + "keywords": [ + "brandy", + "wine", + "water", + "lemon", + "orange", + "berry" + ] +} diff --git a/src/recipes/egg-coffee.json b/src/recipes/egg-coffee.json index 8d06ddcfa..31f9866c8 100644 --- a/src/recipes/egg-coffee.json +++ b/src/recipes/egg-coffee.json @@ -1,51 +1,51 @@ -{ - "name": "Egg Coffee", - "description": "A Hanoi specialty in which a creamy soft, meringue-like egg white foam is perched on dense Vietnamese coffee. Best served hot on a winter day.", - "github": "aldermann", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "egg yolk" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "sweetened condensed milk" - }, - { - "quantity": "20", - "measure": "g", - "ingredient": "white sugar" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "vanilla extract" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "cocoa powder" - }, - { - "quantity": "150", - "measure": "ml", - "ingredient": "black, Vietnamese coffee" - } - ], - "directions": [ - "Combine the egg yolks, 20 ml of condensed milk, sugar and the vanilla extract in a bowl, then whisk until frothy and fluffy.", - "Pour in the rest of condensed milk after brewing the coffee and stir gently", - "Pour the egg on top of the coffee.", - "Garnish with the cocoa powder on top.", - "Serve the cup of coffee inside a bowl of hot water to keep the it warm." - ], - "image": "egg-coffee.jpg", - "source": "https://www.legalnomads.com/vietnamese-egg-coffee-recipe/", - "keywords": [ - "coffee", - "non-alcoholic", - "hot" - ] +{ + "name": "Egg Coffee", + "description": "A Hanoi specialty in which a creamy soft, meringue-like egg white foam is perched on dense Vietnamese coffee. Best served hot on a winter day.", + "github": "aldermann", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "egg yolk" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "sweetened condensed milk" + }, + { + "quantity": "20", + "measure": "g", + "ingredient": "white sugar" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "vanilla extract" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "cocoa powder" + }, + { + "quantity": "150", + "measure": "ml", + "ingredient": "black, Vietnamese coffee" + } + ], + "directions": [ + "Combine the egg yolks, 20 ml of condensed milk, sugar and the vanilla extract in a bowl, then whisk until frothy and fluffy.", + "Pour in the rest of condensed milk after brewing the coffee and stir gently", + "Pour the egg on top of the coffee.", + "Garnish with the cocoa powder on top.", + "Serve the cup of coffee inside a bowl of hot water to keep the it warm." + ], + "image": "egg-coffee.jpg", + "source": "https://www.legalnomads.com/vietnamese-egg-coffee-recipe/", + "keywords": [ + "coffee", + "non-alcoholic", + "hot" + ] } \ No newline at end of file diff --git a/src/recipes/eggnog.json b/src/recipes/eggnog.json index 2d98f2612..93250d572 100644 --- a/src/recipes/eggnog.json +++ b/src/recipes/eggnog.json @@ -1,37 +1,37 @@ -{ - "name": "Eggnog", - "description": "Eggnog, historically also known as a milk punch or an egg milk punch when alcoholic beverages are added, is a rich, chilled, sweetened, dairy-based beverage. It is traditionally made with milk, cream, sugar, whipped egg whites, and egg yolks.", - "github": "Majdi-Zlitni", - "ingredients": [ - { - "quantity": "6", - "measure": "Egg Measure", - "ingredient": "egg" - }, - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "honey or sugar" - }, - { - "quantity": "0,5", - "measure": "ml", - "ingredient": "salt" - }, - { - "quantity": "4", - "measure": "cup", - "ingredient": "milk" - } - ], - "directions": [ - "In a large saucepan, whisk together the eggs, honey and salt. Gradually add 2 cups (500 mL) of milk. Cook over medium-low heat, stirring constantly, until the mixture coats the back of the spoon, 12 to 15 minutes. (Avoid boiling).", - "Pour into a large fireproof bowl: stir in the rest of the milk and the vanilla. Place bowl over ice water and stir frequently until mixture is cold, about 15 minutes. Cover and refrigerate for at least 3 hours." - - ], - "image": "eggnog.jpg", - "keywords": [ - "fruit", - "juice" - ] -} +{ + "name": "Eggnog", + "description": "Eggnog, historically also known as a milk punch or an egg milk punch when alcoholic beverages are added, is a rich, chilled, sweetened, dairy-based beverage. It is traditionally made with milk, cream, sugar, whipped egg whites, and egg yolks.", + "github": "Majdi-Zlitni", + "ingredients": [ + { + "quantity": "6", + "measure": "Egg Measure", + "ingredient": "egg" + }, + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "honey or sugar" + }, + { + "quantity": "0,5", + "measure": "ml", + "ingredient": "salt" + }, + { + "quantity": "4", + "measure": "cup", + "ingredient": "milk" + } + ], + "directions": [ + "In a large saucepan, whisk together the eggs, honey and salt. Gradually add 2 cups (500 mL) of milk. Cook over medium-low heat, stirring constantly, until the mixture coats the back of the spoon, 12 to 15 minutes. (Avoid boiling).", + "Pour into a large fireproof bowl: stir in the rest of the milk and the vanilla. Place bowl over ice water and stir frequently until mixture is cold, about 15 minutes. Cover and refrigerate for at least 3 hours." + + ], + "image": "eggnog.jpg", + "keywords": [ + "fruit", + "juice" + ] +} diff --git a/src/recipes/egyptian-fakhfakhina.json b/src/recipes/egyptian-fakhfakhina.json index d2293ba8f..1b55f23ed 100644 --- a/src/recipes/egyptian-fakhfakhina.json +++ b/src/recipes/egyptian-fakhfakhina.json @@ -1,77 +1,77 @@ -{ - "name": "Egyptian Fakhfakhina Drink", - "description": "Fakhfakhina is the “mother of all fruit salads.”. This fruit salad includes seasonal fruits, juice cocktails and ice cream", - "github": "mkhy19", - "ingredients": [ - { - "quantity": "2", - "measure": "mangoes", - "ingredient": "cut into cubes" - }, - { - "quantity": "2", - "measure": "apples", - "ingredient": "cut into cubes" - }, - { - "quantity": "2", - "measure": "peaches", - "ingredient": "diced" - }, - { - "quantity": "1", - "measure": "banana", - "ingredient": "sliced" - }, - { - "quantity": "2", - "measure": "cups strawberries", - "ingredient": "sliced" - },{ - "quantity": "2", - "measure": "pineapple juice", - "ingredient": "" - }, - { - "quantity": "2", - "measure": "cups orange juice", - "ingredient": "" - }, - { - "quantity": "2", - "measure": "cups cream", - "ingredient": "(optional)" - }, - { - "quantity": "As you like", - "measure": "Honey, to taste", - "ingredient": "(optional)" - }, - { - "quantity": "As you like", - "measure": "Crushed nuts, to taste", - "ingredient": "(optional)" - } - ], - - - "directions": [ - "Chop the fruits into small pieces.", - "Mix the fruit pieces in a bowl. In a separate bowl, mix the pineapple juice and the orange juice.", - "In each serving cup, mix one-fourth of the fruit and one-fourth of the juice.", - "Spread the cream evenly over each cup, as well as honey and nuts." - ], - "image": "egyptian-fakhfakhina.jpg", - "keywords": [ - "non-alcoholic", - "banana", - "mango", - "apple", - "peach", - "strawberry", - "honey", - "coconut", - "sugar", - "nut" - ] -} +{ + "name": "Egyptian Fakhfakhina Drink", + "description": "Fakhfakhina is the “mother of all fruit salads.”. This fruit salad includes seasonal fruits, juice cocktails and ice cream", + "github": "mkhy19", + "ingredients": [ + { + "quantity": "2", + "measure": "mangoes", + "ingredient": "cut into cubes" + }, + { + "quantity": "2", + "measure": "apples", + "ingredient": "cut into cubes" + }, + { + "quantity": "2", + "measure": "peaches", + "ingredient": "diced" + }, + { + "quantity": "1", + "measure": "banana", + "ingredient": "sliced" + }, + { + "quantity": "2", + "measure": "cups strawberries", + "ingredient": "sliced" + },{ + "quantity": "2", + "measure": "pineapple juice", + "ingredient": "" + }, + { + "quantity": "2", + "measure": "cups orange juice", + "ingredient": "" + }, + { + "quantity": "2", + "measure": "cups cream", + "ingredient": "(optional)" + }, + { + "quantity": "As you like", + "measure": "Honey, to taste", + "ingredient": "(optional)" + }, + { + "quantity": "As you like", + "measure": "Crushed nuts, to taste", + "ingredient": "(optional)" + } + ], + + + "directions": [ + "Chop the fruits into small pieces.", + "Mix the fruit pieces in a bowl. In a separate bowl, mix the pineapple juice and the orange juice.", + "In each serving cup, mix one-fourth of the fruit and one-fourth of the juice.", + "Spread the cream evenly over each cup, as well as honey and nuts." + ], + "image": "egyptian-fakhfakhina.jpg", + "keywords": [ + "non-alcoholic", + "banana", + "mango", + "apple", + "peach", + "strawberry", + "honey", + "coconut", + "sugar", + "nut" + ] +} diff --git a/src/recipes/egyptian-sobia-drink.json b/src/recipes/egyptian-sobia-drink.json index efddfc960..eeee3caf2 100644 --- a/src/recipes/egyptian-sobia-drink.json +++ b/src/recipes/egyptian-sobia-drink.json @@ -1,53 +1,53 @@ -{ - "name": "Egyptian Sobia Drink", - "description": "Sobia is a starchy, milky sweet coconut drink, that is really a thirst quenching drink.", - "github": "aliheikal", - "ingredients": [ - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "dry uncooked rice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "sugar (more or less depending on your liking)" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "powdered milk" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "coconut milk" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "vanilla powder" - } - ], - "directions": [ - "Grind the rice to fine powder.", - "Combine water and rice powder in a bowl and let it set for at least six hours in the fridge.", - "Add the rice water and the rest of the ingredients in a blender.", - "Blend very well – might take you 3-4 minutes until well combined.", - "Strain with cheese cloth, coffee filter or tea strainer.", - "Chill and serve." - ], - "image": "egyptian-sobia-drink.jpg", - "keywords": [ - "non-alcoholic", - "milk", - "coconut", - "sugar", - "vanilla" - ] -} +{ + "name": "Egyptian Sobia Drink", + "description": "Sobia is a starchy, milky sweet coconut drink, that is really a thirst quenching drink.", + "github": "aliheikal", + "ingredients": [ + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "dry uncooked rice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "sugar (more or less depending on your liking)" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "powdered milk" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "coconut milk" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "vanilla powder" + } + ], + "directions": [ + "Grind the rice to fine powder.", + "Combine water and rice powder in a bowl and let it set for at least six hours in the fridge.", + "Add the rice water and the rest of the ingredients in a blender.", + "Blend very well – might take you 3-4 minutes until well combined.", + "Strain with cheese cloth, coffee filter or tea strainer.", + "Chill and serve." + ], + "image": "egyptian-sobia-drink.jpg", + "keywords": [ + "non-alcoholic", + "milk", + "coconut", + "sugar", + "vanilla" + ] +} diff --git a/src/recipes/el-diablo.json b/src/recipes/el-diablo.json index b0c78fa04..1b3d1924c 100644 --- a/src/recipes/el-diablo.json +++ b/src/recipes/el-diablo.json @@ -1,39 +1,39 @@ -{ - "name": "El Diablo", - "description": "A popular tequila cocktail with the cassis melding perfectly with the ginger and the agave flavour of the tequila.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "37 1/2", - "measure": "ml", - "ingredient": "Tequila" - }, - { - "quantity": "12 1/2", - "measure": "ml", - "ingredient": "Crème de Cassis" - }, - { - "quantity": "12 1/2", - "measure": "ml", - "ingredient": "Lime Juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ginger Beer" - } - ], - "directions": [ - "Pour the tequila, cassis, and lime juice into a cocktail shaker filled with ice.", - "Shake well.", - "Strain into a Collins glass filled with ice.", - "Top with ginger beer." - ], - "image": "el-diablo.jpg", - "keywords":[ - "alcoholic", - "cocktail", - "vegan" - ] -} +{ + "name": "El Diablo", + "description": "A popular tequila cocktail with the cassis melding perfectly with the ginger and the agave flavour of the tequila.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "37 1/2", + "measure": "ml", + "ingredient": "Tequila" + }, + { + "quantity": "12 1/2", + "measure": "ml", + "ingredient": "Crème de Cassis" + }, + { + "quantity": "12 1/2", + "measure": "ml", + "ingredient": "Lime Juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ginger Beer" + } + ], + "directions": [ + "Pour the tequila, cassis, and lime juice into a cocktail shaker filled with ice.", + "Shake well.", + "Strain into a Collins glass filled with ice.", + "Top with ginger beer." + ], + "image": "el-diablo.jpg", + "keywords":[ + "alcoholic", + "cocktail", + "vegan" + ] +} diff --git a/src/recipes/el-presidente.json b/src/recipes/el-presidente.json index 5163a22db..31856d4a3 100644 --- a/src/recipes/el-presidente.json +++ b/src/recipes/el-presidente.json @@ -1,50 +1,50 @@ -{ - "name": "El Presidente", - "description": "A classic cuban cocktail from the 1930s.", - "github": "kcusaac", - "ingredients": [ - { - "quantity": "1½", - "measure": "oz", - "ingredient": "White Rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Dry Vermouth" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Orange Curaçao (or Triple Sec, Cointreau)" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Grenadine" - }, - { - "quantity": "1", - "measure": "peel", - "ingredient": "Orange (garnish)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Pour the rum, vermouth, orange curaçao and dash of grandine into a cocktail shaker.", - "Add ice and shake well.", - "Strain into a chilled cocktail glass.", - "Granish with orange peel." - ], - "image": "el-presidente.jpg", - "keywords":[ - "rum", - "alcoholic", - "cocktail", - "vegan" - ] -} +{ + "name": "El Presidente", + "description": "A classic cuban cocktail from the 1930s.", + "github": "kcusaac", + "ingredients": [ + { + "quantity": "1½", + "measure": "oz", + "ingredient": "White Rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Dry Vermouth" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Orange Curaçao (or Triple Sec, Cointreau)" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Grenadine" + }, + { + "quantity": "1", + "measure": "peel", + "ingredient": "Orange (garnish)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Pour the rum, vermouth, orange curaçao and dash of grandine into a cocktail shaker.", + "Add ice and shake well.", + "Strain into a chilled cocktail glass.", + "Granish with orange peel." + ], + "image": "el-presidente.jpg", + "keywords":[ + "rum", + "alcoholic", + "cocktail", + "vegan" + ] +} diff --git a/src/recipes/elderflower-cooler.json b/src/recipes/elderflower-cooler.json index e932bb5cc..d8af4d94d 100644 --- a/src/recipes/elderflower-cooler.json +++ b/src/recipes/elderflower-cooler.json @@ -1,54 +1,54 @@ -{ - "name": "Elderflower Cooler", - "description": "Long hot afternoons in the garden are often better shared, just like Elderflower Cooler. One of most refreshing Gin out there.", - "github": "stephenjaya99", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Bottlegreen elderflower cordial" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cubed ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cucumber" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mint to garnish" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Soda" - }, - { - "quantity": "1.9", - "measure": "units", - "ingredient": "of alcohol per tall glass" - } - ], - "directions": [ - "Half fill a glass with cubed ice and pour over 50ml Gin.", - "Add a slice or two of cool cucumber and some mint leaves.", - "Splash over 20ml Bottlegreen® elderflower cordial, fill with more ice and top up with chilled soda.", - "Stir and finish off with a couple of extra slices of cucumber and a final sprig of mint." - ], - "image": "elderflower-cooler.jpg", - "keywords":[ - "gin", - "alcoholic", - "vegan" - ] -} +{ + "name": "Elderflower Cooler", + "description": "Long hot afternoons in the garden are often better shared, just like Elderflower Cooler. One of most refreshing Gin out there.", + "github": "stephenjaya99", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Bottlegreen elderflower cordial" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cubed ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cucumber" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mint to garnish" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Soda" + }, + { + "quantity": "1.9", + "measure": "units", + "ingredient": "of alcohol per tall glass" + } + ], + "directions": [ + "Half fill a glass with cubed ice and pour over 50ml Gin.", + "Add a slice or two of cool cucumber and some mint leaves.", + "Splash over 20ml Bottlegreen® elderflower cordial, fill with more ice and top up with chilled soda.", + "Stir and finish off with a couple of extra slices of cucumber and a final sprig of mint." + ], + "image": "elderflower-cooler.jpg", + "keywords":[ + "gin", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/elderflower-french-75.json b/src/recipes/elderflower-french-75.json index f7ca4fd6f..5adc196f5 100644 --- a/src/recipes/elderflower-french-75.json +++ b/src/recipes/elderflower-french-75.json @@ -1,41 +1,41 @@ -{ - "name": "Elderflower French 75", - "description": "A deliciously floral twist on the classic French 75", - "github": "k-monnik", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "elderflower liqueur" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "lemon juice, freshly squeezed" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "champagne or prosecco" - } - ], - "directions": [ - "Add ice, gin, elderflower liqueur and lemon juice to mixing glass and shake until combined and chilled.", - "Strain mix into base of champagne flute or martini glass and top with champagne.", - "Garnish with a lemon twist." - ], - "image": "elderflower-french-75.jpg", - "source": "https://tipsybartender.com/recipe/elderflower-french-75", - "keywords": [ - "elderflower", - "St-Germain", - "gin", - "champagne", - "prosecco" - ] -} +{ + "name": "Elderflower French 75", + "description": "A deliciously floral twist on the classic French 75", + "github": "k-monnik", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "elderflower liqueur" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "lemon juice, freshly squeezed" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "champagne or prosecco" + } + ], + "directions": [ + "Add ice, gin, elderflower liqueur and lemon juice to mixing glass and shake until combined and chilled.", + "Strain mix into base of champagne flute or martini glass and top with champagne.", + "Garnish with a lemon twist." + ], + "image": "elderflower-french-75.jpg", + "source": "https://tipsybartender.com/recipe/elderflower-french-75", + "keywords": [ + "elderflower", + "St-Germain", + "gin", + "champagne", + "prosecco" + ] +} diff --git a/src/recipes/elderflower-tini.json b/src/recipes/elderflower-tini.json index d3e3121d7..361d3c3ea 100644 --- a/src/recipes/elderflower-tini.json +++ b/src/recipes/elderflower-tini.json @@ -1,33 +1,33 @@ -{ - "name": "Elderflower-tini", - "description": "A sweet twist to your average martini.", - "github": "lalawuhan", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Vodka" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Lemon Juice" - }, - { - "quantity": "25", - "measure": "ml", - "ingredient": "Elderflower syrup" - } - ], - "directions": [ - "Chill serving glass in freezer.", - "Pour ingredients into mixing glass with ice in order listed and shake.", - "Strain into chilled serving glass." - ], - "image": "elderflower-tini.jpg", - "keywords": [ - "elderflower", - "alcoholic", - "vegan" - ] -} +{ + "name": "Elderflower-tini", + "description": "A sweet twist to your average martini.", + "github": "lalawuhan", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Vodka" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Lemon Juice" + }, + { + "quantity": "25", + "measure": "ml", + "ingredient": "Elderflower syrup" + } + ], + "directions": [ + "Chill serving glass in freezer.", + "Pour ingredients into mixing glass with ice in order listed and shake.", + "Strain into chilled serving glass." + ], + "image": "elderflower-tini.jpg", + "keywords": [ + "elderflower", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/es-jeruk.json b/src/recipes/es-jeruk.json index dadc3f026..f1eebb2b5 100644 --- a/src/recipes/es-jeruk.json +++ b/src/recipes/es-jeruk.json @@ -1,58 +1,58 @@ -{ - "name": "Es Jeruk", - "description": "This is a drink right now. It can only be sold at restaurants, now there are many sellers of this drink along the road near the house. The price is 5,000 rupiah, and 1 serving is 2 squeezed oranges. Read more about oranges around 10 thousand rupiahs, and can be 5 servings of squeezed orange ice, making yourself naturally cleaner and more delicious.", - "github": "connectnitish", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Sugar" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Unripe Green Mango" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "Cardamom" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "Fresh Mint" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "Black Salt" - }, - { - "quantity": "6", - "measure": "", - "ingredient": "orange, sugar" - } - - ], - "directions": [ - "Choose the raw mangoes which are tart.", - "You can keep the skin on before boiling the mangoes. It gives a very distinct flavour to the Panna.", - "Peeling the skin before boiling makes the process very easy.", - "If the Panna is not very tangy, you can add some lemon juice to it.", - "Boil Mango with mild heat in 1 cup of water.", - "You can also roast mango before boiling if needed for crispy taste.", - "The subtly smoky flavour in this drink will take it to the next level.", - "Strain into the prepared glass.", - "Garnish with a parsley sprig, 2 speared green olives and a lime wedge and a celery stalk (optional).", - "Inside the glass Dissolve sugar with hot water. Then split 2 oranges and squeeze. Pour in a glass of sugar and stir well. Add ice cubes. And serve it." - ], - "image": "es-jeruk.jpg", - "keywords": [ - "fruit", - "juice", - "non-alcoholic", - "vegan", - "orange" - ] -} +{ + "name": "Es Jeruk", + "description": "This is a drink right now. It can only be sold at restaurants, now there are many sellers of this drink along the road near the house. The price is 5,000 rupiah, and 1 serving is 2 squeezed oranges. Read more about oranges around 10 thousand rupiahs, and can be 5 servings of squeezed orange ice, making yourself naturally cleaner and more delicious.", + "github": "connectnitish", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Sugar" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Unripe Green Mango" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "Cardamom" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "Fresh Mint" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "Black Salt" + }, + { + "quantity": "6", + "measure": "", + "ingredient": "orange, sugar" + } + + ], + "directions": [ + "Choose the raw mangoes which are tart.", + "You can keep the skin on before boiling the mangoes. It gives a very distinct flavour to the Panna.", + "Peeling the skin before boiling makes the process very easy.", + "If the Panna is not very tangy, you can add some lemon juice to it.", + "Boil Mango with mild heat in 1 cup of water.", + "You can also roast mango before boiling if needed for crispy taste.", + "The subtly smoky flavour in this drink will take it to the next level.", + "Strain into the prepared glass.", + "Garnish with a parsley sprig, 2 speared green olives and a lime wedge and a celery stalk (optional).", + "Inside the glass Dissolve sugar with hot water. Then split 2 oranges and squeeze. Pour in a glass of sugar and stir well. Add ice cubes. And serve it." + ], + "image": "es-jeruk.jpg", + "keywords": [ + "fruit", + "juice", + "non-alcoholic", + "vegan", + "orange" + ] +} diff --git a/src/recipes/es-sarang-burung.json b/src/recipes/es-sarang-burung.json index 362a03cfe..6dc364c49 100644 --- a/src/recipes/es-sarang-burung.json +++ b/src/recipes/es-sarang-burung.json @@ -1,71 +1,71 @@ -{ - "name": "Es Sarang Burung", - "description": "Es Sarang Burung is a type of drink typical of Lombok with a mixture of ice cubes that can add a fresh taste sensation when enjoyed.", - "github": "suryamsj", - "ingredients": [ - { - "quantity": "500", - "measure": "ml", - "ingredient": "Water" - }, - { - "quantity": "4", - "measure": "tablespoons", - "ingredient": "Sugar" - }, - { - "quantity": "1", - "measure": "pack", - "ingredient": "Red gelatin powder" - }, - { - "quantity": "1/2", - "measure": "fruit", - "ingredient": "Melon, pick up the fruit with a baller" - }, - { - "quantity": "2", - "measure": "pcs", - "ingredient": "Kiwi, cut into pieces" - }, - { - "quantity": "200", - "measure": "gr", - "ingredient": "Nata de coco" - }, - { - "quantity": "1", - "measure": "tablespoons", - "ingredient": "Basil seeds, soak in a little warm water" - }, - { - "quantity": "1/2", - "measure": "bottle", - "ingredient": "Red syrup" - }, - { - "quantity": "1", - "measure": "l", - "ingredient": "Water" - }, - { - "quantity": "sufficiently", - "measure": "blok", - "ingredient": "Ice" - } - ], - "directions": [ - "In a saucepan, mix all ingredients. Stir well and boil until boiling. Remove and pour into a square pan. Let it harden. Grate the jelly lengthwise with a cheese grater. Set aside. ", - "In a large bowl, mix melon, nata, kiwi, grated agar, syrup, water and ice cubes. Stir well. Add basil seeds. ", - "Ready to serve in small glasses." - ], - "image": "es-sarang-burung.jpg", - "source": "https://resepkoki.id/resep/resep-es-sarang-burung/", - "keywords": [ - "ice", - "indonesia", - "syrup", - "tropical", - "water" - ] -} +{ + "name": "Es Sarang Burung", + "description": "Es Sarang Burung is a type of drink typical of Lombok with a mixture of ice cubes that can add a fresh taste sensation when enjoyed.", + "github": "suryamsj", + "ingredients": [ + { + "quantity": "500", + "measure": "ml", + "ingredient": "Water" + }, + { + "quantity": "4", + "measure": "tablespoons", + "ingredient": "Sugar" + }, + { + "quantity": "1", + "measure": "pack", + "ingredient": "Red gelatin powder" + }, + { + "quantity": "1/2", + "measure": "fruit", + "ingredient": "Melon, pick up the fruit with a baller" + }, + { + "quantity": "2", + "measure": "pcs", + "ingredient": "Kiwi, cut into pieces" + }, + { + "quantity": "200", + "measure": "gr", + "ingredient": "Nata de coco" + }, + { + "quantity": "1", + "measure": "tablespoons", + "ingredient": "Basil seeds, soak in a little warm water" + }, + { + "quantity": "1/2", + "measure": "bottle", + "ingredient": "Red syrup" + }, + { + "quantity": "1", + "measure": "l", + "ingredient": "Water" + }, + { + "quantity": "sufficiently", + "measure": "blok", + "ingredient": "Ice" + } + ], + "directions": [ + "In a saucepan, mix all ingredients. Stir well and boil until boiling. Remove and pour into a square pan. Let it harden. Grate the jelly lengthwise with a cheese grater. Set aside. ", + "In a large bowl, mix melon, nata, kiwi, grated agar, syrup, water and ice cubes. Stir well. Add basil seeds. ", + "Ready to serve in small glasses." + ], + "image": "es-sarang-burung.jpg", + "source": "https://resepkoki.id/resep/resep-es-sarang-burung/", + "keywords": [ + "ice", + "indonesia", + "syrup", + "tropical", + "water" + ] +} diff --git a/src/recipes/espanhola.json b/src/recipes/espanhola.json index aef1b0982..7bda7cb11 100644 --- a/src/recipes/espanhola.json +++ b/src/recipes/espanhola.json @@ -1,42 +1,42 @@ -{ - "name": "Espanhola", - "description": "Espanhola is a 'traditional' brazilian drink, very known in hang outs with friends, it's a bittersweet wine and pineapple drink.", - "github": "pliavi", - "ingredients": [ - { - "quantity": "1", - "measure": "L", - "ingredient": "Red or dry wine" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Medium pineapple" - }, - { - "quantity": "1", - "measure": "can", - "ingredient": "Condensed milk" - }, - { - "quantity": "2 to 3", - "measure": "cups", - "ingredient": "Crushed ice" - } - ], - "directions": [ - "Cut the pineapple in pieces.", - "Put all the ingredients, without the ice, in a blender and mix all together.", - "Add the ice and mix a bit again.", - "Serve in large glasses, and use the pineapple peel as garnish" - ], - "image": "espanhola.jpg", - "source": "https://vila-vinifera.com/2017/03/10/wine-drinks-espanhola-para-levantar-o-astral/", - "keywords": [ - "alcoholic", - "condensed milk", - "pineapple", - "wine", - "bittersweet" - ] +{ + "name": "Espanhola", + "description": "Espanhola is a 'traditional' brazilian drink, very known in hang outs with friends, it's a bittersweet wine and pineapple drink.", + "github": "pliavi", + "ingredients": [ + { + "quantity": "1", + "measure": "L", + "ingredient": "Red or dry wine" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Medium pineapple" + }, + { + "quantity": "1", + "measure": "can", + "ingredient": "Condensed milk" + }, + { + "quantity": "2 to 3", + "measure": "cups", + "ingredient": "Crushed ice" + } + ], + "directions": [ + "Cut the pineapple in pieces.", + "Put all the ingredients, without the ice, in a blender and mix all together.", + "Add the ice and mix a bit again.", + "Serve in large glasses, and use the pineapple peel as garnish" + ], + "image": "espanhola.jpg", + "source": "https://vila-vinifera.com/2017/03/10/wine-drinks-espanhola-para-levantar-o-astral/", + "keywords": [ + "alcoholic", + "condensed milk", + "pineapple", + "wine", + "bittersweet" + ] } \ No newline at end of file diff --git a/src/recipes/espresso-martini.json b/src/recipes/espresso-martini.json index ff2a11e5b..5d0cb5453 100644 --- a/src/recipes/espresso-martini.json +++ b/src/recipes/espresso-martini.json @@ -1,56 +1,56 @@ -{ - "name": "Espresso Martini", - "description": "The Espresso Martini is a cold, coffee-flavored cocktail made with vodka, espresso coffee, coffee liqueur, and sugar syrup. It is not a true martini.", - "github": "Le-Morri", - "ingredients": [ - { - "quantity": "100", - "measure": "ml", - "ingredient": "vodka" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "freshly brewed espresso coffee" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "coffee liqueur (e.g. Kahlua)" - }, - { - "quantity": "100", - "measure": "g", - "ingredient": "" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - }, - { - "quantity": "", - "measure": "", - "ingredient": "coffee beans (optional, for decoration)" - } - ], - "directions": [ - "Put the sugar in a small pan over medium heat and pour in 50ml water to make the syrup.", - "Stir the sugar and bring it to a boil. Turn off the heat and allow the syrup to cool.", - "Chill two martini glasses in the fridge.", - "Pour 1 tbsp into a cocktail shaker along with a some ice, vodka, espresso, and coffee liqueur.", - "Shake until the outside of the cocktail shaker feels icy cold.", - "Strain into the chilled glasses. For decoration, you can put full coffee beans on top." - ], - "image": "espresso-martini.jpg", - "keywords":[ - "alcoholic", - "coffee", - "vodka" - ] -} +{ + "name": "Espresso Martini", + "description": "The Espresso Martini is a cold, coffee-flavored cocktail made with vodka, espresso coffee, coffee liqueur, and sugar syrup. It is not a true martini.", + "github": "Le-Morri", + "ingredients": [ + { + "quantity": "100", + "measure": "ml", + "ingredient": "vodka" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "freshly brewed espresso coffee" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "coffee liqueur (e.g. Kahlua)" + }, + { + "quantity": "100", + "measure": "g", + "ingredient": "" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + }, + { + "quantity": "", + "measure": "", + "ingredient": "coffee beans (optional, for decoration)" + } + ], + "directions": [ + "Put the sugar in a small pan over medium heat and pour in 50ml water to make the syrup.", + "Stir the sugar and bring it to a boil. Turn off the heat and allow the syrup to cool.", + "Chill two martini glasses in the fridge.", + "Pour 1 tbsp into a cocktail shaker along with a some ice, vodka, espresso, and coffee liqueur.", + "Shake until the outside of the cocktail shaker feels icy cold.", + "Strain into the chilled glasses. For decoration, you can put full coffee beans on top." + ], + "image": "espresso-martini.jpg", + "keywords":[ + "alcoholic", + "coffee", + "vodka" + ] +} diff --git a/src/recipes/fall-old-fashioned.json b/src/recipes/fall-old-fashioned.json index bdf0053fd..5f023dc9e 100644 --- a/src/recipes/fall-old-fashioned.json +++ b/src/recipes/fall-old-fashioned.json @@ -1,70 +1,70 @@ -{ - "name": "Fall Old-Fashioned", - "description": "A classic Old-Fashioned tailored to Fall.", - "github": "s-hale", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "star anise" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "cinnamon sticks" - }, - { - "quantity": "12", - "measure": "", - "ingredient": "whole cloves" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "split vanilla bean" - }, - { - "quantity": "2", - "measure": "teaspoons", - "ingredient": "maple syrup" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "water" - }, - { - "quantity": "4", - "measure": "dashes", - "ingredient": "Angostura Aromatic Bitters" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "infused bourbon" - } - - ], - "directions": [ - "Place bourbon and spices in a glass jar with a lid.", - "Allow to infuse for 24 hours, shaking occasionally.", - "Strain the bourbon into a clean jar. This makes enough for 8 cocktails.", - "Make the cocktail: Add the maple syrup, water, and bitters to the bottom of an old-fashioned glass.", - "Add the ice and the bourbon, and stir for about 30 seconds.", - "Garnish with orange peel: Rub a piece of orange peel around the rim of the glass and drop it in." - ], - "image": "fall-old-fashioned.jpg", - "keywords": [ - "fall", - "classic", - "Bitters", - "maple syrup", - "cinnamon", - "bourbon" - ] -} +{ + "name": "Fall Old-Fashioned", + "description": "A classic Old-Fashioned tailored to Fall.", + "github": "s-hale", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "star anise" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "cinnamon sticks" + }, + { + "quantity": "12", + "measure": "", + "ingredient": "whole cloves" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "split vanilla bean" + }, + { + "quantity": "2", + "measure": "teaspoons", + "ingredient": "maple syrup" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "water" + }, + { + "quantity": "4", + "measure": "dashes", + "ingredient": "Angostura Aromatic Bitters" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "infused bourbon" + } + + ], + "directions": [ + "Place bourbon and spices in a glass jar with a lid.", + "Allow to infuse for 24 hours, shaking occasionally.", + "Strain the bourbon into a clean jar. This makes enough for 8 cocktails.", + "Make the cocktail: Add the maple syrup, water, and bitters to the bottom of an old-fashioned glass.", + "Add the ice and the bourbon, and stir for about 30 seconds.", + "Garnish with orange peel: Rub a piece of orange peel around the rim of the glass and drop it in." + ], + "image": "fall-old-fashioned.jpg", + "keywords": [ + "fall", + "classic", + "Bitters", + "maple syrup", + "cinnamon", + "bourbon" + ] +} diff --git a/src/recipes/fast-food-classic.json b/src/recipes/fast-food-classic.json index 3b6ca120d..65ab0316e 100644 --- a/src/recipes/fast-food-classic.json +++ b/src/recipes/fast-food-classic.json @@ -1,39 +1,39 @@ -{ - "name": "Fast Food Classic", - "description": "The drink you made at the beverage station every time your mom took you to Wendy's until you were 15", - "github": "ryansperzel", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Coke" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Root beer" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Sprite" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Mountain Dew" - } - ], - "directions": [ - "Make your fast food order a meal so it comes with a drink", - "Create the perfect blend of sodas at the neverage station. Don't be afraid to stray from the recipe and try new things", - "Drink at least 1/3 of it at the beverage station and fill it back up", - "Enjoy!", - "Optionally, head back for a refill or try a new blend!" - ], - "image": "fast-food-classic.jpg", - "keywords": [ - "soda", - "wendys" - ] -} +{ + "name": "Fast Food Classic", + "description": "The drink you made at the beverage station every time your mom took you to Wendy's until you were 15", + "github": "ryansperzel", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Coke" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Root beer" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Sprite" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Mountain Dew" + } + ], + "directions": [ + "Make your fast food order a meal so it comes with a drink", + "Create the perfect blend of sodas at the neverage station. Don't be afraid to stray from the recipe and try new things", + "Drink at least 1/3 of it at the beverage station and fill it back up", + "Enjoy!", + "Optionally, head back for a refill or try a new blend!" + ], + "image": "fast-food-classic.jpg", + "keywords": [ + "soda", + "wendys" + ] +} diff --git a/src/recipes/fernet-with-coke.json b/src/recipes/fernet-with-coke.json index b27ed46c7..0754bb26b 100644 --- a/src/recipes/fernet-with-coke.json +++ b/src/recipes/fernet-with-coke.json @@ -1,34 +1,34 @@ -{ - "name": "Fernet with coke", - "description": "Argentinian drink consisting of fernet, coke and ice.", - "github": "ezekohon", - "ingredients": [ - { - "quantity": "166", - "measure": "mililiter", - "ingredient": "Fernet" - }, - { - "quantity": "334", - "measure": "mililiter", - "ingredient": "Coca Cola" - }, - { - "quantity": "3", - "measure": "blokes", - "ingredient": "Ice" - } - ], - "directions": [ - "Put the ice in a 500ml glass.", - "Serve the Fernet (Branca is the best).", - "Slowly serve the Coca Cola till the glass is full." - ], - "image": "fernet-with-coke.jpg", - - "keywords": [ - "fernet", - "coke", - "vegan" - ] -} +{ + "name": "Fernet with coke", + "description": "Argentinian drink consisting of fernet, coke and ice.", + "github": "ezekohon", + "ingredients": [ + { + "quantity": "166", + "measure": "mililiter", + "ingredient": "Fernet" + }, + { + "quantity": "334", + "measure": "mililiter", + "ingredient": "Coca Cola" + }, + { + "quantity": "3", + "measure": "blokes", + "ingredient": "Ice" + } + ], + "directions": [ + "Put the ice in a 500ml glass.", + "Serve the Fernet (Branca is the best).", + "Slowly serve the Coca Cola till the glass is full." + ], + "image": "fernet-with-coke.jpg", + + "keywords": [ + "fernet", + "coke", + "vegan" + ] +} diff --git a/src/recipes/fig-bourbon-cider-smash.json b/src/recipes/fig-bourbon-cider-smash.json index a687c18a0..0c20a014e 100644 --- a/src/recipes/fig-bourbon-cider-smash.json +++ b/src/recipes/fig-bourbon-cider-smash.json @@ -1,63 +1,63 @@ -{ - "name": "Fig Bourbon Cider Smash", - "description": "A sweet citrusy cocktail, perfect for the start of autumn.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "apple cider" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "orange zest" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "orange juice" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "fig preserves" - }, - { - "quantity": "2", - "measure": "ounce", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Optional: balsamic vinegar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sparkling water, for topping" - }, - { - "quantity": "", - "measure": "", - "ingredient": "fresh figs, for serving" - } - ], - "directions": [ - "Combine the apple cider, orange zest, orange juice, fig preserves, bourbon, and balsamic vinegar (optional) in a cocktail shaker.", - "Shake to combine.", - "Strain into a glass filled with ice.", - "Top off with sparkling water and garnish with a fresh fig.", - "Cheers!" - ], - "image": "fig-bourbon-cider-smash.jpg", - "source": "https://www.halfbakedharvest.com/fig-bourbon-cider-smash/", - "keywords": [ - "bourbon", - "fig", - "apple cider", - "alcoholic", - "vegan" - ] -} +{ + "name": "Fig Bourbon Cider Smash", + "description": "A sweet citrusy cocktail, perfect for the start of autumn.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "apple cider" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "orange zest" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "orange juice" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "fig preserves" + }, + { + "quantity": "2", + "measure": "ounce", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Optional: balsamic vinegar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sparkling water, for topping" + }, + { + "quantity": "", + "measure": "", + "ingredient": "fresh figs, for serving" + } + ], + "directions": [ + "Combine the apple cider, orange zest, orange juice, fig preserves, bourbon, and balsamic vinegar (optional) in a cocktail shaker.", + "Shake to combine.", + "Strain into a glass filled with ice.", + "Top off with sparkling water and garnish with a fresh fig.", + "Cheers!" + ], + "image": "fig-bourbon-cider-smash.jpg", + "source": "https://www.halfbakedharvest.com/fig-bourbon-cider-smash/", + "keywords": [ + "bourbon", + "fig", + "apple cider", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/figaro-cocktail.json b/src/recipes/figaro-cocktail.json index cd3d8f374..94a094396 100644 --- a/src/recipes/figaro-cocktail.json +++ b/src/recipes/figaro-cocktail.json @@ -1,49 +1,49 @@ -{ - "name": "The Marriage of Figaro Cocktail", - "description": "The beauty of The Marriage of Figaro cocktail is the use of fig-infused bourbon. It is spectacular, and a natural flavor pairing that you'll find fascinating. It's definitely a homemade infusion, but while you have it, think of using it to spice up other favorite whiskey cocktails, such as the Manhattan, for a unique twist.", - "github": "mbain108", - "ingredients": [ - { - "quantity": "1", - "measure": "ounce", - "ingredient": "fig-infused bourbon" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "Cardamaro" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "allspice dram" - }, - { - "quantity": "1", - "measure": "garnish", - "ingredient": "lemon twist" - } - ], - "directions": [ - "Pour the two bourbons, Cardamaro, and allspice dram in a mixing glass filled with ice.", - "Stir well.", - "Strain into a chilled cocktail glass.", - "Garnish with a lemon twist.", - "Serve and enjoy!" - ], - "image": "figaro-cocktail.jpg", - "keywords": [ - "fig", - "bourbon", - "cocktail", - "alcoholic", - "infused", - "cardamaro", - "vegan" - ] -} +{ + "name": "The Marriage of Figaro Cocktail", + "description": "The beauty of The Marriage of Figaro cocktail is the use of fig-infused bourbon. It is spectacular, and a natural flavor pairing that you'll find fascinating. It's definitely a homemade infusion, but while you have it, think of using it to spice up other favorite whiskey cocktails, such as the Manhattan, for a unique twist.", + "github": "mbain108", + "ingredients": [ + { + "quantity": "1", + "measure": "ounce", + "ingredient": "fig-infused bourbon" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "Cardamaro" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "allspice dram" + }, + { + "quantity": "1", + "measure": "garnish", + "ingredient": "lemon twist" + } + ], + "directions": [ + "Pour the two bourbons, Cardamaro, and allspice dram in a mixing glass filled with ice.", + "Stir well.", + "Strain into a chilled cocktail glass.", + "Garnish with a lemon twist.", + "Serve and enjoy!" + ], + "image": "figaro-cocktail.jpg", + "keywords": [ + "fig", + "bourbon", + "cocktail", + "alcoholic", + "infused", + "cardamaro", + "vegan" + ] +} diff --git a/src/recipes/fireball-hot-toddies.json b/src/recipes/fireball-hot-toddies.json index 355f02286..3c71d27a7 100644 --- a/src/recipes/fireball-hot-toddies.json +++ b/src/recipes/fireball-hot-toddies.json @@ -1,54 +1,54 @@ -{ - "name": "Fireball Hot Toddies", - "description": "This can cure your cold and your winter blues.", - "github": "phpshko", - "ingredients": [ - { - "quantity": "2", - "measure": "cup", - "ingredient": "boiling water" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "warm carame" - }, - { - "quantity": "2", - "measure": "teaspoons", - "ingredient": "honey" - }, - { - "quantity": "1/2", - "measure": "unit", - "ingredient": "lemon juice" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Fireball" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "cinnamon sticks" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "star anise" - } - ], - "directions": [ - "Bring water to a boil and dip glasses in caramel.", - "Add honey to each glass and squeeze lemon juice.", - "Pour over Fireball and boiling water and stir until honey is dissolved.", - "Top with cinnamon stick and star anise." - ], - "image": "fireball-hot-toddies.jpg", - "keywords": [ - "lemon", - "honey", - "cinnamon" - ] -} +{ + "name": "Fireball Hot Toddies", + "description": "This can cure your cold and your winter blues.", + "github": "phpshko", + "ingredients": [ + { + "quantity": "2", + "measure": "cup", + "ingredient": "boiling water" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "warm carame" + }, + { + "quantity": "2", + "measure": "teaspoons", + "ingredient": "honey" + }, + { + "quantity": "1/2", + "measure": "unit", + "ingredient": "lemon juice" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Fireball" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "cinnamon sticks" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "star anise" + } + ], + "directions": [ + "Bring water to a boil and dip glasses in caramel.", + "Add honey to each glass and squeeze lemon juice.", + "Pour over Fireball and boiling water and stir until honey is dissolved.", + "Top with cinnamon stick and star anise." + ], + "image": "fireball-hot-toddies.jpg", + "keywords": [ + "lemon", + "honey", + "cinnamon" + ] +} diff --git a/src/recipes/firetruck-emergency-response.json b/src/recipes/firetruck-emergency-response.json index 8e34597c2..c27a8fa11 100644 --- a/src/recipes/firetruck-emergency-response.json +++ b/src/recipes/firetruck-emergency-response.json @@ -1,39 +1,39 @@ -{ - "name": "Firetruck: Emergency Response", - "description": "The traditional danish firetruck drink, spiked with extra vodka. It is named Firetruck: Emergency Response because it is an extra fast way to get drunk", - "github": "soer7022", - "ingredients": [ - { - "quantity": "4", - "measure": "cl", - "ingredient": "jägermeister" - }, - { - "quantity": "2", - "measure": "cl", - "ingredient": "vodka" - }, - { - "quantity": "12", - "measure": "cl", - "ingredient": "red soda" - }, - { - "quantity": "1/2", - "measure":"glass", - "ingredient": "ice" - } - - ], - "directions": [ - "Put ice in glass, add Jäger and vodka, finally top up with red soda." - ], - "image": "firetruck-emergency-response.jpg", - "keywords": [ - "alcoholic", - "jaeger", - "vodka", - "red soda", - "danish" - ] -} +{ + "name": "Firetruck: Emergency Response", + "description": "The traditional danish firetruck drink, spiked with extra vodka. It is named Firetruck: Emergency Response because it is an extra fast way to get drunk", + "github": "soer7022", + "ingredients": [ + { + "quantity": "4", + "measure": "cl", + "ingredient": "jägermeister" + }, + { + "quantity": "2", + "measure": "cl", + "ingredient": "vodka" + }, + { + "quantity": "12", + "measure": "cl", + "ingredient": "red soda" + }, + { + "quantity": "1/2", + "measure":"glass", + "ingredient": "ice" + } + + ], + "directions": [ + "Put ice in glass, add Jäger and vodka, finally top up with red soda." + ], + "image": "firetruck-emergency-response.jpg", + "keywords": [ + "alcoholic", + "jaeger", + "vodka", + "red soda", + "danish" + ] +} diff --git a/src/recipes/firetruck.json b/src/recipes/firetruck.json index f41293f97..ecd286cf9 100644 --- a/src/recipes/firetruck.json +++ b/src/recipes/firetruck.json @@ -1,33 +1,33 @@ -{ - "name": "Firetruck", - "description": "The traditional danish firetruck drink ", - "github": "soer7022", - "ingredients": [ - { - "quantity": "3", - "measure": "cl", - "ingredient": "jägermeister" - }, - { - "quantity": "12", - "measure": "cl", - "ingredient": "red soda" - }, - { - "quantity": "1/2", - "measure":"glass", - "ingredient": "ice" - } - - ], - "directions": [ - "Put ice in glass, add Jäger, finally top up with red soda." - ], - "image": "firetruck.jpg", - "keywords": [ - "alcoholic", - "jaeger", - "red soda", - "danish" - ] -} +{ + "name": "Firetruck", + "description": "The traditional danish firetruck drink ", + "github": "soer7022", + "ingredients": [ + { + "quantity": "3", + "measure": "cl", + "ingredient": "jägermeister" + }, + { + "quantity": "12", + "measure": "cl", + "ingredient": "red soda" + }, + { + "quantity": "1/2", + "measure":"glass", + "ingredient": "ice" + } + + ], + "directions": [ + "Put ice in glass, add Jäger, finally top up with red soda." + ], + "image": "firetruck.jpg", + "keywords": [ + "alcoholic", + "jaeger", + "red soda", + "danish" + ] +} diff --git a/src/recipes/flaming-engineer.json b/src/recipes/flaming-engineer.json index 8a638fb4d..7bab140b1 100644 --- a/src/recipes/flaming-engineer.json +++ b/src/recipes/flaming-engineer.json @@ -1,43 +1,43 @@ -{ - "name": "Flaming Engineer", - "description": "A very fun and popular drink from an engineering university in Toronto, Canada. Great for parties and after a tough exam.", - "github": "woudie", - "ingredients": [ - { - "quantity": "12", - "measure": "oz", - "ingredient": "molson canadian beer" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "amaretto liqueur" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "canadian club whisky" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "orange juice" - } - ], - "directions": [ - "Pour the molson canadian into a nice big mug (~20 oz mug should do)", - "Add the amaretto and the whisky", - "Float the orange juice on the top", - "Serve and drink" - ], - "image": "flaming-engineer.jpg", - "source": "https://www.cocktailbuilder.com/recipe/flaming-engineer", - "keywords":[ - "alcoholic", - "whisky", - "beer", - "liqueur", - "orange-juice", - "cocktail" - ] -} +{ + "name": "Flaming Engineer", + "description": "A very fun and popular drink from an engineering university in Toronto, Canada. Great for parties and after a tough exam.", + "github": "woudie", + "ingredients": [ + { + "quantity": "12", + "measure": "oz", + "ingredient": "molson canadian beer" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "amaretto liqueur" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "canadian club whisky" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "orange juice" + } + ], + "directions": [ + "Pour the molson canadian into a nice big mug (~20 oz mug should do)", + "Add the amaretto and the whisky", + "Float the orange juice on the top", + "Serve and drink" + ], + "image": "flaming-engineer.jpg", + "source": "https://www.cocktailbuilder.com/recipe/flaming-engineer", + "keywords":[ + "alcoholic", + "whisky", + "beer", + "liqueur", + "orange-juice", + "cocktail" + ] +} diff --git a/src/recipes/flaming-moe.json b/src/recipes/flaming-moe.json index 0dbaee5aa..13c573d1b 100644 --- a/src/recipes/flaming-moe.json +++ b/src/recipes/flaming-moe.json @@ -1,53 +1,53 @@ -{ - "name": "Flaming Moe", - "description": "A real-world version of the fictional drink made famous by The Simpsons. Substitutes cough syrup for high-proof rum.", - "github": "GurjitSangha", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "brandy" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "peppermint schapps" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "sloe gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "blackberry liqueur" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "strawberry juice" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "high-proof rum" - } - ], - "directions": [ - "Pour all ingredients except rum in a highball glass.", - "Stir.", - "Float the rum on the top.", - "Ignite with a match and extinguish before drinking." - ], - "image": "flaming-moe.jpg", - "source": "https://www.thespruceeats.com/flaming-moe-flaming-homer-shot-759433", - "keywords":[ - "alcoholic", - "brandy", - "schnapps", - "gin", - "rum", - "vegan" - ] -} +{ + "name": "Flaming Moe", + "description": "A real-world version of the fictional drink made famous by The Simpsons. Substitutes cough syrup for high-proof rum.", + "github": "GurjitSangha", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "brandy" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "peppermint schapps" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "sloe gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "blackberry liqueur" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "strawberry juice" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "high-proof rum" + } + ], + "directions": [ + "Pour all ingredients except rum in a highball glass.", + "Stir.", + "Float the rum on the top.", + "Ignite with a match and extinguish before drinking." + ], + "image": "flaming-moe.jpg", + "source": "https://www.thespruceeats.com/flaming-moe-flaming-homer-shot-759433", + "keywords":[ + "alcoholic", + "brandy", + "schnapps", + "gin", + "rum", + "vegan" + ] +} diff --git a/src/recipes/french-75.json b/src/recipes/french-75.json index 669ac7dcd..5df52d1b2 100644 --- a/src/recipes/french-75.json +++ b/src/recipes/french-75.json @@ -1,44 +1,44 @@ -{ - "name": "French 75", - "description": "The French 75 is a Parisian cocktail first served during World War 1, renowned for having \"Such a kick it felt like being shelled by a field gun.\"", - "github": "maxPiroddi", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "ice" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "simple syrup" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "French Champagne" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "fresh lemon juice" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "gin" - } - ], - "directions": [ - "Combine gin, syrup and lemon juice in a cocktail shaker filled with ice.", - "Shake vigorously and strain into a chilled Champagne glass.", - "Top up with Champagne and stir gently." - ], - "image": "french75.jpg", - "keywords":[ - "alcoholic", - "gin", - "vegan", - "strong" - ] -} +{ + "name": "French 75", + "description": "The French 75 is a Parisian cocktail first served during World War 1, renowned for having \"Such a kick it felt like being shelled by a field gun.\"", + "github": "maxPiroddi", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "ice" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "simple syrup" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "French Champagne" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "fresh lemon juice" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "gin" + } + ], + "directions": [ + "Combine gin, syrup and lemon juice in a cocktail shaker filled with ice.", + "Shake vigorously and strain into a chilled Champagne glass.", + "Top up with Champagne and stir gently." + ], + "image": "french75.jpg", + "keywords":[ + "alcoholic", + "gin", + "vegan", + "strong" + ] +} diff --git a/src/recipes/french-martini.json b/src/recipes/french-martini.json index a68d23df0..849ba2498 100644 --- a/src/recipes/french-martini.json +++ b/src/recipes/french-martini.json @@ -1,48 +1,48 @@ -{ - "name": "French Martini", - "description": "A deliciously fruity cocktail that combines Vodka with pineapple juice and Chambord liqueur.", - "github": "nikifoth", - "ingredients": [ - { - "quantity": "35", - "measure": "ml", - "ingredient": "vodka" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "freshly pressed pineapple juice" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Chambord" - }, - { - "quantity": "", - "measure": "", - "ingredient": "raspberries" - }, - { - "quantity": "", - "measure": "", - "ingredient": "cubed ice" - } - ], - "directions": [ - "Build ingredients in a Boston glass.", - "Top with cubed ice and shake.", - "Fine strain into a chilled cocktail glass.", - "Garnish with a raspberry." - ], - "image": "french-martini.jpg", - "source": "https://www.greygoose.com/en-gb/cocktails/grey-goose-vodka/french-martini-cocktail.html", - "keywords":[ - "alcoholic", - "fruity", - "sweet", - "vodka", - "chambord" - - ] -} +{ + "name": "French Martini", + "description": "A deliciously fruity cocktail that combines Vodka with pineapple juice and Chambord liqueur.", + "github": "nikifoth", + "ingredients": [ + { + "quantity": "35", + "measure": "ml", + "ingredient": "vodka" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "freshly pressed pineapple juice" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Chambord" + }, + { + "quantity": "", + "measure": "", + "ingredient": "raspberries" + }, + { + "quantity": "", + "measure": "", + "ingredient": "cubed ice" + } + ], + "directions": [ + "Build ingredients in a Boston glass.", + "Top with cubed ice and shake.", + "Fine strain into a chilled cocktail glass.", + "Garnish with a raspberry." + ], + "image": "french-martini.jpg", + "source": "https://www.greygoose.com/en-gb/cocktails/grey-goose-vodka/french-martini-cocktail.html", + "keywords":[ + "alcoholic", + "fruity", + "sweet", + "vodka", + "chambord" + + ] +} diff --git a/src/recipes/french-pearl.json b/src/recipes/french-pearl.json index ec45a6171..8274c370d 100644 --- a/src/recipes/french-pearl.json +++ b/src/recipes/french-pearl.json @@ -1,51 +1,51 @@ -{ - "name": "French Pearl", - "description": "A refreshingly tart drink suitable for a hot summer day. Great for gin lovers.", - "github": "BenjaminCivitico", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Fresh Lime Juice" - }, - { - "quantity": "1", - "measure": "Large", - "ingredient": "Mint Leaf" - }, - { - "quantity": "1", - "measure": "Dash", - "ingredient": "Absinthe" - } - ], - "directions": [ - "Add gin, simple syrup, and lime juice into a cocktail shaker.", - "Add ice and shake well untill cocktail is cool.", - "Pour cocktail into a coupe glass, add a dash of absinthe.", - "Clap the mint leaf and float it on top of the cocktail." - ], - "image": "french-pearl.jpg", - "keywords": [ - "lime", - "french", - "mint leaves", - "gin", - "alcoholic", - "simple syrup", - "absinthe", - "sour", - "tart", - "summer" - ] -} +{ + "name": "French Pearl", + "description": "A refreshingly tart drink suitable for a hot summer day. Great for gin lovers.", + "github": "BenjaminCivitico", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Fresh Lime Juice" + }, + { + "quantity": "1", + "measure": "Large", + "ingredient": "Mint Leaf" + }, + { + "quantity": "1", + "measure": "Dash", + "ingredient": "Absinthe" + } + ], + "directions": [ + "Add gin, simple syrup, and lime juice into a cocktail shaker.", + "Add ice and shake well untill cocktail is cool.", + "Pour cocktail into a coupe glass, add a dash of absinthe.", + "Clap the mint leaf and float it on top of the cocktail." + ], + "image": "french-pearl.jpg", + "keywords": [ + "lime", + "french", + "mint leaves", + "gin", + "alcoholic", + "simple syrup", + "absinthe", + "sour", + "tart", + "summer" + ] +} diff --git a/src/recipes/french-sangria.json b/src/recipes/french-sangria.json index 56bd4f913..bb957c51d 100644 --- a/src/recipes/french-sangria.json +++ b/src/recipes/french-sangria.json @@ -1,70 +1,70 @@ -{ - "name": "French Sangria", - "description": "A refreshing summer Sangria recipe with fruity and herbal notes.", - "github": "joshuaMart", - "ingredients": [ - { - "quantity": "750", - "measure": "ml", - "ingredient": "Red wine" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Brandy" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Simple syrup" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Lime juice" - }, - { - "quantity": "1", - "measure": "/", - "ingredient": "Orange" - }, - { - "quantity": "1", - "measure": "/", - "ingredient": "Lime" - }, - { - "quantity": "1", - "measure": "/", - "ingredient": "Peach / nectarine / other seasonal fruits thinly sliced" - }, - { - "quantity": "1", - "measure": "/", - "ingredient": "Provençale blend" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Lemon soda" - } - ], - "directions": [ - "Cut the orange and lemon into thin slices.", - "Combine all ingredients in a container except soda; leave aside a few slices of fruit for garnish", - "Strain to serve in a Punch Bowl or large glass pitcher.", - "Add ice & remaining fruit as garnish, top with the soda.", - "Garnish: Fruit from mix or freshly sliced, on and/or in each glass" - ], - "image": "french-sangria.jpg", - "keywords": [ - "sangria", - "french", - "lime", - "orange", - "brandy", - "fruit", - "brandy", - "wine" - ] -} +{ + "name": "French Sangria", + "description": "A refreshing summer Sangria recipe with fruity and herbal notes.", + "github": "joshuaMart", + "ingredients": [ + { + "quantity": "750", + "measure": "ml", + "ingredient": "Red wine" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Brandy" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Simple syrup" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Lime juice" + }, + { + "quantity": "1", + "measure": "/", + "ingredient": "Orange" + }, + { + "quantity": "1", + "measure": "/", + "ingredient": "Lime" + }, + { + "quantity": "1", + "measure": "/", + "ingredient": "Peach / nectarine / other seasonal fruits thinly sliced" + }, + { + "quantity": "1", + "measure": "/", + "ingredient": "Provençale blend" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Lemon soda" + } + ], + "directions": [ + "Cut the orange and lemon into thin slices.", + "Combine all ingredients in a container except soda; leave aside a few slices of fruit for garnish", + "Strain to serve in a Punch Bowl or large glass pitcher.", + "Add ice & remaining fruit as garnish, top with the soda.", + "Garnish: Fruit from mix or freshly sliced, on and/or in each glass" + ], + "image": "french-sangria.jpg", + "keywords": [ + "sangria", + "french", + "lime", + "orange", + "brandy", + "fruit", + "brandy", + "wine" + ] +} diff --git a/src/recipes/frose.json b/src/recipes/frose.json index 822a92851..97a8911ad 100644 --- a/src/recipes/frose.json +++ b/src/recipes/frose.json @@ -1,39 +1,39 @@ -{ - "name": "Frosé", - "description": "Frose is frozen rosé wine. it’s a mashup between a frozen cocktail and that quintessential summer wine.", - "github": "kevtrng", - "ingredients": [ - { - "quantity": "750", - "measure": "mL", - "ingredient": "Rose Wine" - }, - { - "quantity": "1 1/2", - "measure": "cups", - "ingredient": "ripe strawberries" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "honey" - } - ], - "directions": [ - "Open the rosé and pour 2/3 cup into a glass measuring cup; set aside for when serving.", - "Remove the tops of the strawberries and cut them in half.", - "In a blender, blend the remaining rose, strawberries, and honey until smooth and fully combined. Then pour the mixture through a strainer and into a covered baking dish.", - "Transfer the baking dish to the freezer and freeze at least 6 hours, or overnight. (The alcohol in the mixture will keep it a slushy texture instead of freezing solid.) Blend the mixture again until it comes to a fluffy texture.", - "To serve, place the blended mixture into a glass. Then pour a splash of rose into each glass (this step is important: it gives the final texture and brings in the character of the rose). If desired, garnish with strawberries and serve." - ], - "image": "frose.jpg", - "keywords": [ - "cold", - "wine", - "strawberry", - "honey", - "alcoholic", - "pink", - "refreshing" - ] -} +{ + "name": "Frosé", + "description": "Frose is frozen rosé wine. it’s a mashup between a frozen cocktail and that quintessential summer wine.", + "github": "kevtrng", + "ingredients": [ + { + "quantity": "750", + "measure": "mL", + "ingredient": "Rose Wine" + }, + { + "quantity": "1 1/2", + "measure": "cups", + "ingredient": "ripe strawberries" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "honey" + } + ], + "directions": [ + "Open the rosé and pour 2/3 cup into a glass measuring cup; set aside for when serving.", + "Remove the tops of the strawberries and cut them in half.", + "In a blender, blend the remaining rose, strawberries, and honey until smooth and fully combined. Then pour the mixture through a strainer and into a covered baking dish.", + "Transfer the baking dish to the freezer and freeze at least 6 hours, or overnight. (The alcohol in the mixture will keep it a slushy texture instead of freezing solid.) Blend the mixture again until it comes to a fluffy texture.", + "To serve, place the blended mixture into a glass. Then pour a splash of rose into each glass (this step is important: it gives the final texture and brings in the character of the rose). If desired, garnish with strawberries and serve." + ], + "image": "frose.jpg", + "keywords": [ + "cold", + "wine", + "strawberry", + "honey", + "alcoholic", + "pink", + "refreshing" + ] +} diff --git a/src/recipes/frosted-lemonade.json b/src/recipes/frosted-lemonade.json index 3258fe5e0..62f1de750 100644 --- a/src/recipes/frosted-lemonade.json +++ b/src/recipes/frosted-lemonade.json @@ -1,39 +1,39 @@ -{ - "name": "Frosted Lemonade", - "description": "A refreshing frosted lemonade perfect for the Summer.", - "github": "CaroMen", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "freshly squeezed lemon juice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "6", - "measure": "cup", - "ingredient": "vanilla ice cream" - } - ], - "directions": [ - "Mix the lemon juice and the sugar together until the sugar is fully dissolved. Add water to dilute and let it chill.", - "In a blender, add the lemonade and ice cream. Blend until it's smooth." - ], - "image": "frosted-lemonade.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a54148/frozen-lemonade-recipe/", - "keywords": [ - "lemonade", - "ice cream", - "frosted", - "summer" - ] -} +{ + "name": "Frosted Lemonade", + "description": "A refreshing frosted lemonade perfect for the Summer.", + "github": "CaroMen", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "freshly squeezed lemon juice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "6", + "measure": "cup", + "ingredient": "vanilla ice cream" + } + ], + "directions": [ + "Mix the lemon juice and the sugar together until the sugar is fully dissolved. Add water to dilute and let it chill.", + "In a blender, add the lemonade and ice cream. Blend until it's smooth." + ], + "image": "frosted-lemonade.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a54148/frozen-lemonade-recipe/", + "keywords": [ + "lemonade", + "ice cream", + "frosted", + "summer" + ] +} diff --git a/src/recipes/frozen-cantaloupe-margarita.json b/src/recipes/frozen-cantaloupe-margarita.json index fb9259f5c..3b3e98240 100644 --- a/src/recipes/frozen-cantaloupe-margarita.json +++ b/src/recipes/frozen-cantaloupe-margarita.json @@ -1,60 +1,60 @@ -{ - "name": "Frozen Cantaloupe Margarita", - "description": "Margarita served in a unique manner.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "frozen cantaloupes" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "unsweetened coconut milk" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "silver tequila" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "lime juice" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Cointreau" - }, - { - "quantity": "1-2", - "measure": "tablespoons", - "ingredient": "agave or honey to taste" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Optional: salt, for the rims" - } - ], - "directions": [ - "Slice a thin piece of rind off both ends of cantaloupe so that it can stand upright.", - "Cut in half horizontally and remove seeds.", - "Scoop out flesh and set aside, save cantaloupe halves.", - "Combine the cantaloupe, coconut milk, tequila, lime juice, Cointreau, and agave in a blender and pulse until smooth.", - "If needed, add ice to get a slushy consistency.", - "Divide between cantaloupe bowls (halves).", - "Cheers!" - ], - "image": "frozen-cantaloupe-margarita.jpg", - "source": "https://www.halfbakedharvest.com/frozen-cantaloupe-margaritas/", - "keywords": [ - "tequila", - "melon", - "slushie", - "alcoholic", - "frozen" - ] -} +{ + "name": "Frozen Cantaloupe Margarita", + "description": "Margarita served in a unique manner.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "frozen cantaloupes" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "unsweetened coconut milk" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "silver tequila" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "lime juice" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Cointreau" + }, + { + "quantity": "1-2", + "measure": "tablespoons", + "ingredient": "agave or honey to taste" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Optional: salt, for the rims" + } + ], + "directions": [ + "Slice a thin piece of rind off both ends of cantaloupe so that it can stand upright.", + "Cut in half horizontally and remove seeds.", + "Scoop out flesh and set aside, save cantaloupe halves.", + "Combine the cantaloupe, coconut milk, tequila, lime juice, Cointreau, and agave in a blender and pulse until smooth.", + "If needed, add ice to get a slushy consistency.", + "Divide between cantaloupe bowls (halves).", + "Cheers!" + ], + "image": "frozen-cantaloupe-margarita.jpg", + "source": "https://www.halfbakedharvest.com/frozen-cantaloupe-margaritas/", + "keywords": [ + "tequila", + "melon", + "slushie", + "alcoholic", + "frozen" + ] +} diff --git a/src/recipes/fuzzy-navel.json b/src/recipes/fuzzy-navel.json index 912b358b7..d55292411 100644 --- a/src/recipes/fuzzy-navel.json +++ b/src/recipes/fuzzy-navel.json @@ -1,34 +1,34 @@ -{ - "name": "Fuzzy Navel", - "description": "A sweet and fruity alcoholic beverage thats easy to make with little ingredients.", - "github": "Lunarelements", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Orange Juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Ice" - } - ], - "directions": [ - "Add ice to a glass.", - "Add Orange Juice and Peach Schnapps.", - "(Optional) Add an orange slice to garnish." - ], - "image": "fuzzy-navel.jpg", - "keywords": [ - "alcoholic", - "fruity", - "sweet", - "orange juice" - ] -} +{ + "name": "Fuzzy Navel", + "description": "A sweet and fruity alcoholic beverage thats easy to make with little ingredients.", + "github": "Lunarelements", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Orange Juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Ice" + } + ], + "directions": [ + "Add ice to a glass.", + "Add Orange Juice and Peach Schnapps.", + "(Optional) Add an orange slice to garnish." + ], + "image": "fuzzy-navel.jpg", + "keywords": [ + "alcoholic", + "fruity", + "sweet", + "orange juice" + ] +} diff --git a/src/recipes/galack-colada.json b/src/recipes/galack-colada.json index 92d413907..524a5e69d 100644 --- a/src/recipes/galack-colada.json +++ b/src/recipes/galack-colada.json @@ -1,56 +1,56 @@ -{ - "name": "Galack Colada", - "description": "Drink inspired by Nestle white chocolate.", - "github": "Kouthk", - "ingredients": [ - { - "quantity": "1 or more", - "measure": "Cup", - "ingredient": "Ice cubes" - }, - { - "quantity": "1", - "measure": "little bottle", - "ingredient": "Galack" - }, - { - "quantity": "3", - "measure": "Tablespoon", - "ingredient": "Pineapple juice" - }, - { - "quantity": "2", - "measure": "Tablespoon", - "ingredient": "Rum" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "Coconut milk" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "Malibu" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "sweetened condensed milk" - } - - ], - "directions": [ - "Blend Galack, pineapple juice, rum, coconut milk, and Malibu in a blender until smooth.", - "Pour into a glass along with 500ml condensed milk on the edge", - "Serve with a cherry and pineapple triangle on the edge, and a white chocolate bar in the glass." - ], - "image": "galack-colada.jpg", - "keywords": [ - "coconut milk", - "pineapple juice", - "alcoholic", - "rum", - "malibu" - ] -} +{ + "name": "Galack Colada", + "description": "Drink inspired by Nestle white chocolate.", + "github": "Kouthk", + "ingredients": [ + { + "quantity": "1 or more", + "measure": "Cup", + "ingredient": "Ice cubes" + }, + { + "quantity": "1", + "measure": "little bottle", + "ingredient": "Galack" + }, + { + "quantity": "3", + "measure": "Tablespoon", + "ingredient": "Pineapple juice" + }, + { + "quantity": "2", + "measure": "Tablespoon", + "ingredient": "Rum" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "Coconut milk" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "Malibu" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "sweetened condensed milk" + } + + ], + "directions": [ + "Blend Galack, pineapple juice, rum, coconut milk, and Malibu in a blender until smooth.", + "Pour into a glass along with 500ml condensed milk on the edge", + "Serve with a cherry and pineapple triangle on the edge, and a white chocolate bar in the glass." + ], + "image": "galack-colada.jpg", + "keywords": [ + "coconut milk", + "pineapple juice", + "alcoholic", + "rum", + "malibu" + ] +} diff --git a/src/recipes/gazpacho.json b/src/recipes/gazpacho.json index 8d61d22c2..77f608a2f 100644 --- a/src/recipes/gazpacho.json +++ b/src/recipes/gazpacho.json @@ -1,48 +1,48 @@ -{ - "name": "Gazpacho", - "description": "A refreshing and healthy drink that is cheap and easy to make.", - "github": "Luis-gd", - "ingredients": [ - { - "quantity": "4", - "measure": "big", - "ingredient": "tomatoes" - }, - { - "quantity": "1/2", - "measure": "normal", - "ingredient": "pepper" - }, - { - "quantity": "1", - "measure": "tooth", - "ingredient": "garlic" - }, - { - "quantity": "2", - "measure": "spoons", - "ingredient": "olive oil" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "vinegar" - }, - { - "quantity": "250", - "measure": "ml", - "ingredient": "water" - } - ], - "directions": [ - "Cut the tomatoes and the pepper.", - "Triturate all with the mixer.", - "Cool the gazpacho in the fridge for an hour and serve." - ], - "image": "gazpacho.jpg", - "keywords": [ - "fresh", - "healthy", - "vegan" - ] -} +{ + "name": "Gazpacho", + "description": "A refreshing and healthy drink that is cheap and easy to make.", + "github": "Luis-gd", + "ingredients": [ + { + "quantity": "4", + "measure": "big", + "ingredient": "tomatoes" + }, + { + "quantity": "1/2", + "measure": "normal", + "ingredient": "pepper" + }, + { + "quantity": "1", + "measure": "tooth", + "ingredient": "garlic" + }, + { + "quantity": "2", + "measure": "spoons", + "ingredient": "olive oil" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "vinegar" + }, + { + "quantity": "250", + "measure": "ml", + "ingredient": "water" + } + ], + "directions": [ + "Cut the tomatoes and the pepper.", + "Triturate all with the mixer.", + "Cool the gazpacho in the fridge for an hour and serve." + ], + "image": "gazpacho.jpg", + "keywords": [ + "fresh", + "healthy", + "vegan" + ] +} diff --git a/src/recipes/gibson.json b/src/recipes/gibson.json index 848b08c6d..5252b0c0b 100644 --- a/src/recipes/gibson.json +++ b/src/recipes/gibson.json @@ -1,36 +1,36 @@ -{ - "name": "Gibson", - "description": "A cousin of the ubiquitous martini.", - "github": "4ndrej", - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Dry Vermouth" - }, - { - "quantity": "1", - "measure": "peace", - "ingredient": "Pickled onion" - } - ], - "directions": [ - "Pour gin and vermouth into a shaker.", - "Stir well with ice.", - "Strain into a chilled martini glass.", - "Garnish with pickled onion and serve." - ], - "image": "gibson.jpg", - "keywords": [ - "gin", - "vermouth", - "onion", - "alcoholic", - "vegan" - ] -} +{ + "name": "Gibson", + "description": "A cousin of the ubiquitous martini.", + "github": "4ndrej", + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Dry Vermouth" + }, + { + "quantity": "1", + "measure": "peace", + "ingredient": "Pickled onion" + } + ], + "directions": [ + "Pour gin and vermouth into a shaker.", + "Stir well with ice.", + "Strain into a chilled martini glass.", + "Garnish with pickled onion and serve." + ], + "image": "gibson.jpg", + "keywords": [ + "gin", + "vermouth", + "onion", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/gimlet.json b/src/recipes/gimlet.json index 8e51c17e7..e7526ea0b 100644 --- a/src/recipes/gimlet.json +++ b/src/recipes/gimlet.json @@ -1,40 +1,40 @@ -{ - "name": "Gimlet", - "description": "A refreshing classic cocktail made with gin, lime juice and simple syrup. Perfect for the summer.", - "github": "arxcdr", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "gin" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "fresh lime juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Fresh lime wedge or wheel" - } - ], - "directions": [ - "Fill a mixing glass with ice, then add the gin, simple syrup and lime juice.", - "Stir the ice and the ingredients with a bar spoon for a few minutes.", - "Strain the cocktail into a chilled martini or cocktail glass.", - "Garnish with the lime wedge/wheel." - ], - "image": "gimlet.jpg", - "keywords": [ - "gin", - "lime juice", - "alcoholic", - "vegan" - ] -} +{ + "name": "Gimlet", + "description": "A refreshing classic cocktail made with gin, lime juice and simple syrup. Perfect for the summer.", + "github": "arxcdr", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "gin" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "fresh lime juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Fresh lime wedge or wheel" + } + ], + "directions": [ + "Fill a mixing glass with ice, then add the gin, simple syrup and lime juice.", + "Stir the ice and the ingredients with a bar spoon for a few minutes.", + "Strain the cocktail into a chilled martini or cocktail glass.", + "Garnish with the lime wedge/wheel." + ], + "image": "gimlet.jpg", + "keywords": [ + "gin", + "lime juice", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/gin-coke.json b/src/recipes/gin-coke.json index 03ebf2eca..9532013b7 100644 --- a/src/recipes/gin-coke.json +++ b/src/recipes/gin-coke.json @@ -1,32 +1,32 @@ -{ - "name": "Gin Coke", - "description": "Cocktail using gin", - "github": "Toyomi-i", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "120", - "measure": "ml", - "ingredient": "Coke" - }, - { - "quantity": "120", - "measure": "ml", - "ingredient": "Lime juice" - } - ], - "directions": [ - "Pour gin into a glass.", - "Add ice and pour in lime juice.", - "Squeeze fresh lime juice to top and stir - serve and enjoy!" - ], - "image": "gin-coke.jpg", - "keywords": [ - "gin", - "coke" - ] -} +{ + "name": "Gin Coke", + "description": "Cocktail using gin", + "github": "Toyomi-i", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "120", + "measure": "ml", + "ingredient": "Coke" + }, + { + "quantity": "120", + "measure": "ml", + "ingredient": "Lime juice" + } + ], + "directions": [ + "Pour gin into a glass.", + "Add ice and pour in lime juice.", + "Squeeze fresh lime juice to top and stir - serve and enjoy!" + ], + "image": "gin-coke.jpg", + "keywords": [ + "gin", + "coke" + ] +} diff --git a/src/recipes/gin-elderflower-fizz.json b/src/recipes/gin-elderflower-fizz.json index 5689e0a96..aadf35443 100644 --- a/src/recipes/gin-elderflower-fizz.json +++ b/src/recipes/gin-elderflower-fizz.json @@ -1,52 +1,52 @@ -{ - "name": "Gin Elderflower Fizz", - "description": "A delightful combination of floral flavors from the elderflower liqueur, the citrusy tang of lime, and the slight bitterness of the gin.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Elderflower liqueur" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "lime" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Simple syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Club soda or sparkling water" - } - ], - "directions": [ - "Fill a cocktail glass with ice to chill while you prepare the cocktail.", - "In a cocktail shaker, add the gin, elderflower liqueur, lime juice, and simple syrup.", - "Add ice to the shaker.", - "Shake vigorously for about 15 seconds to thoroughly mix all the ingredients and chill them.", - "Strain the mixture into the chilled cocktail glass.", - "Top the glass with club soda to achieve the desired fizziness.", - "Garnish the cocktail with a twist of lime zest.", - "Serve immediately and enjoy this refreshing Gin Elderflower Fizz!" - ], - "image": "gin-elderflower-fizz.jpg", - "keywords": [ - "cocktail", - "gin", - "elderflower", - "lemon", - "syrup", - "alcoholic", - "fresh" - ] -} +{ + "name": "Gin Elderflower Fizz", + "description": "A delightful combination of floral flavors from the elderflower liqueur, the citrusy tang of lime, and the slight bitterness of the gin.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Elderflower liqueur" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "lime" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Simple syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Club soda or sparkling water" + } + ], + "directions": [ + "Fill a cocktail glass with ice to chill while you prepare the cocktail.", + "In a cocktail shaker, add the gin, elderflower liqueur, lime juice, and simple syrup.", + "Add ice to the shaker.", + "Shake vigorously for about 15 seconds to thoroughly mix all the ingredients and chill them.", + "Strain the mixture into the chilled cocktail glass.", + "Top the glass with club soda to achieve the desired fizziness.", + "Garnish the cocktail with a twist of lime zest.", + "Serve immediately and enjoy this refreshing Gin Elderflower Fizz!" + ], + "image": "gin-elderflower-fizz.jpg", + "keywords": [ + "cocktail", + "gin", + "elderflower", + "lemon", + "syrup", + "alcoholic", + "fresh" + ] +} diff --git a/src/recipes/gin-fizz-with-pomegranate.json b/src/recipes/gin-fizz-with-pomegranate.json index c295858e8..b1d7e8ef9 100644 --- a/src/recipes/gin-fizz-with-pomegranate.json +++ b/src/recipes/gin-fizz-with-pomegranate.json @@ -1,58 +1,58 @@ -{ - "name": "Gin Fizz with Pomegranate", - "description": "A fresh cocktail perfect for a suuny day. It's beatiful and delicious!", - "github": "nayara", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "120", - "measure": "ml", - "ingredient": "Club soda" - }, - { - "quantity": "40", - "measure": "ml", - "ingredient": "Lemon" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Sugar" - }, - { - "quantity": "1 ½", - "measure": "tablespoon", - "ingredient": "Pomergranate" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Fresh rosemary" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Before prepare your drink put the club soda on refrigerator for at least 30 minutes.", - "Mix the sugar with the lemon juice in a glass of wine.", - "Add the pomegranate and gin.", - "Fill the glass with ice and complete with Club Soda.", - "Add the fresh rosemary - and enjoy!" - ], - "image": "gin-fizz-with-pomegranate.jpg", - "keywords": [ - "gin", - "club soda", - "fresh", - "rosemary", - "lemon", - "alcoholic" - ] -} +{ + "name": "Gin Fizz with Pomegranate", + "description": "A fresh cocktail perfect for a suuny day. It's beatiful and delicious!", + "github": "nayara", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "120", + "measure": "ml", + "ingredient": "Club soda" + }, + { + "quantity": "40", + "measure": "ml", + "ingredient": "Lemon" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Sugar" + }, + { + "quantity": "1 ½", + "measure": "tablespoon", + "ingredient": "Pomergranate" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Fresh rosemary" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Before prepare your drink put the club soda on refrigerator for at least 30 minutes.", + "Mix the sugar with the lemon juice in a glass of wine.", + "Add the pomegranate and gin.", + "Fill the glass with ice and complete with Club Soda.", + "Add the fresh rosemary - and enjoy!" + ], + "image": "gin-fizz-with-pomegranate.jpg", + "keywords": [ + "gin", + "club soda", + "fresh", + "rosemary", + "lemon", + "alcoholic" + ] +} diff --git a/src/recipes/gin-fizz.json b/src/recipes/gin-fizz.json index a899c7b9d..b911e19a4 100644 --- a/src/recipes/gin-fizz.json +++ b/src/recipes/gin-fizz.json @@ -1,49 +1,49 @@ -{ - "name": "Gin fizz", - "description": "Mix a sparkling gin fizz cocktail (or two) for when you're entertaining. With just a handful of ingredients you can create a refreshing drink that evokes summer", - "github": "vijayakumarGit", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Fresh lemon juice" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Sugar syrup" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Egg white" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Club soda" - } - ], - "directions": [ - "Add the first four ingredients to a shaker and dry-shake (without ice) for about 10 seconds.", - "Add 3 or 4 ice cubes and shake very well.", - "Double-strain into a chilled fizz glass and top with club soda.", - "Blend with ice.", - "Serve immediately while still cold." - ], - "image": "gin-fizz.jpg", - "keywords": [ - "cocktail", - "gin", - "egg", - "lemon", - "syrup", - "alcoholic", - "fresh" - ] -} +{ + "name": "Gin fizz", + "description": "Mix a sparkling gin fizz cocktail (or two) for when you're entertaining. With just a handful of ingredients you can create a refreshing drink that evokes summer", + "github": "vijayakumarGit", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Fresh lemon juice" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Sugar syrup" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Egg white" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Club soda" + } + ], + "directions": [ + "Add the first four ingredients to a shaker and dry-shake (without ice) for about 10 seconds.", + "Add 3 or 4 ice cubes and shake very well.", + "Double-strain into a chilled fizz glass and top with club soda.", + "Blend with ice.", + "Serve immediately while still cold." + ], + "image": "gin-fizz.jpg", + "keywords": [ + "cocktail", + "gin", + "egg", + "lemon", + "syrup", + "alcoholic", + "fresh" + ] +} diff --git a/src/recipes/gin-sour.json b/src/recipes/gin-sour.json index fdeae5bce..b9143e068 100644 --- a/src/recipes/gin-sour.json +++ b/src/recipes/gin-sour.json @@ -1,40 +1,40 @@ -{ - "name": "Gin Sour", - "description": "This sour concoction may be a little too tart and bitter for some tastes, but the sour family is one of our favourite type of drinks and the Gin Sour sits at the top.", - "github": "cemuka", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "25", - "measure": "ml", - "ingredient": "Lemon Juice" - }, - { - "quantity": "12 1/2", - "measure": "ml", - "ingredient": "Simple Syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Splash Egg-White" - } - ], - "directions": [ - "Chill glass with ice and soda water.", - "Add the gin, simple syrup, lemon juice, and egg white to a mixing tin and dry shake for 10 seconds.", - "Add ice to the mixing tin and shake for another 10 seconds.", - "Fill glass with ice and strain drink into a glass.", - "Squeeze some lemon zest over the drink and add a lemon twist into the glass." - ], - "image": "gin-sour.jpg", - "keywords": [ - "gin", - "egg", - "alcoholic" - ] -} +{ + "name": "Gin Sour", + "description": "This sour concoction may be a little too tart and bitter for some tastes, but the sour family is one of our favourite type of drinks and the Gin Sour sits at the top.", + "github": "cemuka", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "25", + "measure": "ml", + "ingredient": "Lemon Juice" + }, + { + "quantity": "12 1/2", + "measure": "ml", + "ingredient": "Simple Syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Splash Egg-White" + } + ], + "directions": [ + "Chill glass with ice and soda water.", + "Add the gin, simple syrup, lemon juice, and egg white to a mixing tin and dry shake for 10 seconds.", + "Add ice to the mixing tin and shake for another 10 seconds.", + "Fill glass with ice and strain drink into a glass.", + "Squeeze some lemon zest over the drink and add a lemon twist into the glass." + ], + "image": "gin-sour.jpg", + "keywords": [ + "gin", + "egg", + "alcoholic" + ] +} diff --git a/src/recipes/gin-tonic.json b/src/recipes/gin-tonic.json index bf7ac1697..de0068509 100644 --- a/src/recipes/gin-tonic.json +++ b/src/recipes/gin-tonic.json @@ -1,41 +1,41 @@ -{ - "name": "Gin & Tonic", - "description": "A classic cocktail with just a few ingredients that is sure to accentuate the botanical flavors of any gin.", - "github": "kevinhhuynh", - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "120", - "measure": "ml", - "ingredient": "Tonic water" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lemon" - }, - { - "quantity": "2", - "measure": "Strips", - "ingredient": "Fresh cucumber" - } - ], - "directions": [ - "Pour gin into a glass.", - "Top with lemon wedges and cucumber to your taste.", - "Add ice and pour in tonic water.", - "Squeeze fresh lemon juice to top and stir - serve and enjoy!" - ], - "image": "gin-tonic.jpg", - "keywords": [ - "gin", - "tonic", - "floral", - "alcoholic", - "vegan" - ] -} +{ + "name": "Gin & Tonic", + "description": "A classic cocktail with just a few ingredients that is sure to accentuate the botanical flavors of any gin.", + "github": "kevinhhuynh", + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "120", + "measure": "ml", + "ingredient": "Tonic water" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lemon" + }, + { + "quantity": "2", + "measure": "Strips", + "ingredient": "Fresh cucumber" + } + ], + "directions": [ + "Pour gin into a glass.", + "Top with lemon wedges and cucumber to your taste.", + "Add ice and pour in tonic water.", + "Squeeze fresh lemon juice to top and stir - serve and enjoy!" + ], + "image": "gin-tonic.jpg", + "keywords": [ + "gin", + "tonic", + "floral", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/gin-tonica.json b/src/recipes/gin-tonica.json index 324e8a1fe..47e2114e5 100644 --- a/src/recipes/gin-tonica.json +++ b/src/recipes/gin-tonica.json @@ -1,58 +1,58 @@ -{ - "name": "Gin Tonica", - "description": "An aromatic spanish gin and tonic containing fruits and herbs for added taste. Traditionally served in a red wine balloon glass.", - "github": "BenjaminCivitico", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Tonic Water" - }, - { - "quantity": "1/4", - "measure": "wedge", - "ingredient": "Lime" - }, - { - "quantity": "1", - "measure": "thin slice", - "ingredient": "Grapefruit" - }, - { - "quantity": "1", - "measure": "sprig", - "ingredient": "Rosemary" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Juniper Berries" - }, - { - "quantity": "1", - "measure": "sliced", - "ingredient": "Strawberry" - } - ], - "directions": [ - "Add gin and tonic to a balloon glass.", - "Squeeze lime into glass.", - "Fill glass most of the way with clear ice.", - "Garnish drink with grapefruit, juniper berries, steawberry, and rosemary.", - "Serve cold." - ], - "image": "gin-tonica.jpg", - "source": "http://professorcocktail.com/all-recipes/cocktail-recipe-spanish-style-gin-tonica/", - "keywords": [ - "gin", - "tonic", - "fresh", - "aromatic", - "vegan" - ] -} +{ + "name": "Gin Tonica", + "description": "An aromatic spanish gin and tonic containing fruits and herbs for added taste. Traditionally served in a red wine balloon glass.", + "github": "BenjaminCivitico", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Tonic Water" + }, + { + "quantity": "1/4", + "measure": "wedge", + "ingredient": "Lime" + }, + { + "quantity": "1", + "measure": "thin slice", + "ingredient": "Grapefruit" + }, + { + "quantity": "1", + "measure": "sprig", + "ingredient": "Rosemary" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Juniper Berries" + }, + { + "quantity": "1", + "measure": "sliced", + "ingredient": "Strawberry" + } + ], + "directions": [ + "Add gin and tonic to a balloon glass.", + "Squeeze lime into glass.", + "Fill glass most of the way with clear ice.", + "Garnish drink with grapefruit, juniper berries, steawberry, and rosemary.", + "Serve cold." + ], + "image": "gin-tonica.jpg", + "source": "http://professorcocktail.com/all-recipes/cocktail-recipe-spanish-style-gin-tonica/", + "keywords": [ + "gin", + "tonic", + "fresh", + "aromatic", + "vegan" + ] +} diff --git a/src/recipes/ginger-infused-water.json b/src/recipes/ginger-infused-water.json index 34321fa4f..33f0945df 100644 --- a/src/recipes/ginger-infused-water.json +++ b/src/recipes/ginger-infused-water.json @@ -1,35 +1,35 @@ -{ - "name": "Ginger Infused Water", - "description": "Ginger Infused Water for your health.", - "github": "muthi08", - "ingredients": [ - { - "quantity": "1", - "measure": "slice", - "ingredient": "Ginger" - }, - { - "quantity": "2", - "measure": "pcs", - "ingredient": "Cinnamon" - }, - { - "quantity": "600", - "measure": "ml", - "ingredient": "Water" - } - ], - "directions": [ - "Soak all ingredients overnight.", - "Drink the infused water 600ml a day." - ], - "image": "ginger-infused-water.jpg", - "source": "https://cookpad.com/id/resep/10907632-infused-water-jahe-kayumanis?via=search&search_term=infused%20water%20jahe", - "keywords": [ - "ginger", - "water", - "healthy", - "infused", - "cinnamon" - ] -} +{ + "name": "Ginger Infused Water", + "description": "Ginger Infused Water for your health.", + "github": "muthi08", + "ingredients": [ + { + "quantity": "1", + "measure": "slice", + "ingredient": "Ginger" + }, + { + "quantity": "2", + "measure": "pcs", + "ingredient": "Cinnamon" + }, + { + "quantity": "600", + "measure": "ml", + "ingredient": "Water" + } + ], + "directions": [ + "Soak all ingredients overnight.", + "Drink the infused water 600ml a day." + ], + "image": "ginger-infused-water.jpg", + "source": "https://cookpad.com/id/resep/10907632-infused-water-jahe-kayumanis?via=search&search_term=infused%20water%20jahe", + "keywords": [ + "ginger", + "water", + "healthy", + "infused", + "cinnamon" + ] +} diff --git a/src/recipes/ginger-lemon-tea.json b/src/recipes/ginger-lemon-tea.json index 8601f1a9f..ee1b80691 100644 --- a/src/recipes/ginger-lemon-tea.json +++ b/src/recipes/ginger-lemon-tea.json @@ -1,39 +1,39 @@ -{ - "name": "Ginger Lemon Tea", - "description": "A healthy drink that's great for digestion, soothing and healing", - "github": "Lakshita2002", - "ingredients": [ - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Ginger root" - }, - { - "quantity": "4", - "measure": "cups", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Fresh lime juice" - }, - { - "quantity": "1-2", - "measure": "tablespoons", - "ingredient": "Honey" - } - ], - "directions": [ - "Prepare the fresh ginger by slicing it thinly to maximize the surface area. This will help you make a very flavorful tea.", - "Add the water and ginger in a pot and bring to a boil for at least 10 minutes. For a stronger and tangier tea, allow to boil for 20 minutes or more, and use more ginger slices.", - "Remove it from the heat, strain, and add the lime juice and honey to taste.", - "Enjoy your ginger lemon tea." - ], - "image": "ginger-lemon-tea.jpg", - "source": "https://www.thespruceeats.com/homemade-ginger-tea-3377239", - "keywords": [ - "digestion", - "healthy" - ] +{ + "name": "Ginger Lemon Tea", + "description": "A healthy drink that's great for digestion, soothing and healing", + "github": "Lakshita2002", + "ingredients": [ + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Ginger root" + }, + { + "quantity": "4", + "measure": "cups", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Fresh lime juice" + }, + { + "quantity": "1-2", + "measure": "tablespoons", + "ingredient": "Honey" + } + ], + "directions": [ + "Prepare the fresh ginger by slicing it thinly to maximize the surface area. This will help you make a very flavorful tea.", + "Add the water and ginger in a pot and bring to a boil for at least 10 minutes. For a stronger and tangier tea, allow to boil for 20 minutes or more, and use more ginger slices.", + "Remove it from the heat, strain, and add the lime juice and honey to taste.", + "Enjoy your ginger lemon tea." + ], + "image": "ginger-lemon-tea.jpg", + "source": "https://www.thespruceeats.com/homemade-ginger-tea-3377239", + "keywords": [ + "digestion", + "healthy" + ] } \ No newline at end of file diff --git a/src/recipes/ginger-lime-whiskey-sour.json b/src/recipes/ginger-lime-whiskey-sour.json index dbf806f0c..57db1e07a 100644 --- a/src/recipes/ginger-lime-whiskey-sour.json +++ b/src/recipes/ginger-lime-whiskey-sour.json @@ -1,51 +1,51 @@ -{ - "name": "Ginger Lime Whiskey Sour", - "description": "A whiskey sour with a spicy kick from the ginger", - "github": "mongjong86", - "ingredients": [ - { - "quantity": "60 mL", - "measure": "", - "ingredient": "whiskey" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "juice of 1 lime" - }, - { - "quantity": "120mL", - "measure": "", - "ingredient": "water" - }, - { - "quantity": "150g", - "measure": "", - "ingredient": "granulated sugar" - }, - { - "quantity": "1 piece", - "measure": "", - "ingredient": "fresh ginger" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "egg white (optional)" - } - ], - "directions": [ - "Make your ginger simple syrup by heating the Water (120 mL) and Granulated Sugar (150 g) over medium heat. Stir until combined. Once combined, remove from heat and add Fresh Ginger (1 piece). Let cool.", - "Mix your drink by combining Whiskey (60 mL), Lime Juice (1), Egg White (1), and 1 part ginger syrup in a tumbler. Shake for 20 seconds.", - "Strain into a coupe glass and garnish with Lemons (to taste). Serve and enjoy!" - ], - "image": "ginger-lime-whiskey-sour.jpg", - "keywords": [ - "fruit", - "lemon", - "lime", - "ginger", - "whiskey", - "sour" - ] -} +{ + "name": "Ginger Lime Whiskey Sour", + "description": "A whiskey sour with a spicy kick from the ginger", + "github": "mongjong86", + "ingredients": [ + { + "quantity": "60 mL", + "measure": "", + "ingredient": "whiskey" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "juice of 1 lime" + }, + { + "quantity": "120mL", + "measure": "", + "ingredient": "water" + }, + { + "quantity": "150g", + "measure": "", + "ingredient": "granulated sugar" + }, + { + "quantity": "1 piece", + "measure": "", + "ingredient": "fresh ginger" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "egg white (optional)" + } + ], + "directions": [ + "Make your ginger simple syrup by heating the Water (120 mL) and Granulated Sugar (150 g) over medium heat. Stir until combined. Once combined, remove from heat and add Fresh Ginger (1 piece). Let cool.", + "Mix your drink by combining Whiskey (60 mL), Lime Juice (1), Egg White (1), and 1 part ginger syrup in a tumbler. Shake for 20 seconds.", + "Strain into a coupe glass and garnish with Lemons (to taste). Serve and enjoy!" + ], + "image": "ginger-lime-whiskey-sour.jpg", + "keywords": [ + "fruit", + "lemon", + "lime", + "ginger", + "whiskey", + "sour" + ] +} diff --git a/src/recipes/ginger-milk-tea.json b/src/recipes/ginger-milk-tea.json index 36e9d65ab..ebdfc61ac 100644 --- a/src/recipes/ginger-milk-tea.json +++ b/src/recipes/ginger-milk-tea.json @@ -1,54 +1,54 @@ -{ - "name": "Ginger Milk Tea", - "description": "Indonesian milk tea with lemongrass and ginger syrup. Great for cold weathers.", - "github": "VVNoodle", - "ingredients": [ - { - "quantity": "250", - "measure": "ml", - "ingredient": "hot water" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "teabag of black tea" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "fresh milk" - }, - { - "quantity": "50", - "measure": "gr", - "ingredient": "fresh ginger, peeled and bruised" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemongrass, chopped and bruised" - }, - { - "quantity": "50", - "measure": "gr", - "ingredient": "sugar" - }, - { - "quantity": "250", - "measure": "ml", - "ingredient": "water" - } - ], - "directions": [ - "Boil all ginger syrup ingredients on a stovetop. Reduce heat and simmer for 5-10 minutes until all the sugar has dissolved.", - "Strain to get a clear syrup.", - "Steep the teabag in the hot water according to the manufacturer instruction.", - "Pour the milk and the ginger syrup. Stir to combine. Serve immediately." - ], - "image": "ginger-milk-tea.jpg", - "keywords": [ - "tea", - "milk", - "non-alcoholic" - ] -} +{ + "name": "Ginger Milk Tea", + "description": "Indonesian milk tea with lemongrass and ginger syrup. Great for cold weathers.", + "github": "VVNoodle", + "ingredients": [ + { + "quantity": "250", + "measure": "ml", + "ingredient": "hot water" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "teabag of black tea" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "fresh milk" + }, + { + "quantity": "50", + "measure": "gr", + "ingredient": "fresh ginger, peeled and bruised" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemongrass, chopped and bruised" + }, + { + "quantity": "50", + "measure": "gr", + "ingredient": "sugar" + }, + { + "quantity": "250", + "measure": "ml", + "ingredient": "water" + } + ], + "directions": [ + "Boil all ginger syrup ingredients on a stovetop. Reduce heat and simmer for 5-10 minutes until all the sugar has dissolved.", + "Strain to get a clear syrup.", + "Steep the teabag in the hot water according to the manufacturer instruction.", + "Pour the milk and the ginger syrup. Stir to combine. Serve immediately." + ], + "image": "ginger-milk-tea.jpg", + "keywords": [ + "tea", + "milk", + "non-alcoholic" + ] +} diff --git a/src/recipes/ginger-mint-tea.json b/src/recipes/ginger-mint-tea.json index 7e37643b2..770b46dfc 100644 --- a/src/recipes/ginger-mint-tea.json +++ b/src/recipes/ginger-mint-tea.json @@ -1,34 +1,34 @@ -{ - "name": "Ginger Mint Tea", - "description": "A soothing hot drink for cold; but also for relaxation and digestion", - "github": "jacksonisaac", - "ingredients": [ - { - "quantity": "1", - "measure": "piece", - "ingredient": "fresh ginger" - }, - { - "quantity": "5", - "measure": "sprigs", - "ingredient": "Mint" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "boiled water" - } - ], - "directions": [ - "Finely slice the ginger into thin rounds/strips", - "Strip the stems of the fresh mint", - "In a saucepan or a water boiler, bring 1 cup of water to boil", - "Pour the water into a cup, steep in the finely sliced ginger and sprigs of mint for 3-5 minutes" - ], - "image": "ginger-mint-tea.jpg", - "keywords": [ - "tea", - "vegan", - "healthy" - ] -} +{ + "name": "Ginger Mint Tea", + "description": "A soothing hot drink for cold; but also for relaxation and digestion", + "github": "jacksonisaac", + "ingredients": [ + { + "quantity": "1", + "measure": "piece", + "ingredient": "fresh ginger" + }, + { + "quantity": "5", + "measure": "sprigs", + "ingredient": "Mint" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "boiled water" + } + ], + "directions": [ + "Finely slice the ginger into thin rounds/strips", + "Strip the stems of the fresh mint", + "In a saucepan or a water boiler, bring 1 cup of water to boil", + "Pour the water into a cup, steep in the finely sliced ginger and sprigs of mint for 3-5 minutes" + ], + "image": "ginger-mint-tea.jpg", + "keywords": [ + "tea", + "vegan", + "healthy" + ] +} diff --git a/src/recipes/gingerbread-eggnog.json b/src/recipes/gingerbread-eggnog.json index 59dc2e2d1..2ceba5e1b 100644 --- a/src/recipes/gingerbread-eggnog.json +++ b/src/recipes/gingerbread-eggnog.json @@ -1,62 +1,62 @@ -{ - "name": "Gingerbread Eggnog", - "description": "Everyone's favorite holiday drink gets boozy and a little spicy.", - "github": "yoji-kojio", - "ingredients": [ - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "cinnamon sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "eggnog" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Kahlúa" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "molasses" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "ground ginger" - }, - { - "quantity": "", - "measure": "", - "ingredient": "whipped cream, for topping" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - } - ], - "directions": [ - "Wet rims of four cocktail glasses and dip in cinnamon sugar.", - "In a cocktail shaker filled with ice, add eggnog, vodka, Kahlúa, molasses, and ginger and shake to combine.", - "Pour into rimmed glasses.", - "Top with whipped cream and drizzle with molasses before serving." - ], - "image": "gingerbread-eggnog.jpg", - "source": "https://www.delish.com/holiday-recipes/christmas/recipes/a45175/gingerbread-eggnog-white-russian-recipe/", - "keywords": [ - "gingerbread", - "eggnog", - "vodka", - "kahlúa", - "molasses" - ] -} +{ + "name": "Gingerbread Eggnog", + "description": "Everyone's favorite holiday drink gets boozy and a little spicy.", + "github": "yoji-kojio", + "ingredients": [ + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "cinnamon sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "eggnog" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Kahlúa" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "molasses" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "ground ginger" + }, + { + "quantity": "", + "measure": "", + "ingredient": "whipped cream, for topping" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + } + ], + "directions": [ + "Wet rims of four cocktail glasses and dip in cinnamon sugar.", + "In a cocktail shaker filled with ice, add eggnog, vodka, Kahlúa, molasses, and ginger and shake to combine.", + "Pour into rimmed glasses.", + "Top with whipped cream and drizzle with molasses before serving." + ], + "image": "gingerbread-eggnog.jpg", + "source": "https://www.delish.com/holiday-recipes/christmas/recipes/a45175/gingerbread-eggnog-white-russian-recipe/", + "keywords": [ + "gingerbread", + "eggnog", + "vodka", + "kahlúa", + "molasses" + ] +} diff --git a/src/recipes/gingerbread-latte.json b/src/recipes/gingerbread-latte.json index 8f0fec3e1..4f4c6e5f5 100644 --- a/src/recipes/gingerbread-latte.json +++ b/src/recipes/gingerbread-latte.json @@ -1,59 +1,59 @@ -{ - "name": "Gingerbread latte", - "description": "A sweet drink with spices and whipped cream to warm up the holiday season", - "github": "pratyushakatti13", - "ingredients": [ - { - "quantity": "1½", - "measure": "teaspoon", - "ingredient": "ground ginger, plus extra to serve" - }, - { - "quantity": "½", - "measure": "teaspoon", - "ingredient": "cinnamon" - }, - { - "quantity": "¼", - "measure": "teaspoon", - "ingredient": "ground nutmeg plus extra to serve" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "soft brown sugar" - }, - { - "quantity": "½", - "measure": "teaspoon", - "ingredient": "vanilla extract" - }, - { - "quantity": "600", - "measure": "ml", - "ingredient": "whole milk" - }, - { - "quantity": "2", - "measure": "shots", - "ingredient": "hot espresso (optional)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "whipped cream and mini gingerbread men, to serve" - } - ], - "directions": [ - "In a bowl, mix together the spices, sugar and vanilla extract. Heat 100ml of the milk in a pan with the spice and sugar mix, whisking until the sugar has dissolved. Whisk in the remaining milk in additions until incorporated, then heat through until steaming.", - "Put a shot of espresso in each glass (if using) and top up with the spiced milk. Top with whipped cream, extra spices and a mini gingerbread man." - ], - "image": "gingerbread-latte.jpg", - "source": "https://www.bbcgoodfood.com/recipes/gingerbread-latte", - "keywords": [ - "gingerbread", - "holiday", - "christmas", - "milk" - ] -} +{ + "name": "Gingerbread latte", + "description": "A sweet drink with spices and whipped cream to warm up the holiday season", + "github": "pratyushakatti13", + "ingredients": [ + { + "quantity": "1½", + "measure": "teaspoon", + "ingredient": "ground ginger, plus extra to serve" + }, + { + "quantity": "½", + "measure": "teaspoon", + "ingredient": "cinnamon" + }, + { + "quantity": "¼", + "measure": "teaspoon", + "ingredient": "ground nutmeg plus extra to serve" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "soft brown sugar" + }, + { + "quantity": "½", + "measure": "teaspoon", + "ingredient": "vanilla extract" + }, + { + "quantity": "600", + "measure": "ml", + "ingredient": "whole milk" + }, + { + "quantity": "2", + "measure": "shots", + "ingredient": "hot espresso (optional)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "whipped cream and mini gingerbread men, to serve" + } + ], + "directions": [ + "In a bowl, mix together the spices, sugar and vanilla extract. Heat 100ml of the milk in a pan with the spice and sugar mix, whisking until the sugar has dissolved. Whisk in the remaining milk in additions until incorporated, then heat through until steaming.", + "Put a shot of espresso in each glass (if using) and top up with the spiced milk. Top with whipped cream, extra spices and a mini gingerbread man." + ], + "image": "gingerbread-latte.jpg", + "source": "https://www.bbcgoodfood.com/recipes/gingerbread-latte", + "keywords": [ + "gingerbread", + "holiday", + "christmas", + "milk" + ] +} diff --git a/src/recipes/glogg.json b/src/recipes/glogg.json index ad4bc7b6c..1e86ce7c5 100644 --- a/src/recipes/glogg.json +++ b/src/recipes/glogg.json @@ -1,83 +1,83 @@ -{ - "name": "Glögg", - "description": "Glögg (or glogg) is a warm, spiced drink, usually alcoholic in nature. It's a traditional Nordic drink during winter.", - "github": "stbaz", - "ingredients": [ - { - "quantity": "1", - "measure": "bottle", - "ingredient": "red wine" - }, - { - "quantity": "Optional: 1 1/2", - "measure": "cup", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "orange zest" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "cardamom pods" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "ginger (sliced)" - }, - { - "quantity": "8", - "measure": "", - "ingredient": "cloves" - }, - { - "quantity": "1", - "measure": "stick", - "ingredient": "cinnamon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: orange slices" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: almonds (blanched and slivered)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: raisins" - } - ], - "directions": [ - "Combine all the ingredients in a pot. Heat until the wine barely reaches a simmer: avoid boiling off the alcohol.", - "Reduce the heat and let the wine simmer for 5-30 minutes.", - "Remove from the heat and strain the mixture.", - "Serve in heat proof glasses and garnish to your taste!" - ], - "image": "glogg.jpg", - "source": "https://www.flickr.com/photos/chaparral/4212802999", - "keywords": [ - "alcoholic", - "red wine", - "warm", - "winter", - "christmas", - "scandinavian", - "swedish", - "finnish", - "norwegian", - "estonian", - "danish" - ] -} +{ + "name": "Glögg", + "description": "Glögg (or glogg) is a warm, spiced drink, usually alcoholic in nature. It's a traditional Nordic drink during winter.", + "github": "stbaz", + "ingredients": [ + { + "quantity": "1", + "measure": "bottle", + "ingredient": "red wine" + }, + { + "quantity": "Optional: 1 1/2", + "measure": "cup", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "orange zest" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "cardamom pods" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "ginger (sliced)" + }, + { + "quantity": "8", + "measure": "", + "ingredient": "cloves" + }, + { + "quantity": "1", + "measure": "stick", + "ingredient": "cinnamon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: orange slices" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: almonds (blanched and slivered)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: raisins" + } + ], + "directions": [ + "Combine all the ingredients in a pot. Heat until the wine barely reaches a simmer: avoid boiling off the alcohol.", + "Reduce the heat and let the wine simmer for 5-30 minutes.", + "Remove from the heat and strain the mixture.", + "Serve in heat proof glasses and garnish to your taste!" + ], + "image": "glogg.jpg", + "source": "https://www.flickr.com/photos/chaparral/4212802999", + "keywords": [ + "alcoholic", + "red wine", + "warm", + "winter", + "christmas", + "scandinavian", + "swedish", + "finnish", + "norwegian", + "estonian", + "danish" + ] +} diff --git a/src/recipes/gluhwein.json b/src/recipes/gluhwein.json index 098a4c426..a29c89fe5 100644 --- a/src/recipes/gluhwein.json +++ b/src/recipes/gluhwein.json @@ -1,48 +1,48 @@ -{ - "name": "Glühwein", - "description": "Glühwein is a warm and spice holiday drink traditionally found in German Christmas markets.", - "github": "JenningsF", - "ingredients": [ - { - "quantity": "1", - "measure": "bottle", - "ingredient": "red wine" - }, - { - "quantity": "1/2", - "measure": "stick", - "ingredient": "cinnamon stick" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "sugar" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "cloves" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "orange peel" - } - ], - "directions": [ - "Combine all the ingredients in a saucepan and heat until the wine reaches a simmer. Avoid boiling off the alcohol.", - "Reduce the heat and let the wine simmer for 5-30 minutes.", - "Remove from heat and strain the mixture.", - "Pour into glass mugs, serve, and enjoy!" - ], - "image": "gluhwein.jpg", - "keywords": [ - "alcoholic", - "red wine", - "warm", - "winter", - "christmas", - "german", - "austrian" - ] +{ + "name": "Glühwein", + "description": "Glühwein is a warm and spice holiday drink traditionally found in German Christmas markets.", + "github": "JenningsF", + "ingredients": [ + { + "quantity": "1", + "measure": "bottle", + "ingredient": "red wine" + }, + { + "quantity": "1/2", + "measure": "stick", + "ingredient": "cinnamon stick" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "sugar" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "cloves" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "orange peel" + } + ], + "directions": [ + "Combine all the ingredients in a saucepan and heat until the wine reaches a simmer. Avoid boiling off the alcohol.", + "Reduce the heat and let the wine simmer for 5-30 minutes.", + "Remove from heat and strain the mixture.", + "Pour into glass mugs, serve, and enjoy!" + ], + "image": "gluhwein.jpg", + "keywords": [ + "alcoholic", + "red wine", + "warm", + "winter", + "christmas", + "german", + "austrian" + ] } \ No newline at end of file diff --git a/src/recipes/godchild.json b/src/recipes/godchild.json index 55fe253d9..8b624e93b 100644 --- a/src/recipes/godchild.json +++ b/src/recipes/godchild.json @@ -1,33 +1,33 @@ -{ - "name": "Godchild", - "description": "The Godchild, which is classified as a dessert cocktail, is perfect for novices as it is simple to make and smooth and easy to drink. This is a variation of the classic Godfather cocktail, which is a mix of Scotch whisky and Amaretto and was named after Marlon Brando, who had a penchant for this drink and was obviously best known for is role as the head of a mafia family in The Godfather movies. If you fancy something a little more adventurous, you can pour the Godchild cocktail over a bowl of vanilla ice cream, for a boozy dessert.", - "github": "cagoncil", - "ingredients": [ - { - "quantity": "35", - "measure": "ml", - "ingredient": "Amaretto" - }, - { - "quantity": "35", - "measure": "ml", - "ingredient": "Heavy Cream" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Ice Cubes" - } - ], - "directions": [ - "Pour both ingredients directly into Old-Fashioned glass filled with ice cubes." - ], - "image": "godchild.jpg", - "source": "https://www.socialandcocktail.co.uk/cocktails/godchild/", - "keywords": [ - "amaretto", - "cream", - "alcoholic", - "cocktail" - ] -} +{ + "name": "Godchild", + "description": "The Godchild, which is classified as a dessert cocktail, is perfect for novices as it is simple to make and smooth and easy to drink. This is a variation of the classic Godfather cocktail, which is a mix of Scotch whisky and Amaretto and was named after Marlon Brando, who had a penchant for this drink and was obviously best known for is role as the head of a mafia family in The Godfather movies. If you fancy something a little more adventurous, you can pour the Godchild cocktail over a bowl of vanilla ice cream, for a boozy dessert.", + "github": "cagoncil", + "ingredients": [ + { + "quantity": "35", + "measure": "ml", + "ingredient": "Amaretto" + }, + { + "quantity": "35", + "measure": "ml", + "ingredient": "Heavy Cream" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Ice Cubes" + } + ], + "directions": [ + "Pour both ingredients directly into Old-Fashioned glass filled with ice cubes." + ], + "image": "godchild.jpg", + "source": "https://www.socialandcocktail.co.uk/cocktails/godchild/", + "keywords": [ + "amaretto", + "cream", + "alcoholic", + "cocktail" + ] +} diff --git a/src/recipes/godfather.json b/src/recipes/godfather.json index ccc6051cb..df0b54554 100644 --- a/src/recipes/godfather.json +++ b/src/recipes/godfather.json @@ -1,28 +1,28 @@ -{ - "name": "Godfather", - "description": "An IBA official cocktail with a smokey but refreshing flavour.", - "github": "zbarbuto", - "ingredients": [ - { - "quantity": "35", - "measure": "ml", - "ingredient": "Amaretto" - }, - { - "quantity": "35", - "measure": "ml", - "ingredient": "Vodka" - } - ], - "directions": [ - "Pour both ingredients directly into Old-Fashioned glass filled with ice cubes. Stir gently." - ], - "image": "godfather.jpg", - "source": "https://en.wikipedia.org/wiki/Godfather_(cocktail)", - "keywords": [ - "amaretto", - "alcoholic", - "cocktail", - "iba" - ] -} +{ + "name": "Godfather", + "description": "An IBA official cocktail with a smokey but refreshing flavour.", + "github": "zbarbuto", + "ingredients": [ + { + "quantity": "35", + "measure": "ml", + "ingredient": "Amaretto" + }, + { + "quantity": "35", + "measure": "ml", + "ingredient": "Vodka" + } + ], + "directions": [ + "Pour both ingredients directly into Old-Fashioned glass filled with ice cubes. Stir gently." + ], + "image": "godfather.jpg", + "source": "https://en.wikipedia.org/wiki/Godfather_(cocktail)", + "keywords": [ + "amaretto", + "alcoholic", + "cocktail", + "iba" + ] +} diff --git a/src/recipes/golden-brown.json b/src/recipes/golden-brown.json index 7b25e93a9..ca4ea4776 100644 --- a/src/recipes/golden-brown.json +++ b/src/recipes/golden-brown.json @@ -1,45 +1,45 @@ -{ - "name": "Golden Brown", - "description": "Gin, Coffee and Orange for dessert", - "github": "marcelosantos89", - "ingredients": [ - { - "quantity": "40", - "measure": "ml", - "ingredient": "Gin" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "Coffee liqueur" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "Espresso Coffee" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Orange Juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "slide of orange peel" - } - ], - "directions": [ - "Freeze the cup before starting your cocktail.", - "Pour all the ingredients except for the orange peel into a shaker and shake well.", - "Do a double strain and a foam should appear on the top of the drink.", - "Place the orange peel above the foam. Enjoy!" - ], - "image": "golden-brown.jpg", - "keywords": [ - "gin", - "coffee", - "espresso", - "orange" - ] -} +{ + "name": "Golden Brown", + "description": "Gin, Coffee and Orange for dessert", + "github": "marcelosantos89", + "ingredients": [ + { + "quantity": "40", + "measure": "ml", + "ingredient": "Gin" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "Coffee liqueur" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "Espresso Coffee" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Orange Juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "slide of orange peel" + } + ], + "directions": [ + "Freeze the cup before starting your cocktail.", + "Pour all the ingredients except for the orange peel into a shaker and shake well.", + "Do a double strain and a foam should appear on the top of the drink.", + "Place the orange peel above the foam. Enjoy!" + ], + "image": "golden-brown.jpg", + "keywords": [ + "gin", + "coffee", + "espresso", + "orange" + ] +} diff --git a/src/recipes/golden-glow-water.json b/src/recipes/golden-glow-water.json index c9a71fc57..3ed16660a 100644 --- a/src/recipes/golden-glow-water.json +++ b/src/recipes/golden-glow-water.json @@ -1,71 +1,71 @@ -{ - "name": "Golden Glow Water", - "description": "A drink to refresh you for the rest of the day.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "ground ginger" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "ground turmeric" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "ground cayenne pepper" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "honey" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "molasses" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "lemon: juiced" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sparkling water or kombucha for topping" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Optinal: Citrus slice and fresh mint for garnishing" - } - - ], - "directions": [ - "Combine water, ginger, turmeric, cayenne, honey, molasses, and lemon juice in a glass jar.", - "Shake well to combine.", - "Chill until ready to drink.", - "Shake before serving.", - "Add ice to two glasses, pour over the water and top with sparkling water.", - "Garnish with citrus slices and fresh mint.", - "Enjoy!" - - ], - "image": "golden-glow-water.jpg", - "source": "https://www.halfbakedharvest.com/golden-glow-water/", - "keywords": [ - "ginger", - "turmeric", - "honey", - "non-alcoholic" - ] -} +{ + "name": "Golden Glow Water", + "description": "A drink to refresh you for the rest of the day.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "ground ginger" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "ground turmeric" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "ground cayenne pepper" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "honey" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "molasses" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "lemon: juiced" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sparkling water or kombucha for topping" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Optinal: Citrus slice and fresh mint for garnishing" + } + + ], + "directions": [ + "Combine water, ginger, turmeric, cayenne, honey, molasses, and lemon juice in a glass jar.", + "Shake well to combine.", + "Chill until ready to drink.", + "Shake before serving.", + "Add ice to two glasses, pour over the water and top with sparkling water.", + "Garnish with citrus slices and fresh mint.", + "Enjoy!" + + ], + "image": "golden-glow-water.jpg", + "source": "https://www.halfbakedharvest.com/golden-glow-water/", + "keywords": [ + "ginger", + "turmeric", + "honey", + "non-alcoholic" + ] +} diff --git a/src/recipes/golden-slipper.json b/src/recipes/golden-slipper.json index 723805c3d..97fda522d 100644 --- a/src/recipes/golden-slipper.json +++ b/src/recipes/golden-slipper.json @@ -1,46 +1,46 @@ -{ - "name": "Golden Slipper", - "description": "An egg yolk suspended between layers of wine and Goldwasser, surprisingly delicious.", - "github": "bibliofilo", - "ingredients": [ - { - "quantity": "1/2", - "measure": "wine glass", - "ingredient": "yellow chartreuse wine" - }, - { - "quantity": "1", - "measure": "yolk", - "ingredient": "egg" - }, - { - "quantity": "1/2", - "measure": "wine glass", - "ingredient": "Danziger Goldwasser" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "lemon juice" - } - - ], - "directions": [ - "Make sure all ingredients are chilled", - "Pour the Danziger Goldwasser first", - "Pour the chartreuse yellow second", - "Separate the chilled egg yolk from the white, then without breaking it drop gently into the wine glass", - "Add the lemon juice" - - ], - "image": "golden-slipper.jpg", - "source": "https://twitter.com/noelsharkey/status/962058582127624193", - "keywords": [ - "alcoholic", - "egg", - "lemon", - "liqueur", - "wine", - "layers" - ] -} +{ + "name": "Golden Slipper", + "description": "An egg yolk suspended between layers of wine and Goldwasser, surprisingly delicious.", + "github": "bibliofilo", + "ingredients": [ + { + "quantity": "1/2", + "measure": "wine glass", + "ingredient": "yellow chartreuse wine" + }, + { + "quantity": "1", + "measure": "yolk", + "ingredient": "egg" + }, + { + "quantity": "1/2", + "measure": "wine glass", + "ingredient": "Danziger Goldwasser" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "lemon juice" + } + + ], + "directions": [ + "Make sure all ingredients are chilled", + "Pour the Danziger Goldwasser first", + "Pour the chartreuse yellow second", + "Separate the chilled egg yolk from the white, then without breaking it drop gently into the wine glass", + "Add the lemon juice" + + ], + "image": "golden-slipper.jpg", + "source": "https://twitter.com/noelsharkey/status/962058582127624193", + "keywords": [ + "alcoholic", + "egg", + "lemon", + "liqueur", + "wine", + "layers" + ] +} diff --git a/src/recipes/good-vibrations.json b/src/recipes/good-vibrations.json index f4f7a401b..aca37b3b0 100644 --- a/src/recipes/good-vibrations.json +++ b/src/recipes/good-vibrations.json @@ -1,34 +1,34 @@ -{ - "name": "Good Vibrations", - "description": "A sweet alcoholic beverage for the Orange Soda lovers in life.", - "github": "Lunarelements", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Tequila" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Orange Soda (to fill rest of glass)" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Ice" - } - ], - "directions": [ - "Add ice to a glass.", - "Add Tequila.", - "Fill remainder of glass with Orange Soda." - ], - "image": "good-vibrations.jpg", - "keywords": [ - "alcoholic", - "tequila", - "orange soda", - "sweet" - ] -} +{ + "name": "Good Vibrations", + "description": "A sweet alcoholic beverage for the Orange Soda lovers in life.", + "github": "Lunarelements", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Tequila" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Orange Soda (to fill rest of glass)" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Ice" + } + ], + "directions": [ + "Add ice to a glass.", + "Add Tequila.", + "Fill remainder of glass with Orange Soda." + ], + "image": "good-vibrations.jpg", + "keywords": [ + "alcoholic", + "tequila", + "orange soda", + "sweet" + ] +} diff --git a/src/recipes/grandmas-apple-pie-ala-mode-moonshine.json b/src/recipes/grandmas-apple-pie-ala-mode-moonshine.json index ee43be7a4..4582445bc 100644 --- a/src/recipes/grandmas-apple-pie-ala-mode-moonshine.json +++ b/src/recipes/grandmas-apple-pie-ala-mode-moonshine.json @@ -1,57 +1,57 @@ -{ - "name": "Grandma's Apple Pie 'Ala Mode' Moonshine", - "description": "", - "github": "ansidev", - "ingredients": [ - { - "quantity": "½", - "measure": "gallon", - "ingredient": "apple cider" - }, - { - "quantity": "½", - "measure": "gallon", - "ingredient": "apple juice" - }, - { - "quantity": "4", - "measure": "sticks", - "ingredient": "cinnamon" - }, - { - "quantity": "1", - "measure": "whole", - "ingredient": "clove" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "white sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "brown sugar" - }, - { - "quantity": "3", - "measure": "cups", - "ingredient": "190 proof grain alcohol (such as Everclear®)" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "vanilla vodka" - } - ], - "directions": [ - "Bring the apple cider, apple juice, cinnamon sticks, whole clove, white sugar, and brown sugar to a boil in a large pot; reduce heat to medium low and simmer for 20 minutes. Remove from heat and cool completely.", - "Stir the grain alcohol and vanilla vodka into the cooled mixture. Pour into bottles and refrigerate." - ], - "image": "grandmas-apple-pie-ala-mode-moonshine.jpg", - "source": "https://www.allrecipes.com/recipe/218330/grandmas-apple-pie-ala-mode-moonshine/", - "keywords": [ - "apple", - "pie" - ] +{ + "name": "Grandma's Apple Pie 'Ala Mode' Moonshine", + "description": "", + "github": "ansidev", + "ingredients": [ + { + "quantity": "½", + "measure": "gallon", + "ingredient": "apple cider" + }, + { + "quantity": "½", + "measure": "gallon", + "ingredient": "apple juice" + }, + { + "quantity": "4", + "measure": "sticks", + "ingredient": "cinnamon" + }, + { + "quantity": "1", + "measure": "whole", + "ingredient": "clove" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "white sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "brown sugar" + }, + { + "quantity": "3", + "measure": "cups", + "ingredient": "190 proof grain alcohol (such as Everclear®)" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "vanilla vodka" + } + ], + "directions": [ + "Bring the apple cider, apple juice, cinnamon sticks, whole clove, white sugar, and brown sugar to a boil in a large pot; reduce heat to medium low and simmer for 20 minutes. Remove from heat and cool completely.", + "Stir the grain alcohol and vanilla vodka into the cooled mixture. Pour into bottles and refrigerate." + ], + "image": "grandmas-apple-pie-ala-mode-moonshine.jpg", + "source": "https://www.allrecipes.com/recipe/218330/grandmas-apple-pie-ala-mode-moonshine/", + "keywords": [ + "apple", + "pie" + ] } \ No newline at end of file diff --git a/src/recipes/grass-jelly-drink.json b/src/recipes/grass-jelly-drink.json index dfc2f1128..47b2fab16 100644 --- a/src/recipes/grass-jelly-drink.json +++ b/src/recipes/grass-jelly-drink.json @@ -1,43 +1,43 @@ -{ - "name": "Grass Jelly Drink", - "description": "Grass jelly drink is a popular Asian drink typically consisting of grass jelly, water, and simple syrup. Grass jelly is jelly made from an herbal plant called mesona chinensis, which has been traditionally thought to have the effect of cooling down the body.", - "github": "jcsison", - "ingredients": [ - { - "quantity": "4", - "measure": "oz", - "ingredient": "grass jelly (fresh or canned)" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "water or soybean milk" - }, - { - "quantity": "", - "measure": "", - "ingredient": "simple syrup (sugar and water)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "crushed ice" - } - ], - "directions": [ - "Cut the grass jelly into thin strips or chop into small pieces.", - "Put in a glass and add water and ice.", - "Sweeten the drink with a simple syrup made from sugar and water.", - "Note: Soybean milk can be substituted for water." - ], - "image": "grass-jelly-drink.jpg", - "source": "https://redcook.net/2009/08/23/grass-jelly-drinks/", - "keywords": [ - "coffee", - "non-alcoholic", - "cold", - "sweet", - "grass jelly", - "vegan" - ] -} +{ + "name": "Grass Jelly Drink", + "description": "Grass jelly drink is a popular Asian drink typically consisting of grass jelly, water, and simple syrup. Grass jelly is jelly made from an herbal plant called mesona chinensis, which has been traditionally thought to have the effect of cooling down the body.", + "github": "jcsison", + "ingredients": [ + { + "quantity": "4", + "measure": "oz", + "ingredient": "grass jelly (fresh or canned)" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "water or soybean milk" + }, + { + "quantity": "", + "measure": "", + "ingredient": "simple syrup (sugar and water)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "crushed ice" + } + ], + "directions": [ + "Cut the grass jelly into thin strips or chop into small pieces.", + "Put in a glass and add water and ice.", + "Sweeten the drink with a simple syrup made from sugar and water.", + "Note: Soybean milk can be substituted for water." + ], + "image": "grass-jelly-drink.jpg", + "source": "https://redcook.net/2009/08/23/grass-jelly-drinks/", + "keywords": [ + "coffee", + "non-alcoholic", + "cold", + "sweet", + "grass jelly", + "vegan" + ] +} diff --git a/src/recipes/grasshopper.json b/src/recipes/grasshopper.json index 6b9246d2b..b6e298b28 100644 --- a/src/recipes/grasshopper.json +++ b/src/recipes/grasshopper.json @@ -1,46 +1,46 @@ -{ - "name": "Grasshopper", - "description": "A minty dessert in a glass.", - "github": "crislanarafael", - "ingredients": [ - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Creme de Menthe" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "White Creme de Cacao" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "heavy cream" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "ice" - } - - ], - "directions": [ - "Combine Creme de Menthe, White Creme de Cacao, heavy cream, and ice in a blender", - "Blend until smooth" - - ], - "image": "grasshopper.jpg", - "source": "https://www.allrecipes.com/recipe/222885/grasshopper-cocktail/", - "keywords": [ - "cold", - "sweet", - "minty", - "alcoholic", - "creme de menthe", - "creme de cacao", - "heavy cream", - "ice", - "blended" - ] +{ + "name": "Grasshopper", + "description": "A minty dessert in a glass.", + "github": "crislanarafael", + "ingredients": [ + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Creme de Menthe" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "White Creme de Cacao" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "heavy cream" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "ice" + } + + ], + "directions": [ + "Combine Creme de Menthe, White Creme de Cacao, heavy cream, and ice in a blender", + "Blend until smooth" + + ], + "image": "grasshopper.jpg", + "source": "https://www.allrecipes.com/recipe/222885/grasshopper-cocktail/", + "keywords": [ + "cold", + "sweet", + "minty", + "alcoholic", + "creme de menthe", + "creme de cacao", + "heavy cream", + "ice", + "blended" + ] } \ No newline at end of file diff --git a/src/recipes/green-beast.json b/src/recipes/green-beast.json index 5cbb9e212..940c9b4d9 100644 --- a/src/recipes/green-beast.json +++ b/src/recipes/green-beast.json @@ -1,43 +1,43 @@ -{ - "name": "Green Beast", - "description": "Punch is not only based on rum. The proof is in this one, created in the 2000s by a French barman, Charles Vexenat, for the great (legal) return of French absinthe in our glasses.", - "github": "joshuaMart", - "ingredients": [ - { - "quantity": "2", - "measure": "cl", - "ingredient": "Absinthe" - }, - { - "quantity": "2", - "measure": "cl", - "ingredient": "Simple sugar syrup" - }, - { - "quantity": "2", - "measure": "cl", - "ingredient": "Lime juice" - }, - { - "quantity": "6", - "measure": "cl", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Cucumber" - } - ], - "directions": [ - "Pour the ingredients into a whiskey glass and stir.", - "Add 2 ice cubes.", - "Serve." - ], - "image": "green-beast.jpg", - "keywords": [ - "absinthe", - "lime", - "cucumber" - ] -} +{ + "name": "Green Beast", + "description": "Punch is not only based on rum. The proof is in this one, created in the 2000s by a French barman, Charles Vexenat, for the great (legal) return of French absinthe in our glasses.", + "github": "joshuaMart", + "ingredients": [ + { + "quantity": "2", + "measure": "cl", + "ingredient": "Absinthe" + }, + { + "quantity": "2", + "measure": "cl", + "ingredient": "Simple sugar syrup" + }, + { + "quantity": "2", + "measure": "cl", + "ingredient": "Lime juice" + }, + { + "quantity": "6", + "measure": "cl", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Cucumber" + } + ], + "directions": [ + "Pour the ingredients into a whiskey glass and stir.", + "Add 2 ice cubes.", + "Serve." + ], + "image": "green-beast.jpg", + "keywords": [ + "absinthe", + "lime", + "cucumber" + ] +} diff --git a/src/recipes/green-lagoon.json b/src/recipes/green-lagoon.json index 25595f4b6..2df90934e 100644 --- a/src/recipes/green-lagoon.json +++ b/src/recipes/green-lagoon.json @@ -1,40 +1,40 @@ -{ - "name": "Green Lagoon", - "description": "It is a twist on the more known blue lagoon.", - "github": "KasperZutterman", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "blue curaçao" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "pineapple juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cube" - } - ], - "directions": [ - "Add pineapple juice to the shaker with the other ingredients and ice cubes. Strike and pour into the glass while filtering.", - "To make it fresher and lighter, fill the glass with crushed ice beforehand. ", - "Serve in a martini glass." - ], - "image": "green-lagoon.jpg", - "keywords": [ - "vodka", - "pineapple", - "curaçao", - "alcoholic", - "vegan" - ] -} +{ + "name": "Green Lagoon", + "description": "It is a twist on the more known blue lagoon.", + "github": "KasperZutterman", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "blue curaçao" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "pineapple juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cube" + } + ], + "directions": [ + "Add pineapple juice to the shaker with the other ingredients and ice cubes. Strike and pour into the glass while filtering.", + "To make it fresher and lighter, fill the glass with crushed ice beforehand. ", + "Serve in a martini glass." + ], + "image": "green-lagoon.jpg", + "keywords": [ + "vodka", + "pineapple", + "curaçao", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/green-mango-sharbat.json b/src/recipes/green-mango-sharbat.json index 48a6858ad..f538f3991 100644 --- a/src/recipes/green-mango-sharbat.json +++ b/src/recipes/green-mango-sharbat.json @@ -1,61 +1,61 @@ -{ - "name": "Kancha Aamer Sharbat/Green Mango Sharbat", - "description": "Made with pureed unripe tart mangoes, sugar and ice, sweet-tangy green mango juice is a popular summer drink in tropical Asia that's so easy to make at home.", - "github": "Appledora", - "ingredients": [ - { - "quantity": "3", - "measure": "medium size", - "ingredient": "Green Mango" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Sugar" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Ginger (grated)" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Fresh Mint Leaves" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Black Salt" - }, - { - "quantity": "1", - "measure": "medium large", - "ingredient": "Lemon" - }, - { - "quantity": "5", - "measure": "cup", - "ingredient": "Ice-cool water" - } - ], - "directions": [ - "Boil, peel and cut the mango to give the blender an easier time to puree it.", - "In a small vessel boil sugar, ginger and 2 cups of water until sugar is dissolve. Remove from flame and let them cool.", - "In a blender pour remaining water, mango, salt, mint leaves, and sugar water. Blend them well until all mint leaves blended.", - "Pour into a jug and mix lemon juice. Adjust salt and sugar.Repeat until you get the desired sweet-tangy balance", - "Strain and transfer to serving glasses.", - "Drop ice cubes into flour glasses and serve with mint." - ], - "image": "green-mango-sharbat.jpg", - "keywords": [ - "summer", - "tropical", - "mango", - "mint leaves", - "lemon", - "sour", - "sweet", - "cold" - ] -} +{ + "name": "Kancha Aamer Sharbat/Green Mango Sharbat", + "description": "Made with pureed unripe tart mangoes, sugar and ice, sweet-tangy green mango juice is a popular summer drink in tropical Asia that's so easy to make at home.", + "github": "Appledora", + "ingredients": [ + { + "quantity": "3", + "measure": "medium size", + "ingredient": "Green Mango" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Sugar" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Ginger (grated)" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Fresh Mint Leaves" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Black Salt" + }, + { + "quantity": "1", + "measure": "medium large", + "ingredient": "Lemon" + }, + { + "quantity": "5", + "measure": "cup", + "ingredient": "Ice-cool water" + } + ], + "directions": [ + "Boil, peel and cut the mango to give the blender an easier time to puree it.", + "In a small vessel boil sugar, ginger and 2 cups of water until sugar is dissolve. Remove from flame and let them cool.", + "In a blender pour remaining water, mango, salt, mint leaves, and sugar water. Blend them well until all mint leaves blended.", + "Pour into a jug and mix lemon juice. Adjust salt and sugar.Repeat until you get the desired sweet-tangy balance", + "Strain and transfer to serving glasses.", + "Drop ice cubes into flour glasses and serve with mint." + ], + "image": "green-mango-sharbat.jpg", + "keywords": [ + "summer", + "tropical", + "mango", + "mint leaves", + "lemon", + "sour", + "sweet", + "cold" + ] +} diff --git a/src/recipes/greyhound.json b/src/recipes/greyhound.json index f6b12c651..d9c3f07da 100644 --- a/src/recipes/greyhound.json +++ b/src/recipes/greyhound.json @@ -1,34 +1,34 @@ - -{ - "name": "Greyhound", - "description": "The refreshing mixture of grapefruit and vodka makes the greyhound an ideal choice for a summertime refresher.", - "github": "morsecodemedia", - "ingredients": [ - { - "quantity": "5", - "measure": "fl oz", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "5 fl oz", - "ingredient": "Grapefruit Juice" - }, - { - "quantity": "1", - "measure": "1/2 cup", - "ingredient": "Ice" - } - ], - "directions": [ - "Combine vodka and grapefruit juice in a highball glass.", - "Add ice and stir well." - ], - "image": "greyhound.jpg", - "keywords": [ - "vodka", - "grapefruit", - "citrus", - "vegan" - ] -} + +{ + "name": "Greyhound", + "description": "The refreshing mixture of grapefruit and vodka makes the greyhound an ideal choice for a summertime refresher.", + "github": "morsecodemedia", + "ingredients": [ + { + "quantity": "5", + "measure": "fl oz", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "5 fl oz", + "ingredient": "Grapefruit Juice" + }, + { + "quantity": "1", + "measure": "1/2 cup", + "ingredient": "Ice" + } + ], + "directions": [ + "Combine vodka and grapefruit juice in a highball glass.", + "Add ice and stir well." + ], + "image": "greyhound.jpg", + "keywords": [ + "vodka", + "grapefruit", + "citrus", + "vegan" + ] +} diff --git a/src/recipes/grilled-grapefruit-paloma-cocktail.json b/src/recipes/grilled-grapefruit-paloma-cocktail.json index 365261e0a..33a4267f0 100644 --- a/src/recipes/grilled-grapefruit-paloma-cocktail.json +++ b/src/recipes/grilled-grapefruit-paloma-cocktail.json @@ -1,61 +1,61 @@ -{ - "name": "Grilled Grapefruit Paloma Cocktail", - "description": "Here's a fired up twist on a traditional Mexican cocktail. You'll grill the grapefruit and lime to caramelize the fruit and give the juice a subtle smoky edge. Stir it up with tequila or mezcal and top with club soda for a refreshing drink that's perfect all summer long.", - "github": "ferdox2", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "Limes" - }, - { - "quantity": "1/4", - "measure": "Cup", - "ingredient": "White sugar" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Red grapefruit, halved widthwise" - }, - { - "quantity": "1/4", - "measure": "Cup", - "ingredient": "Kosher salt" - }, - { - "quantity": "1", - "measure": "Cup", - "ingredient": "Ice cubes" - }, - { - "quantity": "4", - "measure": "Oz", - "ingredient": "Tequila or mezcal" - }, - { - "quantity": "2", - "measure": "Tablespoons", - "ingredient": "SImple syrup" - }, - { - "quantity": "44", - "measure": "Oz", - "ingredient": "Club soda" - } - ], - "directions": [ - "Preheat an outdoor grill for medium-high heat and lightly oil the grate.", - "Cut limes in half widthwise. Cut 1 half into 3 wheels.", - "Pour sugar into a shallow bowl. Dip lime halves, 2 of the lime wheels, and grapefruit into sugar to coat thoroughly.", - "Place limes and grapefruit cut-side down on the hot grill. Cook, turning lime wheels occasionally, until browned and grill marks form, 5 to 10 minutes. Transfer to a rimmed baking sheet to cool.", - "Rub remaining lime wheel over the rim of 2 highball glasses. Dip rims in kosher salt. Fill glasses with ice.", - "Juice grilled lime halves and grapefruit into a small pitcher. Pour in any juices that accumulated on the baking sheet. Stir in tequila or mezcal and simple syrup. Divide mixture between glasses and top off with club soda. Garnish with grilled lime wheels." - ], - "image": "grilled-grapefruit-paloma-cocktail.jpg", - "keywords": [ - "tequila", - "paloma", - "cocktail" - ] +{ + "name": "Grilled Grapefruit Paloma Cocktail", + "description": "Here's a fired up twist on a traditional Mexican cocktail. You'll grill the grapefruit and lime to caramelize the fruit and give the juice a subtle smoky edge. Stir it up with tequila or mezcal and top with club soda for a refreshing drink that's perfect all summer long.", + "github": "ferdox2", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "Limes" + }, + { + "quantity": "1/4", + "measure": "Cup", + "ingredient": "White sugar" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Red grapefruit, halved widthwise" + }, + { + "quantity": "1/4", + "measure": "Cup", + "ingredient": "Kosher salt" + }, + { + "quantity": "1", + "measure": "Cup", + "ingredient": "Ice cubes" + }, + { + "quantity": "4", + "measure": "Oz", + "ingredient": "Tequila or mezcal" + }, + { + "quantity": "2", + "measure": "Tablespoons", + "ingredient": "SImple syrup" + }, + { + "quantity": "44", + "measure": "Oz", + "ingredient": "Club soda" + } + ], + "directions": [ + "Preheat an outdoor grill for medium-high heat and lightly oil the grate.", + "Cut limes in half widthwise. Cut 1 half into 3 wheels.", + "Pour sugar into a shallow bowl. Dip lime halves, 2 of the lime wheels, and grapefruit into sugar to coat thoroughly.", + "Place limes and grapefruit cut-side down on the hot grill. Cook, turning lime wheels occasionally, until browned and grill marks form, 5 to 10 minutes. Transfer to a rimmed baking sheet to cool.", + "Rub remaining lime wheel over the rim of 2 highball glasses. Dip rims in kosher salt. Fill glasses with ice.", + "Juice grilled lime halves and grapefruit into a small pitcher. Pour in any juices that accumulated on the baking sheet. Stir in tequila or mezcal and simple syrup. Divide mixture between glasses and top off with club soda. Garnish with grilled lime wheels." + ], + "image": "grilled-grapefruit-paloma-cocktail.jpg", + "keywords": [ + "tequila", + "paloma", + "cocktail" + ] } \ No newline at end of file diff --git a/src/recipes/grinch-drinks.json b/src/recipes/grinch-drinks.json index 2b50723de..30cdf6f37 100644 --- a/src/recipes/grinch-drinks.json +++ b/src/recipes/grinch-drinks.json @@ -1,46 +1,46 @@ -{ - "name": "Grinch Drink", - "description": "Festive holiday beverage, this Grinch Drink will be a crowd pleaser!", - "github": "Tessituraa", - "ingredients": [ - { - "quantity": "4", - "measure": "oz", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Bacardi Rum" - }, - { - "quantity": "12", - "measure": "oz", - "ingredient": "Orange Juice" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Lemon-lime Pop" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Blue Curacao liquor" - } - ], - "directions": [ - "You can make this in individual glasses (4) or make a pitcher. Add all the ingredients together, stir, and add garnish.", - "Add more lemon-lime pop if the drink is too strong." - ], - "image": "grinch-drinks.jpg", - "source": "https://www.shugarysweets.com/grinch-drink/", - "keywords": [ - "grinch", - "orange juice", - "blue curaçao", - "schnapps", - "holiday", - "christmas" - ] -} +{ + "name": "Grinch Drink", + "description": "Festive holiday beverage, this Grinch Drink will be a crowd pleaser!", + "github": "Tessituraa", + "ingredients": [ + { + "quantity": "4", + "measure": "oz", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Bacardi Rum" + }, + { + "quantity": "12", + "measure": "oz", + "ingredient": "Orange Juice" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Lemon-lime Pop" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Blue Curacao liquor" + } + ], + "directions": [ + "You can make this in individual glasses (4) or make a pitcher. Add all the ingredients together, stir, and add garnish.", + "Add more lemon-lime pop if the drink is too strong." + ], + "image": "grinch-drinks.jpg", + "source": "https://www.shugarysweets.com/grinch-drink/", + "keywords": [ + "grinch", + "orange juice", + "blue curaçao", + "schnapps", + "holiday", + "christmas" + ] +} diff --git a/src/recipes/grog.json b/src/recipes/grog.json index 1fe05d326..b18e3b111 100644 --- a/src/recipes/grog.json +++ b/src/recipes/grog.json @@ -1,55 +1,55 @@ -{ - "name": "Grog", - "description": "Yarr, matey! Holster yer cutlasses and fill yer cups with this classic hot beverage recommended by yer old barnacle-covered cap'n!", - "github": "voodoods", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "brown rum" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "fresh lemon juice" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "brown sugar" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "hot water" - }, - { - "quantity": "1", - "measure": "stick", - "ingredient": "cinnamon" - }, - { - "quantity": "2", - "measure": "slices", - "ingredient": "orange" - } - ], - "directions": [ - "Fill the rum into a heat-resistant glass or cup.", - "Add the hot water as well as the lime juice.", - "Stir in the brown sugar.", - "Garnish with cinnamon and orange.", - "Enjoy!" - ], - "image": "grog.jpg", - "source": "https://www.chowhound.com/recipes/grog-10197", - "keywords": [ - "hot", - "rum", - "alcoholic", - "brown sugar", - "lime juice", - "orange", - "vegan" - ] -} +{ + "name": "Grog", + "description": "Yarr, matey! Holster yer cutlasses and fill yer cups with this classic hot beverage recommended by yer old barnacle-covered cap'n!", + "github": "voodoods", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "brown rum" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "fresh lemon juice" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "brown sugar" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "hot water" + }, + { + "quantity": "1", + "measure": "stick", + "ingredient": "cinnamon" + }, + { + "quantity": "2", + "measure": "slices", + "ingredient": "orange" + } + ], + "directions": [ + "Fill the rum into a heat-resistant glass or cup.", + "Add the hot water as well as the lime juice.", + "Stir in the brown sugar.", + "Garnish with cinnamon and orange.", + "Enjoy!" + ], + "image": "grog.jpg", + "source": "https://www.chowhound.com/recipes/grog-10197", + "keywords": [ + "hot", + "rum", + "alcoholic", + "brown sugar", + "lime juice", + "orange", + "vegan" + ] +} diff --git a/src/recipes/guarapita.json b/src/recipes/guarapita.json index 0e2216eb5..3f366e738 100644 --- a/src/recipes/guarapita.json +++ b/src/recipes/guarapita.json @@ -1,48 +1,48 @@ -{ - "name": "Guarapita", - "description": "Venezuelan drink made with rum and juice from tropical fruits.", - "github": "stephs1515", - "ingredients": [ - { - "quantity": "0.75", - "measure": "liter", - "ingredient": "Rum" - }, - { - "quantity": "1", - "measure": "liter", - "ingredient": "Passion fruit juice" - }, - { - "quantity": "1", - "measure": "liter", - "ingredient": "Orange juice" - }, - { - "quantity": "1 ½", - "measure": "cup", - "ingredient": "Grenadine" - }, - { - "quantity": "8", - "measure": "whole", - "ingredient": "Limes" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mint leaves" - } - - ], - "directions": [ - "Mix all the ingredients with lots of ice cubesIn a punch bowl.", - "Serve in glasses with fresh ice cubes and garnish with mint leaves." - ], - "image": "guarapita.jpg", - "source": "https://enrilemoine.com/en/2012/07/04/venezuelan-rum-guarapita-recipe/", - "keywords": [ - "rum", - "party" - ] -} +{ + "name": "Guarapita", + "description": "Venezuelan drink made with rum and juice from tropical fruits.", + "github": "stephs1515", + "ingredients": [ + { + "quantity": "0.75", + "measure": "liter", + "ingredient": "Rum" + }, + { + "quantity": "1", + "measure": "liter", + "ingredient": "Passion fruit juice" + }, + { + "quantity": "1", + "measure": "liter", + "ingredient": "Orange juice" + }, + { + "quantity": "1 ½", + "measure": "cup", + "ingredient": "Grenadine" + }, + { + "quantity": "8", + "measure": "whole", + "ingredient": "Limes" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mint leaves" + } + + ], + "directions": [ + "Mix all the ingredients with lots of ice cubesIn a punch bowl.", + "Serve in glasses with fresh ice cubes and garnish with mint leaves." + ], + "image": "guarapita.jpg", + "source": "https://enrilemoine.com/en/2012/07/04/venezuelan-rum-guarapita-recipe/", + "keywords": [ + "rum", + "party" + ] +} diff --git a/src/recipes/guayacolita.json b/src/recipes/guayacolita.json index 873e814ae..3ca533026 100644 --- a/src/recipes/guayacolita.json +++ b/src/recipes/guayacolita.json @@ -1,25 +1,25 @@ -{ - "name": "Guayacolita", - "description": "Guayacolita is a mix between a Pilsner type beer and a coca cola. Used a lot for summer climates. Very pupular in Caribbean countries", - "github": "shaka0241", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Beer pilsner" - }, - { - "quantity": "1/2", - "measure": "Can", - "ingredient": "Coca-cola" - } - ], - "directions": [ - "Mix the two drinks, which must be very cold." - ], - "image": "guayacolita.jpg", - "keywords": [ - "beer", - "coca-cola" - ] +{ + "name": "Guayacolita", + "description": "Guayacolita is a mix between a Pilsner type beer and a coca cola. Used a lot for summer climates. Very pupular in Caribbean countries", + "github": "shaka0241", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Beer pilsner" + }, + { + "quantity": "1/2", + "measure": "Can", + "ingredient": "Coca-cola" + } + ], + "directions": [ + "Mix the two drinks, which must be very cold." + ], + "image": "guayacolita.jpg", + "keywords": [ + "beer", + "coca-cola" + ] } \ No newline at end of file diff --git a/src/recipes/happy-soda.json b/src/recipes/happy-soda.json index ba00b287c..1740481be 100644 --- a/src/recipes/happy-soda.json +++ b/src/recipes/happy-soda.json @@ -1,40 +1,40 @@ -{ - "name": "Happy Soda", - "description": "Soda gembira (literally, happy soda) is a popular mocktail made with soda water, coco pandan syrup, sweetened condensed milk, and crushed/shaved ice.", - "github": "tomorisakura", - "ingredients": [ - { - "quantity": "330", - "measure": "ml", - "ingredient": "Chilled Soda Water" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Sweetened Condensed Milk" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Cocopandan Syrup" - }, - { - "quantity": "66", - "measure": "gr", - "ingredient": "Ice Cubes" - } - - - ], - "directions": [ - "Stir together soda water, sweet condensed milk, and coco pandan syrup in a glass.", - "Serve immediately with crushed/shaved ice or ice cubes." - ], - "image": "happy-soda.jpg", - "source": "https://dailycookingquest.com/soda-gembira-happy-soda.html", - "keywords": [ - "soda", - "syrup", - "non-alcoholic" - ] +{ + "name": "Happy Soda", + "description": "Soda gembira (literally, happy soda) is a popular mocktail made with soda water, coco pandan syrup, sweetened condensed milk, and crushed/shaved ice.", + "github": "tomorisakura", + "ingredients": [ + { + "quantity": "330", + "measure": "ml", + "ingredient": "Chilled Soda Water" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Sweetened Condensed Milk" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Cocopandan Syrup" + }, + { + "quantity": "66", + "measure": "gr", + "ingredient": "Ice Cubes" + } + + + ], + "directions": [ + "Stir together soda water, sweet condensed milk, and coco pandan syrup in a glass.", + "Serve immediately with crushed/shaved ice or ice cubes." + ], + "image": "happy-soda.jpg", + "source": "https://dailycookingquest.com/soda-gembira-happy-soda.html", + "keywords": [ + "soda", + "syrup", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/hard-applecider.json b/src/recipes/hard-applecider.json index f7132a90f..b1530ab51 100644 --- a/src/recipes/hard-applecider.json +++ b/src/recipes/hard-applecider.json @@ -1,38 +1,38 @@ -{ - "name": "Hard Apple Cider", - "description": "Amazing fall drink that, best served warm.", - "github": "evalaidc", - "ingredients": [ - { - "quantity": "1", - "measure": "Gallon", - "ingredient": "Trader Joe's Spice Apple Cider or your friendly neighborhood apple cider brand" - }, - { - "quantity": "3", - "measure": "cups", - "ingredient": "Fireball Cinnamon Whiskey" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Apple" - } - ], - "directions": [ - "Grab a pot and turn the stove temperature to high.", - "Pour apple cider juice into pot.", - "Continuously stir until apple cider juice boils.", - "Pour Fireball Whiskey into pot.", - "Turn stove to low", - "Add apple slice to garnish." - ], - "image": "hard-applecider.jpg", - "source": "https://www.joyfulhealthyeats.com/easy-hot-spiked-mulled-apple-cider-recipe/", - "keywords": [ - "alcoholic", - "apple", - "whiskey" - ] - } +{ + "name": "Hard Apple Cider", + "description": "Amazing fall drink that, best served warm.", + "github": "evalaidc", + "ingredients": [ + { + "quantity": "1", + "measure": "Gallon", + "ingredient": "Trader Joe's Spice Apple Cider or your friendly neighborhood apple cider brand" + }, + { + "quantity": "3", + "measure": "cups", + "ingredient": "Fireball Cinnamon Whiskey" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Apple" + } + ], + "directions": [ + "Grab a pot and turn the stove temperature to high.", + "Pour apple cider juice into pot.", + "Continuously stir until apple cider juice boils.", + "Pour Fireball Whiskey into pot.", + "Turn stove to low", + "Add apple slice to garnish." + ], + "image": "hard-applecider.jpg", + "source": "https://www.joyfulhealthyeats.com/easy-hot-spiked-mulled-apple-cider-recipe/", + "keywords": [ + "alcoholic", + "apple", + "whiskey" + ] + } \ No newline at end of file diff --git a/src/recipes/harry-potter-butterbeer.json b/src/recipes/harry-potter-butterbeer.json index e818e0b27..03d3640b2 100644 --- a/src/recipes/harry-potter-butterbeer.json +++ b/src/recipes/harry-potter-butterbeer.json @@ -1,43 +1,43 @@ -{ - "name": "Harry Potter Butterbeer", - "description": " Butterbeer at The Wizarding World of Harry Potter at Universal Studious in Hollywood or Orlando.", - "github": "pavitra122", - "ingredients": [ - { - "quantity": "6", - "measure": "unit", - "ingredient": "Cream Soda" - }, - { - "quantity": "1", - "measure": "spoon", - "ingredient": "caramel extract" - }, - { - "quantity": "75", - "measure": "ml", - "ingredient": "Sake" - }, - { - "quantity": "1", - "measure": "pack", - "ingredient": "Ice" - } - ], - "directions": [ - "Whip heavy cream in large mixing bowl until it forms stiff peaks.", - "Add butterscotch topping and powdered sugar.", - "Mix the caramel and butter extracts with the cream soda and then pour the mixture into clear cups or mugs.", - "Top with butterscotch cream topping and enjoy!" - ], - "image": "butterbeer.jpg", - "keywords": [ - "harry potter", - "soda", - "butter", - "caramel", - "sake", - "ice", - "alcoholic" - ] -} +{ + "name": "Harry Potter Butterbeer", + "description": " Butterbeer at The Wizarding World of Harry Potter at Universal Studious in Hollywood or Orlando.", + "github": "pavitra122", + "ingredients": [ + { + "quantity": "6", + "measure": "unit", + "ingredient": "Cream Soda" + }, + { + "quantity": "1", + "measure": "spoon", + "ingredient": "caramel extract" + }, + { + "quantity": "75", + "measure": "ml", + "ingredient": "Sake" + }, + { + "quantity": "1", + "measure": "pack", + "ingredient": "Ice" + } + ], + "directions": [ + "Whip heavy cream in large mixing bowl until it forms stiff peaks.", + "Add butterscotch topping and powdered sugar.", + "Mix the caramel and butter extracts with the cream soda and then pour the mixture into clear cups or mugs.", + "Top with butterscotch cream topping and enjoy!" + ], + "image": "butterbeer.jpg", + "keywords": [ + "harry potter", + "soda", + "butter", + "caramel", + "sake", + "ice", + "alcoholic" + ] +} diff --git a/src/recipes/hi-fi.json b/src/recipes/hi-fi.json index a02a382a8..1d8b35428 100644 --- a/src/recipes/hi-fi.json +++ b/src/recipes/hi-fi.json @@ -1,38 +1,38 @@ -{ - "name": "Hi-Fi", - "description": "The Hi-Fi is a simple and enjoyable drink. It is a fabulous marriage of vodka with a fizzy orange soda.", - "github": "anacdf", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "Top up", - "measure": "cup", - "ingredient": "Orange Soda" - }, - { - "quantity": "a lot", - "measure": "cubes", - "ingredient": "ice" - } - ], - "directions": [ - "Fill an Old Fashioned glass with ice.", - "Pour in vodka.", - "Top up with orange soda.", - "Garnish with half orange wheel." - ], - "image": "hi-fi.jpg", - "source": "http://www.cocktailhunter.com/recipe/hi-fi-lowball/", - "keywords": [ - "orange soda", - "vodka", - "ice", - "simple", - "alcoholic", - "vegan" - ] -} +{ + "name": "Hi-Fi", + "description": "The Hi-Fi is a simple and enjoyable drink. It is a fabulous marriage of vodka with a fizzy orange soda.", + "github": "anacdf", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "Top up", + "measure": "cup", + "ingredient": "Orange Soda" + }, + { + "quantity": "a lot", + "measure": "cubes", + "ingredient": "ice" + } + ], + "directions": [ + "Fill an Old Fashioned glass with ice.", + "Pour in vodka.", + "Top up with orange soda.", + "Garnish with half orange wheel." + ], + "image": "hi-fi.jpg", + "source": "http://www.cocktailhunter.com/recipe/hi-fi-lowball/", + "keywords": [ + "orange soda", + "vodka", + "ice", + "simple", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/hibiscus-cherry-vodka-spritz.json b/src/recipes/hibiscus-cherry-vodka-spritz.json index e2cede40d..49bc1de0a 100644 --- a/src/recipes/hibiscus-cherry-vodka-spritz.json +++ b/src/recipes/hibiscus-cherry-vodka-spritz.json @@ -1,65 +1,65 @@ -{ - "name": "Hibiscus Cherry Vodka Spritz", - "description": "Delicious and perfect for warm summer days.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "fresh cherries" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "dried hibiscus flowers" - }, - { - "quantity": "1-2", - "measure": "tablespoons", - "ingredient": "honey" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "lemon: juiced" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "pineapple juice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "vodka" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sparkling water for topping" - } - ], - "directions": [ - "Add the cherries to a medium size pot.", - "Mash the cherries up useing a muddler or a fork until they are almost pulp-like.", - "Add 1 cup of water and bring to a boil over high heat.", - "Remove from the heat, add the hibiscus flowers.", - "Cover and let steep for 10 minutes.", - "Strain into a pitcher, pressing out any juice from the cherries with a fork, discard the hibiscus flowers and cherries.", - "Add the honey, lemon juice, pineapple juice, and vodka.", - "Chill until ready to serve.", - "To serve, pour over ice and top with sparkling water.", - "Cheers!" - ], - "image": "hibiscus-cherry-vodka-spritz.jpg", - "source": "https://www.halfbakedharvest.com/hibiscus-cherry-vodka-spritz/", - "keywords": [ - "tequila", - "summer", - "vodka", - "alcoholic", - "cherry", - "hibiscus" - - ] -} +{ + "name": "Hibiscus Cherry Vodka Spritz", + "description": "Delicious and perfect for warm summer days.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "fresh cherries" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "dried hibiscus flowers" + }, + { + "quantity": "1-2", + "measure": "tablespoons", + "ingredient": "honey" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "lemon: juiced" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "pineapple juice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "vodka" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sparkling water for topping" + } + ], + "directions": [ + "Add the cherries to a medium size pot.", + "Mash the cherries up useing a muddler or a fork until they are almost pulp-like.", + "Add 1 cup of water and bring to a boil over high heat.", + "Remove from the heat, add the hibiscus flowers.", + "Cover and let steep for 10 minutes.", + "Strain into a pitcher, pressing out any juice from the cherries with a fork, discard the hibiscus flowers and cherries.", + "Add the honey, lemon juice, pineapple juice, and vodka.", + "Chill until ready to serve.", + "To serve, pour over ice and top with sparkling water.", + "Cheers!" + ], + "image": "hibiscus-cherry-vodka-spritz.jpg", + "source": "https://www.halfbakedharvest.com/hibiscus-cherry-vodka-spritz/", + "keywords": [ + "tequila", + "summer", + "vodka", + "alcoholic", + "cherry", + "hibiscus" + + ] +} diff --git a/src/recipes/hibiscus-mint-tea.json b/src/recipes/hibiscus-mint-tea.json index 0d6dd37f9..4e9f07e33 100644 --- a/src/recipes/hibiscus-mint-tea.json +++ b/src/recipes/hibiscus-mint-tea.json @@ -1,40 +1,40 @@ -{ - "name": "Hibiscus Mint Tea", - "description": "Hibiscus is a beautiful flower that does so much for our health and it tastes great! This tea is a phenomenal summer tea and is excellent served iced. It's also good to have warm before bed. This tea is great no matter how it's served, so sit back and enjoy this easy-to-make herbal tea!", - "github": "aronstone94", - "ingredients": [ - { - "quantity": "3.5", - "measure": "Cup", - "ingredient": "Water" - }, - { - "quantity": "18", - "measure": "", - "ingredient": "Dried hibiscus petals" - }, - { - "quantity": "1/2", - "measure": "Cup", - "ingredient": "mint leaves" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "lemon juice" - } - ], - "directions": [ - "Fill a stovetop kettle with water and bring to a boil.", - "Remove from heat; add mint leaves, hibiscus petals, and lemon juice.", - "Stir once or twice and cover.", - "Steep for 3 to 5 minutes before serving either hot or iced." - ], - "image": "hibiscus-mint-tea.jpg", - "source": "https://www.halfbakedharvest.com/hibiscus-cherry-vodka-spritz/", - "keywords": [ - "hibiscus", - "mint", - "non-alcoholic" - ] -} +{ + "name": "Hibiscus Mint Tea", + "description": "Hibiscus is a beautiful flower that does so much for our health and it tastes great! This tea is a phenomenal summer tea and is excellent served iced. It's also good to have warm before bed. This tea is great no matter how it's served, so sit back and enjoy this easy-to-make herbal tea!", + "github": "aronstone94", + "ingredients": [ + { + "quantity": "3.5", + "measure": "Cup", + "ingredient": "Water" + }, + { + "quantity": "18", + "measure": "", + "ingredient": "Dried hibiscus petals" + }, + { + "quantity": "1/2", + "measure": "Cup", + "ingredient": "mint leaves" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "lemon juice" + } + ], + "directions": [ + "Fill a stovetop kettle with water and bring to a boil.", + "Remove from heat; add mint leaves, hibiscus petals, and lemon juice.", + "Stir once or twice and cover.", + "Steep for 3 to 5 minutes before serving either hot or iced." + ], + "image": "hibiscus-mint-tea.jpg", + "source": "https://www.halfbakedharvest.com/hibiscus-cherry-vodka-spritz/", + "keywords": [ + "hibiscus", + "mint", + "non-alcoholic" + ] +} diff --git a/src/recipes/hiroshima.json b/src/recipes/hiroshima.json index 27d5a9906..53f2c266a 100644 --- a/src/recipes/hiroshima.json +++ b/src/recipes/hiroshima.json @@ -1,40 +1,40 @@ -{ - "name": "Hiroshima", - "description": "Do you like shots? Then try this creamy, herbal and sweet, absinthe and sambuca-based cocktail, alcoholic and strong.", - "github": "wsehl", - "ingredients": [ - { - "quantity": "0.75", - "measure": "oz", - "ingredient": "Sambuca" - }, - { - "quantity": "0.75", - "measure": "oz", - "ingredient": "Absinte" - }, - { - "quantity": "0.35", - "measure": "oz", - "ingredient": "Irish cream liqueur" - }, - { - "quantity": "0.15", - "measure": "oz", - "ingredient": "Grenadine syrup" - } - ], - "directions": [ - "Pour 0.75 oz of sambuca into a shot glass", - "Use a bar spoon to layer on 0.35 oz of Irish cream liqueur and 0.75 oz of absinthe", - "Carefully pour in 5 drops of grenadine syrup using a drinking straw" - ], - "image": "hiroshima.jpg", - "source": "https://us.inshaker.com/cocktails/932-hiroshima", - "keywords": [ - "hiroshima", - "irish cream liqueur", - "absinte", - "sambuca" - ] +{ + "name": "Hiroshima", + "description": "Do you like shots? Then try this creamy, herbal and sweet, absinthe and sambuca-based cocktail, alcoholic and strong.", + "github": "wsehl", + "ingredients": [ + { + "quantity": "0.75", + "measure": "oz", + "ingredient": "Sambuca" + }, + { + "quantity": "0.75", + "measure": "oz", + "ingredient": "Absinte" + }, + { + "quantity": "0.35", + "measure": "oz", + "ingredient": "Irish cream liqueur" + }, + { + "quantity": "0.15", + "measure": "oz", + "ingredient": "Grenadine syrup" + } + ], + "directions": [ + "Pour 0.75 oz of sambuca into a shot glass", + "Use a bar spoon to layer on 0.35 oz of Irish cream liqueur and 0.75 oz of absinthe", + "Carefully pour in 5 drops of grenadine syrup using a drinking straw" + ], + "image": "hiroshima.jpg", + "source": "https://us.inshaker.com/cocktails/932-hiroshima", + "keywords": [ + "hiroshima", + "irish cream liqueur", + "absinte", + "sambuca" + ] } \ No newline at end of file diff --git a/src/recipes/hocus-pocus.json b/src/recipes/hocus-pocus.json index d07bc6ccc..8bd7d2b39 100644 --- a/src/recipes/hocus-pocus.json +++ b/src/recipes/hocus-pocus.json @@ -1,54 +1,54 @@ -{ - "name": "Hocus Pocus", - "description": "This insane dry ice cocktail combines vodka, melon liqueur, blue curacao, sweet & sour, and pineapple juice, and can be served in a glass skull cup for maximum spooky cocktail vibes.", - "github": "speex404", - "ingredients": [ - { - "quantity": "6", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "Melon Liqueur" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Blue Curaçao" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sweet & Sour" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Pineapple Juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Dry Ice" - } - ], - "directions": [ - "Drop dry ice into base of glass and pour over vodka, sweet and sour and pineapple juice.", - "Add melon liqueur and blue curaçao." - ], - "image": "hocus-pocus.jpg", - "source": "https://tipsybartender.com/recipe/hocus-pocus/", - "keywords": [ - "curaçao", - "melon", - "liqueur", - "vodka", - "halloween", - "holiday", - "fruity", - "sweet", - "blue curaçao" - ] -} +{ + "name": "Hocus Pocus", + "description": "This insane dry ice cocktail combines vodka, melon liqueur, blue curacao, sweet & sour, and pineapple juice, and can be served in a glass skull cup for maximum spooky cocktail vibes.", + "github": "speex404", + "ingredients": [ + { + "quantity": "6", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "Melon Liqueur" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Blue Curaçao" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sweet & Sour" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Pineapple Juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Dry Ice" + } + ], + "directions": [ + "Drop dry ice into base of glass and pour over vodka, sweet and sour and pineapple juice.", + "Add melon liqueur and blue curaçao." + ], + "image": "hocus-pocus.jpg", + "source": "https://tipsybartender.com/recipe/hocus-pocus/", + "keywords": [ + "curaçao", + "melon", + "liqueur", + "vodka", + "halloween", + "holiday", + "fruity", + "sweet", + "blue curaçao" + ] +} diff --git a/src/recipes/homemade-blackberry-lemonade.json b/src/recipes/homemade-blackberry-lemonade.json index de58dbf18..fd6c5d55b 100644 --- a/src/recipes/homemade-blackberry-lemonade.json +++ b/src/recipes/homemade-blackberry-lemonade.json @@ -1,48 +1,48 @@ -{ - "name": "Homemade Blackberry Lemonade", - "description": "This homemade lemonade is easy to make and gets a flavor boost from blackberries. The end result is light and refreshing which is perfect for those hot summer days.", - "github": "ansidev", - "ingredients": [ - { - "quantity": "¾", - "measure": "cup", - "ingredient": "white sugar" - }, - { - "quantity": "4 ½", - "measure": "cups", - "ingredient": "water, divided" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "blackberries" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "white sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "freshly squeezed lemon juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Heat 3/4 cup sugar and 1/2 cup water in a small saucepan over medium heat. Cook and stir until sugar has dissolved, about 2 minutes. Let cool.", - "Place blackberries and remaining 2 tablespoons of sugar in a blender. Blend until smooth.", - "Combine simple syrup, blended blackberries, remaining 4 cups of water, and lemon juice. Place a fine-mesh sieve over a pitcher and pour lemonade into the pitcher. Discard solids. Serve over ice." - ], - "image": "homemade-blackberry-lemonade.jpg", - "source": "https://www.allrecipes.com/recipe/280577/homemade-blackberry-lemonade/", - "keywords": [ - "blackberry", - "lemonade" - ] +{ + "name": "Homemade Blackberry Lemonade", + "description": "This homemade lemonade is easy to make and gets a flavor boost from blackberries. The end result is light and refreshing which is perfect for those hot summer days.", + "github": "ansidev", + "ingredients": [ + { + "quantity": "¾", + "measure": "cup", + "ingredient": "white sugar" + }, + { + "quantity": "4 ½", + "measure": "cups", + "ingredient": "water, divided" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "blackberries" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "white sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "freshly squeezed lemon juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Heat 3/4 cup sugar and 1/2 cup water in a small saucepan over medium heat. Cook and stir until sugar has dissolved, about 2 minutes. Let cool.", + "Place blackberries and remaining 2 tablespoons of sugar in a blender. Blend until smooth.", + "Combine simple syrup, blended blackberries, remaining 4 cups of water, and lemon juice. Place a fine-mesh sieve over a pitcher and pour lemonade into the pitcher. Discard solids. Serve over ice." + ], + "image": "homemade-blackberry-lemonade.jpg", + "source": "https://www.allrecipes.com/recipe/280577/homemade-blackberry-lemonade/", + "keywords": [ + "blackberry", + "lemonade" + ] } \ No newline at end of file diff --git a/src/recipes/homemade-whiteclaw.json b/src/recipes/homemade-whiteclaw.json index a54aa4b70..1752aa1d4 100644 --- a/src/recipes/homemade-whiteclaw.json +++ b/src/recipes/homemade-whiteclaw.json @@ -1,33 +1,33 @@ -{ - "name": "The Homemade Whiteclaw", - "description": "This summery drink took America by storm in 2019, now make it at home for a fraction of the cost.", - "github": "grilam14", - "ingredients": [ - { - "quantity": "1.5oz", - "measure": "oz", - "ingredient": "Sobieski Vodka" - }, - { - "quantity": "0.2", - "measure": "oz", - "ingredient": "Lime Juice" - }, - { - "quantity": "5", - "measure": "oz", - "ingredient": "Club Soda" - } - ], - "directions": [ - "Pour ingredients into a cup.", - "Stir." - ], - "image": "vodka-soda.jpg", - "source": "https://drizly.com/vodka-soda/r-bdb7ec76e205f6e8", - "keywords": [ - "alcoholic", - "vegan", - "citrus" - ] -} +{ + "name": "The Homemade Whiteclaw", + "description": "This summery drink took America by storm in 2019, now make it at home for a fraction of the cost.", + "github": "grilam14", + "ingredients": [ + { + "quantity": "1.5oz", + "measure": "oz", + "ingredient": "Sobieski Vodka" + }, + { + "quantity": "0.2", + "measure": "oz", + "ingredient": "Lime Juice" + }, + { + "quantity": "5", + "measure": "oz", + "ingredient": "Club Soda" + } + ], + "directions": [ + "Pour ingredients into a cup.", + "Stir." + ], + "image": "vodka-soda.jpg", + "source": "https://drizly.com/vodka-soda/r-bdb7ec76e205f6e8", + "keywords": [ + "alcoholic", + "vegan", + "citrus" + ] +} diff --git a/src/recipes/honey-bee-mine.json b/src/recipes/honey-bee-mine.json index c0867fde7..8a8005a3b 100644 --- a/src/recipes/honey-bee-mine.json +++ b/src/recipes/honey-bee-mine.json @@ -1,40 +1,40 @@ -{ - "name": "Honey Bee Mine", - "description": "Honey and vanilla laced with white rum and charged with champagne. Perfect for Valentine's Day. Created February 2014 by Simon Difford at the Cabinet Room, London, England.", - "github": "extraalek", - "ingredients": [ - { - "quantity": "2", - "measure": "shot", - "ingredient": "Bacardi Carta Blanca Superior White Rum" - }, - { - "quantity": "3", - "measure": "spoon", - "ingredient": "Orange blossom honey" - }, - { - "quantity": "1/6", - "measure": "shot", - "ingredient": "vanilla extract" - }, - { - "quantity": "3/4", - "measure": "shot", - "ingredient": "Brut Champagne" - } - ], - "directions": [ - "Stir honey with rum in base of shaker to dissolve honey", - "Add vanilla essence", - "Shake with ice and fine strain into chilled glass", - "Top with champagne", - "Garnish with lemon zest twist (discarded) and honeycomb on rim" - ], - "image": "honey-bee-mine.jpg", - "source": "https://www.diffordsguide.com/cocktails/recipe/3332/honey-bee-mine", - "keywords": [ - "champagne", - "honey" - ] +{ + "name": "Honey Bee Mine", + "description": "Honey and vanilla laced with white rum and charged with champagne. Perfect for Valentine's Day. Created February 2014 by Simon Difford at the Cabinet Room, London, England.", + "github": "extraalek", + "ingredients": [ + { + "quantity": "2", + "measure": "shot", + "ingredient": "Bacardi Carta Blanca Superior White Rum" + }, + { + "quantity": "3", + "measure": "spoon", + "ingredient": "Orange blossom honey" + }, + { + "quantity": "1/6", + "measure": "shot", + "ingredient": "vanilla extract" + }, + { + "quantity": "3/4", + "measure": "shot", + "ingredient": "Brut Champagne" + } + ], + "directions": [ + "Stir honey with rum in base of shaker to dissolve honey", + "Add vanilla essence", + "Shake with ice and fine strain into chilled glass", + "Top with champagne", + "Garnish with lemon zest twist (discarded) and honeycomb on rim" + ], + "image": "honey-bee-mine.jpg", + "source": "https://www.diffordsguide.com/cocktails/recipe/3332/honey-bee-mine", + "keywords": [ + "champagne", + "honey" + ] } \ No newline at end of file diff --git a/src/recipes/honey-carrot.json b/src/recipes/honey-carrot.json index 7e18759f8..e9b4ff090 100644 --- a/src/recipes/honey-carrot.json +++ b/src/recipes/honey-carrot.json @@ -1,42 +1,42 @@ -{ - "name": "Honey Carrot Juice", - "description": "Indonesian juice which takes care of your health, especially your eyes and prevent the emergence of various diseases due to lack of substances contained in carrots and real honey.", - "github": "coroo", - "ingredients": [ - { - "quantity": "2", - "measure": "medium", - "ingredient": "carrots" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "honey" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "of water" - } - ], - "directions": [ - "Wash carrots thoroughly.", - "Slice according to taste so it is easy when blended.", - "Add 2 tablespoons of honey or according to taste.", - "Give a little sugar 1 teaspoon or according to taste.", - "Add 1 small glass of water or use a cup.", - "Last but not least, blend until deemed quite smooth." - ], - "image": "honey-carrot.jpg", - "keywords": [ - "carrot", - "honey", - "non-alcoholic", - "fresh" - ] -} +{ + "name": "Honey Carrot Juice", + "description": "Indonesian juice which takes care of your health, especially your eyes and prevent the emergence of various diseases due to lack of substances contained in carrots and real honey.", + "github": "coroo", + "ingredients": [ + { + "quantity": "2", + "measure": "medium", + "ingredient": "carrots" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "honey" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "of water" + } + ], + "directions": [ + "Wash carrots thoroughly.", + "Slice according to taste so it is easy when blended.", + "Add 2 tablespoons of honey or according to taste.", + "Give a little sugar 1 teaspoon or according to taste.", + "Add 1 small glass of water or use a cup.", + "Last but not least, blend until deemed quite smooth." + ], + "image": "honey-carrot.jpg", + "keywords": [ + "carrot", + "honey", + "non-alcoholic", + "fresh" + ] +} diff --git a/src/recipes/honey-egg-juice.json b/src/recipes/honey-egg-juice.json index 8f5b73e4e..a0d894fa8 100644 --- a/src/recipes/honey-egg-juice.json +++ b/src/recipes/honey-egg-juice.json @@ -1,56 +1,56 @@ -{ - "name": "Honey Egg Juice", - "description": "One of the Taiwanese classic drink made with egg yolk, honey and some fruit juice.", - "github": "jyzeng17", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "egg yolk" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "milk" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "lemon juice" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "orange juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "honey" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Calpis" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - } - ], - "directions": [ - "Place all the ingredients in a beverage shaker.", - "Shake well and pour it into a glass.", - "Voilà!" - ], - "image": "honey-egg-juice.jpg", - "keywords": [ - "taiwan", - "non-alcoholic", - "fruit", - "sweet", - "sour", - "refreshing" - ] -} +{ + "name": "Honey Egg Juice", + "description": "One of the Taiwanese classic drink made with egg yolk, honey and some fruit juice.", + "github": "jyzeng17", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "egg yolk" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "milk" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "lemon juice" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "orange juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "honey" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Calpis" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + } + ], + "directions": [ + "Place all the ingredients in a beverage shaker.", + "Shake well and pour it into a glass.", + "Voilà!" + ], + "image": "honey-egg-juice.jpg", + "keywords": [ + "taiwan", + "non-alcoholic", + "fruit", + "sweet", + "sour", + "refreshing" + ] +} diff --git a/src/recipes/honey-spearmint-tea.json b/src/recipes/honey-spearmint-tea.json index c145e4ef8..53f5a6f28 100644 --- a/src/recipes/honey-spearmint-tea.json +++ b/src/recipes/honey-spearmint-tea.json @@ -1,31 +1,31 @@ -{ - "name": "Honey Spearmint Tea", - "description": "Tea that helps soothe your throat.", - "github": "zMrKrabz", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Spearmint Tea" - }, - { - "quantity": "1-2", - "measure": "teaspoon", - "ingredient": "Honey" - } - ], - "directions": [ - "Pour boiling water into a teapot, then add a tea bag.", - "After a few minutes, pour tea into a cup.", - "Add 1-2 teaspoons of honey to the cup.", - "Stir, making the honey somewhat dissolve.", - "Enjoy." - ], - "image": "honey-spearmint-tea.jpg", - "source": "https://articles.mercola.com/teas/spearmint-tea.aspx", - "keywords": [ - "tea", - "sweet", - "mint" - ] -} +{ + "name": "Honey Spearmint Tea", + "description": "Tea that helps soothe your throat.", + "github": "zMrKrabz", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Spearmint Tea" + }, + { + "quantity": "1-2", + "measure": "teaspoon", + "ingredient": "Honey" + } + ], + "directions": [ + "Pour boiling water into a teapot, then add a tea bag.", + "After a few minutes, pour tea into a cup.", + "Add 1-2 teaspoons of honey to the cup.", + "Stir, making the honey somewhat dissolve.", + "Enjoy." + ], + "image": "honey-spearmint-tea.jpg", + "source": "https://articles.mercola.com/teas/spearmint-tea.aspx", + "keywords": [ + "tea", + "sweet", + "mint" + ] +} diff --git a/src/recipes/horachata.json b/src/recipes/horachata.json index 411d9eab2..05cf12e70 100644 --- a/src/recipes/horachata.json +++ b/src/recipes/horachata.json @@ -1,57 +1,57 @@ -{ - "name": "Horchata", - "description": "A deliciously milky drink from Valencia made with tiger nuts. You can add Gin and make it a Horchata-libre", - "github": "beat-tech", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Tiger nuts" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "cold water" - }, - { - "quantity": "1/4", - "measure": "tsp", - "ingredient": "cinnamon powder" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "lemon zest" - }, - { - "quantity": "", - "measure": "tablespoon", - "ingredient": "white sugar" - }, - { - "quantity": "1", - "measure": "cups", - "ingredient": "Gin" - } - - - ], - "directions": [ - "Add 2 cups of raw tiger nuts into a large bowl and fill with water, about 1 inch above the tiger nuts and soak them for 24 hours.", - "After 24 hours drain the tiger nuts, rinse them under cold water and add half of them to a blender, also add 1/2 of the cold water (2 1/4 cups) and blend until well combined, then add the remainder of the tiger nuts, the remainder of the cold water (2 1/4 cups), a 1/4 teaspoon of cinnamon powder and some fresh lemon zest, blend until well .", - "Run the mixture through a sieve and into a large bowl, using a wooden spoon push down on the mixture to release all the liquid into the bowl, once done discard what is in the sieve.", - "Transfer the liquid into a pitcher, add 2 tablespoons of white sugar and mix together, add the pitcher into the fridge for at least 4 hours to let all the flavors develop.", - "After 4 hours your horchata de chufas is ready to be served, give the horchata a quick mix and transfer into tall glasses, add a straw to drink, remember to always serve this horchata very cold.", - "You can add Gin." - ], - "image": "horchata.jpg", - "keywords": [ - "horchata", - "milk", - "nuts", - "creamy", - "cinnamon", - "sugar", - "Gin" - ] -} +{ + "name": "Horchata", + "description": "A deliciously milky drink from Valencia made with tiger nuts. You can add Gin and make it a Horchata-libre", + "github": "beat-tech", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Tiger nuts" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "cold water" + }, + { + "quantity": "1/4", + "measure": "tsp", + "ingredient": "cinnamon powder" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "lemon zest" + }, + { + "quantity": "", + "measure": "tablespoon", + "ingredient": "white sugar" + }, + { + "quantity": "1", + "measure": "cups", + "ingredient": "Gin" + } + + + ], + "directions": [ + "Add 2 cups of raw tiger nuts into a large bowl and fill with water, about 1 inch above the tiger nuts and soak them for 24 hours.", + "After 24 hours drain the tiger nuts, rinse them under cold water and add half of them to a blender, also add 1/2 of the cold water (2 1/4 cups) and blend until well combined, then add the remainder of the tiger nuts, the remainder of the cold water (2 1/4 cups), a 1/4 teaspoon of cinnamon powder and some fresh lemon zest, blend until well .", + "Run the mixture through a sieve and into a large bowl, using a wooden spoon push down on the mixture to release all the liquid into the bowl, once done discard what is in the sieve.", + "Transfer the liquid into a pitcher, add 2 tablespoons of white sugar and mix together, add the pitcher into the fridge for at least 4 hours to let all the flavors develop.", + "After 4 hours your horchata de chufas is ready to be served, give the horchata a quick mix and transfer into tall glasses, add a straw to drink, remember to always serve this horchata very cold.", + "You can add Gin." + ], + "image": "horchata.jpg", + "keywords": [ + "horchata", + "milk", + "nuts", + "creamy", + "cinnamon", + "sugar", + "Gin" + ] +} diff --git a/src/recipes/hot-buttered-rum.json b/src/recipes/hot-buttered-rum.json index 17c7a51e8..3d9e44dee 100644 --- a/src/recipes/hot-buttered-rum.json +++ b/src/recipes/hot-buttered-rum.json @@ -1,64 +1,64 @@ -{ - "name": "Hot Buttered Rum", - "description": "A deliciously creamy drink with a kick to warm you up! Can be made virgin for the kids.", - "github": "varezf", - "ingredients": [ - { - "quantity": "1", - "measure": "pound", - "ingredient": "butter" - }, - { - "quantity": "1", - "measure": "pound", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "pound", - "ingredient": "confectioners sugar" - }, - { - "quantity": "1", - "measure": "quart", - "ingredient": "vanilla ice cream" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "ground cinnamon" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "ground nutmeg" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Rum" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Boiling water" - } - ], - "directions": [ - "Melt butter in a large pot over medium heat.", - "Blend in brown sugar and confectioners sugar and simmer for 1 min.", - "Remove from heat. Whisk in ice cream, cinnamon, and nutmeg. Pour mixture into a plastic container, seal, and freeze (can be safely frozen for a few months).", - "Measure ~1 tablespoon of the Hot Buttered Rum batter in a mug then fill cup with boiling water.", - "Add rum to taste (or similarly leave out the rum). Stir and sprinkle with nutmeg. Serve hot" - ], - "image": "hot-buttered-rum.jpg", - "keywords": [ - "hot", - "butter", - "rum", - "creamy", - "cinnamon", - "nutmeg", - "sugar" - ] -} +{ + "name": "Hot Buttered Rum", + "description": "A deliciously creamy drink with a kick to warm you up! Can be made virgin for the kids.", + "github": "varezf", + "ingredients": [ + { + "quantity": "1", + "measure": "pound", + "ingredient": "butter" + }, + { + "quantity": "1", + "measure": "pound", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "pound", + "ingredient": "confectioners sugar" + }, + { + "quantity": "1", + "measure": "quart", + "ingredient": "vanilla ice cream" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "ground cinnamon" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "ground nutmeg" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Rum" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Boiling water" + } + ], + "directions": [ + "Melt butter in a large pot over medium heat.", + "Blend in brown sugar and confectioners sugar and simmer for 1 min.", + "Remove from heat. Whisk in ice cream, cinnamon, and nutmeg. Pour mixture into a plastic container, seal, and freeze (can be safely frozen for a few months).", + "Measure ~1 tablespoon of the Hot Buttered Rum batter in a mug then fill cup with boiling water.", + "Add rum to taste (or similarly leave out the rum). Stir and sprinkle with nutmeg. Serve hot" + ], + "image": "hot-buttered-rum.jpg", + "keywords": [ + "hot", + "butter", + "rum", + "creamy", + "cinnamon", + "nutmeg", + "sugar" + ] +} diff --git a/src/recipes/hot-espresso.json b/src/recipes/hot-espresso.json index d41315586..b9278156a 100644 --- a/src/recipes/hot-espresso.json +++ b/src/recipes/hot-espresso.json @@ -1,32 +1,32 @@ -{ - "name": "Hot Espresso", - "description": "Morning boost espresso shots.", - "github": "cendekia", - "ingredients": [ - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "of coffee beans" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "of water" - } - ], - "directions": [ - "Tools that you need are AeroPress or similar, tablespoon and grinder", - "Stack your AeroPress.", - "Place a filter inside the drain cap—if you can use more than one to slow the flow of water when pressing.", - "Lightly rinse the filter and place the drain cap and filter inside the compartment of the press. Place the press on a stable cup or mug.", - "Prepare about 2 tablespoons of coffee by grinding the beans to a fine, table salt-like consistency.", - "Drop them into the filter. Note that adding more coffee than normal during these makeshift brewing sessions might work in your favor — it will create a more reliably concentrated shot.", - "Add approximately 3.5 fluid ounces of water, heated to about 200 degrees. Stir with the coffee. Then, press down on the plunger—hard. Remember, espresso depends on the pressure! Transfer your espresso (or coffee shot) into a demitasse and enjoy it!" - ], - "image": "hot-espresso.jpg", - "keywords": [ - "coffee", - "hot", - "vegan" - ] -} +{ + "name": "Hot Espresso", + "description": "Morning boost espresso shots.", + "github": "cendekia", + "ingredients": [ + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "of coffee beans" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "of water" + } + ], + "directions": [ + "Tools that you need are AeroPress or similar, tablespoon and grinder", + "Stack your AeroPress.", + "Place a filter inside the drain cap—if you can use more than one to slow the flow of water when pressing.", + "Lightly rinse the filter and place the drain cap and filter inside the compartment of the press. Place the press on a stable cup or mug.", + "Prepare about 2 tablespoons of coffee by grinding the beans to a fine, table salt-like consistency.", + "Drop them into the filter. Note that adding more coffee than normal during these makeshift brewing sessions might work in your favor — it will create a more reliably concentrated shot.", + "Add approximately 3.5 fluid ounces of water, heated to about 200 degrees. Stir with the coffee. Then, press down on the plunger—hard. Remember, espresso depends on the pressure! Transfer your espresso (or coffee shot) into a demitasse and enjoy it!" + ], + "image": "hot-espresso.jpg", + "keywords": [ + "coffee", + "hot", + "vegan" + ] +} diff --git a/src/recipes/hot-toddy.json b/src/recipes/hot-toddy.json index 38c61a8b8..db496b2ef 100644 --- a/src/recipes/hot-toddy.json +++ b/src/recipes/hot-toddy.json @@ -1,53 +1,53 @@ -{ - "name": "Hot Toddy", - "description": "A Hot Toddy is as classic as they come. The perfect drink to sip on when you're feeling under the weather or on a chilly Sunday afternoon. It will make you want to grab a good book and forget about all of your worries!", - "github": "dcorriveau", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "honey" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "lemon juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cinnamon stick" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lemon slice" - } - ], - "directions": [ - "Bring water to simmer in a teapot or a small saucepan.", - "Combine bourbon, honey, and lemon juice in a mug. Pour over hot water and stir to combine.", - "Garnish with cinnamon stick and lemon slice.", - "For a apple cider variation, Swap apple cider for the water and caramel for the honey." - ], - "image": "hot-toddy.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/a28845622/hot-toddy-drink-recipe/", - "keywords": [ - "honey", - "winter", - "lemon", - "bourbon", - "cinnamon" - ] -} - +{ + "name": "Hot Toddy", + "description": "A Hot Toddy is as classic as they come. The perfect drink to sip on when you're feeling under the weather or on a chilly Sunday afternoon. It will make you want to grab a good book and forget about all of your worries!", + "github": "dcorriveau", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "honey" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "lemon juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cinnamon stick" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lemon slice" + } + ], + "directions": [ + "Bring water to simmer in a teapot or a small saucepan.", + "Combine bourbon, honey, and lemon juice in a mug. Pour over hot water and stir to combine.", + "Garnish with cinnamon stick and lemon slice.", + "For a apple cider variation, Swap apple cider for the water and caramel for the honey." + ], + "image": "hot-toddy.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/a28845622/hot-toddy-drink-recipe/", + "keywords": [ + "honey", + "winter", + "lemon", + "bourbon", + "cinnamon" + ] +} + diff --git a/src/recipes/hot-water.json b/src/recipes/hot-water.json index 438a51d86..1f2ad9429 100644 --- a/src/recipes/hot-water.json +++ b/src/recipes/hot-water.json @@ -1,27 +1,27 @@ -{ - "name": "Hot Water", - "description": "Great for a cold day, any day.", - "github": "KevinLu", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Water" - } - ], - "directions": [ - "Take your water and put it in the kettle (as much or as little as you want).", - "Wait for the water to boil or reach your preferred temperature (90°C to 100°C should suffice).", - "Pour the hot water out from the kettle into a cup." - ], - "image": "hot-water.jpg", - "source": "Multiple years of water-boiling experience.", - "keywords": [ - "easy", - "hot", - "non-alcoholic", - "pure", - "vegan", - "water" - ] -} +{ + "name": "Hot Water", + "description": "Great for a cold day, any day.", + "github": "KevinLu", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Water" + } + ], + "directions": [ + "Take your water and put it in the kettle (as much or as little as you want).", + "Wait for the water to boil or reach your preferred temperature (90°C to 100°C should suffice).", + "Pour the hot water out from the kettle into a cup." + ], + "image": "hot-water.jpg", + "source": "Multiple years of water-boiling experience.", + "keywords": [ + "easy", + "hot", + "non-alcoholic", + "pure", + "vegan", + "water" + ] +} diff --git a/src/recipes/hurricane.json b/src/recipes/hurricane.json index 4659e03a0..3f6accb54 100644 --- a/src/recipes/hurricane.json +++ b/src/recipes/hurricane.json @@ -1,76 +1,76 @@ -{ - "name": "Hurricane", - "description": "Adapted from Jeff Berry's 1998 Beachbum Berry's Grog Log recipe, which is supposed to be the original 1960s recipe used at Pat O'Brien's in New Orleans. The recipe was adapted from the rum and juice combination that was served at the Hurricane bar in 1939 during the World's Fair in New York.", - "github": "ClaudioFuriniJr", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "White Rum" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Navy Rum" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Orange juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Pineapple juice" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "Lemon juice" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "Passion fruit syrup" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "Cordial Lemon" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Cherry" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Pineapple" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Fill a cocktail shaker with ice.", - "Add all ingredients (liquids).", - "Strain the content in a tall glass.", - "Add the cherry and slice of pineapple for decoration." - ], - "image": "hurricane.jpg", - "source": "https://www.absolutdrinks.com/pt/drinks/hurricane/", - "keywords": [ - "alcoholic", - "rum", - "summer", - "pineapple", - "orange", - "juice", - "sweet", - "vegan", - "fresh" - ] -} +{ + "name": "Hurricane", + "description": "Adapted from Jeff Berry's 1998 Beachbum Berry's Grog Log recipe, which is supposed to be the original 1960s recipe used at Pat O'Brien's in New Orleans. The recipe was adapted from the rum and juice combination that was served at the Hurricane bar in 1939 during the World's Fair in New York.", + "github": "ClaudioFuriniJr", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "White Rum" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Navy Rum" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Orange juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Pineapple juice" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "Lemon juice" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "Passion fruit syrup" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "Cordial Lemon" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Cherry" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Pineapple" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Fill a cocktail shaker with ice.", + "Add all ingredients (liquids).", + "Strain the content in a tall glass.", + "Add the cherry and slice of pineapple for decoration." + ], + "image": "hurricane.jpg", + "source": "https://www.absolutdrinks.com/pt/drinks/hurricane/", + "keywords": [ + "alcoholic", + "rum", + "summer", + "pineapple", + "orange", + "juice", + "sweet", + "vegan", + "fresh" + ] +} diff --git a/src/recipes/ice-cold-water.json b/src/recipes/ice-cold-water.json index a25e204b6..483ac67fa 100644 --- a/src/recipes/ice-cold-water.json +++ b/src/recipes/ice-cold-water.json @@ -1,32 +1,32 @@ -{ - "name": "Ice Cold Water", - "description": "A favourite thirst quencher.", - "github": "Gareth-Jones-ZA", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Water" - } - ], - "directions": [ - "Start off with an empty glass.", - "Add an ice block.", - "Add your water into the glass.", - "Serve chilled." - ], - "image": "ice-cold-water.jpg", - "keywords": [ - "water", - "pure", - "ice", - "easy", - "non-alcoholic", - "vegan" - ] -} +{ + "name": "Ice Cold Water", + "description": "A favourite thirst quencher.", + "github": "Gareth-Jones-ZA", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Water" + } + ], + "directions": [ + "Start off with an empty glass.", + "Add an ice block.", + "Add your water into the glass.", + "Serve chilled." + ], + "image": "ice-cold-water.jpg", + "keywords": [ + "water", + "pure", + "ice", + "easy", + "non-alcoholic", + "vegan" + ] +} diff --git a/src/recipes/iced-coffee-frappe.json b/src/recipes/iced-coffee-frappe.json index f47cbc357..e082a843a 100644 --- a/src/recipes/iced-coffee-frappe.json +++ b/src/recipes/iced-coffee-frappe.json @@ -1,41 +1,41 @@ -{ - "name": "Iced Coffee Frappe", - "description": "Frappe is just a sweet iced coffee blended with milk and espresso.", - "github": "aindrila2412", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Instant Espresso Coffee" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Granulated Sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - } - ], - "directions": [ - "Prepare the espresso then chill it until completely cooled down.", - "Combine the espresso, milk, sugar and ice in a blender.", - "Blend on low speed, slowly increasing the speed to high, and blend until smooth.", - "Pour into glasses and serve right away." - ], - "image": "iced-coffee-frappe.jpg", - "keywords": [ - "coffee", - "espresso", - "granulated sugar", - "milk", - "ice" - ] -} +{ + "name": "Iced Coffee Frappe", + "description": "Frappe is just a sweet iced coffee blended with milk and espresso.", + "github": "aindrila2412", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Instant Espresso Coffee" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Granulated Sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + } + ], + "directions": [ + "Prepare the espresso then chill it until completely cooled down.", + "Combine the espresso, milk, sugar and ice in a blender.", + "Blend on low speed, slowly increasing the speed to high, and blend until smooth.", + "Pour into glasses and serve right away." + ], + "image": "iced-coffee-frappe.jpg", + "keywords": [ + "coffee", + "espresso", + "granulated sugar", + "milk", + "ice" + ] +} diff --git a/src/recipes/iced-matcha-latte.json b/src/recipes/iced-matcha-latte.json index a1d082c96..fb9d97a7c 100644 --- a/src/recipes/iced-matcha-latte.json +++ b/src/recipes/iced-matcha-latte.json @@ -1,48 +1,48 @@ -{ - "name": "Iced Matcha Latte", - "description": "This Iced Matcha Latte is a creamy and refreshing beverage, perfect for a morning or afternoon pick me up", - "github": "amgcheng", - "ingredients": [ - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Matcha Powder" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Syrup or Sugar or Honey" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Hot Water" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "Heavy Cream or Coffee Creamer" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Ice" - } - ], - "directions": [ - "Place Matcha Powder in small bowl", - "Add Hot Water and whisk until smooth with no lumps remaining", - "Place Ice in your glass", - "Pour Matcha and Water mixture into glass", - "Add Syrup to taste", - "Whisk Heavy Cream until frothy and desired thickness", - "Place whisked Heavy Cream on top", - "Enjoy with whisked Heavy Cream mixed into drink or sitting on top" - ], - "image": "iced-matcha-latte.jpg", - "keywords": [ - "matcha", - "latte", - "non-alcoholic" - ] -} +{ + "name": "Iced Matcha Latte", + "description": "This Iced Matcha Latte is a creamy and refreshing beverage, perfect for a morning or afternoon pick me up", + "github": "amgcheng", + "ingredients": [ + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Matcha Powder" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Syrup or Sugar or Honey" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Hot Water" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "Heavy Cream or Coffee Creamer" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Ice" + } + ], + "directions": [ + "Place Matcha Powder in small bowl", + "Add Hot Water and whisk until smooth with no lumps remaining", + "Place Ice in your glass", + "Pour Matcha and Water mixture into glass", + "Add Syrup to taste", + "Whisk Heavy Cream until frothy and desired thickness", + "Place whisked Heavy Cream on top", + "Enjoy with whisked Heavy Cream mixed into drink or sitting on top" + ], + "image": "iced-matcha-latte.jpg", + "keywords": [ + "matcha", + "latte", + "non-alcoholic" + ] +} diff --git a/src/recipes/immune-boosting-smoothie.json b/src/recipes/immune-boosting-smoothie.json index b2d3aa814..bb5b0517b 100644 --- a/src/recipes/immune-boosting-smoothie.json +++ b/src/recipes/immune-boosting-smoothie.json @@ -1,46 +1,46 @@ -{ - "name": "Immune Boosting Smoothie", - "description": "A tasty green smoothie to boost your immune system", - "github": "kschmitz123", - "ingredients": [ - { - "quantity": "1", - "measure": "apple", - "ingredient": "" - }, - { - "quantity": "1/2", - "measure": "banana", - "ingredient": "" - }, - { - "quantity": "1/2", - "measure": "lemon", - "ingredient": "" - }, - { - "quantity": "2", - "measure": "handful", - "ingredient": "spinach" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "ginger" - } - ], - "directions": [ - "Wash and cut the apple, banana and spinach. Then mix them in a blender.", - "Squeeze the lemon and add the juice, together with the ginger into the blender.", - "Pour into a glass and top with a pinch of cinnamon." - ], - "image": "immune-boosting-smoothie.jpg", - "source": "https://www.ndr.de/ratgeber/kochen/rezepte/rezeptdb6_id-12419_broadcast-1530_station-ndrtv.html", - "keywords": [ - "smoothie", - "healthy", - "non-alcoholic", - "banana", - "ginger" - ] -} +{ + "name": "Immune Boosting Smoothie", + "description": "A tasty green smoothie to boost your immune system", + "github": "kschmitz123", + "ingredients": [ + { + "quantity": "1", + "measure": "apple", + "ingredient": "" + }, + { + "quantity": "1/2", + "measure": "banana", + "ingredient": "" + }, + { + "quantity": "1/2", + "measure": "lemon", + "ingredient": "" + }, + { + "quantity": "2", + "measure": "handful", + "ingredient": "spinach" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "ginger" + } + ], + "directions": [ + "Wash and cut the apple, banana and spinach. Then mix them in a blender.", + "Squeeze the lemon and add the juice, together with the ginger into the blender.", + "Pour into a glass and top with a pinch of cinnamon." + ], + "image": "immune-boosting-smoothie.jpg", + "source": "https://www.ndr.de/ratgeber/kochen/rezepte/rezeptdb6_id-12419_broadcast-1530_station-ndrtv.html", + "keywords": [ + "smoothie", + "healthy", + "non-alcoholic", + "banana", + "ginger" + ] +} diff --git a/src/recipes/income-tax.json b/src/recipes/income-tax.json index 77143faec..d90b4b03f 100644 --- a/src/recipes/income-tax.json +++ b/src/recipes/income-tax.json @@ -1,47 +1,47 @@ -{ - "name": "Income Tax", - "description": "A citrusy gin cocktail.", - "github": "troy-johnson", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "gin" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "dry vermouth" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "sweet vermouth" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "orange juice" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Angostura bitters" - } - ], - "directions": [ - "Add gin, dry vermouth, sweet vermouth, orange juice, bitters, and ice in a shaker.", - "Shake until chilled.", - "Strain into a cocktail glass.", - "Garnish with orange peel if desired." - ], - "image": "income-tax.jpg", - "keywords": [ - "gin", - "vermouth", - "bitters", - "orange juice", - "citrus", - "vegan" - ] -} +{ + "name": "Income Tax", + "description": "A citrusy gin cocktail.", + "github": "troy-johnson", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "gin" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "dry vermouth" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "sweet vermouth" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "orange juice" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Angostura bitters" + } + ], + "directions": [ + "Add gin, dry vermouth, sweet vermouth, orange juice, bitters, and ice in a shaker.", + "Shake until chilled.", + "Strain into a cocktail glass.", + "Garnish with orange peel if desired." + ], + "image": "income-tax.jpg", + "keywords": [ + "gin", + "vermouth", + "bitters", + "orange juice", + "citrus", + "vegan" + ] +} diff --git a/src/recipes/index.js b/src/recipes/index.js index 3c4d013e8..089a96d70 100644 --- a/src/recipes/index.js +++ b/src/recipes/index.js @@ -1,140 +1,140 @@ -/* eslint-disable import/no-dynamic-require */ -/* eslint-disable global-require */ - -import featured from '../featured.json'; - -async function forEachParallel(arr, func) { - await Promise.all(arr.map(async item => func(item))); -} - -function requireAll(r) { - return r.keys(); -} - -const recipes = requireAll(require.context('./', true, /\.json$/)); - -function getRecipes() { - const items = []; - recipes.forEach(i => { - const r = i.replace('./', '').replace('.json', ''); - const item = require(`./${r}`); - item.filename = r; - items.push(item); - }); - return items; -} - -function getRecipesByKeywords(keyword) { - return getRecipes() - .filter(recipe => recipe.keywords) - .filter(recipe => recipe.keywords.some(recipeKey => recipeKey.toLowerCase() === keyword)); -} - -function getRecipe(id) { - const r = id.replace('./', '').replace('.json', ''); - - try { - const item = require(`./${r}`); - item.filename = r; - item.img = require(`../assets/recipes/${item.image}`); - return item; - } catch (e) { - return {}; - } -} - -function getRandom() { - const rand = recipes[Math.floor(Math.random() * recipes.length)]; - return rand; -} - -async function getSimilarRecipe(id) { - const { keywords, ingredients, name } = getRecipe(id); - const similarities = []; - await forEachParallel(recipes, recipe => { - const { keywords: currKeywords, ingredients: currIngredients, name: currName } = getRecipe( - recipe, - ); - - if (name === currName) { - return; - } - - similarities.push({ - id: recipe, - recipe: currName, - tags: [], - }); - - currIngredients.forEach(ingredient => { - if (ingredients.includes(ingredient)) { - similarities[similarities.length - 1].tags.push(ingredient); - } - }); - - if (currKeywords && keywords) { - currKeywords.forEach(keyword => { - if (keywords.includes(keyword)) { - similarities[similarities.length - 1].tags.push(keyword); - } - }); - } - }); - similarities.sort((a, b) => b.tags.length - a.tags.length); - return similarities; -} - -function getAllKeywords() { - const keywords = new Set(); - const drinks = getRecipes(); - - drinks.forEach(drink => { - if (drink.keywords) { - drink.keywords.forEach(keyword => { - keywords.add(keyword.toLowerCase()); - }); - } - }); - - return Array.from(keywords); -} - -function getAllKeywordsWithCount() { - const keywordMap = new Map(); - const keywords = []; - const drinks = getRecipes(); - - drinks.forEach(drink => { - if (drink.keywords) { - drink.keywords - .map(keyword => keyword.toLowerCase()) - .forEach(keyword => { - keywordMap.set(keyword, keywordMap.has(keyword) ? keywordMap.get(keyword) + 1 : 1); - }); - } - }); - - keywordMap.forEach((value, key) => keywords.push({ keyword: key, count: value })); - - return keywords; -} - -function getFavoritedRecipes(favorites) { - return getRecipes().filter(recipe => favorites.some(favorite => favorite === recipe.name)); -} - -function getFeaturedRecipes() { - return featured.filter(feature => feature.enabled !== false); -} - -export default { - getAllKeywords, - getAllKeywordsWithCount, - getRecipes, - getRecipesByKeywords, - getRecipe, - getRandom, - getSimilarRecipe, - getFavoritedRecipes, - getFeaturedRecipes, -}; +/* eslint-disable import/no-dynamic-require */ +/* eslint-disable global-require */ + +import featured from '../featured.json'; + +async function forEachParallel(arr, func) { + await Promise.all(arr.map(async item => func(item))); +} + +function requireAll(r) { + return r.keys(); +} + +const recipes = requireAll(require.context('./', true, /\.json$/)); + +function getRecipes() { + const items = []; + recipes.forEach(i => { + const r = i.replace('./', '').replace('.json', ''); + const item = require(`./${r}`); + item.filename = r; + items.push(item); + }); + return items; +} + +function getRecipesByKeywords(keyword) { + return getRecipes() + .filter(recipe => recipe.keywords) + .filter(recipe => recipe.keywords.some(recipeKey => recipeKey.toLowerCase() === keyword)); +} + +function getRecipe(id) { + const r = id.replace('./', '').replace('.json', ''); + + try { + const item = require(`./${r}`); + item.filename = r; + item.img = require(`../assets/recipes/${item.image}`); + return item; + } catch (e) { + return {}; + } +} + +function getRandom() { + const rand = recipes[Math.floor(Math.random() * recipes.length)]; + return rand; +} + +async function getSimilarRecipe(id) { + const { keywords, ingredients, name } = getRecipe(id); + const similarities = []; + await forEachParallel(recipes, recipe => { + const { keywords: currKeywords, ingredients: currIngredients, name: currName } = getRecipe( + recipe, + ); + + if (name === currName) { + return; + } + + similarities.push({ + id: recipe, + recipe: currName, + tags: [], + }); + + currIngredients.forEach(ingredient => { + if (ingredients.includes(ingredient)) { + similarities[similarities.length - 1].tags.push(ingredient); + } + }); + + if (currKeywords && keywords) { + currKeywords.forEach(keyword => { + if (keywords.includes(keyword)) { + similarities[similarities.length - 1].tags.push(keyword); + } + }); + } + }); + similarities.sort((a, b) => b.tags.length - a.tags.length); + return similarities; +} + +function getAllKeywords() { + const keywords = new Set(); + const drinks = getRecipes(); + + drinks.forEach(drink => { + if (drink.keywords) { + drink.keywords.forEach(keyword => { + keywords.add(keyword.toLowerCase()); + }); + } + }); + + return Array.from(keywords); +} + +function getAllKeywordsWithCount() { + const keywordMap = new Map(); + const keywords = []; + const drinks = getRecipes(); + + drinks.forEach(drink => { + if (drink.keywords) { + drink.keywords + .map(keyword => keyword.toLowerCase()) + .forEach(keyword => { + keywordMap.set(keyword, keywordMap.has(keyword) ? keywordMap.get(keyword) + 1 : 1); + }); + } + }); + + keywordMap.forEach((value, key) => keywords.push({ keyword: key, count: value })); + + return keywords; +} + +function getFavoritedRecipes(favorites) { + return getRecipes().filter(recipe => favorites.some(favorite => favorite === recipe.name)); +} + +function getFeaturedRecipes() { + return featured.filter(feature => feature.enabled !== false); +} + +export default { + getAllKeywords, + getAllKeywordsWithCount, + getRecipes, + getRecipesByKeywords, + getRecipe, + getRandom, + getSimilarRecipe, + getFavoritedRecipes, + getFeaturedRecipes, +}; diff --git a/src/recipes/indian-summer.json b/src/recipes/indian-summer.json index d92765079..8d19ff5e4 100644 --- a/src/recipes/indian-summer.json +++ b/src/recipes/indian-summer.json @@ -1,60 +1,60 @@ -{ - "name": "Indian Summer", - "description": "Indian Summer is a vodka-based cocktail made with summer-themed fruits.", - "github": "the-bose", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "ice" - }, - { - "quantity": "60", - "measure": "mL", - "ingredient": "vodka" - }, - { - "quantity": "60", - "measure": "gram", - "ingredient": "mangoes" - }, - { - "quantity": "6-8", - "measure": "leaves", - "ingredient": "fresh mint" - }, - { - "quantity": "1", - "measure": "inch", - "ingredient": "ginger" - }, - { - "quantity": "20", - "measure": "mL", - "ingredient": "sweet and sour soup" - }, - { - "quantity": "15", - "measure": "mL", - "ingredient": "lime juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "mint sprig" - } - ], - "directions": [ - "Add the vodka, fresh mangoes, mint leaves, ginger, lime juice, sweet and sour along with a few ice cubes in a blender.", - "Blend until well combined.", - "Pour it in a margarita glass and serve frozen garnished with a mint sprig." - ], - "image": "indian-summer.jpg", - "keywords": [ - "alcoholic", - "summer", - "mango", - "indian", - "cocktail" - ] -} +{ + "name": "Indian Summer", + "description": "Indian Summer is a vodka-based cocktail made with summer-themed fruits.", + "github": "the-bose", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "ice" + }, + { + "quantity": "60", + "measure": "mL", + "ingredient": "vodka" + }, + { + "quantity": "60", + "measure": "gram", + "ingredient": "mangoes" + }, + { + "quantity": "6-8", + "measure": "leaves", + "ingredient": "fresh mint" + }, + { + "quantity": "1", + "measure": "inch", + "ingredient": "ginger" + }, + { + "quantity": "20", + "measure": "mL", + "ingredient": "sweet and sour soup" + }, + { + "quantity": "15", + "measure": "mL", + "ingredient": "lime juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "mint sprig" + } + ], + "directions": [ + "Add the vodka, fresh mangoes, mint leaves, ginger, lime juice, sweet and sour along with a few ice cubes in a blender.", + "Blend until well combined.", + "Pour it in a margarita glass and serve frozen garnished with a mint sprig." + ], + "image": "indian-summer.jpg", + "keywords": [ + "alcoholic", + "summer", + "mango", + "indian", + "cocktail" + ] +} diff --git a/src/recipes/indonesian-avocado-milkshake.json b/src/recipes/indonesian-avocado-milkshake.json index acee7df2e..1aee94dad 100644 --- a/src/recipes/indonesian-avocado-milkshake.json +++ b/src/recipes/indonesian-avocado-milkshake.json @@ -1,44 +1,44 @@ -{ - "name": "Indonesian Avocado Milkshake", - "description": "a yummy and healthy milkshake drink made from avocado blended with sweet condensed milk and chocolate syrup.", - "github": "cendekia", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "ripe Hass avocado" - }, - { - "quantity": "2 1/2", - "measure": "cups", - "ingredient": "of whole milk" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "agave" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "lime juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Chocolate syrup" - } - ], - "directions": [ - "Add the avocado flesh, the milk, the agave and the lime juice in a blender and blend until smooth and creamy.", - "Squirt the chocolate syrup into the sides of the glasses.", - "Pour the shake into the glasses and serve." - ], - "image": "indonesian-avocado-milkshake.jpg", - "keywords": [ - "milkshake", - "avocado", - "milk", - "non-alcoholic" - ] -} +{ + "name": "Indonesian Avocado Milkshake", + "description": "a yummy and healthy milkshake drink made from avocado blended with sweet condensed milk and chocolate syrup.", + "github": "cendekia", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "ripe Hass avocado" + }, + { + "quantity": "2 1/2", + "measure": "cups", + "ingredient": "of whole milk" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "agave" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "lime juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Chocolate syrup" + } + ], + "directions": [ + "Add the avocado flesh, the milk, the agave and the lime juice in a blender and blend until smooth and creamy.", + "Squirt the chocolate syrup into the sides of the glasses.", + "Pour the shake into the glasses and serve." + ], + "image": "indonesian-avocado-milkshake.jpg", + "keywords": [ + "milkshake", + "avocado", + "milk", + "non-alcoholic" + ] +} diff --git a/src/recipes/irish-blues.json b/src/recipes/irish-blues.json index 39be18b18..99b86ff10 100644 --- a/src/recipes/irish-blues.json +++ b/src/recipes/irish-blues.json @@ -1,45 +1,45 @@ -{ - "name": "Irish Blues", - "description": "The Irish Blues is a brown drink made from Smirnoff blueberry vodka, Bailey's Irish cream, Cointreau orange liqueur and light cream, and served over ice in a rocks glass.", - "github": "primes2h", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Blueberry Vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Irish Cream" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "Cointreau" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "Light cream" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Cherry" - } - ], - "directions": [ - "Shake all ingredients with ice in a cocktail shaker.", - "Strain into a rocks glass full of ice.", - "Garnish with a cherry." - ], - "image": "irish-blues.jpg", - "keywords": [ - "vodka", - "liqueur", - "cherry", - "alcoholic", - "cream" - ] -} +{ + "name": "Irish Blues", + "description": "The Irish Blues is a brown drink made from Smirnoff blueberry vodka, Bailey's Irish cream, Cointreau orange liqueur and light cream, and served over ice in a rocks glass.", + "github": "primes2h", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Blueberry Vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Irish Cream" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "Cointreau" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "Light cream" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Cherry" + } + ], + "directions": [ + "Shake all ingredients with ice in a cocktail shaker.", + "Strain into a rocks glass full of ice.", + "Garnish with a cherry." + ], + "image": "irish-blues.jpg", + "keywords": [ + "vodka", + "liqueur", + "cherry", + "alcoholic", + "cream" + ] +} diff --git a/src/recipes/irish-breakfast-shot.json b/src/recipes/irish-breakfast-shot.json index b0ed39ace..8b1f6f473 100644 --- a/src/recipes/irish-breakfast-shot.json +++ b/src/recipes/irish-breakfast-shot.json @@ -1,29 +1,29 @@ -{ - "name": "Irish Breakfast Shot", - "description": "Orange Juice and Jameson in a shot.", - "github": "cbowersock", - "ingredients": [ - { - "quantity": "2oz", - "measure": "shot glass", - "ingredient": "Jameson Irish Whiskey" - }, - { - "quantity": "1oz", - "measure": "shot glass", - "ingredient": "Orange Juice" - } - ], - "directions": [ - "Pour 2oz of Jameson into a small highball glass.", - "Add 1oz of orange juice and stir.", - "You're done!" - ], - "image": "irish-breakfast-shot.jpg", - "keywords": [ - "jameson", - "orange", - "juice", - "shot" - ] +{ + "name": "Irish Breakfast Shot", + "description": "Orange Juice and Jameson in a shot.", + "github": "cbowersock", + "ingredients": [ + { + "quantity": "2oz", + "measure": "shot glass", + "ingredient": "Jameson Irish Whiskey" + }, + { + "quantity": "1oz", + "measure": "shot glass", + "ingredient": "Orange Juice" + } + ], + "directions": [ + "Pour 2oz of Jameson into a small highball glass.", + "Add 1oz of orange juice and stir.", + "You're done!" + ], + "image": "irish-breakfast-shot.jpg", + "keywords": [ + "jameson", + "orange", + "juice", + "shot" + ] } \ No newline at end of file diff --git a/src/recipes/irish-car-bomb.json b/src/recipes/irish-car-bomb.json index b12daa6af..c8fe10bbb 100644 --- a/src/recipes/irish-car-bomb.json +++ b/src/recipes/irish-car-bomb.json @@ -1,33 +1,33 @@ -{ - "name": "Irish Car Bomb", - "description": "An Irish Car Bomb, Irish Slammer, Irish Bomb Shot, or Dublin Drop is a cocktail made by dropping a bomb shot of Irish cream and whiskey into a glass of stout.", - "github": "Linh0704", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Irish whiskey" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Baileys Irish Cream" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Guiness Beer" - } - ], - "directions": [ - "Add the Baileys and whiskey into a shot glass, pouring slowly to create a layered effect.", - "Drop the shot into a pint glass filled half to three-quarters with the Guinness.", - "Drink immediately." - ], - "image": "irish-car-bomb.jpg", - "keywords": [ - "whiskey", - "alcoholic", - "cream" - ] +{ + "name": "Irish Car Bomb", + "description": "An Irish Car Bomb, Irish Slammer, Irish Bomb Shot, or Dublin Drop is a cocktail made by dropping a bomb shot of Irish cream and whiskey into a glass of stout.", + "github": "Linh0704", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Irish whiskey" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Baileys Irish Cream" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Guiness Beer" + } + ], + "directions": [ + "Add the Baileys and whiskey into a shot glass, pouring slowly to create a layered effect.", + "Drop the shot into a pint glass filled half to three-quarters with the Guinness.", + "Drink immediately." + ], + "image": "irish-car-bomb.jpg", + "keywords": [ + "whiskey", + "alcoholic", + "cream" + ] } \ No newline at end of file diff --git a/src/recipes/irish-coffee.json b/src/recipes/irish-coffee.json index 33d8662f7..dde49938b 100644 --- a/src/recipes/irish-coffee.json +++ b/src/recipes/irish-coffee.json @@ -1,40 +1,40 @@ -{ - "name": "Irish Coffee", - "description": "Irish coffee is a cocktail of coffee, sugar, whiskey and cream. This drink was created by Joseph Sheridan in the late 1930s in Foynes, Ireland.", - "github": "vanoux", - "ingredients": [ - { - "quantity": "1 1/2 to 2", - "measure": "ounces", - "ingredient": "Irish whiskey," - }, - { - "quantity": "4", - "measure": "ounces", - "ingredient": "fresh-brewed coffee" - }, - { - "quantity": "1/2 to 1", - "measure": "ounce", - "ingredient": "sugar syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Heavy cream" - } - ], - "directions": [ - "Whip the cream until thick, but not stiff.", - "Combine the whiskey, sugar syrup and coffee In a pre-warmed toddy mug, irish coffee glass or sturdy wine glass (for more richness of flavor without added sweetness, try making the simple syrup using brown sugar or demerara sugar).", - "Stir to mix and gently spoon between 1/2 - 1 inch of cream atop the coffee mixture." - ], - "image": "irish-coffee.jpg", - "keywords": [ - "whiskey", - "coffee", - "heavy cream", - "sugar syrup", - "alcoholic" - ] -} +{ + "name": "Irish Coffee", + "description": "Irish coffee is a cocktail of coffee, sugar, whiskey and cream. This drink was created by Joseph Sheridan in the late 1930s in Foynes, Ireland.", + "github": "vanoux", + "ingredients": [ + { + "quantity": "1 1/2 to 2", + "measure": "ounces", + "ingredient": "Irish whiskey," + }, + { + "quantity": "4", + "measure": "ounces", + "ingredient": "fresh-brewed coffee" + }, + { + "quantity": "1/2 to 1", + "measure": "ounce", + "ingredient": "sugar syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Heavy cream" + } + ], + "directions": [ + "Whip the cream until thick, but not stiff.", + "Combine the whiskey, sugar syrup and coffee In a pre-warmed toddy mug, irish coffee glass or sturdy wine glass (for more richness of flavor without added sweetness, try making the simple syrup using brown sugar or demerara sugar).", + "Stir to mix and gently spoon between 1/2 - 1 inch of cream atop the coffee mixture." + ], + "image": "irish-coffee.jpg", + "keywords": [ + "whiskey", + "coffee", + "heavy cream", + "sugar syrup", + "alcoholic" + ] +} diff --git a/src/recipes/irish-winter.json b/src/recipes/irish-winter.json index 5985bfbfd..8573a489d 100644 --- a/src/recipes/irish-winter.json +++ b/src/recipes/irish-winter.json @@ -1,46 +1,46 @@ -{ - "name": "Irish Winter Spiked Coffee", - "description": "The Irish winter recipe offers a wonderful way to spike your coffee. It's a subtle transformation of the classic Irish coffee and is so easy to make that you'll be mixing it up regularly.", - "github": "divyhshah", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "Irish Whiskey" - }, - - { - "quantity": "3/4", - "measure": "ounces", - "ingredient": "coffee liqueur" - }, - - { - "quantity": "3/4", - "measure": "ounces", - "ingredient": "Irish cream liqueur" - }, - - { - "quantity": "4", - "measure": "ounces", - "ingredient": "coffee" - } - - - ], - "directions": [ - "Gather the ingredients.", - "Pour the Irish whiskey, coffee liqueur, and Irish cream in a warm mug or Irish coffee glass.", - "Fill with hot coffee.", - "Stir to combine", - "Top with whipped cream." - ], - "image": "irish-winter.jpg", - "keywords": [ - "coffee", - "irish", - "winter", - "Spiked" - ] +{ + "name": "Irish Winter Spiked Coffee", + "description": "The Irish winter recipe offers a wonderful way to spike your coffee. It's a subtle transformation of the classic Irish coffee and is so easy to make that you'll be mixing it up regularly.", + "github": "divyhshah", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "Irish Whiskey" + }, + + { + "quantity": "3/4", + "measure": "ounces", + "ingredient": "coffee liqueur" + }, + + { + "quantity": "3/4", + "measure": "ounces", + "ingredient": "Irish cream liqueur" + }, + + { + "quantity": "4", + "measure": "ounces", + "ingredient": "coffee" + } + + + ], + "directions": [ + "Gather the ingredients.", + "Pour the Irish whiskey, coffee liqueur, and Irish cream in a warm mug or Irish coffee glass.", + "Fill with hot coffee.", + "Stir to combine", + "Top with whipped cream." + ], + "image": "irish-winter.jpg", + "keywords": [ + "coffee", + "irish", + "winter", + "Spiked" + ] } \ No newline at end of file diff --git a/src/recipes/italian-cream-soda.json b/src/recipes/italian-cream-soda.json index 2a02a17c9..20c955e2f 100644 --- a/src/recipes/italian-cream-soda.json +++ b/src/recipes/italian-cream-soda.json @@ -1,42 +1,42 @@ -{ - "name": "Italian Cream Soda", - "description": "A watermelon and passion fruit flavored Italian cream soda.", - "github": "ansidev", - "ingredients": [ - { - "quantity": "8", - "measure": "fluid ounces", - "ingredient": "carbonated water" - }, - { - "quantity": "¾", - "measure": "fluid ounce", - "ingredient": "passion fruit flavored syrup" - }, - { - "quantity": "¾", - "measure": "fluid ounce", - "ingredient": "watermelon flavored syrup" - }, - { - "quantity": "1", - "measure": "fluid ounce", - "ingredient": "half-and-half cream" - } - ], - "directions": [ - "Fill a tall glass half full with ice.", - "Fill to 2/3 with carbonated water.", - "Pour in watermelon and passion fruit flavored syrups, then float the half-and-half cream on top.", - "Stir when ready to drink." - ], - "image": "italian-cream-soda.jpg", - "source": "https://www.allrecipes.com/recipe/18943/italian-cream-soda/", - "keywords": [ - "cream soda", - "italian", - "carbonated", - "syrup", - "soda" - ] -} +{ + "name": "Italian Cream Soda", + "description": "A watermelon and passion fruit flavored Italian cream soda.", + "github": "ansidev", + "ingredients": [ + { + "quantity": "8", + "measure": "fluid ounces", + "ingredient": "carbonated water" + }, + { + "quantity": "¾", + "measure": "fluid ounce", + "ingredient": "passion fruit flavored syrup" + }, + { + "quantity": "¾", + "measure": "fluid ounce", + "ingredient": "watermelon flavored syrup" + }, + { + "quantity": "1", + "measure": "fluid ounce", + "ingredient": "half-and-half cream" + } + ], + "directions": [ + "Fill a tall glass half full with ice.", + "Fill to 2/3 with carbonated water.", + "Pour in watermelon and passion fruit flavored syrups, then float the half-and-half cream on top.", + "Stir when ready to drink." + ], + "image": "italian-cream-soda.jpg", + "source": "https://www.allrecipes.com/recipe/18943/italian-cream-soda/", + "keywords": [ + "cream soda", + "italian", + "carbonated", + "syrup", + "soda" + ] +} diff --git a/src/recipes/jack-frosties.json b/src/recipes/jack-frosties.json index 6d34d1f0c..5b8bba023 100644 --- a/src/recipes/jack-frosties.json +++ b/src/recipes/jack-frosties.json @@ -1,54 +1,54 @@ -{ - "name": "Jack Frosties", - "description": "When the winter blues come, this blended cocktail will make you forget all about it.", - "github": "yoji-kojio", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Prosecco" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Blue Curaçao" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "lemonade" - }, - { - "quantity": "6", - "measure": "cups", - "ingredient": "ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lemon wedge, for rimming" - }, - { - "quantity": "", - "measure": "", - "ingredient": "white sanding sugar, for rimming" - } - ], - "directions": [ - "In a blender, combine vodka, Prosecco, blue curaçao, lemonade, and ice. Blend until combined.", - "Run a lemon wedge around the rim of each glass then dip in sanding sugar.", - "Pour frosties into rimmed glasses and serve immediately." - ], - "image": "jack-frosties.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a56849/drunk-jack-frosties-recipe/", - "keywords": [ - "blue curaçao", - "prosecco", - "vodka" - ] -} +{ + "name": "Jack Frosties", + "description": "When the winter blues come, this blended cocktail will make you forget all about it.", + "github": "yoji-kojio", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Prosecco" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Blue Curaçao" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "lemonade" + }, + { + "quantity": "6", + "measure": "cups", + "ingredient": "ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lemon wedge, for rimming" + }, + { + "quantity": "", + "measure": "", + "ingredient": "white sanding sugar, for rimming" + } + ], + "directions": [ + "In a blender, combine vodka, Prosecco, blue curaçao, lemonade, and ice. Blend until combined.", + "Run a lemon wedge around the rim of each glass then dip in sanding sugar.", + "Pour frosties into rimmed glasses and serve immediately." + ], + "image": "jack-frosties.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a56849/drunk-jack-frosties-recipe/", + "keywords": [ + "blue curaçao", + "prosecco", + "vodka" + ] +} diff --git a/src/recipes/jacqueline.json b/src/recipes/jacqueline.json index 82844ba7c..914a85392 100644 --- a/src/recipes/jacqueline.json +++ b/src/recipes/jacqueline.json @@ -1,34 +1,34 @@ -{ - "name": "Jacqueline", - "description": "The Jaqueline cocktail is to white wine what the Monaco is to beer, that is to say a cocktail that mixes it with lemonade and grenadine.", - "github": "joshuaMart", - "ingredients": [ - { - "quantity": "1", - "measure": "cl", - "ingredient": "Grenadine syrup" - }, - { - "quantity": "8", - "measure": "cl", - "ingredient": "White wine" - }, - { - "quantity": "2", - "measure": "cl", - "ingredient": "Limonade" - } - ], - "directions": [ - "Place a few ice cubes in the bottom of a glass.", - "Add 1cl of grenadine.", - "Add 8cl of dry white wine", - "And finally 2cl of lemonade.", - "Stir a little before serving to ensure proper mixing." - ], - "image": "jacqueline.jpg", - "keywords": [ - "grenadine", - "wine" - ] -} +{ + "name": "Jacqueline", + "description": "The Jaqueline cocktail is to white wine what the Monaco is to beer, that is to say a cocktail that mixes it with lemonade and grenadine.", + "github": "joshuaMart", + "ingredients": [ + { + "quantity": "1", + "measure": "cl", + "ingredient": "Grenadine syrup" + }, + { + "quantity": "8", + "measure": "cl", + "ingredient": "White wine" + }, + { + "quantity": "2", + "measure": "cl", + "ingredient": "Limonade" + } + ], + "directions": [ + "Place a few ice cubes in the bottom of a glass.", + "Add 1cl of grenadine.", + "Add 8cl of dry white wine", + "And finally 2cl of lemonade.", + "Stir a little before serving to ensure proper mixing." + ], + "image": "jacqueline.jpg", + "keywords": [ + "grenadine", + "wine" + ] +} diff --git a/src/recipes/jager-ginger.json b/src/recipes/jager-ginger.json index cd7f854e1..c018366d0 100644 --- a/src/recipes/jager-ginger.json +++ b/src/recipes/jager-ginger.json @@ -1,39 +1,39 @@ -{ - "name": "Jäger Ginger", - "description": "Star of the night, it is drunk iced in shot or long drinks, since 85 years. Its incomparable and slightly bitter taste seduces from Berlin to Tokyo.", - "github": "joshuaMart", - "ingredients": [ - { - "quantity": "4", - "measure": "cl", - "ingredient": "Jägermeister" - }, - { - "quantity": "1", - "measure": "quarter", - "ingredient": "Lime wedge" - }, - { - "quantity": "1", - "measure": "Slice", - "ingredient": "Cucumber" - }, - { - "quantity": "20", - "measure": "cl", - "ingredient": "Ginger Beer" - } - ], - "directions": [ - "Fill a cocktail glass halfway with ice cubes.", - "Pour the Jägermeister, squeeze the lime and add the ginger beer.", - "Mix and decorate with the cucumber." - ], - "image": "jager-ginger.jpg", - "keywords": [ - "jägermeister", - "cucumber", - "lime", - "beer" - ] -} +{ + "name": "Jäger Ginger", + "description": "Star of the night, it is drunk iced in shot or long drinks, since 85 years. Its incomparable and slightly bitter taste seduces from Berlin to Tokyo.", + "github": "joshuaMart", + "ingredients": [ + { + "quantity": "4", + "measure": "cl", + "ingredient": "Jägermeister" + }, + { + "quantity": "1", + "measure": "quarter", + "ingredient": "Lime wedge" + }, + { + "quantity": "1", + "measure": "Slice", + "ingredient": "Cucumber" + }, + { + "quantity": "20", + "measure": "cl", + "ingredient": "Ginger Beer" + } + ], + "directions": [ + "Fill a cocktail glass halfway with ice cubes.", + "Pour the Jägermeister, squeeze the lime and add the ginger beer.", + "Mix and decorate with the cucumber." + ], + "image": "jager-ginger.jpg", + "keywords": [ + "jägermeister", + "cucumber", + "lime", + "beer" + ] +} diff --git a/src/recipes/jagerbomb.json b/src/recipes/jagerbomb.json index 760c79619..4fcf42603 100644 --- a/src/recipes/jagerbomb.json +++ b/src/recipes/jagerbomb.json @@ -1,29 +1,29 @@ -{ - "name": "Jägerbomb", - "description": "The Jägerbomb is a bomb mixed drink made by dropping a shot of Jägermeister into an energy drink, typically Red Bull.", - "github": "kaczmarekdaniel", - "ingredients": [ - { - "quantity": "20", - "measure": "ml", - "ingredient": "Jägermeister" - }, - { - "quantity": "200", - "measure": "ml", - "ingredient": "Red Bull" - } - - ], - "directions": [ - "Pour Red Bull in highball glass", - "Gently put a shot of Jägerbomb in glass", - "Serve and enjoy!" - ], - "image": "jagerbomb.jpg", - "keywords": [ - "Jägermeister", - "red bull", - "alcoholic" - ] -} +{ + "name": "Jägerbomb", + "description": "The Jägerbomb is a bomb mixed drink made by dropping a shot of Jägermeister into an energy drink, typically Red Bull.", + "github": "kaczmarekdaniel", + "ingredients": [ + { + "quantity": "20", + "measure": "ml", + "ingredient": "Jägermeister" + }, + { + "quantity": "200", + "measure": "ml", + "ingredient": "Red Bull" + } + + ], + "directions": [ + "Pour Red Bull in highball glass", + "Gently put a shot of Jägerbomb in glass", + "Serve and enjoy!" + ], + "image": "jagerbomb.jpg", + "keywords": [ + "Jägermeister", + "red bull", + "alcoholic" + ] +} diff --git a/src/recipes/jaljeera.json b/src/recipes/jaljeera.json index 3c8243654..ab8f706f6 100644 --- a/src/recipes/jaljeera.json +++ b/src/recipes/jaljeera.json @@ -1,84 +1,84 @@ -{ - "name": "Jaljeera", - "description": "Jaljeera is a Indian summer drink jal means water and jeera means cumin. The beverage form is essentially lemonade and jaljira powder, and is a popular summer drink in India.", - "github": "cyborgboy", - - "ingredients": [ - { - "quantity": "half ", - "measure": "cup", - "ingredient": "mint leaves" - }, - { - "quantity": "6", - "measure": "tablespoon", - "ingredient": "lemon juice" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "black salt" - }, - { - "quantity": "8", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "cumin seeds" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "coriander leaves" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "ginger" - }, - { - "quantity": "4", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "asafoetida" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "tamarind seedless" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "salt" - } - ], - "directions": [ - "Clean and wash the mint and coriander leaves. Then finely chop the leaves.", - "Take a large glass bowl and add chopped mint leaves, chopped coriander leaves, seedless tamarind, roasted cumin seeds, chopped ginger in a blender jar along with asafoetida, salt, black salt, sugar, and lemon juice.", - "Add four cups of water in the jar and blend the mixture until all the ingredients are completely blended together.", - "When done, strain the mixture into a bowl and discard the roughage remaining of the mixture. Meanwhile, arrange the glasses on the clean and dry counters.Pour the mixture equally in the glasses and also pour the remaining water in the glasses, mix well. Also, put the 2-4 ice cubes in the glasses. Serve immediately." - ], - "image": "jaljeera.jpg", - "source": "https://recipes.timesofindia.com/beverage/non-alcoholic/jaljeera/rs61103953.cms", - "keywords": [ - "summer", - "Indian", - "non-alcoholic", - "lime", - "water" - ] - -} +{ + "name": "Jaljeera", + "description": "Jaljeera is a Indian summer drink jal means water and jeera means cumin. The beverage form is essentially lemonade and jaljira powder, and is a popular summer drink in India.", + "github": "cyborgboy", + + "ingredients": [ + { + "quantity": "half ", + "measure": "cup", + "ingredient": "mint leaves" + }, + { + "quantity": "6", + "measure": "tablespoon", + "ingredient": "lemon juice" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "black salt" + }, + { + "quantity": "8", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "cumin seeds" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "coriander leaves" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "ginger" + }, + { + "quantity": "4", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "asafoetida" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "tamarind seedless" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "salt" + } + ], + "directions": [ + "Clean and wash the mint and coriander leaves. Then finely chop the leaves.", + "Take a large glass bowl and add chopped mint leaves, chopped coriander leaves, seedless tamarind, roasted cumin seeds, chopped ginger in a blender jar along with asafoetida, salt, black salt, sugar, and lemon juice.", + "Add four cups of water in the jar and blend the mixture until all the ingredients are completely blended together.", + "When done, strain the mixture into a bowl and discard the roughage remaining of the mixture. Meanwhile, arrange the glasses on the clean and dry counters.Pour the mixture equally in the glasses and also pour the remaining water in the glasses, mix well. Also, put the 2-4 ice cubes in the glasses. Serve immediately." + ], + "image": "jaljeera.jpg", + "source": "https://recipes.timesofindia.com/beverage/non-alcoholic/jaljeera/rs61103953.cms", + "keywords": [ + "summer", + "Indian", + "non-alcoholic", + "lime", + "water" + ] + +} diff --git a/src/recipes/jam-band.json b/src/recipes/jam-band.json index a8d55f2c3..b9719319b 100644 --- a/src/recipes/jam-band.json +++ b/src/recipes/jam-band.json @@ -1,56 +1,56 @@ -{ - "name": "Jam Band", - "description": "A delightfully botanical gin cocktail.", - "github": "eluthern", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "gin" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "1.5", - "measure": "teaspoon", - "ingredient": "tart cherry juice/preserves" - }, - { - "quantity": "2", - "measure": "dash", - "ingredient": "orange bitters" - }, - { - "quantity": "5", - "measure": "leaves", - "ingredient": "mint" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "club soda" - } - ], - "directions": [ - "Add all ingredients except club soda to shaker with ice.", - "Shake well, strain into glass filled with ice.", - "Top with club soda and garnish with mint." - ], - "image": "jam-band.jpg", - "source": "https://www.cardinalspirits.com/thedrop/jam-band-cocktail-recipe", - "keywords": [ - "alcoholic", - "gin", - "mint", - "vegan", - "carbonated" - ] +{ + "name": "Jam Band", + "description": "A delightfully botanical gin cocktail.", + "github": "eluthern", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "gin" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "1.5", + "measure": "teaspoon", + "ingredient": "tart cherry juice/preserves" + }, + { + "quantity": "2", + "measure": "dash", + "ingredient": "orange bitters" + }, + { + "quantity": "5", + "measure": "leaves", + "ingredient": "mint" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "club soda" + } + ], + "directions": [ + "Add all ingredients except club soda to shaker with ice.", + "Shake well, strain into glass filled with ice.", + "Top with club soda and garnish with mint." + ], + "image": "jam-band.jpg", + "source": "https://www.cardinalspirits.com/thedrop/jam-band-cocktail-recipe", + "keywords": [ + "alcoholic", + "gin", + "mint", + "vegan", + "carbonated" + ] } \ No newline at end of file diff --git a/src/recipes/jammy-dodger-shot.json b/src/recipes/jammy-dodger-shot.json index 2f8343c56..62e4d2ce0 100644 --- a/src/recipes/jammy-dodger-shot.json +++ b/src/recipes/jammy-dodger-shot.json @@ -1,34 +1,34 @@ -{ - "name": "Jammy Dodger Shot", - "description": "The Jammy Dodger is the best-tasting shot that will ever grace your mouth. You won't be grimacing when you knock this one back!", - "github": "CalumChamberlain", - "ingredients": [ - { - "quantity": "3 quarters", - "measure": "shot", - "ingredient": "Chambord (blackberry liquor)" - }, - { - "quantity": "1 quarter", - "measure": "shot", - "ingredient": "double cream" - }, - { - "quantity": "half", - "measure": "tsp", - "ingredient": "sugar" - } - ], - "directions": [ - "Fill the shot glass 3 quarters full with Chambord", - "Top up the shot with cream", - "Sprinkle a little sugar on top, knock it back and enjoy!" - ], - "image": "jammy-dodger-shot.jpg", - "keywords": [ - "blackberry liqueur", - "sugar", - "shot", - "blackberry" - ] -} +{ + "name": "Jammy Dodger Shot", + "description": "The Jammy Dodger is the best-tasting shot that will ever grace your mouth. You won't be grimacing when you knock this one back!", + "github": "CalumChamberlain", + "ingredients": [ + { + "quantity": "3 quarters", + "measure": "shot", + "ingredient": "Chambord (blackberry liquor)" + }, + { + "quantity": "1 quarter", + "measure": "shot", + "ingredient": "double cream" + }, + { + "quantity": "half", + "measure": "tsp", + "ingredient": "sugar" + } + ], + "directions": [ + "Fill the shot glass 3 quarters full with Chambord", + "Top up the shot with cream", + "Sprinkle a little sugar on top, knock it back and enjoy!" + ], + "image": "jammy-dodger-shot.jpg", + "keywords": [ + "blackberry liqueur", + "sugar", + "shot", + "blackberry" + ] +} diff --git a/src/recipes/jamun-panna.json b/src/recipes/jamun-panna.json index e89ef2316..51fa821ec 100644 --- a/src/recipes/jamun-panna.json +++ b/src/recipes/jamun-panna.json @@ -1,52 +1,52 @@ -{ - "name": "Jamun Panna", - "description": "Jamun Panna is a refreshing cooler recipe that not only looks beautiful but tastes yummy and soothes the body. Jamun has so many amazing benefits for our body and skin. A perfect recipe to try this season which can be served as a welcome drink.", - "github": "connectnitish", - "ingredients": [ - { - "quantity": "3", - "measure": "tsp", - "ingredient": "powdered" - }, - { - "quantity": "3", - "measure": "cups", - "ingredient": "black jamun" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "cumin powder" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Fresh Mint" - }, - { - "quantity": "5", - "measure": "tsp", - "ingredient": "Black Salt" - }, - { - "quantity": "as required", - "measure": "tsp", - "ingredient": "Salt" - } - ], - "directions": [ - "Mix jamun, black salt, crushed black peppercorns, cumin powder, powdered sugar, salt, and mint leaves in a steel container.", - "Cover the container and shake it vigorously.", - "Add a little water and mix and strain. Deseed the jamuns and transfer into a mixer jar and grind with strained water and 3 cups water.", - "Pour the panna into tall glasses, garnish with mint leaves and serve." - ], - "image": "jamun-panna.jpg", - "keywords": [ - "fruit", - "juice", - "mocktail", - "non-alcoholic", - "vegan", - "jamun" - ] +{ + "name": "Jamun Panna", + "description": "Jamun Panna is a refreshing cooler recipe that not only looks beautiful but tastes yummy and soothes the body. Jamun has so many amazing benefits for our body and skin. A perfect recipe to try this season which can be served as a welcome drink.", + "github": "connectnitish", + "ingredients": [ + { + "quantity": "3", + "measure": "tsp", + "ingredient": "powdered" + }, + { + "quantity": "3", + "measure": "cups", + "ingredient": "black jamun" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "cumin powder" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Fresh Mint" + }, + { + "quantity": "5", + "measure": "tsp", + "ingredient": "Black Salt" + }, + { + "quantity": "as required", + "measure": "tsp", + "ingredient": "Salt" + } + ], + "directions": [ + "Mix jamun, black salt, crushed black peppercorns, cumin powder, powdered sugar, salt, and mint leaves in a steel container.", + "Cover the container and shake it vigorously.", + "Add a little water and mix and strain. Deseed the jamuns and transfer into a mixer jar and grind with strained water and 3 cups water.", + "Pour the panna into tall glasses, garnish with mint leaves and serve." + ], + "image": "jamun-panna.jpg", + "keywords": [ + "fruit", + "juice", + "mocktail", + "non-alcoholic", + "vegan", + "jamun" + ] } \ No newline at end of file diff --git a/src/recipes/jamun-shots.json b/src/recipes/jamun-shots.json index e7f02d807..edc9e9d4c 100644 --- a/src/recipes/jamun-shots.json +++ b/src/recipes/jamun-shots.json @@ -1,67 +1,67 @@ -{ - "name": "Jamun Shots", - "description": "Jamun shots is a refreshing summer drink prepared from jamun which is a summer fruit and has amazing health benefits.", - "github": "HemangiS", - "ingredients": [ - { - "quantity": "12 to 15", - "measure": "count", - "ingredient": "Jamun" - }, - { - "quantity": "1.5", - "measure": "cup", - "ingredient": "Chilled Water" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Lemon Juice" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Sugar" - }, - { - "quantity": "0.25", - "measure": "teaspoon", - "ingredient": "Black Salt" - }, - { - "quantity": "1 or 2", - "measure": "", - "ingredient": "Lemon Wedges" - }, - { - "quantity": "2 to 3", - "measure": "teaspoon", - "ingredient": "Salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mint Sprig" - } - ], - "directions": [ - "Clean and de-seed the jamuns and take them in a blender.", - "Add sugar, black salt and 1 cup of water in the blender and blend together.", - "Pour it in a tall glass and add remaining water and lemon juice and mix well.", - "Spread the salt in a plate.", - "Rub the brim of shot glasses with a lemon wedge.", - "Next place each shot glass upside down in the salt. Salt will stuck on the edge of the glass creating a ring of salt.", - "Pour the drink in each glass and garnish with mint sprig.", - "Serve and enjoy!" - ], - "image": "jamun-shots.jpg", - "source": "https://www.plattershare.com/recipe/jamun-shots", - "keywords": [ - "jamun", - "salt", - "lemon", - "non-alcoholic", - "vegan", - "fresh" - ] -} +{ + "name": "Jamun Shots", + "description": "Jamun shots is a refreshing summer drink prepared from jamun which is a summer fruit and has amazing health benefits.", + "github": "HemangiS", + "ingredients": [ + { + "quantity": "12 to 15", + "measure": "count", + "ingredient": "Jamun" + }, + { + "quantity": "1.5", + "measure": "cup", + "ingredient": "Chilled Water" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Lemon Juice" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Sugar" + }, + { + "quantity": "0.25", + "measure": "teaspoon", + "ingredient": "Black Salt" + }, + { + "quantity": "1 or 2", + "measure": "", + "ingredient": "Lemon Wedges" + }, + { + "quantity": "2 to 3", + "measure": "teaspoon", + "ingredient": "Salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mint Sprig" + } + ], + "directions": [ + "Clean and de-seed the jamuns and take them in a blender.", + "Add sugar, black salt and 1 cup of water in the blender and blend together.", + "Pour it in a tall glass and add remaining water and lemon juice and mix well.", + "Spread the salt in a plate.", + "Rub the brim of shot glasses with a lemon wedge.", + "Next place each shot glass upside down in the salt. Salt will stuck on the edge of the glass creating a ring of salt.", + "Pour the drink in each glass and garnish with mint sprig.", + "Serve and enjoy!" + ], + "image": "jamun-shots.jpg", + "source": "https://www.plattershare.com/recipe/jamun-shots", + "keywords": [ + "jamun", + "salt", + "lemon", + "non-alcoholic", + "vegan", + "fresh" + ] +} diff --git a/src/recipes/japanese-highball.json b/src/recipes/japanese-highball.json index 7fb3bc888..c828a847d 100644 --- a/src/recipes/japanese-highball.json +++ b/src/recipes/japanese-highball.json @@ -1,33 +1,33 @@ -{ - "name": "Japanese Highball", - "description": "A simple yet refreshing whiskey drink that is a Happy Hour staple.", - "github": "jenzk", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Japanese Whiskey" - }, - { - "quantity": "5", - "measure": "oz", - "ingredient": "Club Soda" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemon twist peel" - } - ], - "directions": [ - "Pour whiskey into a chilled highball glass filled with large ice cubes.", - "Add club soda or ginger ale to fill.", - "Garnish with citrus peel such as a lemon or tangerine." - ], - "image": "japanese-highball.jpg", - "keywords": [ - "whiskey", - "alcoholic", - "vegan" - ] -} +{ + "name": "Japanese Highball", + "description": "A simple yet refreshing whiskey drink that is a Happy Hour staple.", + "github": "jenzk", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Japanese Whiskey" + }, + { + "quantity": "5", + "measure": "oz", + "ingredient": "Club Soda" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemon twist peel" + } + ], + "directions": [ + "Pour whiskey into a chilled highball glass filled with large ice cubes.", + "Add club soda or ginger ale to fill.", + "Garnish with citrus peel such as a lemon or tangerine." + ], + "image": "japanese-highball.jpg", + "keywords": [ + "whiskey", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/japanese-ice-tea.json b/src/recipes/japanese-ice-tea.json index baefd4a18..44a8e2f87 100644 --- a/src/recipes/japanese-ice-tea.json +++ b/src/recipes/japanese-ice-tea.json @@ -1,45 +1,45 @@ -{ - "name": "Japanese Ice Tea", - "description": "", - "github": "cdterry87", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Midori Melon Liquor" - }, - { - "quantity": "2 1/2", - "measure": "oz", - "ingredient": "Sweet & Sour Mix" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sprite (or other lemon soda)" - } - ], - "directions": [ - "Add vodka, gin, melon liquor, and sweet & sour mix into a glass filled with ice.", - "Top with sprite or other lemon soda.", - "(Optional) Garnish with a cherry, lime, lemon, or orange.", - "Stir and enjoy." - ], - "image": "japanese-ice-tea.jpg", - "keywords": [ - "vodka", - "gin", - "alcoholic", - "vegan" - ] -} +{ + "name": "Japanese Ice Tea", + "description": "", + "github": "cdterry87", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Midori Melon Liquor" + }, + { + "quantity": "2 1/2", + "measure": "oz", + "ingredient": "Sweet & Sour Mix" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sprite (or other lemon soda)" + } + ], + "directions": [ + "Add vodka, gin, melon liquor, and sweet & sour mix into a glass filled with ice.", + "Top with sprite or other lemon soda.", + "(Optional) Garnish with a cherry, lime, lemon, or orange.", + "Stir and enjoy." + ], + "image": "japanese-ice-tea.jpg", + "keywords": [ + "vodka", + "gin", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/jaunelemonricard.json b/src/recipes/jaunelemonricard.json index 2b5278d39..eb1562625 100644 --- a/src/recipes/jaunelemonricard.json +++ b/src/recipes/jaunelemonricard.json @@ -1,52 +1,52 @@ - -{ - "name": "Jaune Lemon Ricard", - "description": "This original cocktail combines the aniseed flavours of Pastis de Marseille RICARD, the natural freshness of lemon and the sweetness of orgeat.", - "github": "Skydraw", - "ingredients": [ - { - "quantity": "4", - "measure": "teaspoon", - "ingredient": "Ricard" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Orgeat Syrup" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "lemon" - }, - { - "quantity": "4", - "measure": "teaspoon", - "ingredient": "Freshly squeezed lemon juice" - }, - { - "quantity": "5.5", - "measure": "oz", - "ingredient": "water" - }, - { - "quantity": "1", - "measure": "leaf", - "ingredient": "Fresh mint" - } - ], - "directions": [ - "Pour four teaspoons each of Ricard and freshly squeezed lemon juice.", - "Add two teaspoons of orgeat syrup to bring sweetness. Mix so that the flavours mix. ", - "Generously fill the glass with fresh water and ice cubes. ", - "Garnish with a slice of lemon and a fresh mint leaf. Add a biodegradable straw and serve the cocktail. " - ], - "image": "jaunelemonricard.jpg", - "source": "https://cuisine.journaldesfemmes.fr/recette/1021113-jaune-lemon-de-ricard", - "keywords": [ - "alcoholic", - "lemon", - "ricard", - "vegan" - ] -} + +{ + "name": "Jaune Lemon Ricard", + "description": "This original cocktail combines the aniseed flavours of Pastis de Marseille RICARD, the natural freshness of lemon and the sweetness of orgeat.", + "github": "Skydraw", + "ingredients": [ + { + "quantity": "4", + "measure": "teaspoon", + "ingredient": "Ricard" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Orgeat Syrup" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "lemon" + }, + { + "quantity": "4", + "measure": "teaspoon", + "ingredient": "Freshly squeezed lemon juice" + }, + { + "quantity": "5.5", + "measure": "oz", + "ingredient": "water" + }, + { + "quantity": "1", + "measure": "leaf", + "ingredient": "Fresh mint" + } + ], + "directions": [ + "Pour four teaspoons each of Ricard and freshly squeezed lemon juice.", + "Add two teaspoons of orgeat syrup to bring sweetness. Mix so that the flavours mix. ", + "Generously fill the glass with fresh water and ice cubes. ", + "Garnish with a slice of lemon and a fresh mint leaf. Add a biodegradable straw and serve the cocktail. " + ], + "image": "jaunelemonricard.jpg", + "source": "https://cuisine.journaldesfemmes.fr/recette/1021113-jaune-lemon-de-ricard", + "keywords": [ + "alcoholic", + "lemon", + "ricard", + "vegan" + ] +} diff --git a/src/recipes/jungle-bird.json b/src/recipes/jungle-bird.json index 803d26a83..fc0af2a62 100644 --- a/src/recipes/jungle-bird.json +++ b/src/recipes/jungle-bird.json @@ -1,45 +1,45 @@ -{ - "name": "Jungle Bird", - "description": "This classic Tiki drink was created in 1978 at the Aviary bar of the Kuala Lumpur Hilton.", - "github": "caseydierking", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "dark rum" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Fresh Pineapple Juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "fresh lime juice" - } - ], - "directions": [ - "Fill a mixing glass three-quarters with ice, and add all of the ingredients.", - "Shake until chilled for about 30 seconds.", - "Strain into a rocks glass over ice cubes or one large piece of ice, and add the garnish." - ], - "image": "jungle-bird.jpg", - "source": "https://www.liquor.com/recipes/jungle-bird/#gs.7cblkv" , - "keywords": [ - "alcoholic", - "fresh", - "vegan", - "fruit" - ] -} +{ + "name": "Jungle Bird", + "description": "This classic Tiki drink was created in 1978 at the Aviary bar of the Kuala Lumpur Hilton.", + "github": "caseydierking", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "dark rum" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Fresh Pineapple Juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "fresh lime juice" + } + ], + "directions": [ + "Fill a mixing glass three-quarters with ice, and add all of the ingredients.", + "Shake until chilled for about 30 seconds.", + "Strain into a rocks glass over ice cubes or one large piece of ice, and add the garnish." + ], + "image": "jungle-bird.jpg", + "source": "https://www.liquor.com/recipes/jungle-bird/#gs.7cblkv" , + "keywords": [ + "alcoholic", + "fresh", + "vegan", + "fruit" + ] +} diff --git a/src/recipes/kalimotxo.json b/src/recipes/kalimotxo.json index e6f915d03..5c49e0114 100644 --- a/src/recipes/kalimotxo.json +++ b/src/recipes/kalimotxo.json @@ -1,42 +1,42 @@ -{ - "name": "Kalimotxo", - "description": "A cheap and refreshing drink that is easy to make with common ingredients.", - "github": "joshyap", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "cheap red wine of your choice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "carbonated cola" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lime or Lemon wedge, depending on preference or available ingredients" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Fill glass with ice.", - "Pour 1/2 glass of red wine.", - "Pour 1/2 glass of cola (roughly maintaining 1:1 ratio with the wine from previous step).", - "Garnish with lime/lemon wedge.", - "Optional: squeeze lime/lemon wedge juice into the drink.", - "Stir and enjoy!" - ], - "image": "kalimotxo.jpg", - "keywords": [ - "red wine", - "alcoholic", - "fresh", - "vegan" - ] -} +{ + "name": "Kalimotxo", + "description": "A cheap and refreshing drink that is easy to make with common ingredients.", + "github": "joshyap", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "cheap red wine of your choice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "carbonated cola" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lime or Lemon wedge, depending on preference or available ingredients" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Fill glass with ice.", + "Pour 1/2 glass of red wine.", + "Pour 1/2 glass of cola (roughly maintaining 1:1 ratio with the wine from previous step).", + "Garnish with lime/lemon wedge.", + "Optional: squeeze lime/lemon wedge juice into the drink.", + "Stir and enjoy!" + ], + "image": "kalimotxo.jpg", + "keywords": [ + "red wine", + "alcoholic", + "fresh", + "vegan" + ] +} diff --git a/src/recipes/kansas-city-ice-water.json b/src/recipes/kansas-city-ice-water.json index a74b66555..464e6f93a 100644 --- a/src/recipes/kansas-city-ice-water.json +++ b/src/recipes/kansas-city-ice-water.json @@ -1,47 +1,47 @@ -{ -"name": "Kansas City Ice Water", -"description": "Kansas City Ice Water is a drink that combines a base of vodka and gin with citrus and fizz. It often uses triple sec and 7-up, or a combination of fresh citrus and tonic water.", -"github": "kennyvanle", -"ingredients": [ - { - "quantity": "1", - "measure": "ounce", - "ingredient": "gin" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "lime juice" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "triple sec" - }, - { - "quantity": "3", - "measure": "ounces", - "ingredient": "7-up" - } -], -"directions": [ - "Combine the gin, vodka, lime juice, and triple sec in a shaker with ice.", - "Shake and strain into a chilled pint glass filled with ice.", - "Pour in 7up and serve." -], -"image": "kansas-city.jpg", -"source": "https://www.allrecipes.com/recipe/51923/kansas-city-ice-water/", -"keywords": [ - "citrus", - "alcoholic", - "vodka", - "gin", - "cold", - "vegan" -] -} +{ +"name": "Kansas City Ice Water", +"description": "Kansas City Ice Water is a drink that combines a base of vodka and gin with citrus and fizz. It often uses triple sec and 7-up, or a combination of fresh citrus and tonic water.", +"github": "kennyvanle", +"ingredients": [ + { + "quantity": "1", + "measure": "ounce", + "ingredient": "gin" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "lime juice" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "triple sec" + }, + { + "quantity": "3", + "measure": "ounces", + "ingredient": "7-up" + } +], +"directions": [ + "Combine the gin, vodka, lime juice, and triple sec in a shaker with ice.", + "Shake and strain into a chilled pint glass filled with ice.", + "Pour in 7up and serve." +], +"image": "kansas-city.jpg", +"source": "https://www.allrecipes.com/recipe/51923/kansas-city-ice-water/", +"keywords": [ + "citrus", + "alcoholic", + "vodka", + "gin", + "cold", + "vegan" +] +} diff --git a/src/recipes/kenyan-dawa.json b/src/recipes/kenyan-dawa.json index 906376a01..b4697ab11 100644 --- a/src/recipes/kenyan-dawa.json +++ b/src/recipes/kenyan-dawa.json @@ -1,45 +1,45 @@ -{ - "name": "Kenyan Dawa", - "description": "Dawa which means medicine in Swahili is used to cure absolutely everything. It is best enjoyed as a sundowner drink.", - "github": "orama254", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "vodka (Smirnoff Red preferred)" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "honey" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "tsp brown sugar 1 lime, quartered then cut into chunks, plus lime wheel garnish Ice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lime, cut into chunks, plus" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Crushed ice" - } - ], - "directions": [ - "Place lime chunks, honey, and sugar in a rocks glass .", - "Muddle just enough to release the lime juice and mix with the honey, and sugar, but not so much as to mash the pith (that will release a bitter flavour).", - "Add some crushed ice, then the vodka and stir to combine ingredients and bring up the lime from the bottom of the glass. Add more ice until the glass is full, then garnish with a lime wheel.", - "Serve and enjoy!" - ], - "image": "kenyan-dawa.jpg", - "keywords": [ - "vodka", - "sugar", - "alcoholic", - "cold" - ] -} +{ + "name": "Kenyan Dawa", + "description": "Dawa which means medicine in Swahili is used to cure absolutely everything. It is best enjoyed as a sundowner drink.", + "github": "orama254", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "vodka (Smirnoff Red preferred)" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "honey" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "tsp brown sugar 1 lime, quartered then cut into chunks, plus lime wheel garnish Ice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lime, cut into chunks, plus" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Crushed ice" + } + ], + "directions": [ + "Place lime chunks, honey, and sugar in a rocks glass .", + "Muddle just enough to release the lime juice and mix with the honey, and sugar, but not so much as to mash the pith (that will release a bitter flavour).", + "Add some crushed ice, then the vodka and stir to combine ingredients and bring up the lime from the bottom of the glass. Add more ice until the glass is full, then garnish with a lime wheel.", + "Serve and enjoy!" + ], + "image": "kenyan-dawa.jpg", + "keywords": [ + "vodka", + "sugar", + "alcoholic", + "cold" + ] +} diff --git a/src/recipes/kerala-sunset.json b/src/recipes/kerala-sunset.json index 80324eb10..b249c7897 100644 --- a/src/recipes/kerala-sunset.json +++ b/src/recipes/kerala-sunset.json @@ -1,62 +1,62 @@ -{ - "name": "Kerala Sunset Cocktail", - "description": "From the place fondly called 'God's Own Country' comes a drink to soothe your soul.", - "github": "vaibhavrajsingh2001", - "ingredients": [ - { - "quantity": "2.5", - "measure": "oz", - "ingredient": "Bacardi Coconut Rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Bombay Sapphire Gin" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "Ginger Beer" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "Midori Melon Liqueur" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "Blue Curaçao" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "Beet Juice" - }, - { - "quantity": "1/2", - "measure": "pc", - "ingredient": "Lime (squeezed)" - } - ], - "directions": [ - "Grab a shaker and fill it with ice.", - "Pour in the Bacardi coconut rum, Bombay Sapphire gin, and lime juice. Give it a good shake then pour it into your cold glass.", - "Pour in the ginger beer then add the splash of midori followed by the splash of blue curacao and beet juice.", - "Top with rose petals and add in a lime peel.", - "Enjoy!" - ], - "image": "kerala-sunset.jpg", - "source": "https://thefamiliarkitchen.com/kerala-sunset-cocktail/", - "keywords": [ - "alcoholic", - "cocktail", - "coconut", - "blue curaçao", - "gin", - "lime", - "rum", - "south indian", - "spices" - ] -} +{ + "name": "Kerala Sunset Cocktail", + "description": "From the place fondly called 'God's Own Country' comes a drink to soothe your soul.", + "github": "vaibhavrajsingh2001", + "ingredients": [ + { + "quantity": "2.5", + "measure": "oz", + "ingredient": "Bacardi Coconut Rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Bombay Sapphire Gin" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "Ginger Beer" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "Midori Melon Liqueur" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "Blue Curaçao" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "Beet Juice" + }, + { + "quantity": "1/2", + "measure": "pc", + "ingredient": "Lime (squeezed)" + } + ], + "directions": [ + "Grab a shaker and fill it with ice.", + "Pour in the Bacardi coconut rum, Bombay Sapphire gin, and lime juice. Give it a good shake then pour it into your cold glass.", + "Pour in the ginger beer then add the splash of midori followed by the splash of blue curacao and beet juice.", + "Top with rose petals and add in a lime peel.", + "Enjoy!" + ], + "image": "kerala-sunset.jpg", + "source": "https://thefamiliarkitchen.com/kerala-sunset-cocktail/", + "keywords": [ + "alcoholic", + "cocktail", + "coconut", + "blue curaçao", + "gin", + "lime", + "rum", + "south indian", + "spices" + ] +} diff --git a/src/recipes/khoshaf.json b/src/recipes/khoshaf.json index ab8cdde82..c54571c78 100644 --- a/src/recipes/khoshaf.json +++ b/src/recipes/khoshaf.json @@ -1,73 +1,73 @@ -{ - "name": "Khoshaf", - "description": "Khoshaf is a typical Ramadan drink made from dried apricot, prunes, raisins, figs and dates.", - "github": "mkhy19", - "ingredients": [ - { - "quantity": "4", - "measure": "dried apricot", - "ingredient": "cut into cubes" - }, - { - "quantity": "2", - "measure": "prunes", - "ingredient": "cut into cubes" - }, - { - "quantity": "10", - "measure": "raisins", - "ingredient": "" - }, - { - "quantity": "3", - "measure": "figs", - "ingredient": "sliced" - }, - { - "quantity": "10", - "measure": "dates", - "ingredient": "sliced" - },{ - "quantity": "3", - "measure": "cups hot water", - "ingredient": "" - }, - { - "quantity": "5", - "measure": "Tablespoon sugar", - "ingredient": "" - }, - { - "quantity": "1", - "measure": "cup teaspoon orange blossom water", - "ingredient": "(optional)" - }, - { - "quantity": "As you like", - "measure": "Crushed nuts, to taste", - "ingredient": "(optional)" - } - ], - - - "directions": [ - "Chop the fruits into small pieces.", - "In a bowl, add all the dried fruits, then cover with hot water.", - "Dissolve sugar if using and the orange blossom water.", - "Chill in the fridge for 3-4 hours before serving.", - "Add the nuts and mix everything well together.", - "Scoop in glasses and serve cold." - ], - "image": "khoshaf.jpg", - "keywords": [ - "non-alcoholic", - "prunes", - "raisins", - "figs", - "dates", - "apricot", - "blossom water", - "sugar", - "nuts" - ] -} +{ + "name": "Khoshaf", + "description": "Khoshaf is a typical Ramadan drink made from dried apricot, prunes, raisins, figs and dates.", + "github": "mkhy19", + "ingredients": [ + { + "quantity": "4", + "measure": "dried apricot", + "ingredient": "cut into cubes" + }, + { + "quantity": "2", + "measure": "prunes", + "ingredient": "cut into cubes" + }, + { + "quantity": "10", + "measure": "raisins", + "ingredient": "" + }, + { + "quantity": "3", + "measure": "figs", + "ingredient": "sliced" + }, + { + "quantity": "10", + "measure": "dates", + "ingredient": "sliced" + },{ + "quantity": "3", + "measure": "cups hot water", + "ingredient": "" + }, + { + "quantity": "5", + "measure": "Tablespoon sugar", + "ingredient": "" + }, + { + "quantity": "1", + "measure": "cup teaspoon orange blossom water", + "ingredient": "(optional)" + }, + { + "quantity": "As you like", + "measure": "Crushed nuts, to taste", + "ingredient": "(optional)" + } + ], + + + "directions": [ + "Chop the fruits into small pieces.", + "In a bowl, add all the dried fruits, then cover with hot water.", + "Dissolve sugar if using and the orange blossom water.", + "Chill in the fridge for 3-4 hours before serving.", + "Add the nuts and mix everything well together.", + "Scoop in glasses and serve cold." + ], + "image": "khoshaf.jpg", + "keywords": [ + "non-alcoholic", + "prunes", + "raisins", + "figs", + "dates", + "apricot", + "blossom water", + "sugar", + "nuts" + ] +} diff --git a/src/recipes/kiba-smoothie.json b/src/recipes/kiba-smoothie.json index d19f4ee6e..9bc496bca 100644 --- a/src/recipes/kiba-smoothie.json +++ b/src/recipes/kiba-smoothie.json @@ -1,45 +1,45 @@ -{ - "name": "Kiba - A german smoothie", - "description": "Kiba is a smoothie made with bananas, cherries, and milk. It is a popular smoothie during warms days in Germany.", - "github": "hasukmistry", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "frozen bananas" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "banana, peeled and sliced" - }, - { - "quantity": "400", - "measure": "ml", - "ingredient": "almond milk" - }, - { - "quantity": "", - "measure": "", - "ingredient": "A large handful of cherries, pitted" - } - ], - "directions": [ - "Place one frozen banana, the sliced banana and 200ml almond milk in a blender and blend until smooth.", - "Pour into two glasses or glass bottles.", - "Put the leftover frozen banana with the cherries and 200ml almond milk in the blender and blend until smooth.", - "Carefully pour the liquid on top of the first layer, pouring it on the back of a spoon to prevent the two layers from mixing.", - "Serve." - ], - "image": "kiba-smoothie.jpg", - "source": "https://honestcooking.com/kiba-german-smoothie/", - "keywords": [ - "banana", - "cherry", - "smoothie", - "fruit", - "vegan", - "non-alcoholic", - "cold" - ] -} +{ + "name": "Kiba - A german smoothie", + "description": "Kiba is a smoothie made with bananas, cherries, and milk. It is a popular smoothie during warms days in Germany.", + "github": "hasukmistry", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "frozen bananas" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "banana, peeled and sliced" + }, + { + "quantity": "400", + "measure": "ml", + "ingredient": "almond milk" + }, + { + "quantity": "", + "measure": "", + "ingredient": "A large handful of cherries, pitted" + } + ], + "directions": [ + "Place one frozen banana, the sliced banana and 200ml almond milk in a blender and blend until smooth.", + "Pour into two glasses or glass bottles.", + "Put the leftover frozen banana with the cherries and 200ml almond milk in the blender and blend until smooth.", + "Carefully pour the liquid on top of the first layer, pouring it on the back of a spoon to prevent the two layers from mixing.", + "Serve." + ], + "image": "kiba-smoothie.jpg", + "source": "https://honestcooking.com/kiba-german-smoothie/", + "keywords": [ + "banana", + "cherry", + "smoothie", + "fruit", + "vegan", + "non-alcoholic", + "cold" + ] +} diff --git a/src/recipes/kids-hot-chocolate.json b/src/recipes/kids-hot-chocolate.json index c3eeb3aa6..93f2b2a9c 100644 --- a/src/recipes/kids-hot-chocolate.json +++ b/src/recipes/kids-hot-chocolate.json @@ -1,42 +1,42 @@ -{ - "name": "Kids Hot Chocolate", - "description": "Yummy hot chocolate for kids", - "github": "sophiazhang6216", - "ingredients": [ - { - "quantity": "1", - "measure": "packet", - "ingredient": "hot cocoa mix" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "milk" - }, - { - "quantity": "3", - "measure": "tablespoon", - "ingredient": "heavy whipping cream" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "powdered sugar" - } - ], - "directions": [ - "Put milk on stove with medium-low heat for 5-7 minutes", - "While the milk is on the stove, pour the hot cocoa mix into a cup fit for kids", - "Pour milk on top of the hot cocoa mix in the cup", - "Pour the heavy whipping cream and powdered sugar into a bowl and mix until fluffy", - "Scoop the whipped cream into the cup", - "Enjoy!" - ], - "image": "kids-hot-chocolate.jpg", - "keywords": [ - "non-alcoholic", - "milk", - "hot", - "chocolate" - ] -} +{ + "name": "Kids Hot Chocolate", + "description": "Yummy hot chocolate for kids", + "github": "sophiazhang6216", + "ingredients": [ + { + "quantity": "1", + "measure": "packet", + "ingredient": "hot cocoa mix" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "milk" + }, + { + "quantity": "3", + "measure": "tablespoon", + "ingredient": "heavy whipping cream" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "powdered sugar" + } + ], + "directions": [ + "Put milk on stove with medium-low heat for 5-7 minutes", + "While the milk is on the stove, pour the hot cocoa mix into a cup fit for kids", + "Pour milk on top of the hot cocoa mix in the cup", + "Pour the heavy whipping cream and powdered sugar into a bowl and mix until fluffy", + "Scoop the whipped cream into the cup", + "Enjoy!" + ], + "image": "kids-hot-chocolate.jpg", + "keywords": [ + "non-alcoholic", + "milk", + "hot", + "chocolate" + ] +} diff --git a/src/recipes/killer.json b/src/recipes/killer.json index 1224d87dc..78c0ad3b0 100644 --- a/src/recipes/killer.json +++ b/src/recipes/killer.json @@ -1,42 +1,42 @@ -{ - "name": "Killer Cocktail", - "description": "Amaretto and passion fruit dominate this bittersweet sour. Adapted from a recipe created by Tess Posthumus, Amsterdam, The Netherlands.", - "github": "extraalek", - "ingredients": [ - { - "quantity": "1.5", - "measure": "shot", - "ingredient": "Disaronno amaretto" - }, - { - "quantity": "1", - "measure": "shot", - "ingredient": "Rutte Dry Gin" - }, - { - "quantity": "1/3", - "measure": "shot", - "ingredient": "Italian red bitter liqueur" - }, - { - "quantity": "1/3", - "measure": "shot", - "ingredient": "Passion fruit syrup" - }, - { - "quantity": "1", - "measure": "shot", - "ingredient": "Freshly squeezed lemon juice" - } - ], - "directions": [ - "Shake all intgredients with ice", - "Strain into glass filled with crushed ice", - "Garnish with lemon zest twist (cut like a shark fin) and 3 drops of Cranberry Bitters, as a bloody shark attack (or use grenadine)" - ], - "image": "killer.jpg", - "source": "https://www.diffordsguide.com/cocktails/recipe/4120/killer-cocktail", - "keywords": [ - "amaretto" - ] -} +{ + "name": "Killer Cocktail", + "description": "Amaretto and passion fruit dominate this bittersweet sour. Adapted from a recipe created by Tess Posthumus, Amsterdam, The Netherlands.", + "github": "extraalek", + "ingredients": [ + { + "quantity": "1.5", + "measure": "shot", + "ingredient": "Disaronno amaretto" + }, + { + "quantity": "1", + "measure": "shot", + "ingredient": "Rutte Dry Gin" + }, + { + "quantity": "1/3", + "measure": "shot", + "ingredient": "Italian red bitter liqueur" + }, + { + "quantity": "1/3", + "measure": "shot", + "ingredient": "Passion fruit syrup" + }, + { + "quantity": "1", + "measure": "shot", + "ingredient": "Freshly squeezed lemon juice" + } + ], + "directions": [ + "Shake all intgredients with ice", + "Strain into glass filled with crushed ice", + "Garnish with lemon zest twist (cut like a shark fin) and 3 drops of Cranberry Bitters, as a bloody shark attack (or use grenadine)" + ], + "image": "killer.jpg", + "source": "https://www.diffordsguide.com/cocktails/recipe/4120/killer-cocktail", + "keywords": [ + "amaretto" + ] +} diff --git a/src/recipes/kir-royale.json b/src/recipes/kir-royale.json index d25f6a22a..4ae4a16d9 100644 --- a/src/recipes/kir-royale.json +++ b/src/recipes/kir-royale.json @@ -1,35 +1,35 @@ -{ - "name": "Kir Royale", - "description": "A variation to the traditional Kir recipe where Burgundy Aligote wine has been replaced with Champagne. This quick and easy recipe is perfect for the holidays and all major celebrations.", - "github": "arxcdr", - "ingredients": [ - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "Crème de cassis" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Champagne" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Fresh seasonal berries" - } - ], - "directions": [ - "Pour the Crème de cassis in the bottom of a Champagne glass.", - "Top with chilled Champagne.", - "Garnish with fresh berries.", - "Serve immediately." - ], - "image": "kir-royale.jpg", - "keywords": [ - "champagne", - "berry", - "alcoholic", - "vegan" - ] -} +{ + "name": "Kir Royale", + "description": "A variation to the traditional Kir recipe where Burgundy Aligote wine has been replaced with Champagne. This quick and easy recipe is perfect for the holidays and all major celebrations.", + "github": "arxcdr", + "ingredients": [ + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "Crème de cassis" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Champagne" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Fresh seasonal berries" + } + ], + "directions": [ + "Pour the Crème de cassis in the bottom of a Champagne glass.", + "Top with chilled Champagne.", + "Garnish with fresh berries.", + "Serve immediately." + ], + "image": "kir-royale.jpg", + "keywords": [ + "champagne", + "berry", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/kiwi-caipisake.json b/src/recipes/kiwi-caipisake.json index 2e48ce0d3..7bc43c72f 100644 --- a/src/recipes/kiwi-caipisake.json +++ b/src/recipes/kiwi-caipisake.json @@ -1,47 +1,47 @@ -{ - "name": "Kiwi Caipisake", - "description": "While the traditional brazilian caipirinha is made with cachaça, the caipisake is made with sake!", - "github": "kazuhirodk", - "ingredients": [ - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "sake" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "kiwi" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "fine sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cube" - } - ], - "directions": [ - "Peel the kiwi and cut it into quarters. Optional: cut off one small slice of the kiwi to decorate your cocktail once it’s done.", - "Put the kiwi and sugar in the cocktail shaker.", - "Muddle the kiwi and sugar until it has a paste-like texture.", - "Add the ice and sake.", - "Put the lid on the shaker and shake.", - "Pour your drink into the glass.", - "Enjoy!" - ], - "image": "kiwi-caipisake.jpg", - "source": "https://www.iheartbrazil.com/caipisake-recipe/", - "keywords": [ - "sake", - "kiwi", - "sugar", - "alcoholic", - "caipirinha", - "caipisake", - "brazil" - ] -} +{ + "name": "Kiwi Caipisake", + "description": "While the traditional brazilian caipirinha is made with cachaça, the caipisake is made with sake!", + "github": "kazuhirodk", + "ingredients": [ + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "sake" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "kiwi" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "fine sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cube" + } + ], + "directions": [ + "Peel the kiwi and cut it into quarters. Optional: cut off one small slice of the kiwi to decorate your cocktail once it’s done.", + "Put the kiwi and sugar in the cocktail shaker.", + "Muddle the kiwi and sugar until it has a paste-like texture.", + "Add the ice and sake.", + "Put the lid on the shaker and shake.", + "Pour your drink into the glass.", + "Enjoy!" + ], + "image": "kiwi-caipisake.jpg", + "source": "https://www.iheartbrazil.com/caipisake-recipe/", + "keywords": [ + "sake", + "kiwi", + "sugar", + "alcoholic", + "caipirinha", + "caipisake", + "brazil" + ] +} diff --git a/src/recipes/kiwi-cucumber-cooler.json b/src/recipes/kiwi-cucumber-cooler.json index 5e70b6ac0..200baf34f 100644 --- a/src/recipes/kiwi-cucumber-cooler.json +++ b/src/recipes/kiwi-cucumber-cooler.json @@ -1,65 +1,65 @@ -{ - "name": "Kiwi Cucumber Cooler", - "description": "A refreshing summer drink that can be a cocktail, mocktail or a healthy fruit drink.", - "github": "sinisterblade", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "cucumber" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "kiwi fruit" - }, - { - "quantity": "50", - "measure": "", - "ingredient": "mint leaves" - }, - { - "quantity": "3", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemon" - }, - { - "quantity": "0.5", - "measure": "teaspoon", - "ingredient": "chia seeds (optional)" - }, - { - "quantity": "1", - "measure": "can", - "ingredient": "tonic water" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "gin per drink (optional)" - } - ], - "directions": [ - "Soak the chia seeds in two tablespoons of water.", - "Peel the cucumber and the kiwi, and cut them into small pieces. Ensure that the cucumber is not overripe and seeds are soft.", - "Blend the cucumber in a mixer. When the cucumber is well-blended, add kiwi, mint leaves, lemon & sugar.", - "White sugar can be replaced with 1 tablespoon honey.", - "Pour the juice in a glass and add soaked chia seeds, ice and top it up with tonic water.", - "Chop the second kiwi into small pieces and use for garnishing.", - "For the cocktail, do not add chia seeds and add gin instead." - ], - "image": "kiwi-cucumber-cooler.jpg", - "source": "http://kitchenfables.com/kiwi-cucumber-cooler-cocktail-mocktail", - "keywords": [ - "fruit", - "lemon", - "mint", - "non-alcoholic", - "alcoholic" - ] -} +{ + "name": "Kiwi Cucumber Cooler", + "description": "A refreshing summer drink that can be a cocktail, mocktail or a healthy fruit drink.", + "github": "sinisterblade", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "cucumber" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "kiwi fruit" + }, + { + "quantity": "50", + "measure": "", + "ingredient": "mint leaves" + }, + { + "quantity": "3", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemon" + }, + { + "quantity": "0.5", + "measure": "teaspoon", + "ingredient": "chia seeds (optional)" + }, + { + "quantity": "1", + "measure": "can", + "ingredient": "tonic water" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "gin per drink (optional)" + } + ], + "directions": [ + "Soak the chia seeds in two tablespoons of water.", + "Peel the cucumber and the kiwi, and cut them into small pieces. Ensure that the cucumber is not overripe and seeds are soft.", + "Blend the cucumber in a mixer. When the cucumber is well-blended, add kiwi, mint leaves, lemon & sugar.", + "White sugar can be replaced with 1 tablespoon honey.", + "Pour the juice in a glass and add soaked chia seeds, ice and top it up with tonic water.", + "Chop the second kiwi into small pieces and use for garnishing.", + "For the cocktail, do not add chia seeds and add gin instead." + ], + "image": "kiwi-cucumber-cooler.jpg", + "source": "http://kitchenfables.com/kiwi-cucumber-cooler-cocktail-mocktail", + "keywords": [ + "fruit", + "lemon", + "mint", + "non-alcoholic", + "alcoholic" + ] +} diff --git a/src/recipes/kokam-sherbat.json b/src/recipes/kokam-sherbat.json index e417a3c2b..c6f292475 100644 --- a/src/recipes/kokam-sherbat.json +++ b/src/recipes/kokam-sherbat.json @@ -1,63 +1,63 @@ -{ - "name": "kokam sherbat", - "description": "Basically, a healthy and refreshing cool drink or beverage prepared mainly from the kokum fruit or garcinia indica.", - "github": "pari-27", - "ingredients": [ - { - "quantity": "1.5", - "measure": "cup", - "ingredient": "kokam" - }, - { - "quantity": "2.5", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "1.5", - "measure": "tsp", - "ingredient": "cumin powder" - }, - { - "quantity": "1.25", - "measure": "tsp", - "ingredient": "black pepper" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "salt" - } - ], - "directions": [ - "Firstly, in a large bowl soak 1½ cup kokum in 2 cups of hot water for 3 hours.", - "Transfer to a blender and blend to coarse paste.", - "Take the kokum paste to kadai.", - "Add 2 cup sugar and ½ cup water.", - "Mix well-dissolving sugar completely.", - "Further, add boil for 10-15 minutes stirring occasionally.", - "Boil until the mixture thickens and forms syrup consistency.", - "Turn off the flame and add ½ tsp cumin powder, ¼ tsp crushed pepper and pinch of salt.", - "Mix well and pass the mixture through a sieve.", - "Make sure to squeeze of the pulp completely.", - "Now kokum syrup is ready. refrigerate it and use as required. kokum syrup stays good for 2-3 months when refrigerated.", - "To make kokum juice from kokum concentration, take few ice cubes in a glass.", - "Pour 2 tbsp of prepared kokum syrup / kokum concentration.", - "Pour 2 cups of cold water and mix well.", - "Finally, serve kokum juice / kokum sharbat chilled garnished with mint leaves." - ], - "image": "kokam-sherbat.jpg", - "source": "https://hebbarskitchen.com/kokum-juice-recipe-kokam-sharbat", - "keywords": [ - "sherbat", - "kokam", - "refreshing", - "summer", - "healthy" - ] +{ + "name": "kokam sherbat", + "description": "Basically, a healthy and refreshing cool drink or beverage prepared mainly from the kokum fruit or garcinia indica.", + "github": "pari-27", + "ingredients": [ + { + "quantity": "1.5", + "measure": "cup", + "ingredient": "kokam" + }, + { + "quantity": "2.5", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "1.5", + "measure": "tsp", + "ingredient": "cumin powder" + }, + { + "quantity": "1.25", + "measure": "tsp", + "ingredient": "black pepper" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "salt" + } + ], + "directions": [ + "Firstly, in a large bowl soak 1½ cup kokum in 2 cups of hot water for 3 hours.", + "Transfer to a blender and blend to coarse paste.", + "Take the kokum paste to kadai.", + "Add 2 cup sugar and ½ cup water.", + "Mix well-dissolving sugar completely.", + "Further, add boil for 10-15 minutes stirring occasionally.", + "Boil until the mixture thickens and forms syrup consistency.", + "Turn off the flame and add ½ tsp cumin powder, ¼ tsp crushed pepper and pinch of salt.", + "Mix well and pass the mixture through a sieve.", + "Make sure to squeeze of the pulp completely.", + "Now kokum syrup is ready. refrigerate it and use as required. kokum syrup stays good for 2-3 months when refrigerated.", + "To make kokum juice from kokum concentration, take few ice cubes in a glass.", + "Pour 2 tbsp of prepared kokum syrup / kokum concentration.", + "Pour 2 cups of cold water and mix well.", + "Finally, serve kokum juice / kokum sharbat chilled garnished with mint leaves." + ], + "image": "kokam-sherbat.jpg", + "source": "https://hebbarskitchen.com/kokum-juice-recipe-kokam-sharbat", + "keywords": [ + "sherbat", + "kokam", + "refreshing", + "summer", + "healthy" + ] } \ No newline at end of file diff --git a/src/recipes/kokum-stings.json b/src/recipes/kokum-stings.json index 745d3af52..cdfb50027 100644 --- a/src/recipes/kokum-stings.json +++ b/src/recipes/kokum-stings.json @@ -1,50 +1,50 @@ -{ - "name": "Kokum Stings", - "description": "Kokum Stings, a drink inspired from Pedro's jaunts to the sea, this concoction is a tribute to the beautiful jellyfish & love for Goa's favourite sour fruit.", - "github": "Viniboom", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "rum" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "kokum syrup" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "lime juice" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "sugar" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "curry leaves" - }, - { - "quantity": "28", - "measure": "gm", - "ingredient": "one slice of ginger" - } - ], - "directions": [ - "Muddle ginger and in a shaker, add lightly torn curry leaves and muddled ginger.", - "Then mix kokum syrup, lime juice, sugar, rum, add ice and shake altogether.", - "Pour into a small rock glass and garnish with curry leaf on ice." - ], - "image": "kokum-stings.jpg", - "source": "https://www.whiskaffair.com/kokum-sharbat", - "keywords": [ - "cocktail", - "indian", - "fruit", - "Goa's favourite" - ] -} +{ + "name": "Kokum Stings", + "description": "Kokum Stings, a drink inspired from Pedro's jaunts to the sea, this concoction is a tribute to the beautiful jellyfish & love for Goa's favourite sour fruit.", + "github": "Viniboom", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "rum" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "kokum syrup" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "lime juice" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "sugar" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "curry leaves" + }, + { + "quantity": "28", + "measure": "gm", + "ingredient": "one slice of ginger" + } + ], + "directions": [ + "Muddle ginger and in a shaker, add lightly torn curry leaves and muddled ginger.", + "Then mix kokum syrup, lime juice, sugar, rum, add ice and shake altogether.", + "Pour into a small rock glass and garnish with curry leaf on ice." + ], + "image": "kokum-stings.jpg", + "source": "https://www.whiskaffair.com/kokum-sharbat", + "keywords": [ + "cocktail", + "indian", + "fruit", + "Goa's favourite" + ] +} diff --git a/src/recipes/kombucha-vodka-highball.json b/src/recipes/kombucha-vodka-highball.json index 56d99264e..622f48a31 100644 --- a/src/recipes/kombucha-vodka-highball.json +++ b/src/recipes/kombucha-vodka-highball.json @@ -1,44 +1,44 @@ -{ - "name": "Kombucha-Vodka Highball", - "description": "Take this mule on a kombucha fueled ride.", - "github": "vthn", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "vodka" - }, - { - "quantity": "3/4", - "measure": "ounce", - "ingredient": "fresh lime juice" - }, - { - "quantity": "2", - "measure": "teaspoons", - "ingredient": "simple syrup" - }, - { - "quantity": "3", - "measure": "ounces", - "ingredient": "ginger-flavored kombucha" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lime wedge, for serving" - } - ], - "directions": [ - "Combine vodka, lime juice, and simple syrup in an ice-filled glass.", - "Top with kombucha and garnish with a lime wedge." - ], - "image": "kombucha-vodka-highball.jpg", - "source": "https://www.bonappetit.com/recipe/kombucha-vodka-highball", - "keywords": [ - "alcoholic", - "ginger", - "lime", - "vodka" - ] +{ + "name": "Kombucha-Vodka Highball", + "description": "Take this mule on a kombucha fueled ride.", + "github": "vthn", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "vodka" + }, + { + "quantity": "3/4", + "measure": "ounce", + "ingredient": "fresh lime juice" + }, + { + "quantity": "2", + "measure": "teaspoons", + "ingredient": "simple syrup" + }, + { + "quantity": "3", + "measure": "ounces", + "ingredient": "ginger-flavored kombucha" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lime wedge, for serving" + } + ], + "directions": [ + "Combine vodka, lime juice, and simple syrup in an ice-filled glass.", + "Top with kombucha and garnish with a lime wedge." + ], + "image": "kombucha-vodka-highball.jpg", + "source": "https://www.bonappetit.com/recipe/kombucha-vodka-highball", + "keywords": [ + "alcoholic", + "ginger", + "lime", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/kopi.json b/src/recipes/kopi.json index 6a79d4089..11d835fbd 100644 --- a/src/recipes/kopi.json +++ b/src/recipes/kopi.json @@ -1,35 +1,35 @@ -{ - "name": "Kopi", - "description": "Kopi is a type of traditional coffee local to Singapore and Malaysia. It is a highly caffeinated black coffee served with milk and sugar. ", - "github": "ChenQirui1", - "ingredients": [{ - "quantity": "1", - "measure": "4/5 cup (‘cup’ refers to your cup, not US measuring cup)", - "ingredient": "Kopi concentrate" - }, - { - "quantity": "1", - "measure": "1 teaspoon", - "ingredient": "Condensed milk" - }, - { - "quantity": "1", - "measure": "20g / ~3 teaspoons", - "ingredient": "Evaporated milk" - } - ], - - "directions": [ - "To an empty cup, add condensed milk and evaporated milk (feel free to tweak amount to taste)", - "Add 4/5 cup of kopi concentrate", - "Top up with hot water (95 to 98°C). Feel free to dilute your kopi to desired strength.", - "Stir well to dissolve milk." - ], - "image": "kopi.jpg", - "source": "https://www.alliancecoffee.net/kopi-recipes/#kopi", - "keywords": [ - "coffee", - "singaporean", - "malaysian" - ] -} +{ + "name": "Kopi", + "description": "Kopi is a type of traditional coffee local to Singapore and Malaysia. It is a highly caffeinated black coffee served with milk and sugar. ", + "github": "ChenQirui1", + "ingredients": [{ + "quantity": "1", + "measure": "4/5 cup (‘cup’ refers to your cup, not US measuring cup)", + "ingredient": "Kopi concentrate" + }, + { + "quantity": "1", + "measure": "1 teaspoon", + "ingredient": "Condensed milk" + }, + { + "quantity": "1", + "measure": "20g / ~3 teaspoons", + "ingredient": "Evaporated milk" + } + ], + + "directions": [ + "To an empty cup, add condensed milk and evaporated milk (feel free to tweak amount to taste)", + "Add 4/5 cup of kopi concentrate", + "Top up with hot water (95 to 98°C). Feel free to dilute your kopi to desired strength.", + "Stir well to dissolve milk." + ], + "image": "kopi.jpg", + "source": "https://www.alliancecoffee.net/kopi-recipes/#kopi", + "keywords": [ + "coffee", + "singaporean", + "malaysian" + ] +} diff --git a/src/recipes/la-vie-en-rose.json b/src/recipes/la-vie-en-rose.json index c24382dde..164905a09 100644 --- a/src/recipes/la-vie-en-rose.json +++ b/src/recipes/la-vie-en-rose.json @@ -1,45 +1,45 @@ -{ "name": "La Vie en Rose", - "description": "Champagne cocktail", - "github": "bibliofilo", - "ingredients": [ - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Lime juice" - }, - { - "quantity": "1 1⁄2", - "measure": "oz", - "ingredient": "Cointreau" - }, - { - "quantity": "1 1⁄2", - "measure": "oz", - "ingredient": "Cranberry juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Champagne" - } - ], - "directions": [ - "Mix the lime juice, Cointreau, and cranberry juice in a pitcher. Chill, covered, for at least 2 hours or overnight.", - "Moisten the rim of a glass with water and dip it into a saucer of sugar to coat", - "Pour the juice mixture into the glasses and add 1/2 cup Champagne to each. Stir once gently. Garnish" - ], - "image": "la-vie-en-rose.jpg", - "source": "https://archive.org/embed/backyardbartende00alon", - "keywords": [ - "alcoholic", - "champagne", - "cocktail", - "cointreau", - "cool", - "cranberry", - "fruit", - "juice", - "lime", - "vegan" - ] -} +{ "name": "La Vie en Rose", + "description": "Champagne cocktail", + "github": "bibliofilo", + "ingredients": [ + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Lime juice" + }, + { + "quantity": "1 1⁄2", + "measure": "oz", + "ingredient": "Cointreau" + }, + { + "quantity": "1 1⁄2", + "measure": "oz", + "ingredient": "Cranberry juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Champagne" + } + ], + "directions": [ + "Mix the lime juice, Cointreau, and cranberry juice in a pitcher. Chill, covered, for at least 2 hours or overnight.", + "Moisten the rim of a glass with water and dip it into a saucer of sugar to coat", + "Pour the juice mixture into the glasses and add 1/2 cup Champagne to each. Stir once gently. Garnish" + ], + "image": "la-vie-en-rose.jpg", + "source": "https://archive.org/embed/backyardbartende00alon", + "keywords": [ + "alcoholic", + "champagne", + "cocktail", + "cointreau", + "cool", + "cranberry", + "fruit", + "juice", + "lime", + "vegan" + ] +} diff --git a/src/recipes/lafayette.json b/src/recipes/lafayette.json index 32e55f9ab..3196bd416 100644 --- a/src/recipes/lafayette.json +++ b/src/recipes/lafayette.json @@ -1,48 +1,48 @@ -{ - "name": "Lafayette", - "description": "The Lafayette is an embellishment of the “Perfect Manhattan” (sometimes called “Medium Manhattan”), which is a Manhattan with half the sweet Italian vermouth replaced with dry French vermouth.", - "github": "chgasparoto", - "ingredients": [ - { - "quantity": "60", - "measure": "ml", - "ingredient": "Rye Whiskey" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Dry Vermouth" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Dubonnet" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Bitters" - }, - { - "quantity": "1", - "measure": "whole", - "ingredient": "Maraschino Berry" - } - ], - "directions": [ - "Fill a rocks glass with ice cubes.", - "Add all ingredients.", - "Garnish with a maraschino berry." - ], - "image": "lafayette.jpg", - "source": "https://www.absolutdrinks.com/en/drinks/lafayette/", - "keywords": [ - "whiskey", - "manhattan", - "sweet", - "vermouth", - "dubonnet", - "vegan", - "cold" - ] -} +{ + "name": "Lafayette", + "description": "The Lafayette is an embellishment of the “Perfect Manhattan” (sometimes called “Medium Manhattan”), which is a Manhattan with half the sweet Italian vermouth replaced with dry French vermouth.", + "github": "chgasparoto", + "ingredients": [ + { + "quantity": "60", + "measure": "ml", + "ingredient": "Rye Whiskey" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Dry Vermouth" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Dubonnet" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Bitters" + }, + { + "quantity": "1", + "measure": "whole", + "ingredient": "Maraschino Berry" + } + ], + "directions": [ + "Fill a rocks glass with ice cubes.", + "Add all ingredients.", + "Garnish with a maraschino berry." + ], + "image": "lafayette.jpg", + "source": "https://www.absolutdrinks.com/en/drinks/lafayette/", + "keywords": [ + "whiskey", + "manhattan", + "sweet", + "vermouth", + "dubonnet", + "vegan", + "cold" + ] +} diff --git a/src/recipes/latte.json b/src/recipes/latte.json index 2c00be1bc..76f2329ac 100644 --- a/src/recipes/latte.json +++ b/src/recipes/latte.json @@ -1,34 +1,34 @@ -{ - "name": "Latte", - "description": "An Italian coffee beverage made with espresso and steamed milk. Also called Caffè latte.", - "github": "Unickorn", - "ingredients": [ - { - "quantity": "9", - "measure": "gram", - "ingredient": "finely ground coffee -- preferably an espresso blend" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "cold milk" - } - ], - "directions": [ - "Warm the espresso machine.", - "Put the finely ground coffee in the portafilter, tamp it down with a tamper and secure it in the brew head of the machine.", - "Brew around 35-40ml, until the espresso starts to get watery, losing the crema.", - "Pour the cold milk in a preferably cold milk pitcher.", - "Submerge the steam wand a couple centimeters below the surface of the milk and turn it all the way on, introducing air into the milk while swirling it in the pitcher to get a thin, so-called microfoam.", - "After introducing some foam (the milk level should rise around an additional 1/3 with foam) submerge the steam wand deeper to stop the hissing sound and introducing air. Continue heating and swirling the milk until the bottom of the pitcher is too hot to touch.", - "Turn the steam wand off and gently hit the bottom of the pitcher to pop any big bubbles in the foam.", - "Pour the frothed milk over the espresso, tilting the cup slightly. You want to start pouring high and fast first, and then get lower and slower in a steady stream for a latte." - ], - "image": "latte.jpg", - "keywords": [ - "coffee", - "hot", - "milk", - "non-alcoholic" - ] +{ + "name": "Latte", + "description": "An Italian coffee beverage made with espresso and steamed milk. Also called Caffè latte.", + "github": "Unickorn", + "ingredients": [ + { + "quantity": "9", + "measure": "gram", + "ingredient": "finely ground coffee -- preferably an espresso blend" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "cold milk" + } + ], + "directions": [ + "Warm the espresso machine.", + "Put the finely ground coffee in the portafilter, tamp it down with a tamper and secure it in the brew head of the machine.", + "Brew around 35-40ml, until the espresso starts to get watery, losing the crema.", + "Pour the cold milk in a preferably cold milk pitcher.", + "Submerge the steam wand a couple centimeters below the surface of the milk and turn it all the way on, introducing air into the milk while swirling it in the pitcher to get a thin, so-called microfoam.", + "After introducing some foam (the milk level should rise around an additional 1/3 with foam) submerge the steam wand deeper to stop the hissing sound and introducing air. Continue heating and swirling the milk until the bottom of the pitcher is too hot to touch.", + "Turn the steam wand off and gently hit the bottom of the pitcher to pop any big bubbles in the foam.", + "Pour the frothed milk over the espresso, tilting the cup slightly. You want to start pouring high and fast first, and then get lower and slower in a steady stream for a latte." + ], + "image": "latte.jpg", + "keywords": [ + "coffee", + "hot", + "milk", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/lava-flow.json b/src/recipes/lava-flow.json index e997072c6..b5c566103 100644 --- a/src/recipes/lava-flow.json +++ b/src/recipes/lava-flow.json @@ -1,57 +1,57 @@ -{ - "name": "Lava Flow", - "description": "The Lava Flow walks the line between cocktail and milkshake. This sweet and fruity drink is linked to Hawaii and often found at Hawaiian bars and resorts, though it’s not certain when the drink originated. No matter: If you want a delicious cocktail that conjures sandy beaches, sunny skies and floral shirts, you’ve found it.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Light rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Coconut rum" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Strawberries" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Pineapple juice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Coconut cream" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Banana" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Crushed ice" - } - ], - "directions": [ - "Add the two rums and strawberries into a blender and blend until smooth.", - "Pour the blended mixture into a pitcher or mixing glass and rinse the blender.", - "Add the pineapple juice, coconut cream and banana into the blender with crushed ice and blend until smooth.", - "Pour both blends into a tall glass from opposite sides, and watch the strawberry mixture rise to the top like lava.", - "Garnish with a pineapple wedge." - ], - "image": "lava-flow.jpg", - "keywords": [ - "alcoholic", - "rum", - "pineapple", - "strawberries", - "banana" - ] -} +{ + "name": "Lava Flow", + "description": "The Lava Flow walks the line between cocktail and milkshake. This sweet and fruity drink is linked to Hawaii and often found at Hawaiian bars and resorts, though it’s not certain when the drink originated. No matter: If you want a delicious cocktail that conjures sandy beaches, sunny skies and floral shirts, you’ve found it.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Light rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Coconut rum" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Strawberries" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Pineapple juice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Coconut cream" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Banana" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Crushed ice" + } + ], + "directions": [ + "Add the two rums and strawberries into a blender and blend until smooth.", + "Pour the blended mixture into a pitcher or mixing glass and rinse the blender.", + "Add the pineapple juice, coconut cream and banana into the blender with crushed ice and blend until smooth.", + "Pour both blends into a tall glass from opposite sides, and watch the strawberry mixture rise to the top like lava.", + "Garnish with a pineapple wedge." + ], + "image": "lava-flow.jpg", + "keywords": [ + "alcoholic", + "rum", + "pineapple", + "strawberries", + "banana" + ] +} diff --git a/src/recipes/lavender-basil-lemonade.json b/src/recipes/lavender-basil-lemonade.json index e309bbb15..56e217f70 100644 --- a/src/recipes/lavender-basil-lemonade.json +++ b/src/recipes/lavender-basil-lemonade.json @@ -1,62 +1,62 @@ -{ - "name": "Lavender Basil Lemonade", - "description": "Refreshing and perfect for summertime sipping!", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "dried lavender" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "basil: roughly chopped and more for garnishing" - }, - { - "quantity": "1/3 - 1/2", - "measure": "cup", - "ingredient": "honey or coconut or granulated sugar" - }, - { - "quantity": "5", - "measure": "cups", - "ingredient": "water" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "freshly squeezed lemon juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice for serving" - } - ], - "directions": [ - "Bring the lavender and two cups water to a boil in a small sauce pan.", - "If you are using coconut or granulated sugar, add the sugar to the water as well.", - "Once the water is boiling remove from the heat and add the basil, cover and steep for 10 minutes.", - "Meanwhile squeeze the lemon juice into a tall glass pitcher.", - "Stir in the honey (unless you already added sugar earlier).", - "Stir in three cups water.", - "Once the basil has steeped, strain the mixture into the pitcher with the lemon juice.", - "Stir well and then taste.", - "If the lemonade tastes sweet, add water, if it tastes too tart, add honey, 1 tablespoon at a time, until the lemonade is just right.", - "1/3 cup honey works great.", - "Place in the fridge until well chilled.", - "To serve, pour the lemonade over a glass of crushed ice.", - "Garnish with lavender and basil.", - "Serve and enjoy!" - ], - "image": "lavender-basil-lemonade.jpg", - "source": "https://www.halfbakedharvest.com/lavender-basil-lemonade/", - "keywords": [ - "lavender", - "basil", - "lemonade", - "non-alcoholic", - "cold" - ] -} +{ + "name": "Lavender Basil Lemonade", + "description": "Refreshing and perfect for summertime sipping!", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "dried lavender" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "basil: roughly chopped and more for garnishing" + }, + { + "quantity": "1/3 - 1/2", + "measure": "cup", + "ingredient": "honey or coconut or granulated sugar" + }, + { + "quantity": "5", + "measure": "cups", + "ingredient": "water" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "freshly squeezed lemon juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice for serving" + } + ], + "directions": [ + "Bring the lavender and two cups water to a boil in a small sauce pan.", + "If you are using coconut or granulated sugar, add the sugar to the water as well.", + "Once the water is boiling remove from the heat and add the basil, cover and steep for 10 minutes.", + "Meanwhile squeeze the lemon juice into a tall glass pitcher.", + "Stir in the honey (unless you already added sugar earlier).", + "Stir in three cups water.", + "Once the basil has steeped, strain the mixture into the pitcher with the lemon juice.", + "Stir well and then taste.", + "If the lemonade tastes sweet, add water, if it tastes too tart, add honey, 1 tablespoon at a time, until the lemonade is just right.", + "1/3 cup honey works great.", + "Place in the fridge until well chilled.", + "To serve, pour the lemonade over a glass of crushed ice.", + "Garnish with lavender and basil.", + "Serve and enjoy!" + ], + "image": "lavender-basil-lemonade.jpg", + "source": "https://www.halfbakedharvest.com/lavender-basil-lemonade/", + "keywords": [ + "lavender", + "basil", + "lemonade", + "non-alcoholic", + "cold" + ] +} diff --git a/src/recipes/lavender-latte.json b/src/recipes/lavender-latte.json index f59454ef7..cbff9960c 100644 --- a/src/recipes/lavender-latte.json +++ b/src/recipes/lavender-latte.json @@ -1,49 +1,49 @@ -{ - "name": "Lavender Latte", - "description": "Lavender lattes are the perfect blend of calming, sweet, and creamy. They can be served hot or iced making them excellent for any type of weather!", - "github": "Shreya-L", - "ingredients": [ - { - "quantity": "1/8-1/4", - "measure": "cup", - "ingredient": "dried lavender (can use lavender extract as well)" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "1/4-1/2", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "2/3", - "measure": "cup", - "ingredient": "strong brewed coffee" - }, - { - "quantity": "1-2", - "measure": "tablespoons", - "ingredient": "lavender syrup" - } - - ], - "directions": [ - "Bring water to a boil, add dried lavender (or extract) and sugar.", - "Stir sugar, lavender, water and reduce heat until liquid becomes more of a syrup.", - "Add 1-2 tablespoons of lavender syrup to strong coffee and add milk to enjoy!" - ], - "image": "lavender-latte.jpg", - "source": "https://www.dreamstime.com/coffee-cup-table-hot-latte-relaxing-time-wooden-lavender-aroma-good-morning-tasty-cappuccino-caffeine-love-warm-image139720563", - "keywords": [ - "lavender", - "latte" - ] -} +{ + "name": "Lavender Latte", + "description": "Lavender lattes are the perfect blend of calming, sweet, and creamy. They can be served hot or iced making them excellent for any type of weather!", + "github": "Shreya-L", + "ingredients": [ + { + "quantity": "1/8-1/4", + "measure": "cup", + "ingredient": "dried lavender (can use lavender extract as well)" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "1/4-1/2", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "2/3", + "measure": "cup", + "ingredient": "strong brewed coffee" + }, + { + "quantity": "1-2", + "measure": "tablespoons", + "ingredient": "lavender syrup" + } + + ], + "directions": [ + "Bring water to a boil, add dried lavender (or extract) and sugar.", + "Stir sugar, lavender, water and reduce heat until liquid becomes more of a syrup.", + "Add 1-2 tablespoons of lavender syrup to strong coffee and add milk to enjoy!" + ], + "image": "lavender-latte.jpg", + "source": "https://www.dreamstime.com/coffee-cup-table-hot-latte-relaxing-time-wooden-lavender-aroma-good-morning-tasty-cappuccino-caffeine-love-warm-image139720563", + "keywords": [ + "lavender", + "latte" + ] +} diff --git a/src/recipes/lemon-cointreau-fizz.json b/src/recipes/lemon-cointreau-fizz.json index c52f72c95..6f7cd3251 100644 --- a/src/recipes/lemon-cointreau-fizz.json +++ b/src/recipes/lemon-cointreau-fizz.json @@ -1,34 +1,34 @@ -{ - "name": "Lemon Cointreau Fizz", - "description": "This is a refreshing lemon drink with cointreau mix.", - "github": "matheusafonsouza", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Cointreau" - }, - { - "quantity": "3", - "measure": "cup", - "ingredient": "Fizzy water" - }, - { - "quantity": "1", - "measure": "unit", - "ingredient": "Lemon" - } - ], - "directions": [ - "Mix all the ingredients.", - "Enjoy refreshing drink." - ], - "image": "lemon-cointreau-fizz.jpg", - "keywords": [ - "cointreau", - "fizzy", - "water", - "lemon", - "fizz" - ] +{ + "name": "Lemon Cointreau Fizz", + "description": "This is a refreshing lemon drink with cointreau mix.", + "github": "matheusafonsouza", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Cointreau" + }, + { + "quantity": "3", + "measure": "cup", + "ingredient": "Fizzy water" + }, + { + "quantity": "1", + "measure": "unit", + "ingredient": "Lemon" + } + ], + "directions": [ + "Mix all the ingredients.", + "Enjoy refreshing drink." + ], + "image": "lemon-cointreau-fizz.jpg", + "keywords": [ + "cointreau", + "fizzy", + "water", + "lemon", + "fizz" + ] } \ No newline at end of file diff --git a/src/recipes/lemon-stylus.json b/src/recipes/lemon-stylus.json index 097bd16d1..ea5e9a3a6 100644 --- a/src/recipes/lemon-stylus.json +++ b/src/recipes/lemon-stylus.json @@ -1,36 +1,36 @@ -{ - "name": "Lemon Stylus", - "description": "One adult lemonade, if you will.", - "github": "vikwilliamson", - "ingredients": [ - { - "quantity": "1", - "measure": "part", - "ingredient": "Lemon Vodka" - }, - { - "quantity": "2", - "measure": "parts", - "ingredient": "Lemonade" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Lemon-Lime Soda" - } - ], - "directions": [ - "Add 1 part vodka to glass.", - "Add 1 part Lemon-Lime Soda.", - "Add 2 parts Lemonade.", - "Stir and serve!" - ], - "image": "lemon-stylus.jpg", - "keywords": [ - "citrus", - "vodka", - "sprite", - "simple", - "vegan" - ] -} +{ + "name": "Lemon Stylus", + "description": "One adult lemonade, if you will.", + "github": "vikwilliamson", + "ingredients": [ + { + "quantity": "1", + "measure": "part", + "ingredient": "Lemon Vodka" + }, + { + "quantity": "2", + "measure": "parts", + "ingredient": "Lemonade" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Lemon-Lime Soda" + } + ], + "directions": [ + "Add 1 part vodka to glass.", + "Add 1 part Lemon-Lime Soda.", + "Add 2 parts Lemonade.", + "Stir and serve!" + ], + "image": "lemon-stylus.jpg", + "keywords": [ + "citrus", + "vodka", + "sprite", + "simple", + "vegan" + ] +} diff --git a/src/recipes/lemonade.json b/src/recipes/lemonade.json index ef5349591..e6748e7d5 100644 --- a/src/recipes/lemonade.json +++ b/src/recipes/lemonade.json @@ -1,35 +1,35 @@ -{ - "name": "Lemonade", - "description": "Lemonade can be any one of a variety of sweetened or unsweetened beverages found throughout the world, but which are traditionally all characterized by a lemon flavor.", - "github": "danie007", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Lemon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Water" - } - ], - "directions": [ - "Simple syrup: Place the sugar and water in a small saucepan and stir so that the sugar dissolves completely.", - "Juice the lemons: Juice your lemons. Depending on the size two or three lemons would be needed.", - "Combine lemon juice, simple syrup: Pour the juice and the simple syrup sugar water into a serving pitcher. Add more water if you would like it to be more diluted (though note that when you add ice, it will melt and naturally dilute the lemonade).", - "Chill: Refrigerate 30 to 40 minutes and serve" - ], - "image": "lemonade.jpg", - "keywords": [ - "non-alcoholic", - "sweet", - "fresh", - "vegan" - ] -} +{ + "name": "Lemonade", + "description": "Lemonade can be any one of a variety of sweetened or unsweetened beverages found throughout the world, but which are traditionally all characterized by a lemon flavor.", + "github": "danie007", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Lemon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Water" + } + ], + "directions": [ + "Simple syrup: Place the sugar and water in a small saucepan and stir so that the sugar dissolves completely.", + "Juice the lemons: Juice your lemons. Depending on the size two or three lemons would be needed.", + "Combine lemon juice, simple syrup: Pour the juice and the simple syrup sugar water into a serving pitcher. Add more water if you would like it to be more diluted (though note that when you add ice, it will melt and naturally dilute the lemonade).", + "Chill: Refrigerate 30 to 40 minutes and serve" + ], + "image": "lemonade.jpg", + "keywords": [ + "non-alcoholic", + "sweet", + "fresh", + "vegan" + ] +} diff --git a/src/recipes/libertine.json b/src/recipes/libertine.json index c2370a434..112256e1f 100644 --- a/src/recipes/libertine.json +++ b/src/recipes/libertine.json @@ -1,60 +1,60 @@ -{ - "name": "Libertine", - "description": "Created by Jen Riley of Le Red House in Paris (La maison rouge) Favorite among hipsters and bartender professionals alike!", - "github": "kourto", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "2", - "measure": "tsps", - "ingredient": "Campari" - }, - { - "quantity": "2", - "measure": "tspn", - "ingredient": "Simple Syrup" - }, - { - "quantity": "2", - "measure": "tsp", - "ingredient": "Lemon Juice" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Grapefruit Juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Egg" - }, - { - "quantity": "1", - "measure": "bar spoon", - "ingredient": "Rhubarb and Ginger Jam" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Ruby Port" - } - ], - "directions": [ - "Add the ingredients to shaker filled with ice and shake to combine.", - "Double strain, then shake again without ice.", - "Pour into Champagne flute, top with Ruby Port et voilà mon ami!", - "Et une bonne dégustation!" - ], - "image": "libertine.jpg", - "keywords": [ - "vodka", - "Grapefruit", - "Rhubarb", - "Ginger" - ] +{ + "name": "Libertine", + "description": "Created by Jen Riley of Le Red House in Paris (La maison rouge) Favorite among hipsters and bartender professionals alike!", + "github": "kourto", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "2", + "measure": "tsps", + "ingredient": "Campari" + }, + { + "quantity": "2", + "measure": "tspn", + "ingredient": "Simple Syrup" + }, + { + "quantity": "2", + "measure": "tsp", + "ingredient": "Lemon Juice" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Grapefruit Juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Egg" + }, + { + "quantity": "1", + "measure": "bar spoon", + "ingredient": "Rhubarb and Ginger Jam" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Ruby Port" + } + ], + "directions": [ + "Add the ingredients to shaker filled with ice and shake to combine.", + "Double strain, then shake again without ice.", + "Pour into Champagne flute, top with Ruby Port et voilà mon ami!", + "Et une bonne dégustation!" + ], + "image": "libertine.jpg", + "keywords": [ + "vodka", + "Grapefruit", + "Rhubarb", + "Ginger" + ] } \ No newline at end of file diff --git a/src/recipes/lillet-buck.json b/src/recipes/lillet-buck.json index cce8aaaeb..99a96f855 100644 --- a/src/recipes/lillet-buck.json +++ b/src/recipes/lillet-buck.json @@ -1,56 +1,56 @@ -{ - "name": "Lillet Buck", - "description": "A wonderfully refreshing drink - perfect to start off your next dinner-party", - "github": "Sina-Sche", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Lillet Blanc" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Ginger Ale" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "lime juice, freshly squeezed" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lime" - }, - { - "quantity": "", - "measure": "", - "ingredient": "mint leaves" - } - ], - "directions": [ - "Add Lillet Blanc to a glass with ice cubes.", - "Top up with Ginger Ale and a splash of lime juice.", - "Serve with a slice of lime and garnish with mint leaves." - ], - - "image": "lillet-buck.jpg", - "source": "https://lillet.de/rezepte/lillet-buck/", - "keywords": [ - "cool", - "refreshing", - "alcoholic", - "ginger", - "lime", - "lime juice", - "mint", - "white wine", - "wine" - ] -} +{ + "name": "Lillet Buck", + "description": "A wonderfully refreshing drink - perfect to start off your next dinner-party", + "github": "Sina-Sche", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Lillet Blanc" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Ginger Ale" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "lime juice, freshly squeezed" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lime" + }, + { + "quantity": "", + "measure": "", + "ingredient": "mint leaves" + } + ], + "directions": [ + "Add Lillet Blanc to a glass with ice cubes.", + "Top up with Ginger Ale and a splash of lime juice.", + "Serve with a slice of lime and garnish with mint leaves." + ], + + "image": "lillet-buck.jpg", + "source": "https://lillet.de/rezepte/lillet-buck/", + "keywords": [ + "cool", + "refreshing", + "alcoholic", + "ginger", + "lime", + "lime juice", + "mint", + "white wine", + "wine" + ] +} diff --git a/src/recipes/lime-mojito.json b/src/recipes/lime-mojito.json index 17dae2cf4..246d4bc4e 100644 --- a/src/recipes/lime-mojito.json +++ b/src/recipes/lime-mojito.json @@ -1,52 +1,52 @@ -{ - "name": "Lime Mojito", - "description": "A simple Lime Mojito recipie that can be easily scaled up for multiple people and brings out the best flavour from a simple mojito.", - "github": "iMoose", - "ingredients": [ - { - "quantity": "10", - "measure": "", - "ingredient": "Fresh mint leaves" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "Limes, cut into wedges" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Caster sugar" - }, - { - "quantity": "45", - "measure": "milliliters(ml)", - "ingredient": "White rum" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Ice cubes" - }, - { - "quantity": "125", - "measure": "milliliters(ml)", - "ingredient": "Soda water" - } - ], - "directions": [ - "Place mint leaves and 1 lime wedge into a glass.", - "Crush the mint and lime using a muddler to release the mint oils and lime juice.", - "Add two more lime wedges and the sugar, and muddle again to release the lime juice. Do not strain the mixture.", - "Fill the glass almost to the top with ice", - "Pour the rum over the ice and fill the glass with soda water", - "Garnish with the remaining lime wedge" - ], - "image": "lime-mojito.jpg", - "source": "http://allrecipes.com.au/recipe/5330/real-lime-mojito.aspx", - "keywords": [ - "alcoholic", - "lime", - "sugar" - ] -} +{ + "name": "Lime Mojito", + "description": "A simple Lime Mojito recipie that can be easily scaled up for multiple people and brings out the best flavour from a simple mojito.", + "github": "iMoose", + "ingredients": [ + { + "quantity": "10", + "measure": "", + "ingredient": "Fresh mint leaves" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "Limes, cut into wedges" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Caster sugar" + }, + { + "quantity": "45", + "measure": "milliliters(ml)", + "ingredient": "White rum" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Ice cubes" + }, + { + "quantity": "125", + "measure": "milliliters(ml)", + "ingredient": "Soda water" + } + ], + "directions": [ + "Place mint leaves and 1 lime wedge into a glass.", + "Crush the mint and lime using a muddler to release the mint oils and lime juice.", + "Add two more lime wedges and the sugar, and muddle again to release the lime juice. Do not strain the mixture.", + "Fill the glass almost to the top with ice", + "Pour the rum over the ice and fill the glass with soda water", + "Garnish with the remaining lime wedge" + ], + "image": "lime-mojito.jpg", + "source": "http://allrecipes.com.au/recipe/5330/real-lime-mojito.aspx", + "keywords": [ + "alcoholic", + "lime", + "sugar" + ] +} diff --git a/src/recipes/limerol.json b/src/recipes/limerol.json index c9be20703..9af22bd1a 100644 --- a/src/recipes/limerol.json +++ b/src/recipes/limerol.json @@ -1,46 +1,46 @@ -{ - "name": "Limerol", - "description": "A summertime drink with watermelon and Aperol, bittersweet and fruity.", - "github": "bibliofilo", - "ingredients": [ - { - "quantity": "1/2", - "measure": "", - "ingredient": "lemon" - }, - { - "quantity": "15", - "measure": "gr", - "ingredient": "brown sugar" - }, - { - "quantity": "60", - "measure": "gr", - "ingredient": "watermelon" - }, - { - "quantity": "60", - "measure": "ml", - "ingredient": "Aperol" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "crushed ice" - } - ], - "directions": [ - "Clean the lime with hot water, dry and cut it into bits, then throw them into a long glass. Add sugar and mix well with the lemon juice.", - "Remove the watermelon pulp and cut it into cubes. Pour it into a blender with the Aperol and mix.", - "Fill the glass with 1/3 picked ice. Add the watermelon mix and stir well. Add the cava and serve with a straw." - ], - "image": "limerol.jpg", - "source": "https://archive.org/details/isbn_9788424117672/page/20", - "keywords": [ - "alcoholic", - "bitter", - "juice", - "vegan", - "cold" - ] -} +{ + "name": "Limerol", + "description": "A summertime drink with watermelon and Aperol, bittersweet and fruity.", + "github": "bibliofilo", + "ingredients": [ + { + "quantity": "1/2", + "measure": "", + "ingredient": "lemon" + }, + { + "quantity": "15", + "measure": "gr", + "ingredient": "brown sugar" + }, + { + "quantity": "60", + "measure": "gr", + "ingredient": "watermelon" + }, + { + "quantity": "60", + "measure": "ml", + "ingredient": "Aperol" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "crushed ice" + } + ], + "directions": [ + "Clean the lime with hot water, dry and cut it into bits, then throw them into a long glass. Add sugar and mix well with the lemon juice.", + "Remove the watermelon pulp and cut it into cubes. Pour it into a blender with the Aperol and mix.", + "Fill the glass with 1/3 picked ice. Add the watermelon mix and stir well. Add the cava and serve with a straw." + ], + "image": "limerol.jpg", + "source": "https://archive.org/details/isbn_9788424117672/page/20", + "keywords": [ + "alcoholic", + "bitter", + "juice", + "vegan", + "cold" + ] +} diff --git a/src/recipes/london-fog.json b/src/recipes/london-fog.json index eb4694ecf..05f8657fa 100644 --- a/src/recipes/london-fog.json +++ b/src/recipes/london-fog.json @@ -1,46 +1,46 @@ -{ - "name": "London Fog", - "description": "A tea based latte with vanilla and honey.", - "github": "Just-Sieb", - "ingredients": [ - { - "quantity": "1", - "measure": "bag", - "ingredient": "Earl Grey Tea" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Boiling Water" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Steamed Milk" - }, - { - "quantity": "1/4", - "measure": "tsp", - "ingredient": "Vanilla Extract" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "Honey" - } - ], - "directions": [ - "Steep the tea in the water for five minutes and dispose of bag once done.", - "Mix in the vanilla and honey.", - "Pour in the steamed milk.", - "Enjoy!" - - ], - "image": "london-fog.jpg", - "keywords": [ - "non-alcoholic", - "tea", - "hot", - "latte" - ] -} +{ + "name": "London Fog", + "description": "A tea based latte with vanilla and honey.", + "github": "Just-Sieb", + "ingredients": [ + { + "quantity": "1", + "measure": "bag", + "ingredient": "Earl Grey Tea" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Boiling Water" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Steamed Milk" + }, + { + "quantity": "1/4", + "measure": "tsp", + "ingredient": "Vanilla Extract" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "Honey" + } + ], + "directions": [ + "Steep the tea in the water for five minutes and dispose of bag once done.", + "Mix in the vanilla and honey.", + "Pour in the steamed milk.", + "Enjoy!" + + ], + "image": "london-fog.jpg", + "keywords": [ + "non-alcoholic", + "tea", + "hot", + "latte" + ] +} diff --git a/src/recipes/long-island-iced-tea.json b/src/recipes/long-island-iced-tea.json index b94789b47..a55e11bac 100644 --- a/src/recipes/long-island-iced-tea.json +++ b/src/recipes/long-island-iced-tea.json @@ -1,61 +1,61 @@ -{ - "name": "Long Island Iced Tea", - "description": "A Long Island Iced Tea is a type of alcoholic mixed drink typically made with vodka, tequila, light rum, triple sec, gin, and a splash of cola, which gives the drink the same amber hue as its namesake.", - "github": "joruchan", - "ingredients": [ - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "rum" - }, - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "gin" - }, - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "tequila" - }, - { - "quantity": "1/2", - "measure": "fluid ounce", - "ingredient": "triple sec (orange-flavored liqueur)" - }, - { - "quantity": "1", - "measure": "fluid ounce", - "ingredient": "sweet and sour mix" - }, - { - "quantity": "1", - "measure": "fluid ounce", - "ingredient": "cola, or to taste" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemon slice" - } - ], - "directions": [ - "Fill a cocktail shaker with ice.", - "Pour vodka, rum, gin, tequila, triple sec, and sour mix over ice; cover and shake.", - "Pour cocktail into a Collins or hurricane glass; top with splash of cola for color.", - "Garnish with a lemon slice." - ], - "image": "long-island-iced-tea.jpg", - "keywords": [ - "long island", - "iced tea", - "alcoholic", - "vodka", - "vegan" - ] -} +{ + "name": "Long Island Iced Tea", + "description": "A Long Island Iced Tea is a type of alcoholic mixed drink typically made with vodka, tequila, light rum, triple sec, gin, and a splash of cola, which gives the drink the same amber hue as its namesake.", + "github": "joruchan", + "ingredients": [ + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "rum" + }, + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "gin" + }, + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "tequila" + }, + { + "quantity": "1/2", + "measure": "fluid ounce", + "ingredient": "triple sec (orange-flavored liqueur)" + }, + { + "quantity": "1", + "measure": "fluid ounce", + "ingredient": "sweet and sour mix" + }, + { + "quantity": "1", + "measure": "fluid ounce", + "ingredient": "cola, or to taste" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemon slice" + } + ], + "directions": [ + "Fill a cocktail shaker with ice.", + "Pour vodka, rum, gin, tequila, triple sec, and sour mix over ice; cover and shake.", + "Pour cocktail into a Collins or hurricane glass; top with splash of cola for color.", + "Garnish with a lemon slice." + ], + "image": "long-island-iced-tea.jpg", + "keywords": [ + "long island", + "iced tea", + "alcoholic", + "vodka", + "vegan" + ] +} diff --git a/src/recipes/lust-for-life.json b/src/recipes/lust-for-life.json index b99a24faf..410879266 100644 --- a/src/recipes/lust-for-life.json +++ b/src/recipes/lust-for-life.json @@ -1,52 +1,52 @@ -{ - "name": "Lust For Life", - "description": "This exotic sipper from Imbibe’s 2013 Cocktail Bar of the Year, Pouring Ribbons, is a little smoky, a little nutty and perfectly bright.", - "github": "Donearm", - - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "galliano" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "orange juice" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "peach liqueur" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "heavy cream" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - }, - { - "quantity": "", - "measure": "", - "ingredient": "grated nutmeg" - } - ], - "directions": [ - "Combine ingredients in a shaker and shake with ice until chilled.", - "Strain into a rocks glass on ice cubes.", - "Garnish with grated nutmeg." - ], - "image": "lust-for-life.jpg", - "keywords": [ - "ice", - "galliano", - "liqueur", - "orange", - "nutmeg" - ] - -} +{ + "name": "Lust For Life", + "description": "This exotic sipper from Imbibe’s 2013 Cocktail Bar of the Year, Pouring Ribbons, is a little smoky, a little nutty and perfectly bright.", + "github": "Donearm", + + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "galliano" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "orange juice" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "peach liqueur" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "heavy cream" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + }, + { + "quantity": "", + "measure": "", + "ingredient": "grated nutmeg" + } + ], + "directions": [ + "Combine ingredients in a shaker and shake with ice until chilled.", + "Strain into a rocks glass on ice cubes.", + "Garnish with grated nutmeg." + ], + "image": "lust-for-life.jpg", + "keywords": [ + "ice", + "galliano", + "liqueur", + "orange", + "nutmeg" + ] + +} diff --git a/src/recipes/lynchburg-lemonade.json b/src/recipes/lynchburg-lemonade.json index adea2803d..760fbb8d4 100644 --- a/src/recipes/lynchburg-lemonade.json +++ b/src/recipes/lynchburg-lemonade.json @@ -1,61 +1,61 @@ -{ - "name": "Lynchburg Lemonade", - "description": "A cocktail and long drink made with, among other ingredients, Jack Daniel's Tennessee whiskey. It is named after Lynchburg, Tennessee, home of the Jack Daniel's distillery.", - "github": "Donearm", - "ingredients": [ - { - "quantity": "40", - "measure": "ml", - "ingredient": "jack daniels" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "triple sec" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "sugar syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lemonade/sprite" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lemon slices" - }, - { - "quantity": "", - "measure": "", - "ingredient": "cherries" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Shake first 3 ingredients with ice.", - "Strain into a ice-filled glass.", - "Top with lemonade.", - "Add more ice and stir.", - "Garnish with lemon slices and cherries." - ], - "image": "lynchburg-lemonade.jpg", - "keywords": [ - "whisky", - "jack daniels", - "lemonade", - "lemon" - ] -} +{ + "name": "Lynchburg Lemonade", + "description": "A cocktail and long drink made with, among other ingredients, Jack Daniel's Tennessee whiskey. It is named after Lynchburg, Tennessee, home of the Jack Daniel's distillery.", + "github": "Donearm", + "ingredients": [ + { + "quantity": "40", + "measure": "ml", + "ingredient": "jack daniels" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "triple sec" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "sugar syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lemonade/sprite" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lemon slices" + }, + { + "quantity": "", + "measure": "", + "ingredient": "cherries" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Shake first 3 ingredients with ice.", + "Strain into a ice-filled glass.", + "Top with lemonade.", + "Add more ice and stir.", + "Garnish with lemon slices and cherries." + ], + "image": "lynchburg-lemonade.jpg", + "keywords": [ + "whisky", + "jack daniels", + "lemonade", + "lemon" + ] +} diff --git a/src/recipes/macunaima.json b/src/recipes/macunaima.json index 50c59ad84..70e8b67c1 100644 --- a/src/recipes/macunaima.json +++ b/src/recipes/macunaima.json @@ -1,40 +1,40 @@ -{ - "name": "Macunaíma", - "description": "A popular drink created at 'Boca de Ouro' bar, in São Paulo, Brazil.", - "github": "kellydosocorro", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "white Cachaça" - }, - { - "quantity": "25", - "measure": "ml", - "ingredient": "sugar syrup" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "7", - "measure": "ml", - "ingredient": "Fernet-Branca" - } - ], - "directions": [ - "Mix all ingredients in a cocktail shaker with plenty of ice.", - "Strain twice before putting in a glass cup of your choice" - ], - "image": "macunaima.jpg", - "source": "http://mixologynews.com.br/receitas/macunaima-boca-de-ouro/", - "keywords": [ - "lemon", - "cachaca", - "sugar syrup", - "Fernet", - "Brazilian drink" - ] -} +{ + "name": "Macunaíma", + "description": "A popular drink created at 'Boca de Ouro' bar, in São Paulo, Brazil.", + "github": "kellydosocorro", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "white Cachaça" + }, + { + "quantity": "25", + "measure": "ml", + "ingredient": "sugar syrup" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "7", + "measure": "ml", + "ingredient": "Fernet-Branca" + } + ], + "directions": [ + "Mix all ingredients in a cocktail shaker with plenty of ice.", + "Strain twice before putting in a glass cup of your choice" + ], + "image": "macunaima.jpg", + "source": "http://mixologynews.com.br/receitas/macunaima-boca-de-ouro/", + "keywords": [ + "lemon", + "cachaca", + "sugar syrup", + "Fernet", + "Brazilian drink" + ] +} diff --git a/src/recipes/madeleine.json b/src/recipes/madeleine.json index 1cd91aa10..9a0ad5ed0 100644 --- a/src/recipes/madeleine.json +++ b/src/recipes/madeleine.json @@ -1,35 +1,35 @@ -{ - "name": "Madeleine", - "description": "A sweet cocktail tasting like the eponymous French cake. Delicious both as a full drink and as a shooter.", - "github": "WilliamAboucaya", - "ingredients": [ - { - "quantity": "1", - "measure": "cl", - "ingredient": "Amaretto" - }, - { - "quantity": "1", - "measure": "cl", - "ingredient": "Cointreau" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "Ananas Juice" - } - ], - "directions": [ - "Combine all the ingredients and shake well.", - "Strain into martini or shot glass" - ], - "image": "madeleine.jpg", - "source": "https://www.villaschweppes.com/article/la-recette-du-madeleine-un-cocktail-a-l-amaretto-ananas-et-cointreau_a51466/1", - "keywords": [ - "amaretto", - "cointreau", - "sweet", - "vegan", - "french" - ] -} +{ + "name": "Madeleine", + "description": "A sweet cocktail tasting like the eponymous French cake. Delicious both as a full drink and as a shooter.", + "github": "WilliamAboucaya", + "ingredients": [ + { + "quantity": "1", + "measure": "cl", + "ingredient": "Amaretto" + }, + { + "quantity": "1", + "measure": "cl", + "ingredient": "Cointreau" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "Ananas Juice" + } + ], + "directions": [ + "Combine all the ingredients and shake well.", + "Strain into martini or shot glass" + ], + "image": "madeleine.jpg", + "source": "https://www.villaschweppes.com/article/la-recette-du-madeleine-un-cocktail-a-l-amaretto-ananas-et-cointreau_a51466/1", + "keywords": [ + "amaretto", + "cointreau", + "sweet", + "vegan", + "french" + ] +} diff --git a/src/recipes/madras.json b/src/recipes/madras.json index 430e943a5..c09c4af5f 100644 --- a/src/recipes/madras.json +++ b/src/recipes/madras.json @@ -1,33 +1,33 @@ -{ - "name": "Madras", - "description": "Easy Vodka Cranberry drink.", - "github": "deveshkatoch", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Cranberry Juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Orange Juice" - } - ], - "directions": [ - "Gather and pour the ingredients into a highball glass.", - "Stir the ingredients well.", - "Garnish with a lime wedge." - ], - "image": "madras.jpg", - "source": "https://www.thespruceeats.com/madras-cocktail-recipe-759318", - "keywords": [ - "vodka", - "cranberry" - ] +{ + "name": "Madras", + "description": "Easy Vodka Cranberry drink.", + "github": "deveshkatoch", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Cranberry Juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Orange Juice" + } + ], + "directions": [ + "Gather and pour the ingredients into a highball glass.", + "Stir the ingredients well.", + "Garnish with a lime wedge." + ], + "image": "madras.jpg", + "source": "https://www.thespruceeats.com/madras-cocktail-recipe-759318", + "keywords": [ + "vodka", + "cranberry" + ] } \ No newline at end of file diff --git a/src/recipes/magic-eye-juice.json b/src/recipes/magic-eye-juice.json index 055d2c888..8c0ad7505 100644 --- a/src/recipes/magic-eye-juice.json +++ b/src/recipes/magic-eye-juice.json @@ -1,41 +1,41 @@ -{ - "name": "Magic Eye Juice", - "description": "Treat Your Eyes Right. Vitamins and minerals are important to vision health and we create this tasty juice recipe that's good for the eyes, loaded with all the essential nutrients.", - "github": "sushmitaw", - "ingredients": [ - { - "quantity": "3", - "measure": "cup", - "ingredient": "Carrots" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Lemon juice" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "oranges" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "sweet potato" - } - ], - "directions": [ - "Peel the oranges and sweet potato, cut into pieces.", - "Wash, scrub and chop the carrots and lemon.", - "Process all ingreedients through your juicer.", - "Optional - strain through a sieve (if you don't like pulp).", - "Drink immediately and enjoy!" - ], - "image": "magic-eye-juice.jpg", - "keywords": [ - "eye sight", - "vegan", - "gluten free", - "fruits" - ] +{ + "name": "Magic Eye Juice", + "description": "Treat Your Eyes Right. Vitamins and minerals are important to vision health and we create this tasty juice recipe that's good for the eyes, loaded with all the essential nutrients.", + "github": "sushmitaw", + "ingredients": [ + { + "quantity": "3", + "measure": "cup", + "ingredient": "Carrots" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Lemon juice" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "oranges" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "sweet potato" + } + ], + "directions": [ + "Peel the oranges and sweet potato, cut into pieces.", + "Wash, scrub and chop the carrots and lemon.", + "Process all ingreedients through your juicer.", + "Optional - strain through a sieve (if you don't like pulp).", + "Drink immediately and enjoy!" + ], + "image": "magic-eye-juice.jpg", + "keywords": [ + "eye sight", + "vegan", + "gluten free", + "fruits" + ] } \ No newline at end of file diff --git a/src/recipes/mai-tai.json b/src/recipes/mai-tai.json index 60cc70c20..7cbd77f19 100644 --- a/src/recipes/mai-tai.json +++ b/src/recipes/mai-tai.json @@ -1,61 +1,61 @@ -{ - "name": "Mai Tai", - "description": "Fruity and refreshing, a sip of this will have you laid back on the beach in no time!", - "github": "JakeVdub", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "White Rum" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Lime Juice" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Orange Curaçao" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Orgeat Syrup" - }, - { - "quantity": "0.75", - "measure": "oz", - "ingredient": "Dark Rum" - }, - { - "quantity": "0.25", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Pineapple" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Combine all the ingredients except the dark rum into a shaker with ice and shake well.", - "Strain into tall glass.", - "Add the dark rum, pouring gently to 'float' it on top of the drink.", - "Garnish with a slice of pineapple." - ], - "image": "mai-tai.jpg", - "keywords": [ - "rum", - "fruit", - "alcoholic", - "cold", - "vegan" - ] -} +{ + "name": "Mai Tai", + "description": "Fruity and refreshing, a sip of this will have you laid back on the beach in no time!", + "github": "JakeVdub", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "White Rum" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Lime Juice" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Orange Curaçao" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Orgeat Syrup" + }, + { + "quantity": "0.75", + "measure": "oz", + "ingredient": "Dark Rum" + }, + { + "quantity": "0.25", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Pineapple" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Combine all the ingredients except the dark rum into a shaker with ice and shake well.", + "Strain into tall glass.", + "Add the dark rum, pouring gently to 'float' it on top of the drink.", + "Garnish with a slice of pineapple." + ], + "image": "mai-tai.jpg", + "keywords": [ + "rum", + "fruit", + "alcoholic", + "cold", + "vegan" + ] +} diff --git a/src/recipes/malai-cha.json b/src/recipes/malai-cha.json new file mode 100644 index 000000000..fe1d2394c --- /dev/null +++ b/src/recipes/malai-cha.json @@ -0,0 +1,52 @@ +{ + "name": "Malai Cha", + "description": "Malai cha is a rich and creamy tea made by brewing black tea leaves with milk, sugar, and condensed milk or cream. The addition of condensed milk gives the tea a luxurious and velvety texture, creating a sweet and indulgent beverage popular in Subcontinent.", + "github": "TarifSadman", + "ingredients": [ + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Tea leaves" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Water" + }, + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1.5", + "measure": "teaspoon", + "ingredient": "Condensed milk" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Sugar" + } + ], + "directions": [ + "In a saucepan, bring water to a boil.", + "Add tea leaves or tea bag to the boiling water.", + "Pour in the milk and let the mixture simmer for 2-3 minutes, allowing the tea to brew.", + "Add sugar to taste and stir well.", + "Add condensed milk or cream and continue to simmer for another 2 minutes, ensuring the mixture is well-blended.", + "Strain the tea into a cup to remove the tea leaves or tea bag.", + "Optionally, garnish with a pinch of cardamom or saffron for added flavor.", + "Enjoy your delicious cup of malai chai! Adjust the sweetness and creaminess according to your preference." + ], + "image": "malai-cha.jpg", + "keywords": [ + "Malai", + "Tea", + "Chai", + "Indian", + "Beverage", + "Drink", + "Milk" + ] +} \ No newline at end of file diff --git a/src/recipes/malibu-island-cosmo.json b/src/recipes/malibu-island-cosmo.json index d283f745f..b2ac1a896 100644 --- a/src/recipes/malibu-island-cosmo.json +++ b/src/recipes/malibu-island-cosmo.json @@ -1,44 +1,44 @@ -{ - "name": "Malibu Island Cosmo", - "description": "This cocktail is a variant of Cosmo, with a different taste. A tropical twist on the deliciously fun and fruity cocktail.", - "github": "primes2h", - "ingredients": [ - { - "quantity": "1", - "measure": "part", - "ingredient": "Malibu original" - }, - { - "quantity": "1/3", - "measure": "part", - "ingredient": "Absolut citron" - }, - { - "quantity": "1/3", - "measure": "part", - "ingredient": "Fresh lime juice" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "Pomegranate juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lime" - } - ], - "directions": [ - "Pour all ingredients into an ice-filled shaker.", - "Shake until cold and double strain into a chilled cocktail glass.", - "Top off with a wedge of lime." - ], - "image": "malibu-island-cosmo.jpg", - "keywords": [ - "fruit", - "juice", - "alcoholic", - "coconut" - ] -} +{ + "name": "Malibu Island Cosmo", + "description": "This cocktail is a variant of Cosmo, with a different taste. A tropical twist on the deliciously fun and fruity cocktail.", + "github": "primes2h", + "ingredients": [ + { + "quantity": "1", + "measure": "part", + "ingredient": "Malibu original" + }, + { + "quantity": "1/3", + "measure": "part", + "ingredient": "Absolut citron" + }, + { + "quantity": "1/3", + "measure": "part", + "ingredient": "Fresh lime juice" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "Pomegranate juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lime" + } + ], + "directions": [ + "Pour all ingredients into an ice-filled shaker.", + "Shake until cold and double strain into a chilled cocktail glass.", + "Top off with a wedge of lime." + ], + "image": "malibu-island-cosmo.jpg", + "keywords": [ + "fruit", + "juice", + "alcoholic", + "coconut" + ] +} diff --git a/src/recipes/malibu-sunset.json b/src/recipes/malibu-sunset.json index dfe317ae8..5e07ec0f8 100644 --- a/src/recipes/malibu-sunset.json +++ b/src/recipes/malibu-sunset.json @@ -1,47 +1,47 @@ -{ - "name": "Malibu Sunset", - "description": "An easy and fruity tropical beverage that tastes like an island vacation", - "github": "elizabethrsotomayor", - "ingredients": [ - { - "quantity": "1", - "measure": "handful", - "ingredient": "ice cubes" - }, - { - "quantity": "3 to 4", - "measure": "ounces", - "ingredient": "pineapple-orange juice" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "Malibu Coconut Rum" - }, - { - "quantity": "1", - "measure": "drizzle", - "ingredient": "grenadine" - }, - { - "quantity": "1 to 2", - "measure": "", - "ingredient": "maraschino cherries, for garnishing" - }, - { - "quantity": "1 to 2", - "measure": "", - "ingredient": "pineapple and/or slices of orange, for garnishing" - } - ], - "directions": [ - "Add ice to glass.", - "Add juice, Malibu, and stir.", - "Drizzle in grenadine.", - "Garnish with cherries, pineapple, and/or slices of orange.", - "Serve immediately." - ], - "image": "malibu-sunset.jpg", - "source": "https://www.averiecooks.com/malibu-sunset/", - "keywords": ["tropical", "fruity", "coconut", "rum"] -} +{ + "name": "Malibu Sunset", + "description": "An easy and fruity tropical beverage that tastes like an island vacation", + "github": "elizabethrsotomayor", + "ingredients": [ + { + "quantity": "1", + "measure": "handful", + "ingredient": "ice cubes" + }, + { + "quantity": "3 to 4", + "measure": "ounces", + "ingredient": "pineapple-orange juice" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "Malibu Coconut Rum" + }, + { + "quantity": "1", + "measure": "drizzle", + "ingredient": "grenadine" + }, + { + "quantity": "1 to 2", + "measure": "", + "ingredient": "maraschino cherries, for garnishing" + }, + { + "quantity": "1 to 2", + "measure": "", + "ingredient": "pineapple and/or slices of orange, for garnishing" + } + ], + "directions": [ + "Add ice to glass.", + "Add juice, Malibu, and stir.", + "Drizzle in grenadine.", + "Garnish with cherries, pineapple, and/or slices of orange.", + "Serve immediately." + ], + "image": "malibu-sunset.jpg", + "source": "https://www.averiecooks.com/malibu-sunset/", + "keywords": ["tropical", "fruity", "coconut", "rum"] +} diff --git a/src/recipes/mangalorean-tea.json b/src/recipes/mangalorean-tea.json index f2b999f66..de54aed9d 100644 --- a/src/recipes/mangalorean-tea.json +++ b/src/recipes/mangalorean-tea.json @@ -1,53 +1,53 @@ -{ - "name": "Mangalorean Tea", - "description": "The Mangalorean Tea is a herbal drink made of dry-roasted and coarsely powdered spices. The spices are boiled with water and sweetened with misri. A little bit of milk is added to the herbal concoction to balance the flavour and strength and make it pleasant to the palate. Apart from having a general rejuvenating effect,this caffeine free herbal tea also help to soothe the throat.", - "github": "Aniket-508", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "coriander seeds(dhania)" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "cumin seeds(jeera)" - }, - { - "quantity": "1 and 1/2", - "measure": "tbsp", - "ingredient": "fennel seeds(saunf)" - }, - { - "quantity": "1/4", - "measure": "tsp", - "ingredient": "fenugreek seeds(methi)" - }, - { - "quantity": "1 and 1/2", - "measure": "tsp", - "ingredient": "misri(khadi sakhar)" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "milk" - } - ], - "directions": [ - "Heat a small broad non-stick pan and dry roast the coriander seeds, cumin seeds, fennel seeds and fenugreek seeds on a medium flame for 2 to 3 minutes, while stirring it continuously", - "Cool slightly and blend in mixer to a coarse powder. Keep aside.", - "Heat 1 cup of water in a saucepan and add 1½ tbsp of prepared spice powder and misri, mix well and cook on a medium flame for 3 minute, while stirring occasionally.", - "Add the milk and cook on a medium flame for 1 minute, while stirring occasionally.", - "Strain the mixture through a strainer.", - "Serve immediately." - ], - "image": "mangalorean-tea.jpg", - "keywords": [ - "Indian", - "Tea", - "Chai", - "Milk", - "Spices" - ] -} +{ + "name": "Mangalorean Tea", + "description": "The Mangalorean Tea is a herbal drink made of dry-roasted and coarsely powdered spices. The spices are boiled with water and sweetened with misri. A little bit of milk is added to the herbal concoction to balance the flavour and strength and make it pleasant to the palate. Apart from having a general rejuvenating effect,this caffeine free herbal tea also help to soothe the throat.", + "github": "Aniket-508", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "coriander seeds(dhania)" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "cumin seeds(jeera)" + }, + { + "quantity": "1 and 1/2", + "measure": "tbsp", + "ingredient": "fennel seeds(saunf)" + }, + { + "quantity": "1/4", + "measure": "tsp", + "ingredient": "fenugreek seeds(methi)" + }, + { + "quantity": "1 and 1/2", + "measure": "tsp", + "ingredient": "misri(khadi sakhar)" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "milk" + } + ], + "directions": [ + "Heat a small broad non-stick pan and dry roast the coriander seeds, cumin seeds, fennel seeds and fenugreek seeds on a medium flame for 2 to 3 minutes, while stirring it continuously", + "Cool slightly and blend in mixer to a coarse powder. Keep aside.", + "Heat 1 cup of water in a saucepan and add 1½ tbsp of prepared spice powder and misri, mix well and cook on a medium flame for 3 minute, while stirring occasionally.", + "Add the milk and cook on a medium flame for 1 minute, while stirring occasionally.", + "Strain the mixture through a strainer.", + "Serve immediately." + ], + "image": "mangalorean-tea.jpg", + "keywords": [ + "Indian", + "Tea", + "Chai", + "Milk", + "Spices" + ] +} diff --git a/src/recipes/mango-daiquiri.json b/src/recipes/mango-daiquiri.json index 6fe798cd3..c1a450351 100644 --- a/src/recipes/mango-daiquiri.json +++ b/src/recipes/mango-daiquiri.json @@ -1,40 +1,40 @@ -{ - "name": "Mango Daiquiri", - "description": "Mango Daquiri is a cocktail based on rum, lime, and mango.", - "github": "msRob0t", - "ingredients": [ - { - "quantity": "45", - "measure": "ml", - "ingredient": "White Rum" - }, - { - "quantity": "25", - "measure": "ml", - "ingredient": "Lime Juice" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Sugar Syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mango (preferably fresh)" - } - ], - "directions": [ - "Add a small scoop of ice to the blender.", - "Add remaining ingredients.", - "Blend for approximately 30 seconds.", - "Pour into a cocktail glass." - ], - "image": "mango-daiquiri.jpg", - "keywords": [ - "alcoholic", - "fruit", - "smoothie", - "vegan" - ] -} +{ + "name": "Mango Daiquiri", + "description": "Mango Daquiri is a cocktail based on rum, lime, and mango.", + "github": "msRob0t", + "ingredients": [ + { + "quantity": "45", + "measure": "ml", + "ingredient": "White Rum" + }, + { + "quantity": "25", + "measure": "ml", + "ingredient": "Lime Juice" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Sugar Syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mango (preferably fresh)" + } + ], + "directions": [ + "Add a small scoop of ice to the blender.", + "Add remaining ingredients.", + "Blend for approximately 30 seconds.", + "Pour into a cocktail glass." + ], + "image": "mango-daiquiri.jpg", + "keywords": [ + "alcoholic", + "fruit", + "smoothie", + "vegan" + ] +} diff --git a/src/recipes/mango-iced-tea.json b/src/recipes/mango-iced-tea.json index 3cb4da7a2..30b4f8879 100755 --- a/src/recipes/mango-iced-tea.json +++ b/src/recipes/mango-iced-tea.json @@ -1,53 +1,53 @@ -{ - "name": "Mango Iced Tea", - "description": "Iced sweet black tea with fresh mango pulp.", - "github": "Bluetoothworks", - "ingredients": [ - { - "quantity": "2", - "measure": "medium sized pieces", - "ingredient": "Mango" - }, - { - "quantity": "3", - "measure": "teaspoon", - "ingredient": "Black tea" - }, - { - "quantity": "4", - "measure": "cups", - "ingredient": "Water" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "Lemon Juice" - }, - { - "quantity": "1½", - "measure": "tbsp", - "ingredient": "Cane sugar" - }, - { - "quantity": "few", - "measure": "", - "ingredient": "Mint leaves" - } - ], - "directions": [ - "Peel and chop the mangoes.", - "Puree them in a blender and refrigerate.", - "Heat water on a stove top or in the microwave.", - "Remove the pan of hot water.", - "Add the black tea and stir.", - "Cover and let the tea steep in the hot water for 5-7 mins.", - "Strain and keep the tea in the fridge.", - "Once the tea is cooled, remove from the fridge.", - "Pour the tea in a blender.", - "Add the mango puree, lemon juice and sugar to the tea.", - "Blend everything till smooth.", - "Serve the mango iced tea in tall glasses with some ice cubes garnished with mint leaves or mango or lemon slices." - ], - "image": "mango-iced-tea.jpg", - "keywords": ["black tea", "tea", "sweet", "mango", "dairy-free", "vegan"] -} +{ + "name": "Mango Iced Tea", + "description": "Iced sweet black tea with fresh mango pulp.", + "github": "Bluetoothworks", + "ingredients": [ + { + "quantity": "2", + "measure": "medium sized pieces", + "ingredient": "Mango" + }, + { + "quantity": "3", + "measure": "teaspoon", + "ingredient": "Black tea" + }, + { + "quantity": "4", + "measure": "cups", + "ingredient": "Water" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "Lemon Juice" + }, + { + "quantity": "1½", + "measure": "tbsp", + "ingredient": "Cane sugar" + }, + { + "quantity": "few", + "measure": "", + "ingredient": "Mint leaves" + } + ], + "directions": [ + "Peel and chop the mangoes.", + "Puree them in a blender and refrigerate.", + "Heat water on a stove top or in the microwave.", + "Remove the pan of hot water.", + "Add the black tea and stir.", + "Cover and let the tea steep in the hot water for 5-7 mins.", + "Strain and keep the tea in the fridge.", + "Once the tea is cooled, remove from the fridge.", + "Pour the tea in a blender.", + "Add the mango puree, lemon juice and sugar to the tea.", + "Blend everything till smooth.", + "Serve the mango iced tea in tall glasses with some ice cubes garnished with mint leaves or mango or lemon slices." + ], + "image": "mango-iced-tea.jpg", + "keywords": ["black tea", "tea", "sweet", "mango", "dairy-free", "vegan"] +} diff --git a/src/recipes/mango-juice.json b/src/recipes/mango-juice.json index 0b71c871e..ea6d55bf6 100644 --- a/src/recipes/mango-juice.json +++ b/src/recipes/mango-juice.json @@ -1,39 +1,39 @@ -{ - "name": "Mango Juice", - "description": "Mango is a pulpy fruit which requires more liquids when blended to juice. Mango juice can do wonders to your body especially for the digestion.", - "github": "Prem1835", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "large mango" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "water or coconut water" - }, - { - "quantity": "5 to 6", - "measure": "", - "ingredient": "mint leaves" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "water" - } - ], - "directions": [ - "Wash mango thoroughly and chill. Peel the skin.", - "Cut the mango into cubes and add them to a blender and pour the coconut water or orange juice.", - "Put in the other ingredients if using like ginger and mint.", - "Blend until smooth. Serve immediately." - ], - "image": "mango-juice.jpg", - "keywords": [ - "non-alcoholic", - "vegan", - "smoothie" - ] -} +{ + "name": "Mango Juice", + "description": "Mango is a pulpy fruit which requires more liquids when blended to juice. Mango juice can do wonders to your body especially for the digestion.", + "github": "Prem1835", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "large mango" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "water or coconut water" + }, + { + "quantity": "5 to 6", + "measure": "", + "ingredient": "mint leaves" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "water" + } + ], + "directions": [ + "Wash mango thoroughly and chill. Peel the skin.", + "Cut the mango into cubes and add them to a blender and pour the coconut water or orange juice.", + "Put in the other ingredients if using like ginger and mint.", + "Blend until smooth. Serve immediately." + ], + "image": "mango-juice.jpg", + "keywords": [ + "non-alcoholic", + "vegan", + "smoothie" + ] +} diff --git a/src/recipes/mango-lassi.json b/src/recipes/mango-lassi.json index 2e094f09b..f643a187a 100644 --- a/src/recipes/mango-lassi.json +++ b/src/recipes/mango-lassi.json @@ -1,42 +1,42 @@ -{ - "name": "Mango Lassi", - "description": "This recipe comes from the cookbook author Madhur Jaffrey, who said, 'Mangoes are supposed to be good for the eyes.'", - "github": "parammittal16", - "ingredients": [ - { - "quantity": "1", - "measure": "Cup", - "ingredient": "Plain Yogurt" - }, - { - "quantity": "1.5", - "measure": "tablespoon", - "ingredient": "Sugar" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Fresh or canned Mango pulp" - }, - { - "quantity": "1/4", - "measure": "tsp", - "ingredient": "Cardamom seeds" - } - ], - "directions": [ - "Place all ingredients in a blender and puree until smooth.", - "Add sugar to taste.", - "Garnish with a pinch of ground cardamom seeds.", - "A few extra ice cubes may be added when serving." - ], - "image": "mango-lassi.jpg", - "keywords": [ - "yogurt", - "sugar", - "non-alcoholic", - "smoothie", - "lassi", - "cold" - ] -} +{ + "name": "Mango Lassi", + "description": "This recipe comes from the cookbook author Madhur Jaffrey, who said, 'Mangoes are supposed to be good for the eyes.'", + "github": "parammittal16", + "ingredients": [ + { + "quantity": "1", + "measure": "Cup", + "ingredient": "Plain Yogurt" + }, + { + "quantity": "1.5", + "measure": "tablespoon", + "ingredient": "Sugar" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Fresh or canned Mango pulp" + }, + { + "quantity": "1/4", + "measure": "tsp", + "ingredient": "Cardamom seeds" + } + ], + "directions": [ + "Place all ingredients in a blender and puree until smooth.", + "Add sugar to taste.", + "Garnish with a pinch of ground cardamom seeds.", + "A few extra ice cubes may be added when serving." + ], + "image": "mango-lassi.jpg", + "keywords": [ + "yogurt", + "sugar", + "non-alcoholic", + "smoothie", + "lassi", + "cold" + ] +} diff --git a/src/recipes/mango-mastani.json b/src/recipes/mango-mastani.json index 61c53746c..ea6fe55df 100644 --- a/src/recipes/mango-mastani.json +++ b/src/recipes/mango-mastani.json @@ -1,69 +1,69 @@ -{ - "name": "Mango Mastani", - "description": "A thick milkshake topped with a scoop of ice cream along with quirky toppings.", - "github": "sinisterblade", - "ingredients": [ - { - "quantity": "3", - "measure": "cup", - "ingredient": "chopped mangoes" - }, - { - "quantity": "375", - "measure": "ml", - "ingredient": "full cream chilled milk" - }, - { - "quantity": "0.75", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "chopped pistachios" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "chopped cashews" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "chopped almonds" - }, - { - "quantity": "1", - "measure": "scoop", - "ingredient": "vanilla ice cream" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "glazed cherry" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "ice cube" - } - ], - "directions": [ - "Blend the chopped mangoes. Keep a few pieces aside for topping the mastani.", - "Add a tablespoon of sugar and a cup of full cream milk.", - "Blend to a smooth thick milkshake.", - "Pour this thick mango milkshake in a glass, leaving enough space at the top for ice cream scoops.", - "Place one or two vanilla or mango ice cream scoops.", - "Top with the dry fruits and chopped mangoes. Garnish with the glazed cherries.", - "Serve mango mastani immediately with a spoon as well as a straw." - ], - "image": "mango-mastani.jpg", - "source": "https://www.vegrecipesofindia.com/mango-mastani-recipe", - "keywords": [ - "fruit", - "non-alcoholic", - "sweet", - "smoothie" - ] -} +{ + "name": "Mango Mastani", + "description": "A thick milkshake topped with a scoop of ice cream along with quirky toppings.", + "github": "sinisterblade", + "ingredients": [ + { + "quantity": "3", + "measure": "cup", + "ingredient": "chopped mangoes" + }, + { + "quantity": "375", + "measure": "ml", + "ingredient": "full cream chilled milk" + }, + { + "quantity": "0.75", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "chopped pistachios" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "chopped cashews" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "chopped almonds" + }, + { + "quantity": "1", + "measure": "scoop", + "ingredient": "vanilla ice cream" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "glazed cherry" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "ice cube" + } + ], + "directions": [ + "Blend the chopped mangoes. Keep a few pieces aside for topping the mastani.", + "Add a tablespoon of sugar and a cup of full cream milk.", + "Blend to a smooth thick milkshake.", + "Pour this thick mango milkshake in a glass, leaving enough space at the top for ice cream scoops.", + "Place one or two vanilla or mango ice cream scoops.", + "Top with the dry fruits and chopped mangoes. Garnish with the glazed cherries.", + "Serve mango mastani immediately with a spoon as well as a straw." + ], + "image": "mango-mastani.jpg", + "source": "https://www.vegrecipesofindia.com/mango-mastani-recipe", + "keywords": [ + "fruit", + "non-alcoholic", + "sweet", + "smoothie" + ] +} diff --git a/src/recipes/mango-mocktail.json b/src/recipes/mango-mocktail.json index 92dddb691..aa417c030 100644 --- a/src/recipes/mango-mocktail.json +++ b/src/recipes/mango-mocktail.json @@ -1,41 +1,41 @@ -{ - "name": "Mango Mocktail", - "description": "A refreshing drink which combines maple, ginger, and mango.", - "github": "andrewjthomsen", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "pineapple orange juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "frozen mango chunks" - }, - { - "quantity": "4", - "measure": "1/2 inch slices", - "ingredient": "ginger" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "maple syrup" - } - - ], - "directions": [ - "Combine pineapple juice, mango, ginger, limes and syrup in blender container.", - " Add 2-1/2 cups ice.", - "Cover; blend until smooth.", - "Pour into chilled martini glasses rimmed with equal parts superfine bar sugar and dried ginger." - ], - "image": "mango-mocktail.jpg", - "keywords": [ - "mango", - "maple syrup", - "mocktail", - "non-alcoholic" - ] -} +{ + "name": "Mango Mocktail", + "description": "A refreshing drink which combines maple, ginger, and mango.", + "github": "andrewjthomsen", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "pineapple orange juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "frozen mango chunks" + }, + { + "quantity": "4", + "measure": "1/2 inch slices", + "ingredient": "ginger" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "maple syrup" + } + + ], + "directions": [ + "Combine pineapple juice, mango, ginger, limes and syrup in blender container.", + " Add 2-1/2 cups ice.", + "Cover; blend until smooth.", + "Pour into chilled martini glasses rimmed with equal parts superfine bar sugar and dried ginger." + ], + "image": "mango-mocktail.jpg", + "keywords": [ + "mango", + "maple syrup", + "mocktail", + "non-alcoholic" + ] +} diff --git a/src/recipes/mango-nojito-mocktail.json b/src/recipes/mango-nojito-mocktail.json index 8ba31b2a9..50be0ced3 100644 --- a/src/recipes/mango-nojito-mocktail.json +++ b/src/recipes/mango-nojito-mocktail.json @@ -1,50 +1,50 @@ -{ - "name": "Mango Nojito Mocktail", - "description": "Non-alcoholic, mojito inspired drink with mango, lime and apple juice", - "github": "AnneKir", - "ingredients": [ - { - "quantity": "2.5", - "measure": "cl", - "ingredient": "Mango syrup" - }, - { - "quantity": "4", - "measure": "cl", - "ingredient": "Apple Juice" - }, - { - "quantity": "1", - "measure": "cl", - "ingredient": "Fresh lime juice" - }, - { - "quantity": "8", - "measure": "cl", - "ingredient": "Sparkling water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mint leaves" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Pour mango syrup, lime juice, and apple juice into a highball glass", - "Add mint leaves and ice as desired", - "Stir and fill with sparkling water", - "Decorate with a slice of mango and mint leaves" - ], - "image": "mango-nojito-mocktail.jpg", - "source": "https://shake-it.dk/drink/mango-nojito-mocktail/", - "keywords": [ - "mango", - "sparkling water", - "non alcoholic" - ] -} +{ + "name": "Mango Nojito Mocktail", + "description": "Non-alcoholic, mojito inspired drink with mango, lime and apple juice", + "github": "AnneKir", + "ingredients": [ + { + "quantity": "2.5", + "measure": "cl", + "ingredient": "Mango syrup" + }, + { + "quantity": "4", + "measure": "cl", + "ingredient": "Apple Juice" + }, + { + "quantity": "1", + "measure": "cl", + "ingredient": "Fresh lime juice" + }, + { + "quantity": "8", + "measure": "cl", + "ingredient": "Sparkling water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mint leaves" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Pour mango syrup, lime juice, and apple juice into a highball glass", + "Add mint leaves and ice as desired", + "Stir and fill with sparkling water", + "Decorate with a slice of mango and mint leaves" + ], + "image": "mango-nojito-mocktail.jpg", + "source": "https://shake-it.dk/drink/mango-nojito-mocktail/", + "keywords": [ + "mango", + "sparkling water", + "non alcoholic" + ] +} diff --git a/src/recipes/mango-shake.json b/src/recipes/mango-shake.json index ab4ba7a2b..3b70342ff 100644 --- a/src/recipes/mango-shake.json +++ b/src/recipes/mango-shake.json @@ -1,39 +1,39 @@ -{ - "name": "Mango Shake", - "description": "Mango shake is a tempting fruit drink prepared by simply blending ripe mango, milk and sugar.", - "github": "theishanbh", - "ingredients": [ - { - "quantity": "2", - "measure": "medium sized", - "ingredient": "ripe and sweet mangoes" - }, - { - "quantity": "1½", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "sugar" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Rinse and pat dry the ripe and sweet mangoes.", - "Peel and chop the mangoes.", - "Discard the stones.", - "Add the chopped mangoes in a blender jar.", - "Add milk in the jar.", - "Add ice cubes in the jar.", - "Blend till smooth.", - "Pour mango shake in glasses and server immediately." - ], - "image": "mango-shake.jpg", - "keywords": [ "mango", "sweet", "milk", "shaken"] -} +{ + "name": "Mango Shake", + "description": "Mango shake is a tempting fruit drink prepared by simply blending ripe mango, milk and sugar.", + "github": "theishanbh", + "ingredients": [ + { + "quantity": "2", + "measure": "medium sized", + "ingredient": "ripe and sweet mangoes" + }, + { + "quantity": "1½", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "sugar" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Rinse and pat dry the ripe and sweet mangoes.", + "Peel and chop the mangoes.", + "Discard the stones.", + "Add the chopped mangoes in a blender jar.", + "Add milk in the jar.", + "Add ice cubes in the jar.", + "Blend till smooth.", + "Pour mango shake in glasses and server immediately." + ], + "image": "mango-shake.jpg", + "keywords": [ "mango", "sweet", "milk", "shaken"] +} diff --git a/src/recipes/mango-yakult-juice.json b/src/recipes/mango-yakult-juice.json index ebde49c13..e79cef6cb 100644 --- a/src/recipes/mango-yakult-juice.json +++ b/src/recipes/mango-yakult-juice.json @@ -1,40 +1,40 @@ -{ - "name": "Mango Juice with Yakult", - "description": "Mango Juice with mix of Yakult.", - "github": "muthi08", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Mango" - }, - { - "quantity": "2", - "measure": "bottle", - "ingredient": "Yakult" - }, - { - "quantity": "1", - "measure": "tbs", - "ingredient": "Chiaseed" - }, - { - "quantity": "1", - "measure": "sachet", - "ingredient": "Tropicana" - } - ], - "directions": [ - "Peel mango skin troughly.", - "Cut the mango into cubes and add them to a blender and pour a bottle of Yakult, a sachet of Tropicana and 100 ml of water.", - "Blend until smooth. Serve immediately.", - "Enjoy!" - ], - "image": "mango-yakult-juice.jpg", - "source": "https://cookpad.com/id/resep/10916268-jus-mangga-yakult?via=search&search_term=minuman", - "keywords": [ - "Mango Juice", - "Mango", - "Yakult" - ] -} +{ + "name": "Mango Juice with Yakult", + "description": "Mango Juice with mix of Yakult.", + "github": "muthi08", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Mango" + }, + { + "quantity": "2", + "measure": "bottle", + "ingredient": "Yakult" + }, + { + "quantity": "1", + "measure": "tbs", + "ingredient": "Chiaseed" + }, + { + "quantity": "1", + "measure": "sachet", + "ingredient": "Tropicana" + } + ], + "directions": [ + "Peel mango skin troughly.", + "Cut the mango into cubes and add them to a blender and pour a bottle of Yakult, a sachet of Tropicana and 100 ml of water.", + "Blend until smooth. Serve immediately.", + "Enjoy!" + ], + "image": "mango-yakult-juice.jpg", + "source": "https://cookpad.com/id/resep/10916268-jus-mangga-yakult?via=search&search_term=minuman", + "keywords": [ + "Mango Juice", + "Mango", + "Yakult" + ] +} diff --git a/src/recipes/manhattan.json b/src/recipes/manhattan.json index 29480109b..8de61e804 100644 --- a/src/recipes/manhattan.json +++ b/src/recipes/manhattan.json @@ -1,46 +1,46 @@ -{ - "name": "Manhattan", - "description": "The Manhattan is a short drink cocktail that can be served as an aperitif.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Bourbon" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Sweet Vermouth" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Dry Vermouth" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Angostura Bitters" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "Chill a cocktail glass with ice and soda.", - "Fill a mixing glass with ice and then add all ingredients.", - "Using a bar spoon, stir the drink for approximately 20 seconds.", - "When stirring, always ensure the glass is topped up with ice.", - "Taste and then strain into the chilled cocktail glass, serving straight up.", - "Zest the drink and glass with the orange peel and then twist and place in glass." - ], - "image": "manhattan.jpg", - "keywords": [ - "alcoholic", - "classic", - "vegan" - ] -} +{ + "name": "Manhattan", + "description": "The Manhattan is a short drink cocktail that can be served as an aperitif.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Bourbon" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Sweet Vermouth" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Dry Vermouth" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Angostura Bitters" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "Chill a cocktail glass with ice and soda.", + "Fill a mixing glass with ice and then add all ingredients.", + "Using a bar spoon, stir the drink for approximately 20 seconds.", + "When stirring, always ensure the glass is topped up with ice.", + "Taste and then strain into the chilled cocktail glass, serving straight up.", + "Zest the drink and glass with the orange peel and then twist and place in glass." + ], + "image": "manhattan.jpg", + "keywords": [ + "alcoholic", + "classic", + "vegan" + ] +} diff --git a/src/recipes/maple-bourbon-smash.json b/src/recipes/maple-bourbon-smash.json index 68e209963..fc3662e60 100644 --- a/src/recipes/maple-bourbon-smash.json +++ b/src/recipes/maple-bourbon-smash.json @@ -1,40 +1,40 @@ -{ - "name": "Maple Bourbon Smash", - "description": "The slightly smoky sweetness of maple syrup pairs perfectly with oaky bourbon in this quintessential autumn cocktail.", - "github": "spotts9", - "ingredients": [ - { - "quantity": "2", - "measure": "Oz", - "ingredient": "Bourbon" - }, - { - "quantity": "1", - "measure": "Oz", - "ingredient": "Maple Syrup" - }, - { - "quantity": "1", - "measure": "Oz", - "ingredient": "Fresh Lemon Juice" - }, - { - "quantity": "1", - "measure": "Twist", - "ingredient": "Lemon" - } - ], - "directions": [ - "Pour the bourbon, maple syrup, and lemon juice into a shaker filled with ice.", - "Stir until the drink is thoroughly chlled, about 20 seconds.", - "Strain into a double old-fashioned glass with a large cube of ice.", - "Garnish with lemon twist" - ], - "image": "maple-bourbon-smash.jpg", - "keywords": [ - "bourbon", - "maple syrup", - "fall", - "vegan" - ] -} +{ + "name": "Maple Bourbon Smash", + "description": "The slightly smoky sweetness of maple syrup pairs perfectly with oaky bourbon in this quintessential autumn cocktail.", + "github": "spotts9", + "ingredients": [ + { + "quantity": "2", + "measure": "Oz", + "ingredient": "Bourbon" + }, + { + "quantity": "1", + "measure": "Oz", + "ingredient": "Maple Syrup" + }, + { + "quantity": "1", + "measure": "Oz", + "ingredient": "Fresh Lemon Juice" + }, + { + "quantity": "1", + "measure": "Twist", + "ingredient": "Lemon" + } + ], + "directions": [ + "Pour the bourbon, maple syrup, and lemon juice into a shaker filled with ice.", + "Stir until the drink is thoroughly chlled, about 20 seconds.", + "Strain into a double old-fashioned glass with a large cube of ice.", + "Garnish with lemon twist" + ], + "image": "maple-bourbon-smash.jpg", + "keywords": [ + "bourbon", + "maple syrup", + "fall", + "vegan" + ] +} diff --git a/src/recipes/margarita.json b/src/recipes/margarita.json index 433050c46..9d5df478e 100644 --- a/src/recipes/margarita.json +++ b/src/recipes/margarita.json @@ -1,34 +1,34 @@ -{ - "name": "Margarita", - "description": "A margarita is a cocktail consisting of tequila, orange liqueur, and lime juice often served with salt on the rim of the glass.", - "github": "alfg", - "ingredients": [ - { - "quantity": "1 (6 oz)", - "measure": "can", - "ingredient": "frozen limeade" - }, - { - "quantity": "2", - "measure": "fl oz.", - "ingredient": "triple sec" - }, - { - "quantity": "6", - "measure": "fl oz.", - "ingredient": "tequila" - } - ], - "directions": [ - "Fill blender with crushed ice.", - "Pour in limeade concentrate, tequila and triple sec.", - "Blend until smooth. Pour into glasses and serve." - ], - "image": "margarita.jpg", - "keywords": [ - "tequila", - "alcoholic", - "vegan", - "simple" - ] -} +{ + "name": "Margarita", + "description": "A margarita is a cocktail consisting of tequila, orange liqueur, and lime juice often served with salt on the rim of the glass.", + "github": "alfg", + "ingredients": [ + { + "quantity": "1 (6 oz)", + "measure": "can", + "ingredient": "frozen limeade" + }, + { + "quantity": "2", + "measure": "fl oz.", + "ingredient": "triple sec" + }, + { + "quantity": "6", + "measure": "fl oz.", + "ingredient": "tequila" + } + ], + "directions": [ + "Fill blender with crushed ice.", + "Pour in limeade concentrate, tequila and triple sec.", + "Blend until smooth. Pour into glasses and serve." + ], + "image": "margarita.jpg", + "keywords": [ + "tequila", + "alcoholic", + "vegan", + "simple" + ] +} diff --git a/src/recipes/marpha.json b/src/recipes/marpha.json index 882bf53ef..4fdac8f75 100644 --- a/src/recipes/marpha.json +++ b/src/recipes/marpha.json @@ -1,27 +1,27 @@ -{ - "name": "Marpha", - "description": "Marpha is a fermented mash of fresh apples of Mustang, Nepal which falls in the category of fruit brandy. Marpha is a colorless but a potent alcoholic drink from Marpha, Mustang, Nepal which has gained popularity for it's freshness and super quality.", - "github": "sanjaysanjel019", - "ingredients": [ - { - "quantity": "5", - "measure": "kilos", - "ingredient": "Apples" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Khesung(source of molds, bacteria and yeast)" - } - ], - "directions": [ - "First you collect fresh apples, primarily from Mustang.", - "You then ferment the apples on a large container.", - "You ferment the drinks for around 3 months", - "Add Khesung", - "Now pour the drink into a jar and let is rest and cool.", - "The drink is now ready to be served." - ], - "image": "marpha.jpg", - "keywords": ["apple", "raksi", "alcoholic", "khesung", "Nepali", "sweet"] -} +{ + "name": "Marpha", + "description": "Marpha is a fermented mash of fresh apples of Mustang, Nepal which falls in the category of fruit brandy. Marpha is a colorless but a potent alcoholic drink from Marpha, Mustang, Nepal which has gained popularity for it's freshness and super quality.", + "github": "sanjaysanjel019", + "ingredients": [ + { + "quantity": "5", + "measure": "kilos", + "ingredient": "Apples" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Khesung(source of molds, bacteria and yeast)" + } + ], + "directions": [ + "First you collect fresh apples, primarily from Mustang.", + "You then ferment the apples on a large container.", + "You ferment the drinks for around 3 months", + "Add Khesung", + "Now pour the drink into a jar and let is rest and cool.", + "The drink is now ready to be served." + ], + "image": "marpha.jpg", + "keywords": ["apple", "raksi", "alcoholic", "khesung", "Nepali", "sweet"] +} diff --git a/src/recipes/marquisette.json b/src/recipes/marquisette.json index add2d4fa7..96c6bbb48 100644 --- a/src/recipes/marquisette.json +++ b/src/recipes/marquisette.json @@ -1,45 +1,45 @@ -{ - "name": "Marquisette", - "description": "The Marquisette is an drink particularly present in the south-east of France and consumed in popular balls (recipe for 30 people).", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "7", - "measure": "l", - "ingredient": "white wine (like Picpoul de Pinet)" - }, - { - "quantity": "1", - "measure": "bottle", - "ingredient": "Champagne (or a sparkling wine)" - }, - { - "quantity": "1", - "measure": "kg", - "ingredient": "sugar" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "yellow lemons" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "limes" - } - ], - "directions": [ - "Marinate 24 hours in advance the wine, lemon juice and sugar.", - "Just before serving add the lime cut into small pieces and the champagne." - ], - "image": "marquisette.jpg", - "keywords": [ - "wine", - "white wine", - "champagne", - "sugar", - "lemon", - "lime" - ] +{ + "name": "Marquisette", + "description": "The Marquisette is an drink particularly present in the south-east of France and consumed in popular balls (recipe for 30 people).", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "7", + "measure": "l", + "ingredient": "white wine (like Picpoul de Pinet)" + }, + { + "quantity": "1", + "measure": "bottle", + "ingredient": "Champagne (or a sparkling wine)" + }, + { + "quantity": "1", + "measure": "kg", + "ingredient": "sugar" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "yellow lemons" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "limes" + } + ], + "directions": [ + "Marinate 24 hours in advance the wine, lemon juice and sugar.", + "Just before serving add the lime cut into small pieces and the champagne." + ], + "image": "marquisette.jpg", + "keywords": [ + "wine", + "white wine", + "champagne", + "sugar", + "lemon", + "lime" + ] } \ No newline at end of file diff --git a/src/recipes/martini-royale.json b/src/recipes/martini-royale.json index ac147ae29..51bc4ee17 100644 --- a/src/recipes/martini-royale.json +++ b/src/recipes/martini-royale.json @@ -1,42 +1,42 @@ -{ - "name": "Martini Royale", - "description": "A classic and refreshing drink for the summer.", - "github": "robsel118", - "ingredients": [ - { - "quantity": "75", - "measure": "ml", - "ingredient": "of Martini" - }, - { - "quantity": "75", - "measure": "ml", - "ingredient": "of Prosecco" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "wedge of lime" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mint to garnish" - } - ], - "directions": [ - "Fill the glass with ice cubes.", - "Pour the Martini, then add the Prosecco.", - "Use a spoon to turn the ice softly from bottom to top (2x only to preserve the bubbles).", - "Squeeze the lime in the glass and drop the wedge in the glass.", - "Take some mint and put it in one corner of the glass." - ], - "image": "martini-royale.jpg", - "source": "https://www.youtube.com/watch?v=NERgYW-0IuQ", - "keywords": [ - "martini", - "alcoholic", - "vegan", - "simple" - ] -} +{ + "name": "Martini Royale", + "description": "A classic and refreshing drink for the summer.", + "github": "robsel118", + "ingredients": [ + { + "quantity": "75", + "measure": "ml", + "ingredient": "of Martini" + }, + { + "quantity": "75", + "measure": "ml", + "ingredient": "of Prosecco" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "wedge of lime" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mint to garnish" + } + ], + "directions": [ + "Fill the glass with ice cubes.", + "Pour the Martini, then add the Prosecco.", + "Use a spoon to turn the ice softly from bottom to top (2x only to preserve the bubbles).", + "Squeeze the lime in the glass and drop the wedge in the glass.", + "Take some mint and put it in one corner of the glass." + ], + "image": "martini-royale.jpg", + "source": "https://www.youtube.com/watch?v=NERgYW-0IuQ", + "keywords": [ + "martini", + "alcoholic", + "vegan", + "simple" + ] +} diff --git a/src/recipes/martini.json b/src/recipes/martini.json index 8601e0b7b..6daed3cce 100644 --- a/src/recipes/martini.json +++ b/src/recipes/martini.json @@ -1,40 +1,40 @@ -{ - "name": "Martini", - "description": "A classic Gin / Vodka Drink, Shaken, not stirred.", - "github": "M-McCallum", - "ingredients": [ - { - "quantity": "3", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Lillet Blanc" - }, - { - "quantity": "1", - "measure": "twist", - "ingredient": "lemon peel" - } - ], - "directions": [ - "Fill a cocktail shaker with ice.", - "Add the Gin, Vodka and Lillet Blanc.", - "Shake well and strain into a chilled martini glass.", - "Garnish with lemon twist." - ], - "image": "martini.jpg", - "keywords": [ - "classic", - "vegan", - "simple", - "alcoholic" - ] -} +{ + "name": "Martini", + "description": "A classic Gin / Vodka Drink, Shaken, not stirred.", + "github": "M-McCallum", + "ingredients": [ + { + "quantity": "3", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Lillet Blanc" + }, + { + "quantity": "1", + "measure": "twist", + "ingredient": "lemon peel" + } + ], + "directions": [ + "Fill a cocktail shaker with ice.", + "Add the Gin, Vodka and Lillet Blanc.", + "Shake well and strain into a chilled martini glass.", + "Garnish with lemon twist." + ], + "image": "martini.jpg", + "keywords": [ + "classic", + "vegan", + "simple", + "alcoholic" + ] +} diff --git a/src/recipes/masala-chaas.json b/src/recipes/masala-chaas.json index 633cbb21a..e40281940 100644 --- a/src/recipes/masala-chaas.json +++ b/src/recipes/masala-chaas.json @@ -1,61 +1,61 @@ -{ - "name": "Masala Chaas (Spiced Butter Milk)", - "description": "Masala Chaas is a popular Indian yogurt drink. This refreshing drink is lightly spiced and is the perfect way to cool off during summers.", - "github": "shaktibarath", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "plain yogurt" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "cold water" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "green chili" - }, - { - "quantity": "1/2", - "measure": "inch", - "ingredient": "ginger" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "chopped cilantro" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "cumin powder" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "black salt" - }, - { - "quantity": "1/4", - "measure": "tablespoon", - "ingredient": "chat masala" - } - ], - "directions": [ - "Add all ingredients to a blender, then Blend till combined, and Pour into serving glasses", - "Garnish with fresh cilantro or mint and serve.", - "Enjoy!" - ], - "image": "masala-chaas.jpg", - "source": "https://www.cookwithmanali.com/masala-chaas/", - "keywords": [ - "ginger", - "Masala", - "salt", - "Indian", - "yogurt" - ] -} +{ + "name": "Masala Chaas (Spiced Butter Milk)", + "description": "Masala Chaas is a popular Indian yogurt drink. This refreshing drink is lightly spiced and is the perfect way to cool off during summers.", + "github": "shaktibarath", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "plain yogurt" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "cold water" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "green chili" + }, + { + "quantity": "1/2", + "measure": "inch", + "ingredient": "ginger" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "chopped cilantro" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "cumin powder" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "black salt" + }, + { + "quantity": "1/4", + "measure": "tablespoon", + "ingredient": "chat masala" + } + ], + "directions": [ + "Add all ingredients to a blender, then Blend till combined, and Pour into serving glasses", + "Garnish with fresh cilantro or mint and serve.", + "Enjoy!" + ], + "image": "masala-chaas.jpg", + "source": "https://www.cookwithmanali.com/masala-chaas/", + "keywords": [ + "ginger", + "Masala", + "salt", + "Indian", + "yogurt" + ] +} diff --git a/src/recipes/masala-chai.json b/src/recipes/masala-chai.json index 4a2617aec..45159d57a 100644 --- a/src/recipes/masala-chai.json +++ b/src/recipes/masala-chai.json @@ -1,68 +1,68 @@ -{ - "name": "Masala Chai", - "description": "Masala chai is a flavoured tea beverage made by brewing black tea with a mixture of aromatic spices and herbs.", - "github": "sounak98", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Water" - }, - { - "quantity": "4", - "measure": "teaspoons", - "ingredient": "Sugar" - }, - { - "quantity": "2", - "measure": "teaspoons", - "ingredient": "Darjeeling Tea Leaves" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "1/2", - "measure": "inch", - "ingredient": "cinnamon" - }, - { - "quantity": "2 to 3", - "measure": "pieces", - "ingredient": "Green Cardamoms" - }, - { - "quantity": "2", - "measure": "pieces", - "ingredient": "Cloves" - }, - { - "quantity": "1", - "measure": "inch", - "ingredient": "Ginger" - } - ], - "directions": [ - "Take 1/2 inch cinnamon, 2 to 3 green cardamoms, 2 cloves and 1 inch ginger in a mortar pestle, crush coarsely and keep aside.", - "Heat 2 cups of water (250 ml) in a saucepan.", - "Let the water come to a boil and then add the crushed spices.", - "Boil the spices along with the water for 2-3 minutes.", - "Add sugar as per taste.", - "Add 2 teaspoons of Darjeeling tea and boil for a minute.", - "Add milk and boil for 2-3 more minutes.", - "Pour the tea through a strainer into the cups.", - "Serve masala chai hot with some Indian snacks or cookies." - ], - "image": "masala-chai.jpg", - "source": "https://www.vegrecipesofindia.com/masala-chai-recipe-masala-tea/", - "keywords": [ - "hot", - "tea", - "masala", - "non-alcoholic", - "indian", - "vegan" - ] -} +{ + "name": "Masala Chai", + "description": "Masala chai is a flavoured tea beverage made by brewing black tea with a mixture of aromatic spices and herbs.", + "github": "sounak98", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Water" + }, + { + "quantity": "4", + "measure": "teaspoons", + "ingredient": "Sugar" + }, + { + "quantity": "2", + "measure": "teaspoons", + "ingredient": "Darjeeling Tea Leaves" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1/2", + "measure": "inch", + "ingredient": "cinnamon" + }, + { + "quantity": "2 to 3", + "measure": "pieces", + "ingredient": "Green Cardamoms" + }, + { + "quantity": "2", + "measure": "pieces", + "ingredient": "Cloves" + }, + { + "quantity": "1", + "measure": "inch", + "ingredient": "Ginger" + } + ], + "directions": [ + "Take 1/2 inch cinnamon, 2 to 3 green cardamoms, 2 cloves and 1 inch ginger in a mortar pestle, crush coarsely and keep aside.", + "Heat 2 cups of water (250 ml) in a saucepan.", + "Let the water come to a boil and then add the crushed spices.", + "Boil the spices along with the water for 2-3 minutes.", + "Add sugar as per taste.", + "Add 2 teaspoons of Darjeeling tea and boil for a minute.", + "Add milk and boil for 2-3 more minutes.", + "Pour the tea through a strainer into the cups.", + "Serve masala chai hot with some Indian snacks or cookies." + ], + "image": "masala-chai.jpg", + "source": "https://www.vegrecipesofindia.com/masala-chai-recipe-masala-tea/", + "keywords": [ + "hot", + "tea", + "masala", + "non-alcoholic", + "indian", + "vegan" + ] +} diff --git a/src/recipes/masala-coke.json b/src/recipes/masala-coke.json index a88e69dc9..fc224eb34 100644 --- a/src/recipes/masala-coke.json +++ b/src/recipes/masala-coke.json @@ -1,67 +1,67 @@ -{ - "name": "Masala Coke", - "description": "Masala coke is a favorite Indian drink that spices up your taste buds.", - "github": "redfly1", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "lemon wedge" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lime wedge" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Coke or Pepsei" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Tabasco sauce" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "salt" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "Celery salt" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "Ground black pepper" - }, - { - "quantity": "3 spoons", - "measure": "spoons", - "ingredient": "chat masala" - } - ], - "directions": [ - "Pour some salt onto a small plate.", - "Rub the juicy side of the lemon or lime wedge along the lip of a pint glass.", - "Roll the outer edge of the glass in celery salt until fully coated.", - "Fill with ice and set aside.", - "Squeeze the lemon and lime wedges into a shaker and drop them in.", - "Add the remaining ingredients and ice and shake gently.", - "Strain into the prepared glass.", - "Garnish with a slice of lime." - ], - "image": "masala-coke.jpg", - "keywords": [ - "coke", - "lemon", - "lime", - "non-alcoholic", - "masala", - "vegan", - "savory" - ] -} +{ + "name": "Masala Coke", + "description": "Masala coke is a favorite Indian drink that spices up your taste buds.", + "github": "redfly1", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "lemon wedge" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lime wedge" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Coke or Pepsei" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Tabasco sauce" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "salt" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "Celery salt" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "Ground black pepper" + }, + { + "quantity": "3 spoons", + "measure": "spoons", + "ingredient": "chat masala" + } + ], + "directions": [ + "Pour some salt onto a small plate.", + "Rub the juicy side of the lemon or lime wedge along the lip of a pint glass.", + "Roll the outer edge of the glass in celery salt until fully coated.", + "Fill with ice and set aside.", + "Squeeze the lemon and lime wedges into a shaker and drop them in.", + "Add the remaining ingredients and ice and shake gently.", + "Strain into the prepared glass.", + "Garnish with a slice of lime." + ], + "image": "masala-coke.jpg", + "keywords": [ + "coke", + "lemon", + "lime", + "non-alcoholic", + "masala", + "vegan", + "savory" + ] +} diff --git a/src/recipes/matcha-green-russian.json b/src/recipes/matcha-green-russian.json index 806bdc30a..ce63fa7c4 100644 --- a/src/recipes/matcha-green-russian.json +++ b/src/recipes/matcha-green-russian.json @@ -1,59 +1,59 @@ -{ - "name": "Matcha Green Russian", - "description": "The classic White Russian cocktail goes green thanks to Numi's Citrus Matcha, a blend of organic matcha green tea with notes of citrus.", - "github": "Daninator1", - "ingredients": [ - { - "quantity": "2", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "3", - "measure": "tablespoon", - "ingredient": "Numi Citrus Matcha" - }, - { - "quantity": "1", - "measure": "bean", - "ingredient": "vanilla (halved & scraped)" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "quart", - "ingredient": "fresh cream" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - } - ], - "directions": [ - "Create a matcha green tea liqueur.", - "Add 2 cups of whole milk, 2 cups of sugar, the vanilla bean (seeds and pod), and 3 tablespoons of Numi Citrus Matcha to a small pot.", - "Warm the mixture over a medium low heat and whisk until the sugar is completely dissolved and all ingredients are combined (except the vanilla bean pod).", - "Remove from heat and remove the pod. Let the mixture cool for about 30 minutes.", - "Transfer the green tea mixture to a pitcher and add in 2 cups of vodka. Mix well.", - "Overfill an old fashioned glass with ice.", - "Add 2 parts matcha green tea liqueur and then float about 1 part fresh cream over the top.", - "Dust with some of the matcha powder. Makes about 6 cocktails." - ], - "image": "matcha-green-russian.jpg", - "source": "https://blog.numitea.com/matcha-green-tea-russian/", - "keywords": [ - "matcha", - "green tea", - "russian" - ] +{ + "name": "Matcha Green Russian", + "description": "The classic White Russian cocktail goes green thanks to Numi's Citrus Matcha, a blend of organic matcha green tea with notes of citrus.", + "github": "Daninator1", + "ingredients": [ + { + "quantity": "2", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "3", + "measure": "tablespoon", + "ingredient": "Numi Citrus Matcha" + }, + { + "quantity": "1", + "measure": "bean", + "ingredient": "vanilla (halved & scraped)" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "quart", + "ingredient": "fresh cream" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + } + ], + "directions": [ + "Create a matcha green tea liqueur.", + "Add 2 cups of whole milk, 2 cups of sugar, the vanilla bean (seeds and pod), and 3 tablespoons of Numi Citrus Matcha to a small pot.", + "Warm the mixture over a medium low heat and whisk until the sugar is completely dissolved and all ingredients are combined (except the vanilla bean pod).", + "Remove from heat and remove the pod. Let the mixture cool for about 30 minutes.", + "Transfer the green tea mixture to a pitcher and add in 2 cups of vodka. Mix well.", + "Overfill an old fashioned glass with ice.", + "Add 2 parts matcha green tea liqueur and then float about 1 part fresh cream over the top.", + "Dust with some of the matcha powder. Makes about 6 cocktails." + ], + "image": "matcha-green-russian.jpg", + "source": "https://blog.numitea.com/matcha-green-tea-russian/", + "keywords": [ + "matcha", + "green tea", + "russian" + ] } \ No newline at end of file diff --git a/src/recipes/matcha-green-tea-smoothie.json b/src/recipes/matcha-green-tea-smoothie.json index d7b9be48a..828b6d262 100644 --- a/src/recipes/matcha-green-tea-smoothie.json +++ b/src/recipes/matcha-green-tea-smoothie.json @@ -1,43 +1,43 @@ -{ - "name": "Matcha Green Tea Smoothie", - "description": "This vegan Matcha Smoothie is smooth, low carb and lightly sweetened.", - "github": "Kirti-Motwani", - "ingredients": [ - { - "quantity": "1", - "measure": "large", - "ingredient": "Mango" - }, - { - "quantity": "2", - "measure": "frozen", - "ingredient": "Bananas" - }, - { - "quantity": "2", - "measure": "large handfuls", - "ingredient": "Bany Spinach" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "Matcha Green Tea Powder" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "light coconut milk" - } - ], - "directions": [ - "Add the coconut milk to your blender jug, followed by the matcha green tea powder and spinach. Blend.", - "Add the mango and frozen bananas and blend until creamy and smooth." - ], - "image": "matcha-green-tea-smoothie.jpg", - "keywords": [ - "matcha", - "vegan", - "smoothie", - "non-alcoholic" - ] -} +{ + "name": "Matcha Green Tea Smoothie", + "description": "This vegan Matcha Smoothie is smooth, low carb and lightly sweetened.", + "github": "Kirti-Motwani", + "ingredients": [ + { + "quantity": "1", + "measure": "large", + "ingredient": "Mango" + }, + { + "quantity": "2", + "measure": "frozen", + "ingredient": "Bananas" + }, + { + "quantity": "2", + "measure": "large handfuls", + "ingredient": "Bany Spinach" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "Matcha Green Tea Powder" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "light coconut milk" + } + ], + "directions": [ + "Add the coconut milk to your blender jug, followed by the matcha green tea powder and spinach. Blend.", + "Add the mango and frozen bananas and blend until creamy and smooth." + ], + "image": "matcha-green-tea-smoothie.jpg", + "keywords": [ + "matcha", + "vegan", + "smoothie", + "non-alcoholic" + ] +} diff --git a/src/recipes/matcha-latte.json b/src/recipes/matcha-latte.json index 2a82b642b..69d5e007c 100644 --- a/src/recipes/matcha-latte.json +++ b/src/recipes/matcha-latte.json @@ -1,39 +1,39 @@ -{ - "name": "Matcha Latte", - "description": "This vegan Matcha Latte is smooth, creamy and lightly sweetened.", - "github": "jenzk", - "ingredients": [ - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Matcha powder" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "of Agave Negtar or Sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Oat Milk" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "water" - } - ], - "directions": [ - "Sift Matcha powder into your cup.", - "Add hot water and continue whisking until Matcha dissolves.", - "Add in Agave Nectar", - "Pour in hot milk (don't boil)" - ], - "image": "matcha-latte.jpg", - "keywords": [ - "matcha", - "vegan", - "non-alcoholic" - ] +{ + "name": "Matcha Latte", + "description": "This vegan Matcha Latte is smooth, creamy and lightly sweetened.", + "github": "jenzk", + "ingredients": [ + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Matcha powder" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "of Agave Negtar or Sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Oat Milk" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "water" + } + ], + "directions": [ + "Sift Matcha powder into your cup.", + "Add hot water and continue whisking until Matcha dissolves.", + "Add in Agave Nectar", + "Pour in hot milk (don't boil)" + ], + "image": "matcha-latte.jpg", + "keywords": [ + "matcha", + "vegan", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/medicine-ball-tea.json b/src/recipes/medicine-ball-tea.json index 75c731a9c..e054a466a 100644 --- a/src/recipes/medicine-ball-tea.json +++ b/src/recipes/medicine-ball-tea.json @@ -1,46 +1,46 @@ -{ - "name": "Medicine Ball Tea", - "description": "Perfect for when a cold strikes!", - "github": "elliecodestheweb", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "hot water" - }, - { - "quantity": "1", - "measure": "teabag", - "ingredient": "mint tea" - }, - { - "quantity": "1", - "measure": "teabag", - "ingredient": "green tea" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "honey" - }, - { - "quantity": "1", - "measure": "half", - "ingredient": "lemon" - } - ], - "directions": [ - "Warm the water to near boil.", - "Steep both the mint tea and green tea in the hot water.", - "Squeeze lemon into the tea.", - "Add honey to taste." - ], - "image": "medicine-ball-tea.jpg", - "keywords": [ - "tea", - "non-alcoholic", - "sweet", - "soothing", - "vegan" - ] -} +{ + "name": "Medicine Ball Tea", + "description": "Perfect for when a cold strikes!", + "github": "elliecodestheweb", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "hot water" + }, + { + "quantity": "1", + "measure": "teabag", + "ingredient": "mint tea" + }, + { + "quantity": "1", + "measure": "teabag", + "ingredient": "green tea" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "honey" + }, + { + "quantity": "1", + "measure": "half", + "ingredient": "lemon" + } + ], + "directions": [ + "Warm the water to near boil.", + "Steep both the mint tea and green tea in the hot water.", + "Squeeze lemon into the tea.", + "Add honey to taste." + ], + "image": "medicine-ball-tea.jpg", + "keywords": [ + "tea", + "non-alcoholic", + "sweet", + "soothing", + "vegan" + ] +} diff --git a/src/recipes/meia-de-seda.json b/src/recipes/meia-de-seda.json index c8bb1831d..f332d8b20 100644 --- a/src/recipes/meia-de-seda.json +++ b/src/recipes/meia-de-seda.json @@ -1,39 +1,39 @@ -{ - "name": "Meia de Seda (literally, Silk Socks)", - "description": "This is a brazilian version of Brandy Alexander. Famous among young poeple of the 60s. Very sweety.", - "github": "annemacena", - "ingredients": [ - { - "quantity": "To your taste", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Condensed milk" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Cocoa Liquor" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Brandy (stick to the original), Vodka or Gin" - } - ], - "directions": [ - "Blend all ingredients in a blender.", - "Decorate with nutmeg or chocolate." - ], - "image": "meia-de-seda.jpg", - "keywords": [ - "alcoholic", - "brazil", - "brandy", - "brandy alexander", - "condensed milk" - ] -} +{ + "name": "Meia de Seda (literally, Silk Socks)", + "description": "This is a brazilian version of Brandy Alexander. Famous among young poeple of the 60s. Very sweety.", + "github": "annemacena", + "ingredients": [ + { + "quantity": "To your taste", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Condensed milk" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Cocoa Liquor" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Brandy (stick to the original), Vodka or Gin" + } + ], + "directions": [ + "Blend all ingredients in a blender.", + "Decorate with nutmeg or chocolate." + ], + "image": "meia-de-seda.jpg", + "keywords": [ + "alcoholic", + "brazil", + "brandy", + "brandy alexander", + "condensed milk" + ] +} diff --git a/src/recipes/mexican-lagrimas-de-virgen.json b/src/recipes/mexican-lagrimas-de-virgen.json index 473de2ab2..403fe86f6 100644 --- a/src/recipes/mexican-lagrimas-de-virgen.json +++ b/src/recipes/mexican-lagrimas-de-virgen.json @@ -1,57 +1,57 @@ -{ - "name": "Mexican Lágrimas de la Virgen", - "description": "Called Lágrimas de la virgen (Virgin's tears) - This is a traditional beverage that is made in the holy week in Mexico (central).", - "github": "rene-ph", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Beetroot (coocked without skin)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sugar" - }, - { - "quantity": "128", - "measure": "oz", - "ingredient": "Water" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "Lettuce" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Oranges" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Apple" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Bananas" - } - ], - "directions": [ - "Cut the beetroot into small pieces.", - "Chopp the apple and the bananas.", - "Cut into small slices the oranges.", - "Cut the lettuce into small slices.", - "Add the beetroot into a blender, add some water ( only the right amount) and add sugar at one's liking.", - "Pour out the beetroot's liquid into a bigger jar and add the remaining water and mix it.", - "Add all of the fruit and the lettuce and mix it.", - "Enjoy!" - ], - "source": "https://www.cocinadelirante.com/bebida/lagrimas-de-la-virgen", - "image": "mexican-lagrimas-de-virgen.jpg", - "keywords": [ - "non-alcoholic" - ] -} +{ + "name": "Mexican Lágrimas de la Virgen", + "description": "Called Lágrimas de la virgen (Virgin's tears) - This is a traditional beverage that is made in the holy week in Mexico (central).", + "github": "rene-ph", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Beetroot (coocked without skin)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sugar" + }, + { + "quantity": "128", + "measure": "oz", + "ingredient": "Water" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "Lettuce" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Oranges" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Apple" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Bananas" + } + ], + "directions": [ + "Cut the beetroot into small pieces.", + "Chopp the apple and the bananas.", + "Cut into small slices the oranges.", + "Cut the lettuce into small slices.", + "Add the beetroot into a blender, add some water ( only the right amount) and add sugar at one's liking.", + "Pour out the beetroot's liquid into a bigger jar and add the remaining water and mix it.", + "Add all of the fruit and the lettuce and mix it.", + "Enjoy!" + ], + "source": "https://www.cocinadelirante.com/bebida/lagrimas-de-la-virgen", + "image": "mexican-lagrimas-de-virgen.jpg", + "keywords": [ + "non-alcoholic" + ] +} diff --git a/src/recipes/mexican-mule.json b/src/recipes/mexican-mule.json index 21342ea0e..8148dc171 100644 --- a/src/recipes/mexican-mule.json +++ b/src/recipes/mexican-mule.json @@ -1,40 +1,40 @@ -{ - "name": "Mexican Mule", - "description": "Sometimes called El Burro - a take on the traditional Moscow Mule with Mexican flair.", - "github": "flyfishingbarbara", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Tequila" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Freshly squeezed lime juice" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Ginger Beer" - }, - { - "quantity": "4", - "measure": "dashes", - "ingredient": "Angostura Bitters" - } - ], - "directions": [ - "Pour Tequila, fresh lime juice, bitters and Ginger beer over ice in glass or copper mug.", - "Stir and garnish with lime wedges.", - "Enjoy!" - ], - "image": "mexican-mule.jpg", - "keywords": [ - "tequila", - "mule", - "alcoholic", - "ginger beer", - "vegan" - ] -} +{ + "name": "Mexican Mule", + "description": "Sometimes called El Burro - a take on the traditional Moscow Mule with Mexican flair.", + "github": "flyfishingbarbara", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Tequila" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Freshly squeezed lime juice" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Ginger Beer" + }, + { + "quantity": "4", + "measure": "dashes", + "ingredient": "Angostura Bitters" + } + ], + "directions": [ + "Pour Tequila, fresh lime juice, bitters and Ginger beer over ice in glass or copper mug.", + "Stir and garnish with lime wedges.", + "Enjoy!" + ], + "image": "mexican-mule.jpg", + "keywords": [ + "tequila", + "mule", + "alcoholic", + "ginger beer", + "vegan" + ] +} diff --git a/src/recipes/mexican-sonora-michelada.json b/src/recipes/mexican-sonora-michelada.json index c90536181..44dcc3442 100644 --- a/src/recipes/mexican-sonora-michelada.json +++ b/src/recipes/mexican-sonora-michelada.json @@ -1,54 +1,54 @@ -{ - "name": "Mexican Michelada", - "description": "Is a Mexican drink made with beer, lime juice, assorted sauces (often chili-based) and chili powder. It is served in a chilled, salt and chili powder rimmed glass.", - "github": "xDidier901", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Lime juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Good summer beer" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Chili-based sauce of your preference" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Chili powder of your preference" - } - ], - "directions": [ - "Create a powder mix with salt and chili powder.", - "Rim the tip of the glass with lime juice.", - "Dip the glass top into the new powder mix.", - "Squeeze one lime into the glass.", - "Add sauce of your preferente into the glass.", - "Poor a very cold beer into the glass.", - "Mix the drink slightly with a spoon.", - "Enjoy!" - ], - "image": "mexican-michelada.jpg", - "keywords": [ - "lime", - "salt", - "beer", - "alcoholic", - "chili-powder", - "chili suace", - "mexican", - "cold", - "vegan" - ] -} +{ + "name": "Mexican Michelada", + "description": "Is a Mexican drink made with beer, lime juice, assorted sauces (often chili-based) and chili powder. It is served in a chilled, salt and chili powder rimmed glass.", + "github": "xDidier901", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Lime juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Good summer beer" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Chili-based sauce of your preference" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Chili powder of your preference" + } + ], + "directions": [ + "Create a powder mix with salt and chili powder.", + "Rim the tip of the glass with lime juice.", + "Dip the glass top into the new powder mix.", + "Squeeze one lime into the glass.", + "Add sauce of your preferente into the glass.", + "Poor a very cold beer into the glass.", + "Mix the drink slightly with a spoon.", + "Enjoy!" + ], + "image": "mexican-michelada.jpg", + "keywords": [ + "lime", + "salt", + "beer", + "alcoholic", + "chili-powder", + "chili suace", + "mexican", + "cold", + "vegan" + ] +} diff --git a/src/recipes/mexican-strawberry-water.json b/src/recipes/mexican-strawberry-water.json index 3467408f0..f288fa0ed 100644 --- a/src/recipes/mexican-strawberry-water.json +++ b/src/recipes/mexican-strawberry-water.json @@ -1,48 +1,48 @@ -{ - "name": "Mexican Strawberry Water", - "description": "Fresh fruit waters, or Aguas de Frutas, made with crushed or blended fruit are a common and popular drink all over Mexico. This recipe is extremely flavorful and refreshing, especially when fresh strawberries are in season.", - "github": "AnmolBaansal", - "ingredients": [ - { - "quantity": "4", - "measure": "Cups", - "ingredient": "Strawberry" - }, - { - "quantity": "1", - "measure": "Cup", - "ingredient": "White sugar" - }, - { - "quantity": "8", - "measure": "Cup", - "ingredient": "Cold Water" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lime (optional)" - }, - { - "quantity": "8", - "measure": "", - "ingredient": "Mint Sprig (optional)" - } - ], - "directions": [ - "Mix together sliced strawberries, sugar, and 1 cup of water in a medium bowl.", - "Cover the bowl with plastic wrap and place in the refrigerator for four hours.", - "Remove the strawberry mixture from the refrigerator and pour into a blender.", - "Blend on high until smooth.", - "Pour the blended berry mixture through a wire mesh strainer set over a large mixing bowl; discard the pulp and seeds.", - "Add the remaining seven cups cold water to the pureed strawberries and mix well.", - "Place the Aqua de Fresa in the refrigerator to chill for several hours or pour over ice and serve immediately.", - "Garnish with lime slices or mint leaves." - ], - "image": "mexican-strawberry-water.jpg", - "source": "https://www.allrecipes.com/recipe/141370/mexican-strawberry-water-agua-de-fresa/", - "keywords": [ - "non-alcoholic", - "mexican" - ] +{ + "name": "Mexican Strawberry Water", + "description": "Fresh fruit waters, or Aguas de Frutas, made with crushed or blended fruit are a common and popular drink all over Mexico. This recipe is extremely flavorful and refreshing, especially when fresh strawberries are in season.", + "github": "AnmolBaansal", + "ingredients": [ + { + "quantity": "4", + "measure": "Cups", + "ingredient": "Strawberry" + }, + { + "quantity": "1", + "measure": "Cup", + "ingredient": "White sugar" + }, + { + "quantity": "8", + "measure": "Cup", + "ingredient": "Cold Water" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lime (optional)" + }, + { + "quantity": "8", + "measure": "", + "ingredient": "Mint Sprig (optional)" + } + ], + "directions": [ + "Mix together sliced strawberries, sugar, and 1 cup of water in a medium bowl.", + "Cover the bowl with plastic wrap and place in the refrigerator for four hours.", + "Remove the strawberry mixture from the refrigerator and pour into a blender.", + "Blend on high until smooth.", + "Pour the blended berry mixture through a wire mesh strainer set over a large mixing bowl; discard the pulp and seeds.", + "Add the remaining seven cups cold water to the pureed strawberries and mix well.", + "Place the Aqua de Fresa in the refrigerator to chill for several hours or pour over ice and serve immediately.", + "Garnish with lime slices or mint leaves." + ], + "image": "mexican-strawberry-water.jpg", + "source": "https://www.allrecipes.com/recipe/141370/mexican-strawberry-water-agua-de-fresa/", + "keywords": [ + "non-alcoholic", + "mexican" + ] } \ No newline at end of file diff --git a/src/recipes/mezcal-with-jalapeno-pepper.json b/src/recipes/mezcal-with-jalapeno-pepper.json index 5ce41ebee..fa30fd526 100644 --- a/src/recipes/mezcal-with-jalapeno-pepper.json +++ b/src/recipes/mezcal-with-jalapeno-pepper.json @@ -1,49 +1,49 @@ -{ - "name": "Mezcal with grapefruit and jalapeno pepper", - "description": "To make a toast with friends, we don't need excuses, just a delicious and unique drink to celebrate in any moment.", - "github": "ferdox2", - "ingredients": [ - { - "quantity": "4", - "measure": "Oz", - "ingredient": "Mezcal" - }, - { - "quantity": "1/2", - "measure": "Cup", - "ingredient": "Grapefruit Juice" - }, - { - "quantity": "1", - "measure": "Teaspoon", - "ingredient": "Syrup" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Jalapeno pepper in slices" - }, - { - "quantity": "8", - "measure": "", - "ingredient": "Little coriander branches" - }, - { - "quantity": "1/2", - "measure": "Cup", - "ingredient": "Tonic Water" - } - ], - "directions": [ - "In a shaker put some ice with the mezcal, syrup, jalapeno slices, grapefruit juice and coriander and shake it.", - "Serve in glasses and add some ice and tonic water." - ], - "image": "mezcal-with-jalapeno-pepper.jpg", - "keywords": [ - "mezcal", - "jalapeno", - "pepper", - "spicy", - "cocktail" - ] +{ + "name": "Mezcal with grapefruit and jalapeno pepper", + "description": "To make a toast with friends, we don't need excuses, just a delicious and unique drink to celebrate in any moment.", + "github": "ferdox2", + "ingredients": [ + { + "quantity": "4", + "measure": "Oz", + "ingredient": "Mezcal" + }, + { + "quantity": "1/2", + "measure": "Cup", + "ingredient": "Grapefruit Juice" + }, + { + "quantity": "1", + "measure": "Teaspoon", + "ingredient": "Syrup" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Jalapeno pepper in slices" + }, + { + "quantity": "8", + "measure": "", + "ingredient": "Little coriander branches" + }, + { + "quantity": "1/2", + "measure": "Cup", + "ingredient": "Tonic Water" + } + ], + "directions": [ + "In a shaker put some ice with the mezcal, syrup, jalapeno slices, grapefruit juice and coriander and shake it.", + "Serve in glasses and add some ice and tonic water." + ], + "image": "mezcal-with-jalapeno-pepper.jpg", + "keywords": [ + "mezcal", + "jalapeno", + "pepper", + "spicy", + "cocktail" + ] } \ No newline at end of file diff --git a/src/recipes/miami-vice.json b/src/recipes/miami-vice.json index a19c22442..72c232cb5 100644 --- a/src/recipes/miami-vice.json +++ b/src/recipes/miami-vice.json @@ -1,61 +1,61 @@ -{ - "name": "Miami Vice", - "description": "A cocktail made with a blend of a Piña Colada and a Strawberry Daiquiri. Not only a drink to satisfy a sweet tooth, but the beautiful red and white pattern is enough to turn heads.", - "github": "Lunarelements", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Rum" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Pineapple Juice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Coconut Cream" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Strawberries" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lime Juice" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Ice" - } - - ], - "directions": [ - "In a blender, add strawberries, lime juice, simple syrup, half the rum (1 oz) and half the ice (1 cup).", - "Blend until smooth and pour into glass.", - "Clean the blender or get a second blender.", - "In the blender add cream of coconut, pineapple juice, the remaining rum (1 oz) and the remaining ice (1 cup).", - "Blend until smooth and pour into glass with the first blend.", - "(Optional) Add a cherry and / or pineapple slice to garnish." - ], - "image": "miami-vice.jpg", - "keywords": [ - "alcoholic", - "cold", - "rum", - "daiquiri", - "pineapple juice", - "slush", - "sweet" - ] -} +{ + "name": "Miami Vice", + "description": "A cocktail made with a blend of a Piña Colada and a Strawberry Daiquiri. Not only a drink to satisfy a sweet tooth, but the beautiful red and white pattern is enough to turn heads.", + "github": "Lunarelements", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Rum" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Pineapple Juice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Coconut Cream" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Strawberries" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lime Juice" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Ice" + } + + ], + "directions": [ + "In a blender, add strawberries, lime juice, simple syrup, half the rum (1 oz) and half the ice (1 cup).", + "Blend until smooth and pour into glass.", + "Clean the blender or get a second blender.", + "In the blender add cream of coconut, pineapple juice, the remaining rum (1 oz) and the remaining ice (1 cup).", + "Blend until smooth and pour into glass with the first blend.", + "(Optional) Add a cherry and / or pineapple slice to garnish." + ], + "image": "miami-vice.jpg", + "keywords": [ + "alcoholic", + "cold", + "rum", + "daiquiri", + "pineapple juice", + "slush", + "sweet" + ] +} diff --git a/src/recipes/michelada-zero-proof.json b/src/recipes/michelada-zero-proof.json index 109bfcd86..29b22092a 100644 --- a/src/recipes/michelada-zero-proof.json +++ b/src/recipes/michelada-zero-proof.json @@ -1,53 +1,53 @@ -{ - "name": "Michelada Zero Proof", - "description": "Non-alcoholic cocktails have found their audience thanks to recipes whose composition gives the impression of drinking an alcoholic beverage! This one is a sort of zero proof Bloody Mary, but with as much salty and spicy energy as the original.", - "github": "joshuaMart", - "ingredients": [ - { - "quantity": "4", - "measure": "cl", - "ingredient": "Tomato juice" - }, - { - "quantity": "1", - "measure": "cl", - "ingredient": "lime juice" - }, - { - "quantity": "3", - "measure": "dashes", - "ingredient": "Worcestershire sauce" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Tabasco" - }, - { - "quantity": "3", - "measure": "pinches", - "ingredient": "Salt" - }, - { - "quantity": "6", - "measure": "cl", - "ingredient": "Non-alcoholic beer " - } - ], - "directions": [ - "Choose a highball glass, tall and slender, like a lemonade glass.", - "Frost your glass with chili powder on the rim.", - "Pour in the lemon juice and condiments.", - "Add tomato juice and non-alcoholic beer.", - "Stir with a bar spoon and check the seasoning.", - "Decorate with a lime wedge" - ], - "image": "michelada-zero-proof.jpg", - "keywords": [ - "tomato", - "beer", - "non-alcoholic", - "tabasco", - "lime" - ] -} +{ + "name": "Michelada Zero Proof", + "description": "Non-alcoholic cocktails have found their audience thanks to recipes whose composition gives the impression of drinking an alcoholic beverage! This one is a sort of zero proof Bloody Mary, but with as much salty and spicy energy as the original.", + "github": "joshuaMart", + "ingredients": [ + { + "quantity": "4", + "measure": "cl", + "ingredient": "Tomato juice" + }, + { + "quantity": "1", + "measure": "cl", + "ingredient": "lime juice" + }, + { + "quantity": "3", + "measure": "dashes", + "ingredient": "Worcestershire sauce" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Tabasco" + }, + { + "quantity": "3", + "measure": "pinches", + "ingredient": "Salt" + }, + { + "quantity": "6", + "measure": "cl", + "ingredient": "Non-alcoholic beer " + } + ], + "directions": [ + "Choose a highball glass, tall and slender, like a lemonade glass.", + "Frost your glass with chili powder on the rim.", + "Pour in the lemon juice and condiments.", + "Add tomato juice and non-alcoholic beer.", + "Stir with a bar spoon and check the seasoning.", + "Decorate with a lime wedge" + ], + "image": "michelada-zero-proof.jpg", + "keywords": [ + "tomato", + "beer", + "non-alcoholic", + "tabasco", + "lime" + ] +} diff --git a/src/recipes/midnight-in-paris.json b/src/recipes/midnight-in-paris.json index ec149a2a1..9c843a8f7 100644 --- a/src/recipes/midnight-in-paris.json +++ b/src/recipes/midnight-in-paris.json @@ -1,59 +1,59 @@ -{ - "name": "Midnight in Paris", - "description": "A perfect balance between the richness of cognac, the sweetness of blackcurrant liquor and the refreshing acidity of lemon", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "fl oz", - "ingredient": "cognac" - }, - { - "quantity": "1/2", - "measure": "fl oz", - "ingredient": "blackcurrant liquor" - }, - { - "quantity": "1/2", - "measure": "fl oz", - "ingredient": "fresh lemon juice" - }, - { - "quantity": "1/4", - "measure": "fl oz", - "ingredient": "sugar syrup" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "fresh raspberries" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "crushed ice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "slice of lemon" - } - ], - "directions": [ - "In a cocktail glass, add the fresh raspberries and sugar syrup.", - "Gently crush the raspberries with a pestle to release their flavours.", - "Add the cognac, blackcurrant liquor and fresh lemon juice to the glass.", - "Fill the glass with crushed ice.", - "Stir gently with a mixing spoon to combine the ingredients and chill the cocktail.", - "Garnish the cocktail with a slice of lemon." - ], - "image": "midnight-in-paris.jpg", - "keywords": [ - "cognac", - "blackcurrant", - "liquor", - "raspberries", - "lemon", - "alcoholic" - ] -} +{ + "name": "Midnight in Paris", + "description": "A perfect balance between the richness of cognac, the sweetness of blackcurrant liquor and the refreshing acidity of lemon", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "fl oz", + "ingredient": "cognac" + }, + { + "quantity": "1/2", + "measure": "fl oz", + "ingredient": "blackcurrant liquor" + }, + { + "quantity": "1/2", + "measure": "fl oz", + "ingredient": "fresh lemon juice" + }, + { + "quantity": "1/4", + "measure": "fl oz", + "ingredient": "sugar syrup" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "fresh raspberries" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "crushed ice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "slice of lemon" + } + ], + "directions": [ + "In a cocktail glass, add the fresh raspberries and sugar syrup.", + "Gently crush the raspberries with a pestle to release their flavours.", + "Add the cognac, blackcurrant liquor and fresh lemon juice to the glass.", + "Fill the glass with crushed ice.", + "Stir gently with a mixing spoon to combine the ingredients and chill the cocktail.", + "Garnish the cocktail with a slice of lemon." + ], + "image": "midnight-in-paris.jpg", + "keywords": [ + "cognac", + "blackcurrant", + "liquor", + "raspberries", + "lemon", + "alcoholic" + ] +} diff --git a/src/recipes/milk-punch.json b/src/recipes/milk-punch.json index 8c4832c78..ab49d674e 100644 --- a/src/recipes/milk-punch.json +++ b/src/recipes/milk-punch.json @@ -1,47 +1,47 @@ -{ - "name": "Milk Punch", - "description": "First recorded in 1688, this cold, milk-based beverage is a refreshing, modern take on the original.", - "github": "cary-williams", - "ingredients": [{ - "quantity": "2", - "measure": "Oz", - "ingredient": "Bourbon" - }, - { - "quantity": "3", - "measure": "Oz", - "ingredient": "Heavy cream" - }, - { - "quantity": "1", - "measure": "Oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "1", - "measure": "Splash", - "ingredient": "Vanilla Extract" - }, - { - "quantity": "1", - "measure": "Sprinkle", - "ingredient": "Ground Nutmeg" - } - ], - "directions": [ - "In a cocktail shaker, add:", - "Bourbon,", - "Heavy Cream,", - "Simple Syrup,", - "Vanilla Extract", - "Shake until combined, then pour into a glass.", - "Sprinkle or grate a little nutmeg on top." - ], - "image": "milk-punch.jpg", - "keywords": [ - "homemade", - "milk punch", - "cream", - "bourbon" - ] -} +{ + "name": "Milk Punch", + "description": "First recorded in 1688, this cold, milk-based beverage is a refreshing, modern take on the original.", + "github": "cary-williams", + "ingredients": [{ + "quantity": "2", + "measure": "Oz", + "ingredient": "Bourbon" + }, + { + "quantity": "3", + "measure": "Oz", + "ingredient": "Heavy cream" + }, + { + "quantity": "1", + "measure": "Oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "1", + "measure": "Splash", + "ingredient": "Vanilla Extract" + }, + { + "quantity": "1", + "measure": "Sprinkle", + "ingredient": "Ground Nutmeg" + } + ], + "directions": [ + "In a cocktail shaker, add:", + "Bourbon,", + "Heavy Cream,", + "Simple Syrup,", + "Vanilla Extract", + "Shake until combined, then pour into a glass.", + "Sprinkle or grate a little nutmeg on top." + ], + "image": "milk-punch.jpg", + "keywords": [ + "homemade", + "milk punch", + "cream", + "bourbon" + ] +} diff --git a/src/recipes/milk-tea.json b/src/recipes/milk-tea.json index 74694896c..294781e0f 100644 --- a/src/recipes/milk-tea.json +++ b/src/recipes/milk-tea.json @@ -1,39 +1,39 @@ -{ - "name": "Milk Tea", - "description": "Traditional homemade milk tea, famous all over the world for color, aroma and taste.", - "github": "dasgupta002", - "ingredients": [{ - "quantity": "1", - "measure": "Table Spoon", - "ingredient": "Tea powder(chai ki patti)" - }, - { - "quantity": "3/4", - "measure": "Cup", - "ingredient": "Normal Milk" - }, - { - "quantity": "1/2", - "measure": "Table Spoon", - "ingredient": "Sugar" - } - ], - "directions": [ - "In a non-stick saucepan put tea powder(chai ia patti).", - "Add sugar.", - "Add water.", - "Add milk.", - "Boil all ingredients together on a moderate flame.", - "Boil the tea till the mixture rises to the brim.", - "Once boiling starts, reduce the flame to low to prevent spilling out and continue to boil for 3 to 4 minutes, while stirring off to prevent the tea leaves from sticking on the sides of the pan.", - "Strain immediately using a strainer and discard the tea powder mixture.", - "Serve in a mug." - ], - "image": "milk-tea.jpg", - "keywords": [ - "homemade", - "tea", - "chai", - "milk tea" - ] +{ + "name": "Milk Tea", + "description": "Traditional homemade milk tea, famous all over the world for color, aroma and taste.", + "github": "dasgupta002", + "ingredients": [{ + "quantity": "1", + "measure": "Table Spoon", + "ingredient": "Tea powder(chai ki patti)" + }, + { + "quantity": "3/4", + "measure": "Cup", + "ingredient": "Normal Milk" + }, + { + "quantity": "1/2", + "measure": "Table Spoon", + "ingredient": "Sugar" + } + ], + "directions": [ + "In a non-stick saucepan put tea powder(chai ia patti).", + "Add sugar.", + "Add water.", + "Add milk.", + "Boil all ingredients together on a moderate flame.", + "Boil the tea till the mixture rises to the brim.", + "Once boiling starts, reduce the flame to low to prevent spilling out and continue to boil for 3 to 4 minutes, while stirring off to prevent the tea leaves from sticking on the sides of the pan.", + "Strain immediately using a strainer and discard the tea powder mixture.", + "Serve in a mug." + ], + "image": "milk-tea.jpg", + "keywords": [ + "homemade", + "tea", + "chai", + "milk tea" + ] } \ No newline at end of file diff --git a/src/recipes/milo-dinosaur.json b/src/recipes/milo-dinosaur.json index 77b97ae74..f4bf1e51a 100644 --- a/src/recipes/milo-dinosaur.json +++ b/src/recipes/milo-dinosaur.json @@ -1,43 +1,43 @@ -{ - "name": "Milo Dinosaur", - "description": "Drink made of chocolate-malt, popular in Malaysia and Singapore.", - "github": "pj", - "ingredients": [ - { - "quantity": "6", - "measure": "tbsp", - "ingredient": "Nestle Milo powder" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "hot water" - }, - { - "quantity": "3/4", - "measure": "tbsp", - "ingredient": "condensed milk" - }, - { - "quantity": "a few", - "measure": "cubes", - "ingredient": "ice" - }, - { - "quantity": "3", - "measure": "tbsp", - "ingredient": "Nestle Milo powder to top it off" - } - ], - "directions": [ - "Stir Milo and condensed milk with hot water in a tall glass until dissolved.", - "Add ice cubes and stir lightly.", - "Add ample amount of Milo to provide a crunchy top." - ], - "image": "milo-dinosaur.jpg", - "keywords": [ - "ice", - "chocolate", - "non-alcoholic" - ] -} +{ + "name": "Milo Dinosaur", + "description": "Drink made of chocolate-malt, popular in Malaysia and Singapore.", + "github": "pj", + "ingredients": [ + { + "quantity": "6", + "measure": "tbsp", + "ingredient": "Nestle Milo powder" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "hot water" + }, + { + "quantity": "3/4", + "measure": "tbsp", + "ingredient": "condensed milk" + }, + { + "quantity": "a few", + "measure": "cubes", + "ingredient": "ice" + }, + { + "quantity": "3", + "measure": "tbsp", + "ingredient": "Nestle Milo powder to top it off" + } + ], + "directions": [ + "Stir Milo and condensed milk with hot water in a tall glass until dissolved.", + "Add ice cubes and stir lightly.", + "Add ample amount of Milo to provide a crunchy top." + ], + "image": "milo-dinosaur.jpg", + "keywords": [ + "ice", + "chocolate", + "non-alcoholic" + ] +} diff --git a/src/recipes/mimosa.json b/src/recipes/mimosa.json index 171ae004d..edc0e4834 100644 --- a/src/recipes/mimosa.json +++ b/src/recipes/mimosa.json @@ -1,28 +1,28 @@ -{ - "name": "Mimosa", - "description": "Simple, but delicous cocktail for special events or just to get the day going.", - "github": "richardalanpalmer", - "ingredients": [ - { - "quantity": "2.5", - "measure": "oz", - "ingredient": "Champagne" - }, - { - "quantity": "2.5", - "measure": "oz", - "ingredient": "Orange Juice" - } - ], - "directions": [ - "Combine equal parts champagne and orange juice into a champagne flute." - ], - "image": "mimosa.jpg", - "keywords": [ - "champagne", - "citrus", - "simple", - "vegan", - "fresh" - ] -} +{ + "name": "Mimosa", + "description": "Simple, but delicous cocktail for special events or just to get the day going.", + "github": "richardalanpalmer", + "ingredients": [ + { + "quantity": "2.5", + "measure": "oz", + "ingredient": "Champagne" + }, + { + "quantity": "2.5", + "measure": "oz", + "ingredient": "Orange Juice" + } + ], + "directions": [ + "Combine equal parts champagne and orange juice into a champagne flute." + ], + "image": "mimosa.jpg", + "keywords": [ + "champagne", + "citrus", + "simple", + "vegan", + "fresh" + ] +} diff --git a/src/recipes/mind-eraser.json b/src/recipes/mind-eraser.json index a2ac552c2..05462a3ad 100644 --- a/src/recipes/mind-eraser.json +++ b/src/recipes/mind-eraser.json @@ -1,33 +1,33 @@ -{ - "name": "Mind Eraser", - "description": "The drink that will literally erase your mind after drinking it! Prepare to forget!", - "github": "jhkim8268", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Kahlúa" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Club soda" - } - ], - "directions": [ - "Pour 1 ounce of Kahlúa in a rocks glass with ice.", - "Float 2 ounces of vodka on top, pouring down the side of the glass so that it separates.", - "Top with 2 ounces of club soda, poured down the side of the glass in the same way." - ], - "image": "mind-eraser.jpg", - "keywords": [ - "kahlúa", - "vodka", - "club soda" - ] -} +{ + "name": "Mind Eraser", + "description": "The drink that will literally erase your mind after drinking it! Prepare to forget!", + "github": "jhkim8268", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Kahlúa" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Club soda" + } + ], + "directions": [ + "Pour 1 ounce of Kahlúa in a rocks glass with ice.", + "Float 2 ounces of vodka on top, pouring down the side of the glass so that it separates.", + "Top with 2 ounces of club soda, poured down the side of the glass in the same way." + ], + "image": "mind-eraser.jpg", + "keywords": [ + "kahlúa", + "vodka", + "club soda" + ] +} diff --git a/src/recipes/mint-chocolate-milkshake.json b/src/recipes/mint-chocolate-milkshake.json index 2e0df1252..093e0ccf1 100644 --- a/src/recipes/mint-chocolate-milkshake.json +++ b/src/recipes/mint-chocolate-milkshake.json @@ -1,46 +1,46 @@ -{ - "name": "Mint Chocolate Milkshake", - "description": "Milkshake made using mint chocolate ice cream as the base", - "github": "CaitlinH88", - "ingredients": [ - { - "quantity": "25", - "measure": "g", - "ingredient": "dark chocolate" - }, - { - "quantity": "5", - "measure": "small scoops", - "ingredient": "mint chocolate ice cream" - }, - { - "quantity": "175", - "measure": "ml", - "ingredient": "milk" - }, - { - "quantity": "5", - "measure": "g", - "ingredient": "mint leaves" - }, - { - "quantity": "5", - "measure": "g", - "ingredient": "dark chocolate shavings" - } - ], - "directions": [ - "Melt the dark chocolate in a heatproof bowl over a pan of simmering water.", - "Dip the rim of a large sundae glass in the chocolate, then drizzle the rest around the inside of the rim, letting it trickle down inside the glass.", - "Chill in the fridge to set.", - "Blend the mint chocolate ice cream with the milk.", - "Pour into the glass and top with a few mint leaves and a sprinkling of dark chocolate shavings." - ], - "image": "mint-chocolate-milkshake.jpg", - "keywords": [ - "non-alcoholic", - "milkshake", - "mint", - "chocolate" - ] -} +{ + "name": "Mint Chocolate Milkshake", + "description": "Milkshake made using mint chocolate ice cream as the base", + "github": "CaitlinH88", + "ingredients": [ + { + "quantity": "25", + "measure": "g", + "ingredient": "dark chocolate" + }, + { + "quantity": "5", + "measure": "small scoops", + "ingredient": "mint chocolate ice cream" + }, + { + "quantity": "175", + "measure": "ml", + "ingredient": "milk" + }, + { + "quantity": "5", + "measure": "g", + "ingredient": "mint leaves" + }, + { + "quantity": "5", + "measure": "g", + "ingredient": "dark chocolate shavings" + } + ], + "directions": [ + "Melt the dark chocolate in a heatproof bowl over a pan of simmering water.", + "Dip the rim of a large sundae glass in the chocolate, then drizzle the rest around the inside of the rim, letting it trickle down inside the glass.", + "Chill in the fridge to set.", + "Blend the mint chocolate ice cream with the milk.", + "Pour into the glass and top with a few mint leaves and a sprinkling of dark chocolate shavings." + ], + "image": "mint-chocolate-milkshake.jpg", + "keywords": [ + "non-alcoholic", + "milkshake", + "mint", + "chocolate" + ] +} diff --git a/src/recipes/mint-citrus-water.json b/src/recipes/mint-citrus-water.json index 12b803425..b8c32e0ec 100644 --- a/src/recipes/mint-citrus-water.json +++ b/src/recipes/mint-citrus-water.json @@ -1,44 +1,44 @@ -{ - "name": "Mint Citrus Water", - "description": "This is a very healthy and tasty infused water recipe, good for hot summer days and when you have guests over.", - "github": "AnmolBaansal", - "ingredients": [ - { - "quantity": "1/2", - "measure": "Cup", - "ingredient": "Mint Leaves" - }, - { - "quantity": "2", - "measure": "Quarts", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lemon" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Limes" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "Cucumber" - } - ], - "directions": [ - "Pour water into a pitcher.", - "Mix lemon slices, lime slices, mint leaves, and cucumber together in a bowl; add to water and stir.", - "Refrigerate water mixture, stirring 1 time per day, until flavors have infused, 2 to 3 days." - ], - "image": "mint-citrus-water.jpg", - "source": "https://www.allrecipes.com/recipe/242135/mint-citrus-water/", - "keywords": [ - "lemon", - "lime", - "non-alcoholic" - ] +{ + "name": "Mint Citrus Water", + "description": "This is a very healthy and tasty infused water recipe, good for hot summer days and when you have guests over.", + "github": "AnmolBaansal", + "ingredients": [ + { + "quantity": "1/2", + "measure": "Cup", + "ingredient": "Mint Leaves" + }, + { + "quantity": "2", + "measure": "Quarts", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lemon" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Limes" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "Cucumber" + } + ], + "directions": [ + "Pour water into a pitcher.", + "Mix lemon slices, lime slices, mint leaves, and cucumber together in a bowl; add to water and stir.", + "Refrigerate water mixture, stirring 1 time per day, until flavors have infused, 2 to 3 days." + ], + "image": "mint-citrus-water.jpg", + "source": "https://www.allrecipes.com/recipe/242135/mint-citrus-water/", + "keywords": [ + "lemon", + "lime", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/mint-julep.json b/src/recipes/mint-julep.json index 787f2ff6d..36caf4266 100644 --- a/src/recipes/mint-julep.json +++ b/src/recipes/mint-julep.json @@ -1,45 +1,45 @@ -{ - "name": "Mint Julep", - "description": "Mint juleps are the quintessential Southern cocktail. ", - "github": "KelseyDCooper", - "ingredients": [ - { - "quantity": "3", - "measure": "leaves", - "ingredient": "mint" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "mint Simple Syrup" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "crushed ice" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "sprig", - "ingredient": "mint leaf" - } - ], - "directions": [ - "Place mint leaves and Mint Simple Syrup in a chilled julep cup. Gently press leaves against cup with back of spoon to release flavors. ", - "Pack cup tightly with crushed ice; pour bourbon over ice. Place mint sprig directly next to straw, and serve immediately." - - ], - "image": "mint-julep.jpg", - "source": "https://www.myrecipes.com/recipe/classic-mint-julep-1", - "keywords": [ - "mint", - "julep", - "vegan", - "classic" - ] -} +{ + "name": "Mint Julep", + "description": "Mint juleps are the quintessential Southern cocktail. ", + "github": "KelseyDCooper", + "ingredients": [ + { + "quantity": "3", + "measure": "leaves", + "ingredient": "mint" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "mint Simple Syrup" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "crushed ice" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "sprig", + "ingredient": "mint leaf" + } + ], + "directions": [ + "Place mint leaves and Mint Simple Syrup in a chilled julep cup. Gently press leaves against cup with back of spoon to release flavors. ", + "Pack cup tightly with crushed ice; pour bourbon over ice. Place mint sprig directly next to straw, and serve immediately." + + ], + "image": "mint-julep.jpg", + "source": "https://www.myrecipes.com/recipe/classic-mint-julep-1", + "keywords": [ + "mint", + "julep", + "vegan", + "classic" + ] +} diff --git a/src/recipes/mix-berry.json b/src/recipes/mix-berry.json index b11dd5435..67d4de995 100644 --- a/src/recipes/mix-berry.json +++ b/src/recipes/mix-berry.json @@ -1,51 +1,51 @@ -{ - "name": "Mix Berry Juice", - "description": "Berries are fresh fruit and can be processed into various types of fresh drinks. The sour and sweet flavors that combine bring a refreshing sensation when eaten.", - "github": "coroo", - "ingredients": [ - { - "quantity": "12", - "measure": "", - "ingredient": "strawberries" - }, - { - "quantity": "12", - "measure": "", - "ingredient": "blueberries" - }, - { - "quantity": "1", - "measure": "sachet", - "ingredient": "of sweetened condensed milk" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes as needed" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Rock water as needed" - } - ], - "directions": [ - "Wash strawberries and blackberries.", - "Put strawberries and blackberries into the blender.", - "Add sweetened condensed milk, sugar, ice cubes, and enough water.", - "Blend until the juice is evenly mixed." - ], - "image": "mix-berry.jpg", - "keywords": [ - "non-alcoholic", - "smoothie", - "milk", - "blueberry", - "strawberry" - ] -} +{ + "name": "Mix Berry Juice", + "description": "Berries are fresh fruit and can be processed into various types of fresh drinks. The sour and sweet flavors that combine bring a refreshing sensation when eaten.", + "github": "coroo", + "ingredients": [ + { + "quantity": "12", + "measure": "", + "ingredient": "strawberries" + }, + { + "quantity": "12", + "measure": "", + "ingredient": "blueberries" + }, + { + "quantity": "1", + "measure": "sachet", + "ingredient": "of sweetened condensed milk" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes as needed" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Rock water as needed" + } + ], + "directions": [ + "Wash strawberries and blackberries.", + "Put strawberries and blackberries into the blender.", + "Add sweetened condensed milk, sugar, ice cubes, and enough water.", + "Blend until the juice is evenly mixed." + ], + "image": "mix-berry.jpg", + "keywords": [ + "non-alcoholic", + "smoothie", + "milk", + "blueberry", + "strawberry" + ] +} diff --git a/src/recipes/mocha.json b/src/recipes/mocha.json index 18a01b2a9..467cf135c 100644 --- a/src/recipes/mocha.json +++ b/src/recipes/mocha.json @@ -1,40 +1,40 @@ -{ - "name": "Mocha", - "description": "A warm and rich chocolaty coffee. Simple and easy to make.", - "github": "caliLai", - "ingredients": [ - { - "quantity": "1", - "measure": "shot", - "ingredient": "espresso or strong coffee" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "cocoa powder" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sugar (to taste)" - } - ], - "directions": [ - "Warm up milk in a small pot. Shut off heat just before it boils.", - "Stir in the cocoa powder and sugar, ensuring that there are no clumps and the sugar is dissolved.", - "Pour your espresso and milk into your cup of choice.", - "Optional: garnish with whipped cream and extra cocoa powder.", - "Enjoy!" - ], - "image": "mocha.jpg", - "keywords": [ - "espresso", - "chocolate", - "hot" - ] -} +{ + "name": "Mocha", + "description": "A warm and rich chocolaty coffee. Simple and easy to make.", + "github": "caliLai", + "ingredients": [ + { + "quantity": "1", + "measure": "shot", + "ingredient": "espresso or strong coffee" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "cocoa powder" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sugar (to taste)" + } + ], + "directions": [ + "Warm up milk in a small pot. Shut off heat just before it boils.", + "Stir in the cocoa powder and sugar, ensuring that there are no clumps and the sugar is dissolved.", + "Pour your espresso and milk into your cup of choice.", + "Optional: garnish with whipped cream and extra cocoa powder.", + "Enjoy!" + ], + "image": "mocha.jpg", + "keywords": [ + "espresso", + "chocolate", + "hot" + ] +} diff --git a/src/recipes/mojito.json b/src/recipes/mojito.json index 89f27763e..5114b4989 100644 --- a/src/recipes/mojito.json +++ b/src/recipes/mojito.json @@ -1,55 +1,55 @@ -{ - "name": "Mojito", - "description": "The Mojito is traditionally served over ice in a highball glass and often associated with summer.", - "github": "alfg", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "ice" - }, - { - "quantity": "6", - "measure": "ounces", - "ingredient": "light rum" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "lime wedges" - }, - { - "quantity": "12", - "measure": "", - "ingredient": "mint sprigs, or spear" - }, - { - "quantity": "6", - "measure": "tablespoons", - "ingredient": "fresh lime juice" - }, - { - "quantity": "4", - "measure": "tablespoons", - "ingredient": "sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "club soda" - } - ], - "directions": [ - "Place ice, rum, eight broken up mint sprigs, lime juice, and sugar in a beverage shaker .", - "Shake well and serve over ice in a high ball glass. Top off each glass with a splash of club soda.", - "Garnish each with a slice of lime and a sprig of mint." - ], - "image": "mojito.jpg", - "keywords": [ - "rum", - "lime", - "mint", - "alcoholic", - "vegan" - ] -} +{ + "name": "Mojito", + "description": "The Mojito is traditionally served over ice in a highball glass and often associated with summer.", + "github": "alfg", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "ice" + }, + { + "quantity": "6", + "measure": "ounces", + "ingredient": "light rum" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "lime wedges" + }, + { + "quantity": "12", + "measure": "", + "ingredient": "mint sprigs, or spear" + }, + { + "quantity": "6", + "measure": "tablespoons", + "ingredient": "fresh lime juice" + }, + { + "quantity": "4", + "measure": "tablespoons", + "ingredient": "sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "club soda" + } + ], + "directions": [ + "Place ice, rum, eight broken up mint sprigs, lime juice, and sugar in a beverage shaker .", + "Shake well and serve over ice in a high ball glass. Top off each glass with a splash of club soda.", + "Garnish each with a slice of lime and a sprig of mint." + ], + "image": "mojito.jpg", + "keywords": [ + "rum", + "lime", + "mint", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/monaco.json b/src/recipes/monaco.json index f8a864f42..6e692d092 100644 --- a/src/recipes/monaco.json +++ b/src/recipes/monaco.json @@ -1,28 +1,28 @@ -{ - "name": "Monaco", - "description": "A monaco is an alcoholic beverage made up of beer mixed with lemonade and grenadine syrup.", - "github": "siffreinsg", - "ingredients": [ - { - "quantity": "5", - "measure": "oz", - "ingredient": "Beer" - }, - { - "quantity": "0.3", - "measure": "oz", - "ingredient": "Grenadine syrup" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Lemonade" - } - ], - "directions": [ - "Mix everything together starting with the syrup.", - "And drink!" - ], - "image": "monaco.jpg", - "keywords": ["beer", "lemonade"] -} +{ + "name": "Monaco", + "description": "A monaco is an alcoholic beverage made up of beer mixed with lemonade and grenadine syrup.", + "github": "siffreinsg", + "ingredients": [ + { + "quantity": "5", + "measure": "oz", + "ingredient": "Beer" + }, + { + "quantity": "0.3", + "measure": "oz", + "ingredient": "Grenadine syrup" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Lemonade" + } + ], + "directions": [ + "Mix everything together starting with the syrup.", + "And drink!" + ], + "image": "monaco.jpg", + "keywords": ["beer", "lemonade"] +} diff --git a/src/recipes/monkey-gland.json b/src/recipes/monkey-gland.json index 6c113f088..819014acd 100644 --- a/src/recipes/monkey-gland.json +++ b/src/recipes/monkey-gland.json @@ -1,38 +1,38 @@ -{ - "name": "Monkey Gland", - "description": "The Monkey Gland is a Prohibition classic, devised at Harry's New York Bar in Paris in the 1920s. The name is a reference to a surgical procedure by a Dr. Serge Voronoff.", - "github": "saran1522", - "ingredients": [ - { - "quantity": "1/2", - "measure": "ounces", - "ingredient": "gin" - }, - { - "quantity": "1/2", - "measure": "ounces", - "ingredient": "fresh orange juice" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "grenadine" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "absinthe" - } - ], - "directions": [ - "Pour ingredients into a cocktail shaker and fill with ice", - "Shake well for 10 seconds", - "Strain into a chilled cocktail glass." - ], - "image": "monkey-gland.jpg", - "keywords": [ - "alcoholic", - "orange", - "Cocktail" - ] +{ + "name": "Monkey Gland", + "description": "The Monkey Gland is a Prohibition classic, devised at Harry's New York Bar in Paris in the 1920s. The name is a reference to a surgical procedure by a Dr. Serge Voronoff.", + "github": "saran1522", + "ingredients": [ + { + "quantity": "1/2", + "measure": "ounces", + "ingredient": "gin" + }, + { + "quantity": "1/2", + "measure": "ounces", + "ingredient": "fresh orange juice" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "grenadine" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "absinthe" + } + ], + "directions": [ + "Pour ingredients into a cocktail shaker and fill with ice", + "Shake well for 10 seconds", + "Strain into a chilled cocktail glass." + ], + "image": "monkey-gland.jpg", + "keywords": [ + "alcoholic", + "orange", + "Cocktail" + ] } \ No newline at end of file diff --git a/src/recipes/montreal-mule.json b/src/recipes/montreal-mule.json index 169e4a58a..e1775027a 100644 --- a/src/recipes/montreal-mule.json +++ b/src/recipes/montreal-mule.json @@ -1,35 +1,35 @@ -{ - "name": "Montreal Mule", - "description": "It's a simple and fresh cocktail. Don't forget the mug.", - "github": "marionFlx", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "canadian gin" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "lime juice, freshly squeezed" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "ginger beer" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "fresh mint sprig" - } - ], - "directions": [ - "Squeeze lime juice into a Moscow Mule mug (or a Collins glass) and drop in the spent shell.", - "Add 2 or 3 ice cubes, then pour in the gin and fill with cold ginger beer.", - "Add fresh mint sprig.", - "Serve with a stirring rod." - ], - "image": "montreal-mule.jpg", - "keywords": ["gin", "ginger beer", "alcoholic", "classic", "vegan"] -} +{ + "name": "Montreal Mule", + "description": "It's a simple and fresh cocktail. Don't forget the mug.", + "github": "marionFlx", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "canadian gin" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "lime juice, freshly squeezed" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "ginger beer" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "fresh mint sprig" + } + ], + "directions": [ + "Squeeze lime juice into a Moscow Mule mug (or a Collins glass) and drop in the spent shell.", + "Add 2 or 3 ice cubes, then pour in the gin and fill with cold ginger beer.", + "Add fresh mint sprig.", + "Serve with a stirring rod." + ], + "image": "montreal-mule.jpg", + "keywords": ["gin", "ginger beer", "alcoholic", "classic", "vegan"] +} diff --git a/src/recipes/moscato-mules.json b/src/recipes/moscato-mules.json index 3b0d4c75a..aebbe8859 100644 --- a/src/recipes/moscato-mules.json +++ b/src/recipes/moscato-mules.json @@ -1,50 +1,50 @@ -{ - "name": "Moscato Mules", - "description": "A fun twist on the classic.", - "github": "phpshko", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "moscato" - }, - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "ginger beer" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "lime juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "slice lime, for garnish" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - } - ], - "directions": [ - "Fill glass with ice.", - "Add moscato, ginger beer, vodka, and lime juice.", - "Stir to combine.", - "Garnish with lime and serve." - ], - "image": "moscato-mules.jpg", - "keywords": [ - "moscato", - "ginger beer", - "vodka", - "lime" - ] -} +{ + "name": "Moscato Mules", + "description": "A fun twist on the classic.", + "github": "phpshko", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "moscato" + }, + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "ginger beer" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "lime juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "slice lime, for garnish" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + } + ], + "directions": [ + "Fill glass with ice.", + "Add moscato, ginger beer, vodka, and lime juice.", + "Stir to combine.", + "Garnish with lime and serve." + ], + "image": "moscato-mules.jpg", + "keywords": [ + "moscato", + "ginger beer", + "vodka", + "lime" + ] +} diff --git a/src/recipes/moscow-breeze.json b/src/recipes/moscow-breeze.json index 2e5b76d55..356bdc524 100644 --- a/src/recipes/moscow-breeze.json +++ b/src/recipes/moscow-breeze.json @@ -1,40 +1,40 @@ -{ - "name": "Moscow Breeze", - "description": "Moscow popular yummy cocktail. Sure to put you in a autumn mood. With real honey.", - "github": "qmitry", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "tequila" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "gin" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "honey" - } - ], - "directions": [ - "Add requila, vodka, gin. Drop the honey.", - "Pour the shake into the glasses and serve with ice." - ], - "image": "moscow-breeze.jpg", - "keywords": [ - "tequila", - "vodka", - "gin", - "honey", - "alcoholic", - "moscow" - ] -} +{ + "name": "Moscow Breeze", + "description": "Moscow popular yummy cocktail. Sure to put you in a autumn mood. With real honey.", + "github": "qmitry", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "tequila" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "gin" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "honey" + } + ], + "directions": [ + "Add requila, vodka, gin. Drop the honey.", + "Pour the shake into the glasses and serve with ice." + ], + "image": "moscow-breeze.jpg", + "keywords": [ + "tequila", + "vodka", + "gin", + "honey", + "alcoholic", + "moscow" + ] +} diff --git a/src/recipes/moscow-mule-simple.json b/src/recipes/moscow-mule-simple.json index 1a43d12f5..78f3bc05e 100644 --- a/src/recipes/moscow-mule-simple.json +++ b/src/recipes/moscow-mule-simple.json @@ -1,44 +1,44 @@ -{ - "name": "Simple Moscow Mule", - "description": "A simple, sweet and sour cocktail. And an excuse to buy a Moscow Mule Mug.", - "github": "coma-toast", - "ingredients": [ - { - "quantity": "60-100", - "measure": "ml", - "ingredient": "Vodka" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Lime juice" - }, - { - "quantity": "40", - "measure": "ml", - "ingredient": "Lemon juice" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Ginger Ale - fill to taste" - } - ], - "directions": [ - "Start with several ice cubes in a Moscow Mule mug.", - "Add lime and lemon juice.", - "Add Vodka.", - "Fill with Ginger Ale.", - "Serve with a fresh mint leaf." - ], - "image": "moscow-mule.jpg", - "keywords": [ - "vodka", - "ginger ale", - "citrus", - "mint", - "alcoholic", - "simple", - "vegan" - ] -} +{ + "name": "Simple Moscow Mule", + "description": "A simple, sweet and sour cocktail. And an excuse to buy a Moscow Mule Mug.", + "github": "coma-toast", + "ingredients": [ + { + "quantity": "60-100", + "measure": "ml", + "ingredient": "Vodka" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Lime juice" + }, + { + "quantity": "40", + "measure": "ml", + "ingredient": "Lemon juice" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Ginger Ale - fill to taste" + } + ], + "directions": [ + "Start with several ice cubes in a Moscow Mule mug.", + "Add lime and lemon juice.", + "Add Vodka.", + "Fill with Ginger Ale.", + "Serve with a fresh mint leaf." + ], + "image": "moscow-mule.jpg", + "keywords": [ + "vodka", + "ginger ale", + "citrus", + "mint", + "alcoholic", + "simple", + "vegan" + ] +} diff --git a/src/recipes/moscow-mule.json b/src/recipes/moscow-mule.json index ddd4e56d1..bce916cdd 100644 --- a/src/recipes/moscow-mule.json +++ b/src/recipes/moscow-mule.json @@ -1,35 +1,35 @@ -{ - "name": "Moscow Mule", - "description": "It's a simple, snappy cocktail. Don't forget the mug.", - "github": "alfg", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "lime juice, freshly squeezed" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "ginger beer" - } - ], - "directions": [ - "Squeeze lime juice into a Moscow Mule mug (or a Collins glass) and drop in the spent shell.", - "Add 2 or 3 ice cubes, then pour in the vodka and fill with cold ginger beer.", - "Serve with a stirring rod" - ], - "image":"moscow-mule.jpg", - "keywords": [ - "vodka", - "ginger beer", - "alcoholic", - "classic", - "vegan" - ] -} +{ + "name": "Moscow Mule", + "description": "It's a simple, snappy cocktail. Don't forget the mug.", + "github": "alfg", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "lime juice, freshly squeezed" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "ginger beer" + } + ], + "directions": [ + "Squeeze lime juice into a Moscow Mule mug (or a Collins glass) and drop in the spent shell.", + "Add 2 or 3 ice cubes, then pour in the vodka and fill with cold ginger beer.", + "Serve with a stirring rod" + ], + "image":"moscow-mule.jpg", + "keywords": [ + "vodka", + "ginger beer", + "alcoholic", + "classic", + "vegan" + ] +} diff --git a/src/recipes/mr-peanut-shake.json b/src/recipes/mr-peanut-shake.json index b0fa2701f..b96aebd6f 100644 --- a/src/recipes/mr-peanut-shake.json +++ b/src/recipes/mr-peanut-shake.json @@ -1,39 +1,39 @@ -{ - "name": "Mr. Peanut Shake", - "description": "It's an alcoholic peanut shake made with condensed milk, peanuts and vodka.", - "github": "juliabrazolim", - "ingredients": [ - { - "quantity": "13,9", - "measure": "oz", - "ingredient": "condensed milk" - }, - { - "quantity": "2", - "measure": "medium cup", - "ingredient": "vodka" - }, - { - "quantity": "as much as you want", - "measure": "", - "ingredient": "some peanut candy, can be cream, paçoquita or crushed peanuts" - }, - { - "quantity": "6", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Put all the condensed milk, peanuts (your preference), ice cubes and vodka in a blender.", - "Shake everything until it has a more liquid creamy consistency.", - "Drink it. When in doubt, add more peanuts or vodka. If too strong, add more ice and beat again.", - "Decorete the glass with shelled peanuts." - ], - "image": "mr-peanut-shake.jpg", - "keywords": [ - "peanuts", - "condensed milk", - "vodka" - ] +{ + "name": "Mr. Peanut Shake", + "description": "It's an alcoholic peanut shake made with condensed milk, peanuts and vodka.", + "github": "juliabrazolim", + "ingredients": [ + { + "quantity": "13,9", + "measure": "oz", + "ingredient": "condensed milk" + }, + { + "quantity": "2", + "measure": "medium cup", + "ingredient": "vodka" + }, + { + "quantity": "as much as you want", + "measure": "", + "ingredient": "some peanut candy, can be cream, paçoquita or crushed peanuts" + }, + { + "quantity": "6", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Put all the condensed milk, peanuts (your preference), ice cubes and vodka in a blender.", + "Shake everything until it has a more liquid creamy consistency.", + "Drink it. When in doubt, add more peanuts or vodka. If too strong, add more ice and beat again.", + "Decorete the glass with shelled peanuts." + ], + "image": "mr-peanut-shake.jpg", + "keywords": [ + "peanuts", + "condensed milk", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/mudslide.json b/src/recipes/mudslide.json index 6ede4a1ec..dd5fb8116 100644 --- a/src/recipes/mudslide.json +++ b/src/recipes/mudslide.json @@ -1,39 +1,39 @@ -{ - "name": "Mudslide", - "description": "Perfect dessert cocktail with rich coffee flavours.", - "github": "small-ac", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "coffee liqueur" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Baileys Irish Cream" - }, - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "heavy cream" - } - ], - "directions": [ - "Add all ingredients into a shaker with ice and shake until well chilled", - "Strain into a chilled Fizz glass", - "Optional: Garnish with chocolate shavings" - ], - "image": "mudslide.jpg", - "keywords": [ - "vodka", - "cream", - "cocktail", - "alcoholic" - ] -} +{ + "name": "Mudslide", + "description": "Perfect dessert cocktail with rich coffee flavours.", + "github": "small-ac", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "coffee liqueur" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Baileys Irish Cream" + }, + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "heavy cream" + } + ], + "directions": [ + "Add all ingredients into a shaker with ice and shake until well chilled", + "Strain into a chilled Fizz glass", + "Optional: Garnish with chocolate shavings" + ], + "image": "mudslide.jpg", + "keywords": [ + "vodka", + "cream", + "cocktail", + "alcoholic" + ] +} diff --git a/src/recipes/mulled-apple-crumble-cider.json b/src/recipes/mulled-apple-crumble-cider.json index 3c7c5bfe4..b068dcb56 100644 --- a/src/recipes/mulled-apple-crumble-cider.json +++ b/src/recipes/mulled-apple-crumble-cider.json @@ -1,47 +1,47 @@ -{ - "name": "Mulled Apple Crumble Cider", - "description": "A tasty recipe for mulled apple crumble cider to warm you over winter.", - "github": "stefaniemckenna", - "ingredients": [ - { - "quantity": "2", - "measure": "L", - "ingredient": "Zeffer Apple Crumble Cider" - }, - { - "quantity": "10", - "measure": "g", - "ingredient": "brown sugar (optional)" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "orange, sliced" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "star anise" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "cinnamon sticks" - } - ], - "directions": [ - "Fill a slow cooker or pot with Zeffer’s Apple Crumble Cider.", - "Add sugar, sliced orange rounds, cinnamon sticks and star anise.", - "Cover the pot or slow cooker and heat until the flavours meld. If using the slow cooker leave for 2-3 hours on low or warm.", - "Serve in a glass or mug garnished with additional orange slices and cinnamon stick.", - "Note: A slow cooker does the double duty of both mulling the cider and keeping it warm for hours, making it a good option for winter entertaining." - ], - "image":"mulled-apple-crumble-cider.jpg", - "keywords": [ - "alcoholic", - "cider", - "mulled", - "winter", - "vegan" - ] -} +{ + "name": "Mulled Apple Crumble Cider", + "description": "A tasty recipe for mulled apple crumble cider to warm you over winter.", + "github": "stefaniemckenna", + "ingredients": [ + { + "quantity": "2", + "measure": "L", + "ingredient": "Zeffer Apple Crumble Cider" + }, + { + "quantity": "10", + "measure": "g", + "ingredient": "brown sugar (optional)" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "orange, sliced" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "star anise" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "cinnamon sticks" + } + ], + "directions": [ + "Fill a slow cooker or pot with Zeffer’s Apple Crumble Cider.", + "Add sugar, sliced orange rounds, cinnamon sticks and star anise.", + "Cover the pot or slow cooker and heat until the flavours meld. If using the slow cooker leave for 2-3 hours on low or warm.", + "Serve in a glass or mug garnished with additional orange slices and cinnamon stick.", + "Note: A slow cooker does the double duty of both mulling the cider and keeping it warm for hours, making it a good option for winter entertaining." + ], + "image":"mulled-apple-crumble-cider.jpg", + "keywords": [ + "alcoholic", + "cider", + "mulled", + "winter", + "vegan" + ] +} diff --git a/src/recipes/mulled-wine.json b/src/recipes/mulled-wine.json index 81bb87a66..04c86211e 100644 --- a/src/recipes/mulled-wine.json +++ b/src/recipes/mulled-wine.json @@ -1,39 +1,39 @@ -{ - "name": "Mulled Wine", - "description": "Warm, spicy and a bit sweet.", - "github": "sparsell", - "ingredients": [ - { - "quantity": "1", - "measure": "bottle", - "ingredient": "red wine, such as burgundy" - }, - { - "quantity": "1", - "measure": "sliced", - "ingredient": "orange or lemon" - }, - { - "quantity": "4", - "measure": "sticks", - "ingredient": "cinnamon" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "sugar, honey or maple syrup" - } - - ], - "directions": [ - "Combine all ingredients in large pot over medium heat.", - "Stir until all sugar (or sweetner of your choice) is dissolved.", - "Bring to a low boil and reduce heat immediately to simmer for 20 minutes." - ], - "image": "mulled-wine.jpg", - "source": "https://unsplash.com/photos/7MrqcIB8zVU", - "keywords": [ - "christmas", - "holiday" - ] -} +{ + "name": "Mulled Wine", + "description": "Warm, spicy and a bit sweet.", + "github": "sparsell", + "ingredients": [ + { + "quantity": "1", + "measure": "bottle", + "ingredient": "red wine, such as burgundy" + }, + { + "quantity": "1", + "measure": "sliced", + "ingredient": "orange or lemon" + }, + { + "quantity": "4", + "measure": "sticks", + "ingredient": "cinnamon" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "sugar, honey or maple syrup" + } + + ], + "directions": [ + "Combine all ingredients in large pot over medium heat.", + "Stir until all sugar (or sweetner of your choice) is dissolved.", + "Bring to a low boil and reduce heat immediately to simmer for 20 minutes." + ], + "image": "mulled-wine.jpg", + "source": "https://unsplash.com/photos/7MrqcIB8zVU", + "keywords": [ + "christmas", + "holiday" + ] +} diff --git a/src/recipes/muskmelon-panaka.json b/src/recipes/muskmelon-panaka.json index 38fdb9551..b8a18463f 100644 --- a/src/recipes/muskmelon-panaka.json +++ b/src/recipes/muskmelon-panaka.json @@ -1,49 +1,49 @@ -{ - "name": "Muskmelon Panaka", - "description": "A tasy Ayurvedic summer cooler made using muskmelon,jaggery and green cardamom", - "github": "Amit-Anveri", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Chopped muskmelon" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "cold water" - }, - { - "quantity": "6", - "measure": "tablespoon", - "ingredient": "powdered jaggery" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "cardamom powder" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "lime juice" - } - ], - "directions": [ - "In a blender add half of the chopped muskmelon and the powdered jaggery", - "Blend the mixture until it's completely mashed", - "Add cold water, lime juice and cardamom powder", - "Blend the mixture again till everything gets mixed", - "Water and jaggery can be adjusted based on personal preference", - "Strain the blended mixture into a jar and add the remaining half of chopped muskmelon", - "Serve chilled" - ], - "image": "muskmelon-panaka.jpg", - "keywords": [ - "Summer", - "Ayurvedic", - "chilled", - "refreshing", - "Non-alcoholic" - ] -} +{ + "name": "Muskmelon Panaka", + "description": "A tasy Ayurvedic summer cooler made using muskmelon,jaggery and green cardamom", + "github": "Amit-Anveri", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Chopped muskmelon" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "cold water" + }, + { + "quantity": "6", + "measure": "tablespoon", + "ingredient": "powdered jaggery" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "cardamom powder" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "lime juice" + } + ], + "directions": [ + "In a blender add half of the chopped muskmelon and the powdered jaggery", + "Blend the mixture until it's completely mashed", + "Add cold water, lime juice and cardamom powder", + "Blend the mixture again till everything gets mixed", + "Water and jaggery can be adjusted based on personal preference", + "Strain the blended mixture into a jar and add the remaining half of chopped muskmelon", + "Serve chilled" + ], + "image": "muskmelon-panaka.jpg", + "keywords": [ + "Summer", + "Ayurvedic", + "chilled", + "refreshing", + "Non-alcoholic" + ] +} diff --git a/src/recipes/nam-thom.json b/src/recipes/nam-thom.json index 0ca1620b9..1d9d2a639 100644 --- a/src/recipes/nam-thom.json +++ b/src/recipes/nam-thom.json @@ -1,34 +1,34 @@ -{ - "name": "Nam Thom", - "description": "It's the most famous drink for a teenager in the southside of Thailand", - "github": "Kritsana135", - "ingredients": [ - { - "quantity": "20 - 30", - "measure": "leaves", - "ingredient": "kratom leaf" - }, - { - "quantity": "1.5 - 2", - "measure": "liter", - "ingredient": "water" - }, - { - "quantity": "1.5 - 2", - "measure": "liter", - "ingredient": "soft drink ex. Pepsi,CocaCola" - } - ], - "directions": [ - "Bring the water to a boil and bring the prepared kratom leaves to wash thoroughly. When the kratom leaves are clean and crushed, put them into boiling water.", - "Boil for a period of approximately 30 minutes. When the time is up, then filter out the water. Then pour the sparkling water into it and stir to combine.", - "When everything is mixed well, set it aside to cool and fill a bottle. It can be stored in the refrigerator for 1 week. Drinking volume 250 ml / time (should not drink more than 2 times a day)." - ], - "image": "nam-thom.jpg", - "keywords": [ - "Herb", - "chilled", - "refreshing", - "Non-alcoholic" - ] -} +{ + "name": "Nam Thom", + "description": "It's the most famous drink for a teenager in the southside of Thailand", + "github": "Kritsana135", + "ingredients": [ + { + "quantity": "20 - 30", + "measure": "leaves", + "ingredient": "kratom leaf" + }, + { + "quantity": "1.5 - 2", + "measure": "liter", + "ingredient": "water" + }, + { + "quantity": "1.5 - 2", + "measure": "liter", + "ingredient": "soft drink ex. Pepsi,CocaCola" + } + ], + "directions": [ + "Bring the water to a boil and bring the prepared kratom leaves to wash thoroughly. When the kratom leaves are clean and crushed, put them into boiling water.", + "Boil for a period of approximately 30 minutes. When the time is up, then filter out the water. Then pour the sparkling water into it and stir to combine.", + "When everything is mixed well, set it aside to cool and fill a bottle. It can be stored in the refrigerator for 1 week. Drinking volume 250 ml / time (should not drink more than 2 times a day)." + ], + "image": "nam-thom.jpg", + "keywords": [ + "Herb", + "chilled", + "refreshing", + "Non-alcoholic" + ] +} diff --git a/src/recipes/negroni-sbagliato.json b/src/recipes/negroni-sbagliato.json index b220736d4..e7707afce 100644 --- a/src/recipes/negroni-sbagliato.json +++ b/src/recipes/negroni-sbagliato.json @@ -1,39 +1,39 @@ -{ - "name": "Negroni sbagliato", - "description": "This is a lighter variant of the classic Negroni. Spumante (italian sparkling white wine) replace Gin." , - "github": "alepit", - "ingredients": [ - { - "quantity": "1/3", - "measure": "", - "ingredient": "Spumante" - }, - { - "quantity": "1/3", - "measure": "", - "ingredient": "Campari" - }, - { - "quantity": "1/3", - "measure": "", - "ingredient": "Sweet Vermouth" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "Pour all in a glass with ice cubes, mix with a bar spoon.", - "Garnish with an orange peel." - ], - "image": "negroni.jpg", - "keywords": [ - "sparkling", - "white wine", - "vermouth", - "alcoholic", - "campari" - ] -} +{ + "name": "Negroni sbagliato", + "description": "This is a lighter variant of the classic Negroni. Spumante (italian sparkling white wine) replace Gin." , + "github": "alepit", + "ingredients": [ + { + "quantity": "1/3", + "measure": "", + "ingredient": "Spumante" + }, + { + "quantity": "1/3", + "measure": "", + "ingredient": "Campari" + }, + { + "quantity": "1/3", + "measure": "", + "ingredient": "Sweet Vermouth" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "Pour all in a glass with ice cubes, mix with a bar spoon.", + "Garnish with an orange peel." + ], + "image": "negroni.jpg", + "keywords": [ + "sparkling", + "white wine", + "vermouth", + "alcoholic", + "campari" + ] +} diff --git a/src/recipes/negroni.json b/src/recipes/negroni.json index 694e11d47..48721d572 100644 --- a/src/recipes/negroni.json +++ b/src/recipes/negroni.json @@ -1,42 +1,42 @@ -{ - "name": "Negroni", - "description": "The Negroni is an iconic Italian cocktail, also considered an apéritif.", - "github": "Iaggelis", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sweet Vermouth" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "Combine the spirits into a mixing glass with ice.", - "Stir until chilled.", - "Strain into a rocks glass filled with large ice cubes.", - "Garnish with an orange peel." - ], - "image": "negroni.jpg", - "keywords": [ - "gin", - "vermouth", - "alcoholic", - "classic", - "vegan", - "simple" - ] -} +{ + "name": "Negroni", + "description": "The Negroni is an iconic Italian cocktail, also considered an apéritif.", + "github": "Iaggelis", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sweet Vermouth" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "Combine the spirits into a mixing glass with ice.", + "Stir until chilled.", + "Strain into a rocks glass filled with large ice cubes.", + "Garnish with an orange peel." + ], + "image": "negroni.jpg", + "keywords": [ + "gin", + "vermouth", + "alcoholic", + "classic", + "vegan", + "simple" + ] +} diff --git a/src/recipes/negroski.json b/src/recipes/negroski.json index dc51956c3..e943b8711 100644 --- a/src/recipes/negroski.json +++ b/src/recipes/negroski.json @@ -1,42 +1,42 @@ -{ - "name": "Negroski", - "description": "Negroski is a variation of the Negroni in which gin is replaced with vodka.", - "github": "Guberlo", - "ingredients": [ - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Red Sweet Vermouth" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "Chill a rock medium or old fashioned glass.", - "Fill the glass with large ice cubes.", - "Pour the spirits and give a good stir.", - "Garnish with an orange peel." - ], - "image": "negroski.jpg", - "keywords": [ - "vodka", - "vermouth", - "alcoholic", - "classic", - "vegan", - "campari" - ] -} +{ + "name": "Negroski", + "description": "Negroski is a variation of the Negroni in which gin is replaced with vodka.", + "github": "Guberlo", + "ingredients": [ + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Red Sweet Vermouth" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "Chill a rock medium or old fashioned glass.", + "Fill the glass with large ice cubes.", + "Pour the spirits and give a good stir.", + "Garnish with an orange peel." + ], + "image": "negroski.jpg", + "keywords": [ + "vodka", + "vermouth", + "alcoholic", + "classic", + "vegan", + "campari" + ] +} diff --git a/src/recipes/negrumi.json b/src/recipes/negrumi.json index 9fd41a11c..a6dfc26a8 100644 --- a/src/recipes/negrumi.json +++ b/src/recipes/negrumi.json @@ -1,44 +1,44 @@ -{ - "name": "Negrumi", - "description": "A variant of the best known Negroni with addition of pink grapefruit. The name is a portmanteau that blends the two words \"Negroni\" and \"Agrumi\" (italian for \"Citrus fruits\") together.", - "github": "AlbyIanna", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Pink grapefruit juice" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "pink grapefruit" - } - ], - "directions": [ - "Combine the spirits into a mixing glass with ice.", - "Stir until chilled.", - "Strain into a rocks glass filled with large ice cubes.", - "Garnish with a slice of pink grapefruit." - ], - "image": "negrumi.jpg", - "keywords": [ - "gin", - "alcoholic", - "summer", - "vegan", - "simple", - "grapefruit", - "pink", - "negroni" - ] -} +{ + "name": "Negrumi", + "description": "A variant of the best known Negroni with addition of pink grapefruit. The name is a portmanteau that blends the two words \"Negroni\" and \"Agrumi\" (italian for \"Citrus fruits\") together.", + "github": "AlbyIanna", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Pink grapefruit juice" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "pink grapefruit" + } + ], + "directions": [ + "Combine the spirits into a mixing glass with ice.", + "Stir until chilled.", + "Strain into a rocks glass filled with large ice cubes.", + "Garnish with a slice of pink grapefruit." + ], + "image": "negrumi.jpg", + "keywords": [ + "gin", + "alcoholic", + "summer", + "vegan", + "simple", + "grapefruit", + "pink", + "negroni" + ] +} diff --git a/src/recipes/nevada.json b/src/recipes/nevada.json index 7cb65314b..0d107455d 100644 --- a/src/recipes/nevada.json +++ b/src/recipes/nevada.json @@ -1,41 +1,41 @@ -{ - "name": "Nevada (Snowy Cocktail)", - "description": "Nevada is a vodka-based alcoholic beverage. Usually you drink it for the first time when you're a teenager.", - "github": "annemacena", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Lemon" - }, - { - "quantity": "To your taste", - "measure": "", - "ingredient": "Vodka" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "Condensed milk" - }, - { - "quantity": "To your taste", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "In a blender put the crushed ice, squeeze the lemon, add the condensed milk and vodka", - "Stir well until it looks like snow.", - "Serve it. Don't get drunk too fast." - ], - "image": "nevada.jpg", - "keywords": [ - "alcoholic", - "vodka", - "brazil", - "lemon", - "condensed milk", - "nostalgia" - ] -} +{ + "name": "Nevada (Snowy Cocktail)", + "description": "Nevada is a vodka-based alcoholic beverage. Usually you drink it for the first time when you're a teenager.", + "github": "annemacena", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Lemon" + }, + { + "quantity": "To your taste", + "measure": "", + "ingredient": "Vodka" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "Condensed milk" + }, + { + "quantity": "To your taste", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "In a blender put the crushed ice, squeeze the lemon, add the condensed milk and vodka", + "Stir well until it looks like snow.", + "Serve it. Don't get drunk too fast." + ], + "image": "nevada.jpg", + "keywords": [ + "alcoholic", + "vodka", + "brazil", + "lemon", + "condensed milk", + "nostalgia" + ] +} diff --git a/src/recipes/new-york-sour.json b/src/recipes/new-york-sour.json index e5524848b..98ef91f49 100644 --- a/src/recipes/new-york-sour.json +++ b/src/recipes/new-york-sour.json @@ -1,45 +1,45 @@ -{ - "name": "New York Sour", - "description": "The whiskey sour with red wine on the top.", - "github": "ibotdotout", - "ingredients": [ - { - "quantity": "2", - "measure": "parts", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "sugar syrup" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "egg white" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "Red wine" - } - ], - "directions": [ - "Put ice and all of the ingredients except the wine into a shaker and shake hard for about 20 seconds to chill the liquid.", - "Strain the mix into a glass filled with ice and garnish with the cherry and orange slice.", - "Pour the wine on top of the drink." - ], - "image": "new-york-sour.jpg", - "keywords": [ - "alcoholic", - "whiskey", - "egg", - "cocktail", - "wine" - ] -} +{ + "name": "New York Sour", + "description": "The whiskey sour with red wine on the top.", + "github": "ibotdotout", + "ingredients": [ + { + "quantity": "2", + "measure": "parts", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "sugar syrup" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "egg white" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "Red wine" + } + ], + "directions": [ + "Put ice and all of the ingredients except the wine into a shaker and shake hard for about 20 seconds to chill the liquid.", + "Strain the mix into a glass filled with ice and garnish with the cherry and orange slice.", + "Pour the wine on top of the drink." + ], + "image": "new-york-sour.jpg", + "keywords": [ + "alcoholic", + "whiskey", + "egg", + "cocktail", + "wine" + ] +} diff --git a/src/recipes/newfoundland-christmas-slush.json b/src/recipes/newfoundland-christmas-slush.json index 7614a26c8..c83fca0be 100644 --- a/src/recipes/newfoundland-christmas-slush.json +++ b/src/recipes/newfoundland-christmas-slush.json @@ -1,54 +1,54 @@ -{ - "name": "Newfoundland Christmas Slush", - "description": "A frosty blend of pinapple and citrus frozen together with vodka to create a base for a delicous cocktail from the province of Newfoundland, Canada", - "github": "MikeRyan709", - "ingredients": [ - { - "quantity": "7.5", - "measure": "cups>", - "ingredient": "Water" - }, - { - "quantity": "1.5", - "measure": "cups", - "ingredient": "White sugar" - }, - { - "quantity": "1", - "measure": "Can", - "ingredient": "Frozen Lemonade" - }, - { - "quantity": "1", - "measure": "Can", - "ingredient": "Pinapple Juice" - }, - { - "quantity": "26", - "measure": "oz", - "ingredient": "Vodka" - },{ - "quantity": "To fill", - "measure": "", - "ingredient": "Soda (7up)" - } - ], - "directions": [ - "Pour the water and sugar into a large pot and bring to a boil. Let the mixture boil for 3-5 minutes", - "Once the mixture is cool, add your orange juice and lemonade, mix well until dissolved", - "Add the can of Pinapple juice and vodka to the mix and stir", - "Transfer the mixture to a large, freezer safe container", - "place in freezer, stir periodically until mixture is frozen", - "Add two scoops of slush to a cup and fill with 7Up" - ], - "image": "newfoundland-christmas-slush.jpg", - "keywords": [ - "vodka", - "holiday", - "pineapple juice", - "orange", - "alcoholic", - "cocktail" - - ] -} +{ + "name": "Newfoundland Christmas Slush", + "description": "A frosty blend of pinapple and citrus frozen together with vodka to create a base for a delicous cocktail from the province of Newfoundland, Canada", + "github": "MikeRyan709", + "ingredients": [ + { + "quantity": "7.5", + "measure": "cups>", + "ingredient": "Water" + }, + { + "quantity": "1.5", + "measure": "cups", + "ingredient": "White sugar" + }, + { + "quantity": "1", + "measure": "Can", + "ingredient": "Frozen Lemonade" + }, + { + "quantity": "1", + "measure": "Can", + "ingredient": "Pinapple Juice" + }, + { + "quantity": "26", + "measure": "oz", + "ingredient": "Vodka" + },{ + "quantity": "To fill", + "measure": "", + "ingredient": "Soda (7up)" + } + ], + "directions": [ + "Pour the water and sugar into a large pot and bring to a boil. Let the mixture boil for 3-5 minutes", + "Once the mixture is cool, add your orange juice and lemonade, mix well until dissolved", + "Add the can of Pinapple juice and vodka to the mix and stir", + "Transfer the mixture to a large, freezer safe container", + "place in freezer, stir periodically until mixture is frozen", + "Add two scoops of slush to a cup and fill with 7Up" + ], + "image": "newfoundland-christmas-slush.jpg", + "keywords": [ + "vodka", + "holiday", + "pineapple juice", + "orange", + "alcoholic", + "cocktail" + + ] +} diff --git a/src/recipes/nice-holiday.json b/src/recipes/nice-holiday.json index e63af2f4d..73693a692 100644 --- a/src/recipes/nice-holiday.json +++ b/src/recipes/nice-holiday.json @@ -1,37 +1,37 @@ -{ - "name": "Nice Holiday", - "description": "The Nice Holiday is extra indulgent. Pop on Mariah Carey's 'All I Want For Christmas is You!' and enjoy by the fire with a loved one. From 'Fancy AF Cocktails' by Tom Sandoval and Ariana Madix", - "github": "lsheltonSTO", - "ingredients": [ - { - "quantity": "2", - "measure": "ounces", - "ingredient": "white chocolate liqueur" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "creme de menthe" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "vanilla vodka" - } - ], - "directions": [ - "Add all ingredients (except the garnish) to a cocktail shaker.", - "Fill with ice.", - "Shake and strain into a chilled martini glass.", - "Garnish with whipped cream, chocolate mints, and a fresh mint leaf." - ], - "image": "nice-holiday.jpg", - "source": "https://www.amazon.com/Fancy-AF-Cocktails-Professional-Drinkers/dp/0358171717", - "keywords": [ - "holiday", - "alcoholic", - "vodka", - "liqueur", - "creme de menthe" - ] -} +{ + "name": "Nice Holiday", + "description": "The Nice Holiday is extra indulgent. Pop on Mariah Carey's 'All I Want For Christmas is You!' and enjoy by the fire with a loved one. From 'Fancy AF Cocktails' by Tom Sandoval and Ariana Madix", + "github": "lsheltonSTO", + "ingredients": [ + { + "quantity": "2", + "measure": "ounces", + "ingredient": "white chocolate liqueur" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "creme de menthe" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "vanilla vodka" + } + ], + "directions": [ + "Add all ingredients (except the garnish) to a cocktail shaker.", + "Fill with ice.", + "Shake and strain into a chilled martini glass.", + "Garnish with whipped cream, chocolate mints, and a fresh mint leaf." + ], + "image": "nice-holiday.jpg", + "source": "https://www.amazon.com/Fancy-AF-Cocktails-Professional-Drinkers/dp/0358171717", + "keywords": [ + "holiday", + "alcoholic", + "vodka", + "liqueur", + "creme de menthe" + ] +} diff --git a/src/recipes/nigerian-chapman.json b/src/recipes/nigerian-chapman.json index 4cb84ac5a..6bac6bf72 100644 --- a/src/recipes/nigerian-chapman.json +++ b/src/recipes/nigerian-chapman.json @@ -1,72 +1,72 @@ -{ - "name": "Nigerian Chapman", - "description": "The Nigerian Chapman is the perfect cocktail for any occasion", - "github": "SalmaanShire365", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Grenadine Syrup" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Angostura Aromatic Bitters" - }, - { - "quantity": "350", - "measure": "ml", - "ingredient": "Fanta Orange" - }, - { - "quantity": "350", - "measure" : "ml", - "ingredient" : "Sprite" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient":"Orange" - }, - { - - "quantity":"1/2", - "measure":"", - "ingredient":"Lemon" - }, - { - "quantity":"2 or 3", - "measure":"full", - "ingredient":"Ice Cubes" - }, - { - "quantity":"1", - "measure":"", - "ingredient":"Ribena Blackcurrant" - }, - { - "quantity":"3", - "measure":"sliced", - "ingredient":"oranges,cucumbers and apples" - } - ], - - "directions": [ - "Put the icecubes in your mixing jar.", - "Add half a cup of the Grenadine Syrup", - "Add 2 tablespoons of Angostura Bitters.", - "Add a squeeze of orange and lemon each.", - "Add the Fanta Orange and the Sprite. ", - "Add your sliced garnishings: cucumber, apples, orange and lemons.", - "Top off with Ribena blackcurrant and stir." - ], - "image": "nigerian-chapman.jpg", - "keywords": [ - "fanta", - "fruit", - "grenadine", - "lemon", - "orange", - "sprite" - ] -} +{ + "name": "Nigerian Chapman", + "description": "The Nigerian Chapman is the perfect cocktail for any occasion", + "github": "SalmaanShire365", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Grenadine Syrup" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Angostura Aromatic Bitters" + }, + { + "quantity": "350", + "measure": "ml", + "ingredient": "Fanta Orange" + }, + { + "quantity": "350", + "measure" : "ml", + "ingredient" : "Sprite" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient":"Orange" + }, + { + + "quantity":"1/2", + "measure":"", + "ingredient":"Lemon" + }, + { + "quantity":"2 or 3", + "measure":"full", + "ingredient":"Ice Cubes" + }, + { + "quantity":"1", + "measure":"", + "ingredient":"Ribena Blackcurrant" + }, + { + "quantity":"3", + "measure":"sliced", + "ingredient":"oranges,cucumbers and apples" + } + ], + + "directions": [ + "Put the icecubes in your mixing jar.", + "Add half a cup of the Grenadine Syrup", + "Add 2 tablespoons of Angostura Bitters.", + "Add a squeeze of orange and lemon each.", + "Add the Fanta Orange and the Sprite. ", + "Add your sliced garnishings: cucumber, apples, orange and lemons.", + "Top off with Ribena blackcurrant and stir." + ], + "image": "nigerian-chapman.jpg", + "keywords": [ + "fanta", + "fruit", + "grenadine", + "lemon", + "orange", + "sprite" + ] +} diff --git a/src/recipes/nimbu-pani.json b/src/recipes/nimbu-pani.json index a20255857..5ac97ecff 100644 --- a/src/recipes/nimbu-pani.json +++ b/src/recipes/nimbu-pani.json @@ -1,48 +1,48 @@ -{ - "name": "Nimbu Pani", - "description": "In the northern states of India nimbu pani is also known as shikanji or shikanjvi and lemonade in English.", - "github": "nayyyhaa", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Lemon" - }, - { - "quantity": "2", - "measure": " glasses", - "ingredient": "Chilled water" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "Sugar" - }, - { - "quantity": "1/2", - "measure": "tbsp", - "ingredient": "Chat masala" - }, - { - "quantity": "few", - "measure": "", - "ingredient": "Mint Leaves" - } - ], - "directions": [ - "Pour water in a vessel.", - "Slice the lemon and squeeze the juice with the squeezer or your hand into water. Discard the seed.", - "Add sugar, cumin powder, chat masala, mint leaves and ice cubes.", - "Mix all until sugar dissolves.", - "Pour into tall glasses and add lemon slices if using.", - "Serve nimbu pani chilled." - ], - "image": "nimbu-pani.jpg", - "keywords": [ - "chilled", - "lemon", - "mint", - "refreshing", - "sugar" - ] -} +{ + "name": "Nimbu Pani", + "description": "In the northern states of India nimbu pani is also known as shikanji or shikanjvi and lemonade in English.", + "github": "nayyyhaa", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Lemon" + }, + { + "quantity": "2", + "measure": " glasses", + "ingredient": "Chilled water" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "Sugar" + }, + { + "quantity": "1/2", + "measure": "tbsp", + "ingredient": "Chat masala" + }, + { + "quantity": "few", + "measure": "", + "ingredient": "Mint Leaves" + } + ], + "directions": [ + "Pour water in a vessel.", + "Slice the lemon and squeeze the juice with the squeezer or your hand into water. Discard the seed.", + "Add sugar, cumin powder, chat masala, mint leaves and ice cubes.", + "Mix all until sugar dissolves.", + "Pour into tall glasses and add lemon slices if using.", + "Serve nimbu pani chilled." + ], + "image": "nimbu-pani.jpg", + "keywords": [ + "chilled", + "lemon", + "mint", + "refreshing", + "sugar" + ] +} diff --git a/src/recipes/noon-chai.json b/src/recipes/noon-chai.json index e09213695..0d17ccd08 100644 --- a/src/recipes/noon-chai.json +++ b/src/recipes/noon-chai.json @@ -1,52 +1,52 @@ -{ - "name": "Noon Chai", - "description": "A delicious tea from the beautiful land of Kashmir.", - "github": "deveshkatoch", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Water" - }, - { - "quantity": "1/2", - "measure": "teaspoons", - "ingredient": "Salt" - }, - { - "quantity": "", - "measure": "teaspoons", - "ingredient": "Gunpowder tea leaves" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "1/3", - "measure": "teaspoon", - "ingredient": "Baking Soda" - }, - { - "quantity": "1", - "measure": "inch", - "ingredient": "Ginger" - } - ], - "directions": [ - "Boil 1 cup water and brew tea leaves until frothy.", - "Add the baking soda and whisk vigorously for about 10 seconds.", - "Add remaining water and ginger.", - "Add milk and whisk it vigorously over medium heat to achieve a slight froth. The colour of the tea should now be a lovely dark pink.", - "Adjust milk to colour of your choice. Add the salt and stir well.", - "Pour into a cup and serve the Kashmiri Noon Chai hot." - ], - "image": "noon-chai.jpg", - "keywords": [ - "hot", - "tea", - "non-alcoholic", - "indian" - ] -} +{ + "name": "Noon Chai", + "description": "A delicious tea from the beautiful land of Kashmir.", + "github": "deveshkatoch", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Water" + }, + { + "quantity": "1/2", + "measure": "teaspoons", + "ingredient": "Salt" + }, + { + "quantity": "", + "measure": "teaspoons", + "ingredient": "Gunpowder tea leaves" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1/3", + "measure": "teaspoon", + "ingredient": "Baking Soda" + }, + { + "quantity": "1", + "measure": "inch", + "ingredient": "Ginger" + } + ], + "directions": [ + "Boil 1 cup water and brew tea leaves until frothy.", + "Add the baking soda and whisk vigorously for about 10 seconds.", + "Add remaining water and ginger.", + "Add milk and whisk it vigorously over medium heat to achieve a slight froth. The colour of the tea should now be a lovely dark pink.", + "Adjust milk to colour of your choice. Add the salt and stir well.", + "Pour into a cup and serve the Kashmiri Noon Chai hot." + ], + "image": "noon-chai.jpg", + "keywords": [ + "hot", + "tea", + "non-alcoholic", + "indian" + ] +} diff --git a/src/recipes/north-pole.json b/src/recipes/north-pole.json index 6a0949a43..80d8a66d1 100644 --- a/src/recipes/north-pole.json +++ b/src/recipes/north-pole.json @@ -1,50 +1,50 @@ -{ - "name": "The North Pole", - "description": "To be sipped on December 24th while waiting for the visit of the most famous character of this part of the country!", - "github": "JoshuaMart", - "ingredients": [ - { - "quantity": "10", - "measure": "", - "ingredient": "Canneberges" - }, - { - "quantity": "2", - "measure": "line", - "ingredient": "Bitter with orange" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "Orange Juice" - }, - { - "quantity": "1", - "measure": "line", - "ingredient": "Vanilla syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Mix the orange zest, cranberries and 2 dashes of bitter orangeIin a shaker.", - "Add ice cream, vanilla syrup, gin and orange juice soup.", - "Shake well and add a little club soda.", - "Decorate according to your inspiration." - ], - "image": "north-pole.jpg", - "keywords": [ - "gin", - "orange", - "fresh", - "christmas" - ] -} +{ + "name": "The North Pole", + "description": "To be sipped on December 24th while waiting for the visit of the most famous character of this part of the country!", + "github": "JoshuaMart", + "ingredients": [ + { + "quantity": "10", + "measure": "", + "ingredient": "Canneberges" + }, + { + "quantity": "2", + "measure": "line", + "ingredient": "Bitter with orange" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "Orange Juice" + }, + { + "quantity": "1", + "measure": "line", + "ingredient": "Vanilla syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Mix the orange zest, cranberries and 2 dashes of bitter orangeIin a shaker.", + "Add ice cream, vanilla syrup, gin and orange juice soup.", + "Shake well and add a little club soda.", + "Decorate according to your inspiration." + ], + "image": "north-pole.jpg", + "keywords": [ + "gin", + "orange", + "fresh", + "christmas" + ] +} diff --git a/src/recipes/norwegian-glogg.json b/src/recipes/norwegian-glogg.json index aaf8c1bd7..75e8f2be4 100644 --- a/src/recipes/norwegian-glogg.json +++ b/src/recipes/norwegian-glogg.json @@ -1,87 +1,87 @@ -{ - "name": "Norwegian Glogg (norwegian mulled wine)", - "description": "A heady combination of red wine, sauternes and aquavit, enriched with raisins and almonds. Glogg is traditionally served in mugs with tiny spoons for eating the nuts and fruit.", - "github": "rohannair11", - "ingredients": [ - { - "quantity": "2", - "measure": "bottles", - "ingredient": "dry red wine" - }, - { - "quantity": "1", - "measure": "bottle", - "ingredient": "sweet white wine" - }, - { - "quantity": "1", - "measure": "singular", - "ingredient": "lemon" - }, - { - "quantity": "1", - "measure": "singular", - "ingredient": "orange" - }, - { - "quantity": "10", - "measure": "", - "ingredient": "cloves" - }, - { - "quantity": "10", - "measure": "", - "ingredient": "cardamom pods" - }, - { - "quantity": "1", - "measure": "inch", - "ingredient": "fresh ginger" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "raisins" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "blanched almonds" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "bitters" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "vodka" - } - ], - "directions": [ - "Combine wines in a large saucepan. Using a vegetable peeler, remove the zest of citrus fruits. Squeeze fruits and add juice to wine. Tie up lemon peel, orange peel and spices in cheesecloth and add to wine. Add raisins, almonds and sugar.", - - "Bring wine mixture to a boil. Reduce heat and gently simmer for 15 minutes, or until flavors are well blended and almonds are soft. Skim wine from time to time to remove any foam. Taste glogg and add sugar as necessary.", - - "Just before serving, add bitters and aquavit or vodka. Ladle glogg into mugs or cups and provide each guest a spoon for eating the raisins and almonds." - ], - "image": "norwegian-glogg.jpg", - "source": "", - "keywords": [ - "alcoholic", - "norwegian", - "beverage", - "swedish", - "vodka", - "red wine", - "sugar", - "cardamom", - "bitters" - ] -} +{ + "name": "Norwegian Glogg (norwegian mulled wine)", + "description": "A heady combination of red wine, sauternes and aquavit, enriched with raisins and almonds. Glogg is traditionally served in mugs with tiny spoons for eating the nuts and fruit.", + "github": "rohannair11", + "ingredients": [ + { + "quantity": "2", + "measure": "bottles", + "ingredient": "dry red wine" + }, + { + "quantity": "1", + "measure": "bottle", + "ingredient": "sweet white wine" + }, + { + "quantity": "1", + "measure": "singular", + "ingredient": "lemon" + }, + { + "quantity": "1", + "measure": "singular", + "ingredient": "orange" + }, + { + "quantity": "10", + "measure": "", + "ingredient": "cloves" + }, + { + "quantity": "10", + "measure": "", + "ingredient": "cardamom pods" + }, + { + "quantity": "1", + "measure": "inch", + "ingredient": "fresh ginger" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "raisins" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "blanched almonds" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "bitters" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "vodka" + } + ], + "directions": [ + "Combine wines in a large saucepan. Using a vegetable peeler, remove the zest of citrus fruits. Squeeze fruits and add juice to wine. Tie up lemon peel, orange peel and spices in cheesecloth and add to wine. Add raisins, almonds and sugar.", + + "Bring wine mixture to a boil. Reduce heat and gently simmer for 15 minutes, or until flavors are well blended and almonds are soft. Skim wine from time to time to remove any foam. Taste glogg and add sugar as necessary.", + + "Just before serving, add bitters and aquavit or vodka. Ladle glogg into mugs or cups and provide each guest a spoon for eating the raisins and almonds." + ], + "image": "norwegian-glogg.jpg", + "source": "", + "keywords": [ + "alcoholic", + "norwegian", + "beverage", + "swedish", + "vodka", + "red wine", + "sugar", + "cardamom", + "bitters" + ] +} diff --git a/src/recipes/nutella-milkshake.json b/src/recipes/nutella-milkshake.json index def29f82d..ad86df01e 100644 --- a/src/recipes/nutella-milkshake.json +++ b/src/recipes/nutella-milkshake.json @@ -1,55 +1,55 @@ -{ - "name": "Ultimate Nutella Milkshake", - "description": "A cold concotion for the sweet tooth.", - "github": "JeswinSunsi", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Nutella" - }, - { - "quantity": "1", - "measure": "scoop", - "ingredient": "Vanilla Icecream" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Hazelnut Icecream - Optional" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "chocolate paste" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "whole milk" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sprinkles" - } - ], - "directions": [ - "Mix the Nutella and the vanilla icecream.", - "Blend the mixture to an almost-liquid consistency.", - "Transfer the blend into a cup or a glass.", - "Add the hazelnut icecream on top.", - "Design with chocolate paste.", - "Add the sprinkles on top.", - "Freeze in the refrigerator for a while.", - "Serve and enjoy!" - ], - "image": "Nutella-Milkshake.jpg", - "source": "https://chefsavvy.com", - "keywords": [ - "chocolate", - "nutella", - "non-alcoholic", - "cold" - ] -} +{ + "name": "Ultimate Nutella Milkshake", + "description": "A cold concotion for the sweet tooth.", + "github": "JeswinSunsi", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Nutella" + }, + { + "quantity": "1", + "measure": "scoop", + "ingredient": "Vanilla Icecream" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Hazelnut Icecream - Optional" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "chocolate paste" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "whole milk" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sprinkles" + } + ], + "directions": [ + "Mix the Nutella and the vanilla icecream.", + "Blend the mixture to an almost-liquid consistency.", + "Transfer the blend into a cup or a glass.", + "Add the hazelnut icecream on top.", + "Design with chocolate paste.", + "Add the sprinkles on top.", + "Freeze in the refrigerator for a while.", + "Serve and enjoy!" + ], + "image": "Nutella-Milkshake.jpg", + "source": "https://chefsavvy.com", + "keywords": [ + "chocolate", + "nutella", + "non-alcoholic", + "cold" + ] +} diff --git a/src/recipes/oatmilk-shaken-espresso.json b/src/recipes/oatmilk-shaken-espresso.json index 1105184d4..d1a1a045b 100644 --- a/src/recipes/oatmilk-shaken-espresso.json +++ b/src/recipes/oatmilk-shaken-espresso.json @@ -1,42 +1,42 @@ -{ - "name": "Brown Sugar Oatmilk Shaken Espresso", - "description": "Thick oat milk with freshly made espresso, and finally adding two pumps of brown sugar syrup, and then pour everything into a tall glasses with enough ice then shake. Not only can wake you up for facing the day, but also bring your great mood and energy to finish all the work and stress", - "github": "Daxin-H", - "ingredients": [ - { - "quantity": "2", - "measure": "shots", - "ingredient": "Fresh Brewed Espresso" - }, - { - "quantity": "2", - "measure": "Teaspoons", - "ingredient": "Light Brown Sugar" - }, - { - "quantity": "6", - "measure": "Oz", - "ingredient": "Unsweetened Oatmilk" - }, - { - "quantity": "1 1/2", - "measure": "Cups", - "ingredient": "Ice" - } - ], - "directions": [ - "Prepare espresso and pour into a glass.", - "Stir light brown sugar into the hot espresso to dissolve. Adjust to your desired level of sweetness.", - "Take a cocktail shaker or mason jar, adding the espresso, oatmilk and ice and shake for 20 seconds.", - "Pour into tall glass and enjoy." - ], - "image": "oatmilk-shaken-espresso.jpg", - "source": "https://athome.starbucks.com/recipe/ao-may-june21/iced-brown-sugar-oatmilk-shaken-espresso", - "keywords": [ - "shaken", - "espresso", - "coffee", - "brown sugar", - "oatmilk" - ] -} +{ + "name": "Brown Sugar Oatmilk Shaken Espresso", + "description": "Thick oat milk with freshly made espresso, and finally adding two pumps of brown sugar syrup, and then pour everything into a tall glasses with enough ice then shake. Not only can wake you up for facing the day, but also bring your great mood and energy to finish all the work and stress", + "github": "Daxin-H", + "ingredients": [ + { + "quantity": "2", + "measure": "shots", + "ingredient": "Fresh Brewed Espresso" + }, + { + "quantity": "2", + "measure": "Teaspoons", + "ingredient": "Light Brown Sugar" + }, + { + "quantity": "6", + "measure": "Oz", + "ingredient": "Unsweetened Oatmilk" + }, + { + "quantity": "1 1/2", + "measure": "Cups", + "ingredient": "Ice" + } + ], + "directions": [ + "Prepare espresso and pour into a glass.", + "Stir light brown sugar into the hot espresso to dissolve. Adjust to your desired level of sweetness.", + "Take a cocktail shaker or mason jar, adding the espresso, oatmilk and ice and shake for 20 seconds.", + "Pour into tall glass and enjoy." + ], + "image": "oatmilk-shaken-espresso.jpg", + "source": "https://athome.starbucks.com/recipe/ao-may-june21/iced-brown-sugar-oatmilk-shaken-espresso", + "keywords": [ + "shaken", + "espresso", + "coffee", + "brown sugar", + "oatmilk" + ] +} diff --git a/src/recipes/old-cuban.json b/src/recipes/old-cuban.json index d724c1dab..f0b8d6586 100644 --- a/src/recipes/old-cuban.json +++ b/src/recipes/old-cuban.json @@ -1,49 +1,49 @@ -{ - "name": "Old Cuban", - "description": "The cocktail takes inspiration from the Mojito, but it features a few important tweaks that result in a wholly unique flavor experience.", - "github": "Bhavesh988", - "ingredients": [ - { - "quantity": "6", - "measure": "", - "ingredient": "mint leaves" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Simple syrup" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lime" - }, - { - "quantity": "5 or 6", - "measure": "oz", - "ingredient": "rum" - }, - { - "quantity": "2", - "measure": "", - "ingredient" : "Angostura bitters" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "champagne" - } - ], - "directions": [ - "Muddle the mint leaves with simple syrup and lime juice in a shaker.", - "Add the rum, bitters and ice, and shake until well-chilled.", - "Double-strain into a coupe glass.", - "Top with champagne." - ], - "image": "oldcuban.jpg", - "source": "https://www.liquor.com/recipes/old-cuban/", - "keywords": [ - "Simple syrup", - "lime" - ] -} +{ + "name": "Old Cuban", + "description": "The cocktail takes inspiration from the Mojito, but it features a few important tweaks that result in a wholly unique flavor experience.", + "github": "Bhavesh988", + "ingredients": [ + { + "quantity": "6", + "measure": "", + "ingredient": "mint leaves" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Simple syrup" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lime" + }, + { + "quantity": "5 or 6", + "measure": "oz", + "ingredient": "rum" + }, + { + "quantity": "2", + "measure": "", + "ingredient" : "Angostura bitters" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "champagne" + } + ], + "directions": [ + "Muddle the mint leaves with simple syrup and lime juice in a shaker.", + "Add the rum, bitters and ice, and shake until well-chilled.", + "Double-strain into a coupe glass.", + "Top with champagne." + ], + "image": "oldcuban.jpg", + "source": "https://www.liquor.com/recipes/old-cuban/", + "keywords": [ + "Simple syrup", + "lime" + ] +} diff --git a/src/recipes/old-fashioned.json b/src/recipes/old-fashioned.json index e1acb6eac..20a0acdf3 100644 --- a/src/recipes/old-fashioned.json +++ b/src/recipes/old-fashioned.json @@ -1,35 +1,35 @@ -{ - "name": "Old Fashioned", - "description": "The Old Fashioned is a cocktail made by muddling sugar with bitters, adding whiskey, garnished with a citrus rind.", - "github": "here1am1", - "ingredients": [ - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "4-6", - "measure": "Dashes", - "ingredient": "Bitters" - }, - { - "quantity": "2-4", - "measure": "oz", - "ingredient": "Whiskey" - } - ], - "directions": [ - "Place one large ice cube in a low-ball glass.", - "Add 1/4oz of simple syrup and 4-6 Dashes of bitters of your choice.", - "Add 2-4oz of whiskey. For a true-to-history Old Fashioned; use Rye Whiskey. For a less traditional version use Bourbon.", - "Once all in the glass gently stir until combined." - ], - "image": "old-fashioned.jpg", - "keywords": [ - "whiskey", - "alcoholic", - "classic", - "vegan" - ] -} +{ + "name": "Old Fashioned", + "description": "The Old Fashioned is a cocktail made by muddling sugar with bitters, adding whiskey, garnished with a citrus rind.", + "github": "here1am1", + "ingredients": [ + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "4-6", + "measure": "Dashes", + "ingredient": "Bitters" + }, + { + "quantity": "2-4", + "measure": "oz", + "ingredient": "Whiskey" + } + ], + "directions": [ + "Place one large ice cube in a low-ball glass.", + "Add 1/4oz of simple syrup and 4-6 Dashes of bitters of your choice.", + "Add 2-4oz of whiskey. For a true-to-history Old Fashioned; use Rye Whiskey. For a less traditional version use Bourbon.", + "Once all in the glass gently stir until combined." + ], + "image": "old-fashioned.jpg", + "keywords": [ + "whiskey", + "alcoholic", + "classic", + "vegan" + ] +} diff --git a/src/recipes/orange-earl-grey-iced-tea.json b/src/recipes/orange-earl-grey-iced-tea.json index 0fd57668c..bb73459bc 100644 --- a/src/recipes/orange-earl-grey-iced-tea.json +++ b/src/recipes/orange-earl-grey-iced-tea.json @@ -1,53 +1,53 @@ -{ - "name": "Orange Earl Grey Iced Tea", - "description": "Get a little pick-me-up with this orange-infused Earl Grey iced tea.", - "github": "sujoy-coder", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Loose Earl Grey tea" - }, - { - "quantity": "1", - "measure": "peel", - "ingredient": "from one orange" - }, - { - "quantity": "4", - "measure": "cup", - "ingredient": "boiling water" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "orange juice" - }, - { - "quantity": "4", - "measure": "cup", - "ingredient": "cold water" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "sugar" - } - ], - "directions": [ - "Steep loose tea (or tea bags) and orange peel in boiling water for 3 to 5 minutes.", - "Strain the tea (or remove tea bags and orange peel) and pour into a large pitcher.", - "Stir in orange juice and sugar until the sugar is dissolved.", - "Add cold water.", - "Refrigerate until chilled, about 2 hours.", - "Serve over ice with orange wedges, if desired." - ], - "image": "orange-earl-grey-iced-tea.jpg", - "source": "http://www.eatingwell.com/recipe/249905/orange-earl-grey-iced-tea/", - "keywords": [ - "iced tea", - "orange", - "tea", - "earl grey" - ] -} +{ + "name": "Orange Earl Grey Iced Tea", + "description": "Get a little pick-me-up with this orange-infused Earl Grey iced tea.", + "github": "sujoy-coder", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Loose Earl Grey tea" + }, + { + "quantity": "1", + "measure": "peel", + "ingredient": "from one orange" + }, + { + "quantity": "4", + "measure": "cup", + "ingredient": "boiling water" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "orange juice" + }, + { + "quantity": "4", + "measure": "cup", + "ingredient": "cold water" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "sugar" + } + ], + "directions": [ + "Steep loose tea (or tea bags) and orange peel in boiling water for 3 to 5 minutes.", + "Strain the tea (or remove tea bags and orange peel) and pour into a large pitcher.", + "Stir in orange juice and sugar until the sugar is dissolved.", + "Add cold water.", + "Refrigerate until chilled, about 2 hours.", + "Serve over ice with orange wedges, if desired." + ], + "image": "orange-earl-grey-iced-tea.jpg", + "source": "http://www.eatingwell.com/recipe/249905/orange-earl-grey-iced-tea/", + "keywords": [ + "iced tea", + "orange", + "tea", + "earl grey" + ] +} diff --git a/src/recipes/orange-glorius.json b/src/recipes/orange-glorius.json index 5034451c2..ebb8389f3 100644 --- a/src/recipes/orange-glorius.json +++ b/src/recipes/orange-glorius.json @@ -1,49 +1,49 @@ -{ - "name": "Orange Glorious", - "description": "Special Orange Juice Mixed latte this beverage tastes better than the over-priced commercial version.", - "github": "kevinmel2000", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "ice water" - }, - { - "quantity": "1 (6 oz.)", - "measure": "can", - "ingredient": "frozen orange juice concentrate" - }, - { - "quantity": "12", - "measure": "cubes", - "ingredient": "ice" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "vanilla extract" - }, - { - "quantity": "1/8", - "measure": "cup", - "ingredient": "white sugar" - } - ], - "directions": [ - "Combine milk, water, orange juice concentrate, ice cubes, vanilla, and sugar in a blender. ", - "Blend until smooth.", - "Pour into three 12 oz glasses and enjoy with a straw. " - ], - "image": "orange-glorius.jpg", - "keywords": [ - "smoothie", - "orange", - "milk", - "non-alcoholic" - ] -} +{ + "name": "Orange Glorious", + "description": "Special Orange Juice Mixed latte this beverage tastes better than the over-priced commercial version.", + "github": "kevinmel2000", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "ice water" + }, + { + "quantity": "1 (6 oz.)", + "measure": "can", + "ingredient": "frozen orange juice concentrate" + }, + { + "quantity": "12", + "measure": "cubes", + "ingredient": "ice" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "vanilla extract" + }, + { + "quantity": "1/8", + "measure": "cup", + "ingredient": "white sugar" + } + ], + "directions": [ + "Combine milk, water, orange juice concentrate, ice cubes, vanilla, and sugar in a blender. ", + "Blend until smooth.", + "Pour into three 12 oz glasses and enjoy with a straw. " + ], + "image": "orange-glorius.jpg", + "keywords": [ + "smoothie", + "orange", + "milk", + "non-alcoholic" + ] +} diff --git a/src/recipes/orange-pineapple-moscow-mule.json b/src/recipes/orange-pineapple-moscow-mule.json index fa4fa821f..0467d45b0 100644 --- a/src/recipes/orange-pineapple-moscow-mule.json +++ b/src/recipes/orange-pineapple-moscow-mule.json @@ -1,59 +1,59 @@ -{ - "name": "Orange Pineapple Moscow Mule", - "description": "Perfect for spring and summer nights, and warm backyard parties!", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "2", - "measure": "ounces", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "piece", - "ingredient": "lime, juiced" - }, - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "orange juice" - }, - { - "quantity": "4", - "measure": "ounces", - "ingredient": "lemon juice" - }, - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "pineapple juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ginger beer for topping" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Optional: pineapple wedges, and fresh mint, for serving" - } - ], - "directions": [ - "Fill a cocktail glass with ice.", - "Add the vodka, lime juice, orange juice, and pineapple juice.", - "Stir to combine.", - "Top off with ginger beer.", - "Garnish with pineapple wedges and fresh mint.", - "Enjoy!" - ], - "image": "orange-pineapple-moscow-mule.jpg", - "source": "https://www.halfbakedharvest.com/pineapple-moscow-mule/", - "keywords": [ - "cool", - "orange", - "alcoholic", - "pineapple", - "vodka" - ] +{ + "name": "Orange Pineapple Moscow Mule", + "description": "Perfect for spring and summer nights, and warm backyard parties!", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "2", + "measure": "ounces", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "piece", + "ingredient": "lime, juiced" + }, + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "orange juice" + }, + { + "quantity": "4", + "measure": "ounces", + "ingredient": "lemon juice" + }, + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "pineapple juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ginger beer for topping" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Optional: pineapple wedges, and fresh mint, for serving" + } + ], + "directions": [ + "Fill a cocktail glass with ice.", + "Add the vodka, lime juice, orange juice, and pineapple juice.", + "Stir to combine.", + "Top off with ginger beer.", + "Garnish with pineapple wedges and fresh mint.", + "Enjoy!" + ], + "image": "orange-pineapple-moscow-mule.jpg", + "source": "https://www.halfbakedharvest.com/pineapple-moscow-mule/", + "keywords": [ + "cool", + "orange", + "alcoholic", + "pineapple", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/orangeade.json b/src/recipes/orangeade.json index 90ae4e04d..eed12655b 100644 --- a/src/recipes/orangeade.json +++ b/src/recipes/orangeade.json @@ -1,45 +1,45 @@ -{ - "name": "Orangeade", - "description": "A refreshing change from lemonade. If you don't care for pulp in your drink, feel free to strain the juice before you add it to the water.", - "github": "AnmolBaansal", - "ingredients": [ - { - "quantity": "2", - "measure": "Cups", - "ingredient": "Water" - }, - { - "quantity": "1.5", - "measure": "Cups", - "ingredient": "White Sugar" - }, - { - "quantity": "6", - "measure": "Cups", - "ingredient": "Water" - }, - { - "quantity": "1.5", - "measure": "Cups", - "ingredient": "Orange Juice" - }, - { - "quantity": "1/3", - "measure": "Cup", - "ingredient": "Lemon Juice" - } - ], - "directions": [ - "Bring 2 cups water and sugar to a boil in a small saucepan.", - "Cook at a boil for 3 minutes, stirring to dissolve sugar, and creating a simple syrup.", - "Combine simple syrup, 6 cups water, orange juice, and lemon juice in a large pitcher; refrigerate until cold." - ], - "image": "orangeade.jpg", - "source": "https://www.allrecipes.com/recipe/228353/orangeade/", - "keywords": [ - "lime", - "orange", - "beer", - "non-alcoholic" - ] +{ + "name": "Orangeade", + "description": "A refreshing change from lemonade. If you don't care for pulp in your drink, feel free to strain the juice before you add it to the water.", + "github": "AnmolBaansal", + "ingredients": [ + { + "quantity": "2", + "measure": "Cups", + "ingredient": "Water" + }, + { + "quantity": "1.5", + "measure": "Cups", + "ingredient": "White Sugar" + }, + { + "quantity": "6", + "measure": "Cups", + "ingredient": "Water" + }, + { + "quantity": "1.5", + "measure": "Cups", + "ingredient": "Orange Juice" + }, + { + "quantity": "1/3", + "measure": "Cup", + "ingredient": "Lemon Juice" + } + ], + "directions": [ + "Bring 2 cups water and sugar to a boil in a small saucepan.", + "Cook at a boil for 3 minutes, stirring to dissolve sugar, and creating a simple syrup.", + "Combine simple syrup, 6 cups water, orange juice, and lemon juice in a large pitcher; refrigerate until cold." + ], + "image": "orangeade.jpg", + "source": "https://www.allrecipes.com/recipe/228353/orangeade/", + "keywords": [ + "lime", + "orange", + "beer", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/oreo-frappe.json b/src/recipes/oreo-frappe.json index 06ee10595..8ef6f1fd0 100644 --- a/src/recipes/oreo-frappe.json +++ b/src/recipes/oreo-frappe.json @@ -1,55 +1,55 @@ -{ - "name": "Oreo Frappe", - "description": "Oreo Frappuchino is a type of cold coffee loaded with the chunks of Oreo Cookies along with ice cream, milk, coffee, and chocolate syrup.", - "github": "AritriBasu", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Full-fat milk" - }, - { - "quantity": "3", - "measure": "scoops", - "ingredient": "Vanilla ice-cream" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "Instant coffee powder" - }, - { - "quantity": "10-12", - "measure": "", - "ingredient": "Ice-cubes" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Chocolate chips" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Chocolate sauce" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Whipping cream" - } - ], - "directions": [ - "Add all the above ingredients except the whipping cream in a blender.", - "Blend for 20 to 25 seconds or until all of it forms a thick paste.", - "Pour into a glass and top it up with some whipping cream using a piping bag.", - "Add some crushed Oreos and chocolate sauce on top.", - "Serve immediately!" - ], - "image": "oreo-frappe.jpg", - "source": "https://www.funfoodfrolic.com/oreo-frappe/", - "keywords": [ - "oreo", - "frappachino" - ] -} +{ + "name": "Oreo Frappe", + "description": "Oreo Frappuchino is a type of cold coffee loaded with the chunks of Oreo Cookies along with ice cream, milk, coffee, and chocolate syrup.", + "github": "AritriBasu", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Full-fat milk" + }, + { + "quantity": "3", + "measure": "scoops", + "ingredient": "Vanilla ice-cream" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "Instant coffee powder" + }, + { + "quantity": "10-12", + "measure": "", + "ingredient": "Ice-cubes" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Chocolate chips" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Chocolate sauce" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Whipping cream" + } + ], + "directions": [ + "Add all the above ingredients except the whipping cream in a blender.", + "Blend for 20 to 25 seconds or until all of it forms a thick paste.", + "Pour into a glass and top it up with some whipping cream using a piping bag.", + "Add some crushed Oreos and chocolate sauce on top.", + "Serve immediately!" + ], + "image": "oreo-frappe.jpg", + "source": "https://www.funfoodfrolic.com/oreo-frappe/", + "keywords": [ + "oreo", + "frappachino" + ] +} diff --git a/src/recipes/oreo-milkshake.json b/src/recipes/oreo-milkshake.json index b7acdc015..d5f29c128 100644 --- a/src/recipes/oreo-milkshake.json +++ b/src/recipes/oreo-milkshake.json @@ -1,40 +1,40 @@ -{ - "name": "Oreo Milkshake", - "description": "A creamy and dreamy Oreo Milkshake with the perfect ratio of Oreos to ice cream. ", - "github": "Nishtha3512", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "vanilla ice cream" - }, - { - "quantity": "1/2 to 3/4", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "oreo cookies" - } - - ], - "directions": [ - "Combine ice cream, milk, and 4 Oreo cookies in a blender.", - "Blend until pourable and pour into a glass.", - "Crush one more Oreo cookie in your hand.", - "Add the pieces to the the top of your shake,add a straw, and enjoy!", - "NOTE:Use 1/2 cup milk for a thicker shake, 3/4 for a thinner one." - ], - "image": "oreo-milkshake.jpg", - - "keywords": [ - "cold", - "ice cream", - "milk", - "non-alcoholic", - "oreo", - "vanilla" - ] -} +{ + "name": "Oreo Milkshake", + "description": "A creamy and dreamy Oreo Milkshake with the perfect ratio of Oreos to ice cream. ", + "github": "Nishtha3512", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "vanilla ice cream" + }, + { + "quantity": "1/2 to 3/4", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "oreo cookies" + } + + ], + "directions": [ + "Combine ice cream, milk, and 4 Oreo cookies in a blender.", + "Blend until pourable and pour into a glass.", + "Crush one more Oreo cookie in your hand.", + "Add the pieces to the the top of your shake,add a straw, and enjoy!", + "NOTE:Use 1/2 cup milk for a thicker shake, 3/4 for a thinner one." + ], + "image": "oreo-milkshake.jpg", + + "keywords": [ + "cold", + "ice cream", + "milk", + "non-alcoholic", + "oreo", + "vanilla" + ] +} diff --git a/src/recipes/orgasm.json b/src/recipes/orgasm.json index 149c6a75d..acb113a07 100644 --- a/src/recipes/orgasm.json +++ b/src/recipes/orgasm.json @@ -1,46 +1,46 @@ -{ - "name": "Orgasm", - "description": "The Orgasm is a cocktail that can be served either on the rocks or layered and drunk as a shooter", - "github": "PronomitaDey", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Baileys Irish Cream" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Kahlúa" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Amaretto" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Cream" - } - ], - "directions": [ - "Build all ingredients over ice in an old fashioned glass", - "Give it a good stir", - "Garnish with a cherry and serve." - ], - "image": "orgasm.jpg", - "keywords": [ - "cocktail", - "amaretto", - "cream", - "vodka", - "kahlúa", - "baileys" - ] -} +{ + "name": "Orgasm", + "description": "The Orgasm is a cocktail that can be served either on the rocks or layered and drunk as a shooter", + "github": "PronomitaDey", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Baileys Irish Cream" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Kahlúa" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Amaretto" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Cream" + } + ], + "directions": [ + "Build all ingredients over ice in an old fashioned glass", + "Give it a good stir", + "Garnish with a cherry and serve." + ], + "image": "orgasm.jpg", + "keywords": [ + "cocktail", + "amaretto", + "cream", + "vodka", + "kahlúa", + "baileys" + ] +} diff --git a/src/recipes/ozark-speedball.json b/src/recipes/ozark-speedball.json index 77c605107..b3ff50c81 100644 --- a/src/recipes/ozark-speedball.json +++ b/src/recipes/ozark-speedball.json @@ -1,53 +1,53 @@ -{ - "name": "Ozark Speedball", - "description": "Citrusy coffee cocktail.", - "github": "GonMMarques", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "chilled coffee" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "coffee liqueur" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "white whiskey" - }, - { - "quantity": "0.5", - "measure": "cups", - "ingredient": "heavy cream" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Angostura bitters" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange oil" - } - ], - "directions": [ - "Stir chilled coffee, coffee liqueur, and white whiskey in an ice-filled shaker." , - "Strain into a chilled old-fashioned glass.", - "Top with heavy cream and a dash of Angostura bitters; garnish with 4 drops orange oil." - ], - "image": "ozark-speedball.jpg", - "source": "https://www.saveur.com/article/recipes/white-russian-ozark-speedball-cocktail/", - "keywords": [ - "orange", - "cocktail", - "Angostura bitters", - "coffee liqueur", - "cream", - "whiskey" - - ] -} +{ + "name": "Ozark Speedball", + "description": "Citrusy coffee cocktail.", + "github": "GonMMarques", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "chilled coffee" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "coffee liqueur" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "white whiskey" + }, + { + "quantity": "0.5", + "measure": "cups", + "ingredient": "heavy cream" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Angostura bitters" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange oil" + } + ], + "directions": [ + "Stir chilled coffee, coffee liqueur, and white whiskey in an ice-filled shaker." , + "Strain into a chilled old-fashioned glass.", + "Top with heavy cream and a dash of Angostura bitters; garnish with 4 drops orange oil." + ], + "image": "ozark-speedball.jpg", + "source": "https://www.saveur.com/article/recipes/white-russian-ozark-speedball-cocktail/", + "keywords": [ + "orange", + "cocktail", + "Angostura bitters", + "coffee liqueur", + "cream", + "whiskey" + + ] +} diff --git a/src/recipes/p2.json b/src/recipes/p2.json index 5954afa78..74aea81ba 100644 --- a/src/recipes/p2.json +++ b/src/recipes/p2.json @@ -1,48 +1,48 @@ -{ - "name": "P2", - "description": "A fresh apple and vanilla drink.", - "github": "Zichi", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Apple Sourz" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vanilla Vodka" - }, - { - "quantity": "4-6", - "measure": "", - "ingredient": "Ice cubes" - }, - { - "quantity": "2-3", - "measure": "", - "ingredient": "Wedges of lime" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lemon & lime soda, eg. 7up" - } - - ], - "directions": [ - "Add ice cubes and lime wedges to a tall glass", - "Add Sourz and Vodka", - "Top up the glass with your preferred lemon & lime soda." - ], - "image": "p2.jpg", - "keywords": [ - "vanilla", - "vodka", - "vodka", - "lime", - "apple", - "summer", - "fresh" - ] -} +{ + "name": "P2", + "description": "A fresh apple and vanilla drink.", + "github": "Zichi", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Apple Sourz" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vanilla Vodka" + }, + { + "quantity": "4-6", + "measure": "", + "ingredient": "Ice cubes" + }, + { + "quantity": "2-3", + "measure": "", + "ingredient": "Wedges of lime" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lemon & lime soda, eg. 7up" + } + + ], + "directions": [ + "Add ice cubes and lime wedges to a tall glass", + "Add Sourz and Vodka", + "Top up the glass with your preferred lemon & lime soda." + ], + "image": "p2.jpg", + "keywords": [ + "vanilla", + "vodka", + "vodka", + "lime", + "apple", + "summer", + "fresh" + ] +} diff --git a/src/recipes/paan-shot.json b/src/recipes/paan-shot.json index 110c83238..4e005a762 100644 --- a/src/recipes/paan-shot.json +++ b/src/recipes/paan-shot.json @@ -1,49 +1,49 @@ -{ - "name": "Paan Shot", - "description": "A refreshing drink that is made using paan (betel leaves).", - "github": "sinisterblade", - "ingredients": [ - { - "quantity": "4", - "measure": "", - "ingredient": "calcutta betel leaves (paan)" - }, - { - "quantity": "4", - "measure": "tablespoon", - "ingredient": "gulkand (sweet preserve of rose petals)" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "fennel seeds" - }, - { - "quantity": "2.5", - "measure": "tablespoon", - "ingredient": "paan masala" - }, - { - "quantity": "2.5", - "measure": "cups", - "ingredient": "vanilla ice cream" - }, - { - "quantity": "10", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Tear apart the paan leaves using your hand and add to a mixer.", - "Add all the other ingredients in the same mixer jar and blend until smooth.", - "Refrigerate for at least 1 hour.", - "Pour equal quantities of the paan shot into 12 shot glasses and serve chilled." - ], - "image": "paan-shot.jpg", - "source": "https://www.tarladalal.com/Paan-Shot-40139r", - "keywords": [ - "non-alcoholic", - "sweet" - ] -} +{ + "name": "Paan Shot", + "description": "A refreshing drink that is made using paan (betel leaves).", + "github": "sinisterblade", + "ingredients": [ + { + "quantity": "4", + "measure": "", + "ingredient": "calcutta betel leaves (paan)" + }, + { + "quantity": "4", + "measure": "tablespoon", + "ingredient": "gulkand (sweet preserve of rose petals)" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "fennel seeds" + }, + { + "quantity": "2.5", + "measure": "tablespoon", + "ingredient": "paan masala" + }, + { + "quantity": "2.5", + "measure": "cups", + "ingredient": "vanilla ice cream" + }, + { + "quantity": "10", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Tear apart the paan leaves using your hand and add to a mixer.", + "Add all the other ingredients in the same mixer jar and blend until smooth.", + "Refrigerate for at least 1 hour.", + "Pour equal quantities of the paan shot into 12 shot glasses and serve chilled." + ], + "image": "paan-shot.jpg", + "source": "https://www.tarladalal.com/Paan-Shot-40139r", + "keywords": [ + "non-alcoholic", + "sweet" + ] +} diff --git a/src/recipes/painkiller.json b/src/recipes/painkiller.json index b10592a95..b0786f24d 100644 --- a/src/recipes/painkiller.json +++ b/src/recipes/painkiller.json @@ -1,52 +1,52 @@ -{ - "name": "Pain Killer", - "description": "A twist on the Piña Colada, the Painkiller is a rich and fruity cocktail that stays true to its name: It will cure what ails you.", - "github": "vennela2132", - "ingredients": [ - { - "quantity": "2", - "measure": "ounce", - "ingredient": "Pusser's Rum" - }, - { - "quantity": "4", - "measure": "ounce", - "ingredient": "Pineapple juice" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "orange juice,freshly squeezed" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "cream of coconut" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "nutmeg, freshly grated" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "pinesapple wedge" - } - ], - "directions": [ - "Add the rum, pineapple juice, orange juice and cream of coconut to a shaker with ice and shake vigorously but briefly to combine.", - "Strain into a hurricane glass or snifter over crushed ice.", - "Garnish with freshly grated nutmeg and a pineapple wedge.", - "Serve with a straw." - ], - "image": "painkiller.jpg", - "keywords": [ - "cocktail", - "juice", - "painkiller", - "alcoholic", - "rum", - "pineapple" - ] -} +{ + "name": "Pain Killer", + "description": "A twist on the Piña Colada, the Painkiller is a rich and fruity cocktail that stays true to its name: It will cure what ails you.", + "github": "vennela2132", + "ingredients": [ + { + "quantity": "2", + "measure": "ounce", + "ingredient": "Pusser's Rum" + }, + { + "quantity": "4", + "measure": "ounce", + "ingredient": "Pineapple juice" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "orange juice,freshly squeezed" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "cream of coconut" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "nutmeg, freshly grated" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "pinesapple wedge" + } + ], + "directions": [ + "Add the rum, pineapple juice, orange juice and cream of coconut to a shaker with ice and shake vigorously but briefly to combine.", + "Strain into a hurricane glass or snifter over crushed ice.", + "Garnish with freshly grated nutmeg and a pineapple wedge.", + "Serve with a straw." + ], + "image": "painkiller.jpg", + "keywords": [ + "cocktail", + "juice", + "painkiller", + "alcoholic", + "rum", + "pineapple" + ] +} diff --git a/src/recipes/palembang-red-bean-ice.json b/src/recipes/palembang-red-bean-ice.json index 776d56aa9..6507a8c26 100644 --- a/src/recipes/palembang-red-bean-ice.json +++ b/src/recipes/palembang-red-bean-ice.json @@ -1,61 +1,61 @@ -{ - "name": "Palembang Red Bean Ice", - "description": "Red bean ice is the most delicious dipalembang named red bean ice mamat bang.", - "github": "arioki1", - "ingredients": [ - { - "quantity": "1/4", - "measure": "", - "ingredient": "Wet red peel" - }, - { - "quantity": "1/4", - "measure": "", - "ingredient": "Brown sugar" - }, - { - "quantity": "4 sdm", - "measure": "", - "ingredient": "Granulated sugar" - }, - { - "quantity": "1 sdt", - "measure": "", - "ingredient": "Sugar" - }, - { - "quantity": "3 Strands", - "measure": "", - "ingredient": "Pandan leaf" - },{ - "quantity": "1/4 Sdt", - "measure": "", - "ingredient": "Vanilla" - }, - { - "quantity": "200 ml", - "measure": "", - "ingredient": "Coconut milk" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Avocado" - } - ], - "directions": [ - "Boil red beans or presto dried beans that have been soaked overnight with brown sugar, granulated sugar, salt, pandan leaves and vanilla.", - "Wait until tender after the beans are soft, turn off the heat, and wait for it to cool", - "Prepare a bowl or glass of berries with enough red beans at the bottom.", - "Cover with shaved ice cubes and then flush with coco pandan syrup, 4 tablespoons skm chocolate, and 4 tablespoons coconut milk. Then give the avocado slices." - ], - "image": "palembang-red-bean-ice.jpg", - "keywords": [ - "avocado", - "red", - "bean", - "ice", - "vanilla", - "granulated sugar" - ] -} +{ + "name": "Palembang Red Bean Ice", + "description": "Red bean ice is the most delicious dipalembang named red bean ice mamat bang.", + "github": "arioki1", + "ingredients": [ + { + "quantity": "1/4", + "measure": "", + "ingredient": "Wet red peel" + }, + { + "quantity": "1/4", + "measure": "", + "ingredient": "Brown sugar" + }, + { + "quantity": "4 sdm", + "measure": "", + "ingredient": "Granulated sugar" + }, + { + "quantity": "1 sdt", + "measure": "", + "ingredient": "Sugar" + }, + { + "quantity": "3 Strands", + "measure": "", + "ingredient": "Pandan leaf" + },{ + "quantity": "1/4 Sdt", + "measure": "", + "ingredient": "Vanilla" + }, + { + "quantity": "200 ml", + "measure": "", + "ingredient": "Coconut milk" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Avocado" + } + ], + "directions": [ + "Boil red beans or presto dried beans that have been soaked overnight with brown sugar, granulated sugar, salt, pandan leaves and vanilla.", + "Wait until tender after the beans are soft, turn off the heat, and wait for it to cool", + "Prepare a bowl or glass of berries with enough red beans at the bottom.", + "Cover with shaved ice cubes and then flush with coco pandan syrup, 4 tablespoons skm chocolate, and 4 tablespoons coconut milk. Then give the avocado slices." + ], + "image": "palembang-red-bean-ice.jpg", + "keywords": [ + "avocado", + "red", + "bean", + "ice", + "vanilla", + "granulated sugar" + ] +} diff --git a/src/recipes/palm-sugar-sharbat.json b/src/recipes/palm-sugar-sharbat.json index 2ceb3e779..3d146e4d4 100644 --- a/src/recipes/palm-sugar-sharbat.json +++ b/src/recipes/palm-sugar-sharbat.json @@ -1,45 +1,45 @@ -{ - "name": "Palm Sugar Sharbat", - "description": "This sharbat is a popular Indian drink to beat the summer in India, made using palm sugar. ", - "github": "AnshumanTripathy123", - "ingredients": [ - { - "quantity": "2", - "measure": "Teaspoon", - "ingredient": "Natural Palm Sugar" - }, - { - "quantity": "2", - "measure": "Teaspoon", - "ingredient": "Cumin Seeds" - }, - { - "quantity": "3", - "measure": "Cup", - "ingredient": "Coconut Water" - }, - { - "quantity": "2", - "measure": "Cup", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "Teaspoon", - "ingredient": "Soaked Basil Seeds" - } - ], - "directions": [ - "Add Palm Sugar in a blender and blend it. ", - "Then add cumin seed in the blender and blend it ", - "After this add cocunut water and water in the blender and blend it.", - "At last add the basil seend into the drink", - "Now wait for the drink to get cold", - "Your Drink is ready, Enjoy this yummy drink!" - ], - "image": "palm-sugar-sharbat.jpg", - "keywords": [ - "sharbat", - "cold" - ] -} +{ + "name": "Palm Sugar Sharbat", + "description": "This sharbat is a popular Indian drink to beat the summer in India, made using palm sugar. ", + "github": "AnshumanTripathy123", + "ingredients": [ + { + "quantity": "2", + "measure": "Teaspoon", + "ingredient": "Natural Palm Sugar" + }, + { + "quantity": "2", + "measure": "Teaspoon", + "ingredient": "Cumin Seeds" + }, + { + "quantity": "3", + "measure": "Cup", + "ingredient": "Coconut Water" + }, + { + "quantity": "2", + "measure": "Cup", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "Teaspoon", + "ingredient": "Soaked Basil Seeds" + } + ], + "directions": [ + "Add Palm Sugar in a blender and blend it. ", + "Then add cumin seed in the blender and blend it ", + "After this add cocunut water and water in the blender and blend it.", + "At last add the basil seend into the drink", + "Now wait for the drink to get cold", + "Your Drink is ready, Enjoy this yummy drink!" + ], + "image": "palm-sugar-sharbat.jpg", + "keywords": [ + "sharbat", + "cold" + ] +} diff --git a/src/recipes/paloma.json b/src/recipes/paloma.json index b5d82cd04..311479faf 100644 --- a/src/recipes/paloma.json +++ b/src/recipes/paloma.json @@ -1,52 +1,52 @@ -{ - "name": "Paloma", - "description": "A simple tequila cocktail made with grapefruit soda.", - "github": "estudioChispa", - "ingredients": [ - { - "quantity": "2 or 3", - "measure": "oz", - "ingredient": "tequila (I prefer a silver or blanco, but use what you like)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Grapefruite soda (like Fresca, Squirt, or Jarritos)" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Limes" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "(optional) Tajin - a seasoning mix of lime, chilies, and salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Rim your glass with a wedge of lime and the Tajin (if using) or salt.", - "Squeeze the other lime into the glass.", - "Add a pinch of salt to the glass.", - "Add ice and tequila.", - "Fill with the grapefruit soda and stir.", - "Garnish with a wedge of lime and enjoy!.", - "Photo credit: Sarah Stierch (CC BY 4.0)" - ], - "image": "paloma.jpg", - "source": "https://commons.wikimedia.org/wiki/File:La_Casa_Restaurant_-_Stierch_-_April_2019_02.jpg", - "keywords": [ - "tequila", - "lime" - ] -} +{ + "name": "Paloma", + "description": "A simple tequila cocktail made with grapefruit soda.", + "github": "estudioChispa", + "ingredients": [ + { + "quantity": "2 or 3", + "measure": "oz", + "ingredient": "tequila (I prefer a silver or blanco, but use what you like)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Grapefruite soda (like Fresca, Squirt, or Jarritos)" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Limes" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "(optional) Tajin - a seasoning mix of lime, chilies, and salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Rim your glass with a wedge of lime and the Tajin (if using) or salt.", + "Squeeze the other lime into the glass.", + "Add a pinch of salt to the glass.", + "Add ice and tequila.", + "Fill with the grapefruit soda and stir.", + "Garnish with a wedge of lime and enjoy!.", + "Photo credit: Sarah Stierch (CC BY 4.0)" + ], + "image": "paloma.jpg", + "source": "https://commons.wikimedia.org/wiki/File:La_Casa_Restaurant_-_Stierch_-_April_2019_02.jpg", + "keywords": [ + "tequila", + "lime" + ] +} diff --git a/src/recipes/panty-ripper.json b/src/recipes/panty-ripper.json index 1b03b9d9a..31c9f74cd 100644 --- a/src/recipes/panty-ripper.json +++ b/src/recipes/panty-ripper.json @@ -1,42 +1,42 @@ -{ - "name": "Panty Ripper", - "description": "It is one of Belize’s most popular cocktails, a sweet concoction of coconut rum and pineapple juice that is specifically tailored for women. Actually guys equally love drinking Panty Rippers, but for whatever reason, they seem to not be too comfortable ordering it at bars.", - "github": "enabet", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Coconut Rum" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Pineapple Juice" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "of Grenadine syrup" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "cherry" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange or pineapple slice for garnish" - } - ], - "directions": [ - "Mix all the ingredients in a cup of ice and enjoy with a straw.", - "Panty Rippers are great to enjoy in hot sunny days and if you’re either poolside or on the beach – that would be perfection." - ], - "image": "panty-ripper.jpg", - "source": "https://www.belizeadventure.ca/panty-ripper/", - "keywords": [ - "coconut rum", - "pineapple juice" - ] -} +{ + "name": "Panty Ripper", + "description": "It is one of Belize’s most popular cocktails, a sweet concoction of coconut rum and pineapple juice that is specifically tailored for women. Actually guys equally love drinking Panty Rippers, but for whatever reason, they seem to not be too comfortable ordering it at bars.", + "github": "enabet", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Coconut Rum" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Pineapple Juice" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "of Grenadine syrup" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "cherry" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange or pineapple slice for garnish" + } + ], + "directions": [ + "Mix all the ingredients in a cup of ice and enjoy with a straw.", + "Panty Rippers are great to enjoy in hot sunny days and if you’re either poolside or on the beach – that would be perfection." + ], + "image": "panty-ripper.jpg", + "source": "https://www.belizeadventure.ca/panty-ripper/", + "keywords": [ + "coconut rum", + "pineapple juice" + ] +} diff --git a/src/recipes/papaya-gin-sling.json b/src/recipes/papaya-gin-sling.json index cbbbc6033..061e26c0b 100644 --- a/src/recipes/papaya-gin-sling.json +++ b/src/recipes/papaya-gin-sling.json @@ -1,48 +1,48 @@ -{ - "name": "Papaya Gin Sling", - "description": "Papaya Gin Sling is the perfect balance of gin and papaya. If you like the two, you will enjoy this for sure! You can also try a simpler alternative: shake Papaya Syrup, Gin and Lime Juice with Ice, then pour and enjoy.", - "github": "matteomessmer", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Bitters" - }, - { - "quantity": "1", - "measure": "juice", - "ingredient": "Lime" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Papaya Nectar" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "Soda Water" - }, - { - "quantity": "1", - "measure": "stick", - "ingredient": "Pineapple" - } - ], - "directions": [ - "Shake gin,bitters,lime juice and papaya juice in a cocktail shaker with ice.", - "Strain into a collins glass filled with ice cubes.", - "Fill the rest of the way with soda water, stir and garnish with a pineapple stick or canned pineapple tidbits." - ], - "image": "papaya-gin-sling.jpg", - "source": "https://www.absolutdrinks.com/it/drinks/with/papaya-juice/", - "keywords": [ - "gin", - "papaya" - ] -} +{ + "name": "Papaya Gin Sling", + "description": "Papaya Gin Sling is the perfect balance of gin and papaya. If you like the two, you will enjoy this for sure! You can also try a simpler alternative: shake Papaya Syrup, Gin and Lime Juice with Ice, then pour and enjoy.", + "github": "matteomessmer", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Bitters" + }, + { + "quantity": "1", + "measure": "juice", + "ingredient": "Lime" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Papaya Nectar" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "Soda Water" + }, + { + "quantity": "1", + "measure": "stick", + "ingredient": "Pineapple" + } + ], + "directions": [ + "Shake gin,bitters,lime juice and papaya juice in a cocktail shaker with ice.", + "Strain into a collins glass filled with ice cubes.", + "Fill the rest of the way with soda water, stir and garnish with a pineapple stick or canned pineapple tidbits." + ], + "image": "papaya-gin-sling.jpg", + "source": "https://www.absolutdrinks.com/it/drinks/with/papaya-juice/", + "keywords": [ + "gin", + "papaya" + ] +} diff --git a/src/recipes/papaya-milk.json b/src/recipes/papaya-milk.json index 3f6074580..30d8f66b4 100644 --- a/src/recipes/papaya-milk.json +++ b/src/recipes/papaya-milk.json @@ -1,35 +1,35 @@ -{ - "name": "Papaya Milk", - "description": "One of the most popular drink in Taiwan. The combination of tropical fruit and milk brings you back to the most memorable Summer in your childhood.", - "github": "yuanLeeMidori", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Ripe papaya" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "1/2", - "measure": "table spoon", - "ingredient": "Sweetened condensed milk or honey (optional)" - } - ], - "directions": [ - "Blend papaya cubes along with milk.", - "Add sweetened condensed milk and/or honey to the papaya milk and blend it again if it's not sweet enough.", - "Enjoy!" - ], - "image": "papaya-milk.jpg", - "keywords": [ - "Taiwan", - "tropical", - "fruit smoothie", - "Summer", - "non-alcoholic" - ] +{ + "name": "Papaya Milk", + "description": "One of the most popular drink in Taiwan. The combination of tropical fruit and milk brings you back to the most memorable Summer in your childhood.", + "github": "yuanLeeMidori", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Ripe papaya" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1/2", + "measure": "table spoon", + "ingredient": "Sweetened condensed milk or honey (optional)" + } + ], + "directions": [ + "Blend papaya cubes along with milk.", + "Add sweetened condensed milk and/or honey to the papaya milk and blend it again if it's not sweet enough.", + "Enjoy!" + ], + "image": "papaya-milk.jpg", + "keywords": [ + "Taiwan", + "tropical", + "fruit smoothie", + "Summer", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/passion-star-martini.json b/src/recipes/passion-star-martini.json index 924f9143a..45ef5bbfb 100644 --- a/src/recipes/passion-star-martini.json +++ b/src/recipes/passion-star-martini.json @@ -1,57 +1,57 @@ -{ - "name": "Passion Star Martini", - "description": "The Passion Star martini is a passion-fruit-flavoured cocktail made with vanilla-flavoured vodka, Passoã, passion fruit juice, and lime juice. It is traditionally accompanied by a chilled shot glass of prosecco.", - "github": "gayatribkar", - "ingredients": [ - { - "quantity": "3/2", - "measure": "ounces", - "ingredient": "vanilla flavored vodka" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "passion fruit liqueur" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "passion fruit puree" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "lime juice, freshly squeezed" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "vanilla simple syrup" - }, - { - "quantity": "2", - "measure": "ounce", - "ingredient": "chilled sparkling wine" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "passion fruit" - } - ], - "directions": [ - "Add all ingredients except sparkling wine into a shaker with ice and shake vigorously until well-chilled.", - "Strain into a chilled coupe glass.", - "Garnish with a passion fruit half.", - "Serve with a sparkling wine sidecar (on the side).", - "Enjoy!" - ], - "image": "passion_star_martini.jpg", - "keywords": [ - "Passion star", - "Sparking wine", - "Rock star", - "Vanilla syrup", - "vodka" - ] +{ + "name": "Passion Star Martini", + "description": "The Passion Star martini is a passion-fruit-flavoured cocktail made with vanilla-flavoured vodka, Passoã, passion fruit juice, and lime juice. It is traditionally accompanied by a chilled shot glass of prosecco.", + "github": "gayatribkar", + "ingredients": [ + { + "quantity": "3/2", + "measure": "ounces", + "ingredient": "vanilla flavored vodka" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "passion fruit liqueur" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "passion fruit puree" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "lime juice, freshly squeezed" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "vanilla simple syrup" + }, + { + "quantity": "2", + "measure": "ounce", + "ingredient": "chilled sparkling wine" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "passion fruit" + } + ], + "directions": [ + "Add all ingredients except sparkling wine into a shaker with ice and shake vigorously until well-chilled.", + "Strain into a chilled coupe glass.", + "Garnish with a passion fruit half.", + "Serve with a sparkling wine sidecar (on the side).", + "Enjoy!" + ], + "image": "passion_star_martini.jpg", + "keywords": [ + "Passion star", + "Sparking wine", + "Rock star", + "Vanilla syrup", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/peach-bellini.json b/src/recipes/peach-bellini.json index 632b1d8e5..e71073ee1 100644 --- a/src/recipes/peach-bellini.json +++ b/src/recipes/peach-bellini.json @@ -1,44 +1,44 @@ -{ - "name": "Peach Bellini", - "description": "Frozen, refreshing peach bellini made popular by the Joey restaurants! (Not the same but we try to get there).", - "github": "brucremo", - "ingredients": [ - { - "quantity": "4", - "measure": "cup", - "ingredient": "Frozen & Sliced Peaches" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Peach Vodka or Schnapps" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "Ice" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "Red wine or Prosecco on top of each cup" - } - ], - "directions": [ - "Add the frozen & sliced peaches with peach vodka or Schnapps and ice to the blender.", - "Blend well until the mix is uniform but creamy in the blender.", - "Depending on taste and if needed add more ice or peaches to get it consistent, or more vodka to make it more liquid.", - "Pour it on your favorite drink glass and add the splash of Red Wine or Prosecco on top of it to give it a lovely and tasty look." - ], - "image": "peach-bellini.jpg", - "source": "https://www.cookswithcocktails.com/peach-bellini-with-red-wine-homemade-raspberry-liqueur/", - "keywords": [ - "bellini", - "peach", - "schnapps", - "summer", - "sweet", - "vodka", - "wine" - ] -} +{ + "name": "Peach Bellini", + "description": "Frozen, refreshing peach bellini made popular by the Joey restaurants! (Not the same but we try to get there).", + "github": "brucremo", + "ingredients": [ + { + "quantity": "4", + "measure": "cup", + "ingredient": "Frozen & Sliced Peaches" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Peach Vodka or Schnapps" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "Ice" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "Red wine or Prosecco on top of each cup" + } + ], + "directions": [ + "Add the frozen & sliced peaches with peach vodka or Schnapps and ice to the blender.", + "Blend well until the mix is uniform but creamy in the blender.", + "Depending on taste and if needed add more ice or peaches to get it consistent, or more vodka to make it more liquid.", + "Pour it on your favorite drink glass and add the splash of Red Wine or Prosecco on top of it to give it a lovely and tasty look." + ], + "image": "peach-bellini.jpg", + "source": "https://www.cookswithcocktails.com/peach-bellini-with-red-wine-homemade-raspberry-liqueur/", + "keywords": [ + "bellini", + "peach", + "schnapps", + "summer", + "sweet", + "vodka", + "wine" + ] +} diff --git a/src/recipes/peach-fizz.json b/src/recipes/peach-fizz.json index 5abebce4b..ddee69997 100644 --- a/src/recipes/peach-fizz.json +++ b/src/recipes/peach-fizz.json @@ -1,47 +1,47 @@ -{ - "name": "Peach Fizz", - "description": "The Peach Fizz is a cocktail that goes down easy. It’s all about peach and lemon with a little bit of sweeteners and some soda water to liven it up.", - "github": "sandryar", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "peach schnapps" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "gum syrup" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "soda" - } - ], - "directions": [ - "Rim a highball glass with sugar.", - "Fill a cocktail shaker with ice.", - "Pour in everything exept the soda.", - "Shake until chilled.", - "Pour the mixture into a sugar-rimmed highball glass.", - "Top the rest of the way with soda." - ], - "image": "peach-fizz.jpg", - "keywords": [ - "vodka", - "peach", - "alcoholic", - "vegan" - ] -} +{ + "name": "Peach Fizz", + "description": "The Peach Fizz is a cocktail that goes down easy. It’s all about peach and lemon with a little bit of sweeteners and some soda water to liven it up.", + "github": "sandryar", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "peach schnapps" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "gum syrup" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "soda" + } + ], + "directions": [ + "Rim a highball glass with sugar.", + "Fill a cocktail shaker with ice.", + "Pour in everything exept the soda.", + "Shake until chilled.", + "Pour the mixture into a sugar-rimmed highball glass.", + "Top the rest of the way with soda." + ], + "image": "peach-fizz.jpg", + "keywords": [ + "vodka", + "peach", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/peach-green-tea-lemonade.json b/src/recipes/peach-green-tea-lemonade.json index eed3f0661..9b11ae9ca 100644 --- a/src/recipes/peach-green-tea-lemonade.json +++ b/src/recipes/peach-green-tea-lemonade.json @@ -1,48 +1,48 @@ -{ - "name": "Peach Green Tea Lemonade", - "description": "Refreshing green tea drink, perfect for summer.", - "github": "elliecodestheweb", - "ingredients": [ - { - "quantity": "6", - "measure": "teabags", - "ingredient": "green tea" - }, - { - "quantity": "4", - "measure": "cups", - "ingredient": "water" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "ice" - }, - { - "quantity": "4", - "measure": "tablespoons", - "ingredient": "peach flavored syrup" - }, - { - "quantity": "4", - "measure": "cups", - "ingredient": "lemonade" - } - ], - "directions": [ - "Steep 4 bags green tea in 4 cups of boiled water for 3 minutes.", - "Add 4 cups of lemonade when cooled.", - "Fill cup with ice cubes, add 4 tablespoons of peach syrup.", - "Add more syrup if desired, and enjoy! Serves 4." - ], - "image": "peach-green-tea-lemonade.jpg", - "source": "https://www.food.com/recipe/copycat-starbucks-shaken-iced-peach-green-tea-lemonade-506193", - "keywords": [ - "iced tea", - "lemonade", - "non-alcoholic", - "peach", - "summer", - "tea" - ] -} +{ + "name": "Peach Green Tea Lemonade", + "description": "Refreshing green tea drink, perfect for summer.", + "github": "elliecodestheweb", + "ingredients": [ + { + "quantity": "6", + "measure": "teabags", + "ingredient": "green tea" + }, + { + "quantity": "4", + "measure": "cups", + "ingredient": "water" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "ice" + }, + { + "quantity": "4", + "measure": "tablespoons", + "ingredient": "peach flavored syrup" + }, + { + "quantity": "4", + "measure": "cups", + "ingredient": "lemonade" + } + ], + "directions": [ + "Steep 4 bags green tea in 4 cups of boiled water for 3 minutes.", + "Add 4 cups of lemonade when cooled.", + "Fill cup with ice cubes, add 4 tablespoons of peach syrup.", + "Add more syrup if desired, and enjoy! Serves 4." + ], + "image": "peach-green-tea-lemonade.jpg", + "source": "https://www.food.com/recipe/copycat-starbucks-shaken-iced-peach-green-tea-lemonade-506193", + "keywords": [ + "iced tea", + "lemonade", + "non-alcoholic", + "peach", + "summer", + "tea" + ] +} diff --git a/src/recipes/peach-martini.json b/src/recipes/peach-martini.json index 9c9d0b29c..9c4849cd8 100644 --- a/src/recipes/peach-martini.json +++ b/src/recipes/peach-martini.json @@ -1,50 +1,50 @@ -{ - "name": "Peach Martini", - "description": "The martini is a cocktail made with gin and vermouth, and garnished with an olive or a lemon twist. Over the years, the martini has become one of the best-known mixed alcoholic beverages. This recipe is a fun, fruity twist on a classic.", - "github": "jilloestreicher", - "ingredients": [ - { - "quantity": "1", - "measure": "Ounce", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "1", - "measure": "Ounce", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "Ounce", - "ingredient": "Orange juice" - }, - { - "quantity": "1/2", - "measure": "Ounce", - "ingredient": "Triple Sec" - }, - { - "quantity": "1/2", - "measure": "Ounce", - "ingredient": "Lime Juice" - }, - { - "quantity": "6", - "measure": "Sliced", - "ingredient": "Peace Slices" - } - ], - "directions": [ - "Place the peach schnapps, vodka, orange juice, triple sec, and lime juice in a cocktail shaker.", - "Add 2 handfuls of ice and shake until cold.", - "Strain the drink into a cocktail glass. Garnish with a peach slice if desired." - ], - "image": "peach-martini.jpg", - "keywords": [ - "fruit", - "juice", - "martini", - "alcoholic", - "peach" - ] +{ + "name": "Peach Martini", + "description": "The martini is a cocktail made with gin and vermouth, and garnished with an olive or a lemon twist. Over the years, the martini has become one of the best-known mixed alcoholic beverages. This recipe is a fun, fruity twist on a classic.", + "github": "jilloestreicher", + "ingredients": [ + { + "quantity": "1", + "measure": "Ounce", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "1", + "measure": "Ounce", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "Ounce", + "ingredient": "Orange juice" + }, + { + "quantity": "1/2", + "measure": "Ounce", + "ingredient": "Triple Sec" + }, + { + "quantity": "1/2", + "measure": "Ounce", + "ingredient": "Lime Juice" + }, + { + "quantity": "6", + "measure": "Sliced", + "ingredient": "Peace Slices" + } + ], + "directions": [ + "Place the peach schnapps, vodka, orange juice, triple sec, and lime juice in a cocktail shaker.", + "Add 2 handfuls of ice and shake until cold.", + "Strain the drink into a cocktail glass. Garnish with a peach slice if desired." + ], + "image": "peach-martini.jpg", + "keywords": [ + "fruit", + "juice", + "martini", + "alcoholic", + "peach" + ] } \ No newline at end of file diff --git a/src/recipes/peach-thyme-whiskey-smash.json b/src/recipes/peach-thyme-whiskey-smash.json index 77da12a2d..c131a59ee 100644 --- a/src/recipes/peach-thyme-whiskey-smash.json +++ b/src/recipes/peach-thyme-whiskey-smash.json @@ -1,51 +1,51 @@ -{ - "name": "Peach and Thyme Whiskey Smash", - "description": "The perfect, refreshing whiskey drink for a summer day.", - "github": "Zuzanav", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Russell’s Reserve Bourbon" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "Peach Slices" - }, - { - "quantity": "1-2", - "measure": "", - "ingredient": "Thyme Sprigs" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "Mint Leaves" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Honey" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Lemon Juice" - } - ], - "directions": [ - "Combine peach slices, thyme, mint and honey in a cocktail shaker. Gently muddle.", - "Add ice, lemon juice, and bourbon and shake.", - "Strain into a glass with ice.", - "Garnish with peach slices and a thyme spring." - - ], - "image": "peach-thyme-whiskey-smash.jpg", - "source": "http://www.womenandwhiskies.com/recipe/peach-smash/", - "keywords": [ - "whiskey", - "bourbon", - "herbal" - ] -} +{ + "name": "Peach and Thyme Whiskey Smash", + "description": "The perfect, refreshing whiskey drink for a summer day.", + "github": "Zuzanav", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Russell’s Reserve Bourbon" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "Peach Slices" + }, + { + "quantity": "1-2", + "measure": "", + "ingredient": "Thyme Sprigs" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "Mint Leaves" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Honey" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Lemon Juice" + } + ], + "directions": [ + "Combine peach slices, thyme, mint and honey in a cocktail shaker. Gently muddle.", + "Add ice, lemon juice, and bourbon and shake.", + "Strain into a glass with ice.", + "Garnish with peach slices and a thyme spring." + + ], + "image": "peach-thyme-whiskey-smash.jpg", + "source": "http://www.womenandwhiskies.com/recipe/peach-smash/", + "keywords": [ + "whiskey", + "bourbon", + "herbal" + ] +} diff --git a/src/recipes/peanut-butter-banana-smoothie.json b/src/recipes/peanut-butter-banana-smoothie.json index 3d45a6f24..70131513e 100644 --- a/src/recipes/peanut-butter-banana-smoothie.json +++ b/src/recipes/peanut-butter-banana-smoothie.json @@ -1,46 +1,46 @@ -{ - "name": "Peanut Butter Banana Smoothie", - "description": "An easy-to-make smoothie with peanut butter and banana that makes you feel energized and refreshed.", - "github": "binhthaitrinh", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "Bananas" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Peanut butter" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "Honey" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Cut bananas into chunks.", - "Place bananas, milk, peanut butter, honey and ice cubs in a blender.", - "Blend until smooth (about 30 seconds)." - ], - "image": "peanut-butter-banana-smoothie.jpg", - "source": "https://www.allrecipes.com/recipe/221261/peanut-butter-banana-smoothie/", - "keywords": [ - "smoothie", - "banana", - "honey", - "milk", - "peanut butter", - "easy"] -} +{ + "name": "Peanut Butter Banana Smoothie", + "description": "An easy-to-make smoothie with peanut butter and banana that makes you feel energized and refreshed.", + "github": "binhthaitrinh", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "Bananas" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Peanut butter" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "Honey" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Cut bananas into chunks.", + "Place bananas, milk, peanut butter, honey and ice cubs in a blender.", + "Blend until smooth (about 30 seconds)." + ], + "image": "peanut-butter-banana-smoothie.jpg", + "source": "https://www.allrecipes.com/recipe/221261/peanut-butter-banana-smoothie/", + "keywords": [ + "smoothie", + "banana", + "honey", + "milk", + "peanut butter", + "easy"] +} diff --git a/src/recipes/pear-manhattan-cocktail.json b/src/recipes/pear-manhattan-cocktail.json index 9d27d1433..ffe178063 100644 --- a/src/recipes/pear-manhattan-cocktail.json +++ b/src/recipes/pear-manhattan-cocktail.json @@ -1,48 +1,48 @@ -{ - "name": "Pear Manhattan Cocktail", - "description": "Enjoy a Cocktail of Whiskey mixed with pear and vodka.", - "github": "kevinmel2000", - "ingredients": [ - { - "quantity": "2", - "measure": "fluid ounces", - "ingredient": "rye whiskey" - }, - { - "quantity": "2", - "measure": "fluid ounces", - "ingredient": "pear vodka" - }, - { - "quantity": "1 3/4", - "measure": "fluid ounces", - "ingredient": "sweet vermouth" - }, - { - "quantity": "1-2", - "measure": "", - "ingredient": "ice cubes" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "maraschino cherry" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "slice pear" - } - ], - "directions": [ - "Pour whiskey, vodka, sweet vermouth, and ice into a cocktail shaker.", - "Cover and shake until chilled.", - "Strain into a chilled martini glass and garnish with maraschino cherry and pear slice. " - ], - "image": "pear-manhattan.jpg", - "keywords": [ - "whiskey", - "vermouth", - "vodka" - ] -} +{ + "name": "Pear Manhattan Cocktail", + "description": "Enjoy a Cocktail of Whiskey mixed with pear and vodka.", + "github": "kevinmel2000", + "ingredients": [ + { + "quantity": "2", + "measure": "fluid ounces", + "ingredient": "rye whiskey" + }, + { + "quantity": "2", + "measure": "fluid ounces", + "ingredient": "pear vodka" + }, + { + "quantity": "1 3/4", + "measure": "fluid ounces", + "ingredient": "sweet vermouth" + }, + { + "quantity": "1-2", + "measure": "", + "ingredient": "ice cubes" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "maraschino cherry" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "slice pear" + } + ], + "directions": [ + "Pour whiskey, vodka, sweet vermouth, and ice into a cocktail shaker.", + "Cover and shake until chilled.", + "Strain into a chilled martini glass and garnish with maraschino cherry and pear slice. " + ], + "image": "pear-manhattan.jpg", + "keywords": [ + "whiskey", + "vermouth", + "vodka" + ] +} diff --git a/src/recipes/peppermint-bark-mimosa.json b/src/recipes/peppermint-bark-mimosa.json index c6680f208..9ea05bd50 100644 --- a/src/recipes/peppermint-bark-mimosa.json +++ b/src/recipes/peppermint-bark-mimosa.json @@ -1,46 +1,46 @@ -{ - "name": "Peppermint Bark Mimosa", - "description": "When you are creating a cocktail based off a traditional holiday candy you must opt for the sweet stuff!", - "github": "yoji-kojio", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "semisweet chocolate chips, melted" - }, - { - "quantity": "3", - "measure": "units", - "ingredient": "candy cane, crushed" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "peppermint schnapps, divided" - }, - { - "quantity": "1", - "measure": "bottle", - "ingredient": "champagne or prosecco" - }, - { - "quantity": "6", - "measure": "units", - "ingredient": "candy canes, whole" - } - ], - "directions": [ - "Pour melted chocolate onto a small plate.", - "Pour crushed candy canes onto a separate plate.", - "Dip rims of champagne flutes first in chocolate, then in crushed candy canes to coat.", - "Add an ounce of peppermint schnapps to each glass, then top with champagne or prosecco.", - "Garnish with full candy canes before serving." - ], - "image": "peppermint-bark-mimosa.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/a25128817/peppermint-bark-mimosas-recipe/", - "keywords": [ - "candy", - "peppermint", - "champagne" - ] -} +{ + "name": "Peppermint Bark Mimosa", + "description": "When you are creating a cocktail based off a traditional holiday candy you must opt for the sweet stuff!", + "github": "yoji-kojio", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "semisweet chocolate chips, melted" + }, + { + "quantity": "3", + "measure": "units", + "ingredient": "candy cane, crushed" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "peppermint schnapps, divided" + }, + { + "quantity": "1", + "measure": "bottle", + "ingredient": "champagne or prosecco" + }, + { + "quantity": "6", + "measure": "units", + "ingredient": "candy canes, whole" + } + ], + "directions": [ + "Pour melted chocolate onto a small plate.", + "Pour crushed candy canes onto a separate plate.", + "Dip rims of champagne flutes first in chocolate, then in crushed candy canes to coat.", + "Add an ounce of peppermint schnapps to each glass, then top with champagne or prosecco.", + "Garnish with full candy canes before serving." + ], + "image": "peppermint-bark-mimosa.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/a25128817/peppermint-bark-mimosas-recipe/", + "keywords": [ + "candy", + "peppermint", + "champagne" + ] +} diff --git a/src/recipes/peppermint-shake.json b/src/recipes/peppermint-shake.json index 91abe2e11..4b30e510e 100644 --- a/src/recipes/peppermint-shake.json +++ b/src/recipes/peppermint-shake.json @@ -1,44 +1,44 @@ -{ - "name": "Peppermint Shake", - "description": "Peppermint Milkshakes - simple, quick and delicious! They're one of our favorite holiday treats! A cool drink made from vanilla ice cream, milk, peppermint extract and topped with whipped cream and crushed candy cane pieces!", - "github": "iampk94", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Vanilla ice cream" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Milk" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Candy cane crushed" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Peppermint extract" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Whipped cream" - } - ], - "directions": [ - "Add ice cream, milk, crushed cane pieces and peppermint extract to a blender.", - "Mix until well combined.", - "Pour into glass and top with whipped cream and candy cane pieces." - ], - "image": "peppermint-milkshake.jpg", - "keywords": [ - "ice cream", - "milkshake", - "non-alcoholic", - "vegan" - ] +{ + "name": "Peppermint Shake", + "description": "Peppermint Milkshakes - simple, quick and delicious! They're one of our favorite holiday treats! A cool drink made from vanilla ice cream, milk, peppermint extract and topped with whipped cream and crushed candy cane pieces!", + "github": "iampk94", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Vanilla ice cream" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Milk" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Candy cane crushed" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Peppermint extract" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Whipped cream" + } + ], + "directions": [ + "Add ice cream, milk, crushed cane pieces and peppermint extract to a blender.", + "Mix until well combined.", + "Pour into glass and top with whipped cream and candy cane pieces." + ], + "image": "peppermint-milkshake.jpg", + "keywords": [ + "ice cream", + "milkshake", + "non-alcoholic", + "vegan" + ] } \ No newline at end of file diff --git a/src/recipes/pimms.json b/src/recipes/pimms.json index ff5bb88ff..3a431750d 100644 --- a/src/recipes/pimms.json +++ b/src/recipes/pimms.json @@ -1,53 +1,53 @@ -{ - "name": "Pimms", - "description": "A quintessentially British cocktail. A true taste of summer, serve this fruity punch with fresh Mint leaves, Cucumber, Orange and Strawberries.", - "github": "MorkWood2", - "ingredients": [ - { - "quantity": "40", - "measure": "ml", - "ingredient": "Pimm's No. 1" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "lemonade" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Mint sprig" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "sliced Cucumber" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "sliced Orange" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "whole Strawberry" - } - ], - "directions": [ - "Add ice to glass.", - "Pour Pimms and Lemonade.", - "Stir well.", - "Add cucumber, Orange, and Strawberry.", - "Enjoy." - ], - "image": "pimms.jpg", - "keywords": [ - "Strawberry", - "orange", - "mint leaves", - "gin", - "liqueur", - "lemonade" - ] -} +{ + "name": "Pimms", + "description": "A quintessentially British cocktail. A true taste of summer, serve this fruity punch with fresh Mint leaves, Cucumber, Orange and Strawberries.", + "github": "MorkWood2", + "ingredients": [ + { + "quantity": "40", + "measure": "ml", + "ingredient": "Pimm's No. 1" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "lemonade" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Mint sprig" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "sliced Cucumber" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "sliced Orange" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "whole Strawberry" + } + ], + "directions": [ + "Add ice to glass.", + "Pour Pimms and Lemonade.", + "Stir well.", + "Add cucumber, Orange, and Strawberry.", + "Enjoy." + ], + "image": "pimms.jpg", + "keywords": [ + "Strawberry", + "orange", + "mint leaves", + "gin", + "liqueur", + "lemonade" + ] +} diff --git a/src/recipes/pina-colada.json b/src/recipes/pina-colada.json index 13a07f448..0eea11633 100644 --- a/src/recipes/pina-colada.json +++ b/src/recipes/pina-colada.json @@ -1,42 +1,42 @@ -{ - "name": "Piña Colada", - "description": "Voted best national drink in 1978 in Puerto Rico.", - "github": "joshuamart", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "white rum" - }, - { - "quantity": "0.5", - "measure": "fl oz", - "ingredient": "amber rum" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "pineapple juice" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "coconut milk" - }, - { - "quantity": "5 or 6", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Pour the ingredients with 5 or 6 ice cubes in a blender and mix everything.", - "Decorate with a piece of pineapple and a candied cherry." - ], - "image": "pina-colada.jpg", - "keywords": [ - "rum", - "pineapple juice", - "milk" - ] -} +{ + "name": "Piña Colada", + "description": "Voted best national drink in 1978 in Puerto Rico.", + "github": "joshuamart", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "white rum" + }, + { + "quantity": "0.5", + "measure": "fl oz", + "ingredient": "amber rum" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "pineapple juice" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "coconut milk" + }, + { + "quantity": "5 or 6", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Pour the ingredients with 5 or 6 ice cubes in a blender and mix everything.", + "Decorate with a piece of pineapple and a candied cherry." + ], + "image": "pina-colada.jpg", + "keywords": [ + "rum", + "pineapple juice", + "milk" + ] +} diff --git a/src/recipes/pineapple-juice.json b/src/recipes/pineapple-juice.json index 5c4edecc7..d5bc20e54 100644 --- a/src/recipes/pineapple-juice.json +++ b/src/recipes/pineapple-juice.json @@ -1,33 +1,33 @@ -{ - "name": "Pineapple Juice", - "description": "Pineapple juice is a healthy and delicious drink. Pineapple juice contains bromelain which helps digestion, making it ideal for a meal cover.", - "github": "coroo", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "pineapple" - }, - { - "quantity": "2", - "measure": "glasses", - "ingredient": "of mineral water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Granulated sugar to taste, or can be replaced with coco pandan syrup." - } - ], - "directions": [ - "Peel Pineapple Skin.", - "Cut pineapple to make the blender easier, then put it in a blender glass with water and sugar.", - "Blend for about 2 minutes until smooth.", - "Last but not least, it's ready to be served with sweetener according to taste." - ], - "image": "pineapple-juice.jpg", - "keywords": [ - "pineapple", - "water" - ] -} +{ + "name": "Pineapple Juice", + "description": "Pineapple juice is a healthy and delicious drink. Pineapple juice contains bromelain which helps digestion, making it ideal for a meal cover.", + "github": "coroo", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "pineapple" + }, + { + "quantity": "2", + "measure": "glasses", + "ingredient": "of mineral water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Granulated sugar to taste, or can be replaced with coco pandan syrup." + } + ], + "directions": [ + "Peel Pineapple Skin.", + "Cut pineapple to make the blender easier, then put it in a blender glass with water and sugar.", + "Blend for about 2 minutes until smooth.", + "Last but not least, it's ready to be served with sweetener according to taste." + ], + "image": "pineapple-juice.jpg", + "keywords": [ + "pineapple", + "water" + ] +} diff --git a/src/recipes/pineapple-lime-beer-margarita.json b/src/recipes/pineapple-lime-beer-margarita.json index ef5f783f3..3fee049bd 100644 --- a/src/recipes/pineapple-lime-beer-margarita.json +++ b/src/recipes/pineapple-lime-beer-margarita.json @@ -1,53 +1,53 @@ -{ - "name": "Pineapple Lime Beer Margarita", - "description": "Margaritas served with the twist of pineapples, beer and lime.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounce", - "ingredient": "silver tequila" - }, - { - "quantity": "2 1/2", - "measure": "ounce", - "ingredient": "pineapple juice" - }, - { - "quantity": "2", - "measure": "ounce", - "ingredient": "fresh lime juice" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "agave nectar or honey" - }, - { - "quantity": "4", - "measure": "ounce", - "ingredient": "Mexican beer" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Optional: Pineapple slice and lime wedges for garnish" - } - ], - "directions": [ - "Salt the rim of the glass.", - "Combine the tequila, pineapple juice, lime juice and agave nectar in a cocktail shaker and fill with ice.", - "Shake until combined and then strain into prepared glass.", - "Top off with beer.", - "Optional: Garnish with pineapple and lime wedges.", - "Serve and enjoy!" - ], - "image": "pineapple-lime-beer-margarita.jpg", - "source": "https://www.halfbakedharvest.com/pineapple-lime-beer-margaritas/", - "keywords": [ - "tequila", - "pineapple", - "beer", - "alcoholic" - ] -} +{ + "name": "Pineapple Lime Beer Margarita", + "description": "Margaritas served with the twist of pineapples, beer and lime.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounce", + "ingredient": "silver tequila" + }, + { + "quantity": "2 1/2", + "measure": "ounce", + "ingredient": "pineapple juice" + }, + { + "quantity": "2", + "measure": "ounce", + "ingredient": "fresh lime juice" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "agave nectar or honey" + }, + { + "quantity": "4", + "measure": "ounce", + "ingredient": "Mexican beer" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Optional: Pineapple slice and lime wedges for garnish" + } + ], + "directions": [ + "Salt the rim of the glass.", + "Combine the tequila, pineapple juice, lime juice and agave nectar in a cocktail shaker and fill with ice.", + "Shake until combined and then strain into prepared glass.", + "Top off with beer.", + "Optional: Garnish with pineapple and lime wedges.", + "Serve and enjoy!" + ], + "image": "pineapple-lime-beer-margarita.jpg", + "source": "https://www.halfbakedharvest.com/pineapple-lime-beer-margaritas/", + "keywords": [ + "tequila", + "pineapple", + "beer", + "alcoholic" + ] +} diff --git a/src/recipes/pink-gin.json b/src/recipes/pink-gin.json index 19ac05f61..9bf3a879d 100644 --- a/src/recipes/pink-gin.json +++ b/src/recipes/pink-gin.json @@ -1,32 +1,32 @@ -{ - "name": "Pink Gin", - "description": "A deliciously spiced spin on drinking gin. A great way to enhance a sweet gin.", - "github": "BenjaminCivitico", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "3", - "measure": "Dashes", - "ingredient": "Angostura bitters" - } - ], - "directions": [ - "Add gin and bitters to a cocktail shaker.", - "Add ice and stir untill gin is chilled.", - "Pour cocktail into a martini glass and garnish as desired." - ], - "image": "pink-gin.jpg", - "keywords": [ - "gin", - "Deadwood", - "classic", - "bitter", - "sour", - "tart", - "summer" - ] -} +{ + "name": "Pink Gin", + "description": "A deliciously spiced spin on drinking gin. A great way to enhance a sweet gin.", + "github": "BenjaminCivitico", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "3", + "measure": "Dashes", + "ingredient": "Angostura bitters" + } + ], + "directions": [ + "Add gin and bitters to a cocktail shaker.", + "Add ice and stir untill gin is chilled.", + "Pour cocktail into a martini glass and garnish as desired." + ], + "image": "pink-gin.jpg", + "keywords": [ + "gin", + "Deadwood", + "classic", + "bitter", + "sour", + "tart", + "summer" + ] +} diff --git a/src/recipes/pink-grapefruit-margarita.json b/src/recipes/pink-grapefruit-margarita.json index 3496d0824..eebd214f3 100644 --- a/src/recipes/pink-grapefruit-margarita.json +++ b/src/recipes/pink-grapefruit-margarita.json @@ -1,55 +1,55 @@ -{ - "name": "Pink Grapefruit Margarita", - "description": "This Pink Grapefruit Margarita is similar to a Paloma but without the soda! This recipe is vegan, gluten-free, and refined sugar-free.", - "github": "sherribooher", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Sea salt, to rim the glass" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "white tequila" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "pink grapefruit juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "agave" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Slices of grapefruit, for garnish" - } - ], - "directions": [ - "Wet the rim of a glass with a cut piece of the grapefruit or lime.", - "Pour the sea salt on a plate and dip the wet rim into the salt.", - "Fill the glass with ice.", - "Fill a cocktail shaker with ice then add the tequila, pink grapefruit juice, lime juice, and agave.", - "Shake until cold then strain into the prepared glass.", - "Garnish with a slice of grapefruit." - ], - "image": "pink-grapefruit-margarita.jpg", - "source": "https://theendlessmeal.com/grapefruit-margarita", - "keywords": [ - "alcoholic", - "tequila", - "margarita", - "grapefruit", - "vegan", - "gluten-free" - ] -} +{ + "name": "Pink Grapefruit Margarita", + "description": "This Pink Grapefruit Margarita is similar to a Paloma but without the soda! This recipe is vegan, gluten-free, and refined sugar-free.", + "github": "sherribooher", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Sea salt, to rim the glass" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "white tequila" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "pink grapefruit juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "agave" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Slices of grapefruit, for garnish" + } + ], + "directions": [ + "Wet the rim of a glass with a cut piece of the grapefruit or lime.", + "Pour the sea salt on a plate and dip the wet rim into the salt.", + "Fill the glass with ice.", + "Fill a cocktail shaker with ice then add the tequila, pink grapefruit juice, lime juice, and agave.", + "Shake until cold then strain into the prepared glass.", + "Garnish with a slice of grapefruit." + ], + "image": "pink-grapefruit-margarita.jpg", + "source": "https://theendlessmeal.com/grapefruit-margarita", + "keywords": [ + "alcoholic", + "tequila", + "margarita", + "grapefruit", + "vegan", + "gluten-free" + ] +} diff --git a/src/recipes/pink-lady.json b/src/recipes/pink-lady.json index e46349465..ea8500094 100644 --- a/src/recipes/pink-lady.json +++ b/src/recipes/pink-lady.json @@ -1,47 +1,47 @@ -{ - "name": "Pink Lady", - "description": "An exotic cocktail for aperitif.", - "github": "leopaul29", - "ingredients": [{ - "quantity": "4", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Lemon juice" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "Grenadine" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Fresh egg white" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "liquid crème fraîche" - } - ], - "directions": [ - "Add all ingredients into a shaker", "Add ice into the shaker.", - "Shake vigorously.", - "Strain into a chilled cocktail glass.", - "Garnish with a cherry." - ], - "image": "pink-lady.jpg", - "keywords": [ - "gin", - "pink", - "lemon", - "fresh", - "grenadine", - "vegan", - "alcoholic" - ] +{ + "name": "Pink Lady", + "description": "An exotic cocktail for aperitif.", + "github": "leopaul29", + "ingredients": [{ + "quantity": "4", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Lemon juice" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "Grenadine" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Fresh egg white" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "liquid crème fraîche" + } + ], + "directions": [ + "Add all ingredients into a shaker", "Add ice into the shaker.", + "Shake vigorously.", + "Strain into a chilled cocktail glass.", + "Garnish with a cherry." + ], + "image": "pink-lady.jpg", + "keywords": [ + "gin", + "pink", + "lemon", + "fresh", + "grenadine", + "vegan", + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/pisco-sour.json b/src/recipes/pisco-sour.json index edcf123c1..1832f4ea5 100644 --- a/src/recipes/pisco-sour.json +++ b/src/recipes/pisco-sour.json @@ -1,45 +1,45 @@ -{ - "name": "Pisco Sour", - "description": "The Pisco Sour is a cocktail of Peruvian origin that uses pisco as the base liquor and lemon or lime juice for the sour component.", - "github": "Jason-Hoang", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lemon/Lime Juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Egg White" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Pisco" - }, - { - "quantity": "2", - "measure": "Drops", - "ingredient": "of Bitters" - } - ], - "directions": [ - "Fill a cocktail shaker with ice.", - "Combine the egg white, Pisco, simple syrup and lemon/lime juice.", - "Cover and shake vigorously for 15 seconds.", - "Strain the contents into a 6-ounce cocktail glass.", - "Top with a few drops of bitters." - ], - "image": "pisco-sour.jpg", - "keywords": [ - "lime", - "egg", - "simple syrup" - ] -} +{ + "name": "Pisco Sour", + "description": "The Pisco Sour is a cocktail of Peruvian origin that uses pisco as the base liquor and lemon or lime juice for the sour component.", + "github": "Jason-Hoang", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lemon/Lime Juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Egg White" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Pisco" + }, + { + "quantity": "2", + "measure": "Drops", + "ingredient": "of Bitters" + } + ], + "directions": [ + "Fill a cocktail shaker with ice.", + "Combine the egg white, Pisco, simple syrup and lemon/lime juice.", + "Cover and shake vigorously for 15 seconds.", + "Strain the contents into a 6-ounce cocktail glass.", + "Top with a few drops of bitters." + ], + "image": "pisco-sour.jpg", + "keywords": [ + "lime", + "egg", + "simple syrup" + ] +} diff --git a/src/recipes/planters-punch.json b/src/recipes/planters-punch.json index 517b6052b..7fd2a2474 100644 --- a/src/recipes/planters-punch.json +++ b/src/recipes/planters-punch.json @@ -1,50 +1,50 @@ -{ - "name": "Planters Punch", - "description": "This classic rum drink is fun, refreshing and bursting with flavour.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Dark Rum" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Lime Juice" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "Grenadine Syrup" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Sugar Syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Splash of Soda Water" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Angostura Bitters" - } - ], - "directions": [ - "Pour all ingredients into a shaker filled with ice.", - "Shake well.", - "Pour into highball with ice.", - "Top up with soda water.", - "Stir gently and add a dash of Angostura Bitters.", - "Garnish with orange slices." - ], - "image": "planters-punch.jpg", - "keywords": [ - "rum", - "lime juice" - ] -} +{ + "name": "Planters Punch", + "description": "This classic rum drink is fun, refreshing and bursting with flavour.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Dark Rum" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Lime Juice" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "Grenadine Syrup" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Sugar Syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Splash of Soda Water" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Angostura Bitters" + } + ], + "directions": [ + "Pour all ingredients into a shaker filled with ice.", + "Shake well.", + "Pour into highball with ice.", + "Top up with soda water.", + "Stir gently and add a dash of Angostura Bitters.", + "Garnish with orange slices." + ], + "image": "planters-punch.jpg", + "keywords": [ + "rum", + "lime juice" + ] +} diff --git a/src/recipes/pok-shot.json b/src/recipes/pok-shot.json index 1a1591588..e661a9bad 100644 --- a/src/recipes/pok-shot.json +++ b/src/recipes/pok-shot.json @@ -1,41 +1,41 @@ -{ - "name": "Pok Shot", - "description": "Pok Shot is thai drink or called cocktail from thailand popular in local and simple ingredients", - "github": "jisack", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "soda (recomended lime flavor)" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "salt" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "lime juice" - } - ], - "directions": [ - "Prepare a small glass on a strong table.", - "Pour vodka, soda, and lime juice by step.", - "Put salt around the rim of the glass.", - "Hand cover the glass mouth and then slam on table and drink quickly." - ], - "image": "pok-shot.jpg", - "source": "https://th.liq9.asia/blog/pok-shot-thai-classic-cocktail.html", - "keywords": [ - "vodka", - "cocktail", - "tequila", - "simple" - ] +{ + "name": "Pok Shot", + "description": "Pok Shot is thai drink or called cocktail from thailand popular in local and simple ingredients", + "github": "jisack", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "soda (recomended lime flavor)" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "salt" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "lime juice" + } + ], + "directions": [ + "Prepare a small glass on a strong table.", + "Pour vodka, soda, and lime juice by step.", + "Put salt around the rim of the glass.", + "Hand cover the glass mouth and then slam on table and drink quickly." + ], + "image": "pok-shot.jpg", + "source": "https://th.liq9.asia/blog/pok-shot-thai-classic-cocktail.html", + "keywords": [ + "vodka", + "cocktail", + "tequila", + "simple" + ] } \ No newline at end of file diff --git a/src/recipes/polar-bear-danish.json b/src/recipes/polar-bear-danish.json index c91345458..5ab68fa64 100644 --- a/src/recipes/polar-bear-danish.json +++ b/src/recipes/polar-bear-danish.json @@ -1,42 +1,42 @@ -{ - "name": "Danish Polar Bear", - "description": "Vibrant blue drink popular in 1990's Denmark.", - "github": "dangerstone", - "ingredients": [ - { - "quantity": "3", - "measure": "cl", - "ingredient": "vodka (amount customisable)" - }, - { - "quantity": "1", - "measure": "cl", - "ingredient": "blue curaçao" - }, - { - "quantity": "8", - "measure": "cl", - "ingredient": "lemon soda" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes or crushed ice cubes" - } - ], - "directions": [ - "Add ice.", - "Pour in vodka and soda.", - "Gently pour in the curaçao." - ], - "image": "polar-bear-danish.jpg", - "source": "https://shake-it.dk/drink/isbjoern-drink/", - "keywords": [ - "blue curaçao", - "curaçao", - "vodka", - "blue", - "lemon soda", - "polar bear" - ] -} +{ + "name": "Danish Polar Bear", + "description": "Vibrant blue drink popular in 1990's Denmark.", + "github": "dangerstone", + "ingredients": [ + { + "quantity": "3", + "measure": "cl", + "ingredient": "vodka (amount customisable)" + }, + { + "quantity": "1", + "measure": "cl", + "ingredient": "blue curaçao" + }, + { + "quantity": "8", + "measure": "cl", + "ingredient": "lemon soda" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes or crushed ice cubes" + } + ], + "directions": [ + "Add ice.", + "Pour in vodka and soda.", + "Gently pour in the curaçao." + ], + "image": "polar-bear-danish.jpg", + "source": "https://shake-it.dk/drink/isbjoern-drink/", + "keywords": [ + "blue curaçao", + "curaçao", + "vodka", + "blue", + "lemon soda", + "polar bear" + ] +} diff --git a/src/recipes/polar-bear.json b/src/recipes/polar-bear.json index 583d28417..fa2e25951 100644 --- a/src/recipes/polar-bear.json +++ b/src/recipes/polar-bear.json @@ -1,33 +1,33 @@ -{ - "name": "Polar Bear", - "description": "A Polar Bear, After Eight or Peppermint Paddy is a mint chocolate cocktail.", - "github": "codekendo", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Crème de cacao" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Peppermint schnapps" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Crushed Ice" - } - ], - "directions": [ - "Fill a shaker with all the listed ingredients.", - "Shake and serve in a shot glass.", - "Add a mint leaf as garnish (optional)." - ], - "image": "polar-bear.jpg", - "source": "https://en.wikipedia.org/wiki/Polar_Bear_(cocktail)", - "keywords": [ - "Crème de cacao", - "Peppermint schnapps" - ] +{ + "name": "Polar Bear", + "description": "A Polar Bear, After Eight or Peppermint Paddy is a mint chocolate cocktail.", + "github": "codekendo", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Crème de cacao" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Peppermint schnapps" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Crushed Ice" + } + ], + "directions": [ + "Fill a shaker with all the listed ingredients.", + "Shake and serve in a shot glass.", + "Add a mint leaf as garnish (optional)." + ], + "image": "polar-bear.jpg", + "source": "https://en.wikipedia.org/wiki/Polar_Bear_(cocktail)", + "keywords": [ + "Crème de cacao", + "Peppermint schnapps" + ] } \ No newline at end of file diff --git a/src/recipes/pomegranate-lemon-mint.json b/src/recipes/pomegranate-lemon-mint.json index 558a06da3..419d9a056 100644 --- a/src/recipes/pomegranate-lemon-mint.json +++ b/src/recipes/pomegranate-lemon-mint.json @@ -1,53 +1,53 @@ -{ - "name": "Pomegranate Lemon Mint Refresher", - "description": "Refreshingly cold lemonade with pink pomegranate and mint", - "github": "bookish", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "ice cubes" - }, - { - "quantity": "1", - "measure": "whole", - "ingredient": "pomegranate" - }, - { - "quantity": "1", - "measure": "whole", - "ingredient": "lemon" - }, - { - "quantity": "2", - "measure": "one-litre bottles", - "ingredient": "sparkling water" - }, - { - "quantity": "1", - "measure": "bunch", - "ingredient": "fresh mint" - } - ], - "directions": [ - "Pour ice cubes into a large glass pitcher.", - "Slice the pomegranate in half.", - "Squeeze the juice from both halves over the ice cubes.", - "Slice the lemon in half.", - "Squeeze the lemon juice into the pitcher.", - "Pour the sparkling water into the pitcher.", - "Put the nicest leaves into the pitcher.", - "Pour into a tall glass and enjoy!" - ], - "image": "pomegranate-lemon-mint.jpg", - "source": "http://cheekeelee.blogspot.com/2012/03/jamie-olivers-pomegranate-soda.html", - "keywords": [ - "sparkling water", - "pomegranate", - "mint", - "lemon", - "ice", - "non-alcoholic", - "fruit" - ] -} +{ + "name": "Pomegranate Lemon Mint Refresher", + "description": "Refreshingly cold lemonade with pink pomegranate and mint", + "github": "bookish", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "ice cubes" + }, + { + "quantity": "1", + "measure": "whole", + "ingredient": "pomegranate" + }, + { + "quantity": "1", + "measure": "whole", + "ingredient": "lemon" + }, + { + "quantity": "2", + "measure": "one-litre bottles", + "ingredient": "sparkling water" + }, + { + "quantity": "1", + "measure": "bunch", + "ingredient": "fresh mint" + } + ], + "directions": [ + "Pour ice cubes into a large glass pitcher.", + "Slice the pomegranate in half.", + "Squeeze the juice from both halves over the ice cubes.", + "Slice the lemon in half.", + "Squeeze the lemon juice into the pitcher.", + "Pour the sparkling water into the pitcher.", + "Put the nicest leaves into the pitcher.", + "Pour into a tall glass and enjoy!" + ], + "image": "pomegranate-lemon-mint.jpg", + "source": "http://cheekeelee.blogspot.com/2012/03/jamie-olivers-pomegranate-soda.html", + "keywords": [ + "sparkling water", + "pomegranate", + "mint", + "lemon", + "ice", + "non-alcoholic", + "fruit" + ] +} diff --git a/src/recipes/pomegranate-margarita.json b/src/recipes/pomegranate-margarita.json index 9110ac6b2..e96f7e16d 100644 --- a/src/recipes/pomegranate-margarita.json +++ b/src/recipes/pomegranate-margarita.json @@ -1,56 +1,56 @@ -{ - "name": "Pomegranate Margarita", - "description": "A sweet and sour drink perfect for Cinco de Mayo and Summer celebrations!", - "github": "zahrakhadijha", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Pure pomegranate juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Fresh squeexed lime juice" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "tequila" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "Cointreau or Triple Sec" - }, - { - "quantity": "3", - "measure": "cups", - "ingredient": "Ice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "pomegranate seeds, for garnish" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Lime wedges, for garnish" - } - ], - "directions": [ - "In a pitcher, add pomegranate juice, lime juice, tequila, and Cointreau (or Triple Sec) and mix well until combined.", - "Taste and adjust if needed (more juice, more lime, more tequila, etc.", - "Divide among ice filled glasses, and garnish with pomegranate seeds and lime wedges.", - "Serve at once." - ], - "image": "pomegranate-margarita.jpg", - "source": "https://bakerbynature.com/easy-pomegranate-margaritas/", - "keywords": [ - "tequila", - "pomegranate", - "alcoholic", - "margarita" - ] -} +{ + "name": "Pomegranate Margarita", + "description": "A sweet and sour drink perfect for Cinco de Mayo and Summer celebrations!", + "github": "zahrakhadijha", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Pure pomegranate juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Fresh squeexed lime juice" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "tequila" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "Cointreau or Triple Sec" + }, + { + "quantity": "3", + "measure": "cups", + "ingredient": "Ice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "pomegranate seeds, for garnish" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Lime wedges, for garnish" + } + ], + "directions": [ + "In a pitcher, add pomegranate juice, lime juice, tequila, and Cointreau (or Triple Sec) and mix well until combined.", + "Taste and adjust if needed (more juice, more lime, more tequila, etc.", + "Divide among ice filled glasses, and garnish with pomegranate seeds and lime wedges.", + "Serve at once." + ], + "image": "pomegranate-margarita.jpg", + "source": "https://bakerbynature.com/easy-pomegranate-margaritas/", + "keywords": [ + "tequila", + "pomegranate", + "alcoholic", + "margarita" + ] +} diff --git a/src/recipes/pomegranate-martini.json b/src/recipes/pomegranate-martini.json index ef58e6c6d..25b76f9e9 100644 --- a/src/recipes/pomegranate-martini.json +++ b/src/recipes/pomegranate-martini.json @@ -1,63 +1,63 @@ -{ - "name": "Pomegranate Martini", - "description": "", - "github": "andrewsnapz", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Pomegranate Juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Club Soda" - }, - { - "quantity": "1/2", - "measure": "tea spoon", - "ingredient": "Lemon Juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Pomegranate Seeds" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice Cubes" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lemon Zest Strips (optional)" - } - ], - "directions": [ - "The first step is to take and fill a shaker with three-fourths of it filled with ice", - "Second step is to then proceed to add pomegranate juice, vodka, triple sec, club soda, and the lemon juice all together", - "Afterwards, cover the shaker and shake for 10-15 seconds, or until you see the condensation forms on the outside of the shaker", - "Then, pour the strain into a chilled cocktail glass", - "Finally, add the pomegranate seeds and the lemon zest strips(the lemon zest is optional)" - ], - "image": "pomegranate-martini.jpg", - "source": "https://www.acouplecooks.com/pomegranate-martini/", - "keywords": [ - "pomegranate", - "lime", - "martini", - "alcoholic", - "vodka" - ] -} +{ + "name": "Pomegranate Martini", + "description": "", + "github": "andrewsnapz", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Pomegranate Juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Club Soda" + }, + { + "quantity": "1/2", + "measure": "tea spoon", + "ingredient": "Lemon Juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Pomegranate Seeds" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice Cubes" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lemon Zest Strips (optional)" + } + ], + "directions": [ + "The first step is to take and fill a shaker with three-fourths of it filled with ice", + "Second step is to then proceed to add pomegranate juice, vodka, triple sec, club soda, and the lemon juice all together", + "Afterwards, cover the shaker and shake for 10-15 seconds, or until you see the condensation forms on the outside of the shaker", + "Then, pour the strain into a chilled cocktail glass", + "Finally, add the pomegranate seeds and the lemon zest strips(the lemon zest is optional)" + ], + "image": "pomegranate-martini.jpg", + "source": "https://www.acouplecooks.com/pomegranate-martini/", + "keywords": [ + "pomegranate", + "lime", + "martini", + "alcoholic", + "vodka" + ] +} diff --git a/src/recipes/pompous-mexican.json b/src/recipes/pompous-mexican.json index 538612681..6805460c6 100644 --- a/src/recipes/pompous-mexican.json +++ b/src/recipes/pompous-mexican.json @@ -1,34 +1,34 @@ -{ - "name": "Pompous Mexican", - "description": "A cocktail made from Mexican beer, gin and lemon juice.", - "github": "cencristian", - "ingredients": [ - { - "quantity": "", - "measure": "12 oz", - "ingredient": "Corona lager" - }, - { - "quantity": "", - "measure": "3/4 oz", - "ingredient": "Tanqueray gin" - }, - { - "quantity": "", - "measure": "3/4 oz", - "ingredient": "Lemon Juice" - } - ], - "directions": [ - "Take a sip (or pour out) a small amount of the Corona, down to where the neck widens, creating room for the other ingredients.", - "Carefully pour the Tanqueray & lemon juice into the bottle of Corona.", - "Cap the bottle tightly with your thumb, invert until the ingredients mix fully.", - "Drink and enjoy." - ], - "image": "pompous-mexican.jpg", - "keywords": [ - "lime", - "beer", - "alcoholic" - ] -} +{ + "name": "Pompous Mexican", + "description": "A cocktail made from Mexican beer, gin and lemon juice.", + "github": "cencristian", + "ingredients": [ + { + "quantity": "", + "measure": "12 oz", + "ingredient": "Corona lager" + }, + { + "quantity": "", + "measure": "3/4 oz", + "ingredient": "Tanqueray gin" + }, + { + "quantity": "", + "measure": "3/4 oz", + "ingredient": "Lemon Juice" + } + ], + "directions": [ + "Take a sip (or pour out) a small amount of the Corona, down to where the neck widens, creating room for the other ingredients.", + "Carefully pour the Tanqueray & lemon juice into the bottle of Corona.", + "Cap the bottle tightly with your thumb, invert until the ingredients mix fully.", + "Drink and enjoy." + ], + "image": "pompous-mexican.jpg", + "keywords": [ + "lime", + "beer", + "alcoholic" + ] +} diff --git a/src/recipes/port-tonic.json b/src/recipes/port-tonic.json index 20f1eaa42..d65e4e1d6 100644 --- a/src/recipes/port-tonic.json +++ b/src/recipes/port-tonic.json @@ -1,39 +1,39 @@ -{ - "name": "Port & Tonic", - "description": "A very refreshing and simple drink perfect for hot summer days.", - "github": "lldh", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "White dry Port" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Tonic Water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cubed Ice" - }, - { - "quantity": "1 leaf", - "measure": "", - "ingredient": "Peppermint" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Orange, Lemon, or Lime" - } - ], - "directions": [ - "Add ice, Port and Tonic to glass", - "Mix well with spoon.", - "Add peppermint leaf and garnish with your choice of citrus wedge." - ], - "image": "port-tonic.jpg", - "keywords": ["port", "tonic"] -} +{ + "name": "Port & Tonic", + "description": "A very refreshing and simple drink perfect for hot summer days.", + "github": "lldh", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "White dry Port" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Tonic Water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cubed Ice" + }, + { + "quantity": "1 leaf", + "measure": "", + "ingredient": "Peppermint" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Orange, Lemon, or Lime" + } + ], + "directions": [ + "Add ice, Port and Tonic to glass", + "Mix well with spoon.", + "Add peppermint leaf and garnish with your choice of citrus wedge." + ], + "image": "port-tonic.jpg", + "keywords": ["port", "tonic"] +} diff --git a/src/recipes/pudina-sherbet.json b/src/recipes/pudina-sherbet.json index 918ba0a7b..e33027d00 100644 --- a/src/recipes/pudina-sherbet.json +++ b/src/recipes/pudina-sherbet.json @@ -1,59 +1,59 @@ -{ - "name": "Pudina Sherbet", - "description": "An Indian style of making pudina juice with mint leaves, honey, lemon juice and few Indian spices.", - "github": "sounak98", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Mint Leaves" - }, - { - "quantity": "1/2", - "measure": "tablespoon", - "ingredient": "Honey or Sugar" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Black Pepper Powder" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Rock Salt" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Roasted Cumin Powder" - }, - { - "quantity": "1.5", - "measure": "tablespoons", - "ingredient": "Lemon Juice" - }, - { - "quantity": "3", - "measure": "cups", - "ingredient": "Chilled Water or Ice Cubes" - } - ], - "directions": [ - "Remove the mint leaves from stems and wash it very well.", - "Take all the ingredients in the blender with only ½ cup of water.", - "Blend it into smooth puree.", - "Add remaining water and swirl again 2-3 times or till just all get incorporated.", - "Strain the juice using strainer. (Optional)", - "If your water is not chilled then chill it in the refrigerator or serve with ice cubes.", - "If juice is refrigerated then stir first and then pour into the serving glass." - ], - "image": "pudina-sherbet.jpg", - "source": "https://www.spiceupthecurry.com/mint-juice-recipe-phudina-sherbet/", - "keywords": [ - "cool", - "refreshing", - "non-alcoholic", - "indian" - ] +{ + "name": "Pudina Sherbet", + "description": "An Indian style of making pudina juice with mint leaves, honey, lemon juice and few Indian spices.", + "github": "sounak98", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Mint Leaves" + }, + { + "quantity": "1/2", + "measure": "tablespoon", + "ingredient": "Honey or Sugar" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Black Pepper Powder" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Rock Salt" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Roasted Cumin Powder" + }, + { + "quantity": "1.5", + "measure": "tablespoons", + "ingredient": "Lemon Juice" + }, + { + "quantity": "3", + "measure": "cups", + "ingredient": "Chilled Water or Ice Cubes" + } + ], + "directions": [ + "Remove the mint leaves from stems and wash it very well.", + "Take all the ingredients in the blender with only ½ cup of water.", + "Blend it into smooth puree.", + "Add remaining water and swirl again 2-3 times or till just all get incorporated.", + "Strain the juice using strainer. (Optional)", + "If your water is not chilled then chill it in the refrigerator or serve with ice cubes.", + "If juice is refrigerated then stir first and then pour into the serving glass." + ], + "image": "pudina-sherbet.jpg", + "source": "https://www.spiceupthecurry.com/mint-juice-recipe-phudina-sherbet/", + "keywords": [ + "cool", + "refreshing", + "non-alcoholic", + "indian" + ] } \ No newline at end of file diff --git a/src/recipes/puka-punch.json b/src/recipes/puka-punch.json index db63dd3f5..1b4de9560 100644 --- a/src/recipes/puka-punch.json +++ b/src/recipes/puka-punch.json @@ -1,66 +1,66 @@ -{ - "name": "Puka Punch", - "description": "Tiki drinks are famous for including a ton of different rums, but you'd be forgiven if you didn't quite understand what the point of all that rum-blending is. The Puka Punch, from Los Angeles' famous Tiki Ti, answers the question by taking you on a multi-layered rum adventure that starts with fruity honey, continues along to spice and caramel, ending with the dark smoke of the overproof Demerara rum slowly filtering to the bottom of the glass.This drink should be served with a straw, lest the drinker be subjected to a full face of overproof rum at first sip. Drinking from the bottom with the straw allows for the full gradient of rum flavors to come through, slowly blending in the overproof rum.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "2", - "measure": "parts", - "ingredient": "Light rum or Aged rum" - }, - { - "quantity": "3/4", - "measure": "part", - "ingredient": "Dark rum or Demerara rum or Spiced rum" - }, - { - "quantity": "3/4", - "measure": "part", - "ingredient": "Orange juice" - }, - { - "quantity": "3/4", - "measure": "part", - "ingredient": "Pineapple juice" - }, - { - "quantity": "3/4", - "measure": "part", - "ingredient": "Passion fruit syrup or Passion fruit liqueur" - }, - { - "quantity": "1/4", - "measure": "part", - "ingredient": "Falernum liqueur or Falernum syrup" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Honey syrup" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Aromatic bitters or Orange bitters or Peach bitters" - }, - { - "quantity": "3/4", - "measure": "part", - "ingredient": "Overproof aged rum or Overproof light rum" - } - ], - "directions": [ - "Put everything (except the overproof Demerara rum) in a blender with about a cup and a half of ice. ", - "Blend on high until liquidified, pour into a tall glass, and top with more ice.", - "Top with the overproof rum by slowly pouring over the back of a spoon.", - "Garnish with fruits, herbs, little paper umbrellas, etc.", - "Serve!" - ], - "image": "puka-punch.jpg", - "source": "https://cocktailpartyapp.com/drinks/puka-punch", - "keywords": [ - "refreshing", - "alcoholic", - "rum" - ] +{ + "name": "Puka Punch", + "description": "Tiki drinks are famous for including a ton of different rums, but you'd be forgiven if you didn't quite understand what the point of all that rum-blending is. The Puka Punch, from Los Angeles' famous Tiki Ti, answers the question by taking you on a multi-layered rum adventure that starts with fruity honey, continues along to spice and caramel, ending with the dark smoke of the overproof Demerara rum slowly filtering to the bottom of the glass.This drink should be served with a straw, lest the drinker be subjected to a full face of overproof rum at first sip. Drinking from the bottom with the straw allows for the full gradient of rum flavors to come through, slowly blending in the overproof rum.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "2", + "measure": "parts", + "ingredient": "Light rum or Aged rum" + }, + { + "quantity": "3/4", + "measure": "part", + "ingredient": "Dark rum or Demerara rum or Spiced rum" + }, + { + "quantity": "3/4", + "measure": "part", + "ingredient": "Orange juice" + }, + { + "quantity": "3/4", + "measure": "part", + "ingredient": "Pineapple juice" + }, + { + "quantity": "3/4", + "measure": "part", + "ingredient": "Passion fruit syrup or Passion fruit liqueur" + }, + { + "quantity": "1/4", + "measure": "part", + "ingredient": "Falernum liqueur or Falernum syrup" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Honey syrup" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Aromatic bitters or Orange bitters or Peach bitters" + }, + { + "quantity": "3/4", + "measure": "part", + "ingredient": "Overproof aged rum or Overproof light rum" + } + ], + "directions": [ + "Put everything (except the overproof Demerara rum) in a blender with about a cup and a half of ice. ", + "Blend on high until liquidified, pour into a tall glass, and top with more ice.", + "Top with the overproof rum by slowly pouring over the back of a spoon.", + "Garnish with fruits, herbs, little paper umbrellas, etc.", + "Serve!" + ], + "image": "puka-punch.jpg", + "source": "https://cocktailpartyapp.com/drinks/puka-punch", + "keywords": [ + "refreshing", + "alcoholic", + "rum" + ] } \ No newline at end of file diff --git a/src/recipes/pumpkin-spice-latte.json b/src/recipes/pumpkin-spice-latte.json index c343c4ed9..424d3977a 100644 --- a/src/recipes/pumpkin-spice-latte.json +++ b/src/recipes/pumpkin-spice-latte.json @@ -1,62 +1,62 @@ -{ - "name": "Pumpkin Spice Latte", - "description": "Latte with pumpkin spice syrup.", - "github": "Klaudia2432", - "ingredients": [ - { - "quantity": "1", - "measure": "medium sized piece", - "ingredient": "Pumpkin" - }, - { - "quantity": "1/2", - "measure": "table spoon", - "ingredient": "grounded sweet cinammon" - }, - { - "quantity": "1/2", - "measure": "table spoon", - "ingredient": "grounded nutmeg" - }, - { - "quantity": "1/2", - "measure": "table spoon", - "ingredient": "grounded clove" - }, - { - "quantity": "1/2", - "measure": "glass", - "ingredient": "water" - }, - { - "quantity": "1/2", - "measure": "glass", - "ingredient": "sugar" - } - ], - "directions": [ - "Preheat oven to 325 degrees", - "Bake pumpkin slices 30 minutes", - "Peel off skin from pumpkin", - "Blend the pumpkin using fork", - "In a pot stir the water with sugar until sugar will be mixed with water", - "Add the pumkin and spices", - "Stir for 5-7 mins.", - "Remove from heat and immediately strain through cheesecloth.", - "Once the tea is cooled, remove from the fridge.", - "Heat and froth milk", - "Brew the coffee in an espresso machine", - "Place Homemade Pumpkin Spice Syrup into a mug, followed by hot espresso. ", - "Stir all together.", - "Fill mug with heated frothed milk until ¾ full, then top with whipped cream.", - "Sprinkle with pumpkin pie spice!" - ], - "image": "pumpkin-spice-latte.jpeg", - "source": "https://fofarms.com/wp-content/uploads/2018/09/PumpkinSpiceLatte.jpg", - "keywords": [ - "pumpkin", - "spice", - "latte", - "psl" - ] -} +{ + "name": "Pumpkin Spice Latte", + "description": "Latte with pumpkin spice syrup.", + "github": "Klaudia2432", + "ingredients": [ + { + "quantity": "1", + "measure": "medium sized piece", + "ingredient": "Pumpkin" + }, + { + "quantity": "1/2", + "measure": "table spoon", + "ingredient": "grounded sweet cinammon" + }, + { + "quantity": "1/2", + "measure": "table spoon", + "ingredient": "grounded nutmeg" + }, + { + "quantity": "1/2", + "measure": "table spoon", + "ingredient": "grounded clove" + }, + { + "quantity": "1/2", + "measure": "glass", + "ingredient": "water" + }, + { + "quantity": "1/2", + "measure": "glass", + "ingredient": "sugar" + } + ], + "directions": [ + "Preheat oven to 325 degrees", + "Bake pumpkin slices 30 minutes", + "Peel off skin from pumpkin", + "Blend the pumpkin using fork", + "In a pot stir the water with sugar until sugar will be mixed with water", + "Add the pumkin and spices", + "Stir for 5-7 mins.", + "Remove from heat and immediately strain through cheesecloth.", + "Once the tea is cooled, remove from the fridge.", + "Heat and froth milk", + "Brew the coffee in an espresso machine", + "Place Homemade Pumpkin Spice Syrup into a mug, followed by hot espresso. ", + "Stir all together.", + "Fill mug with heated frothed milk until ¾ full, then top with whipped cream.", + "Sprinkle with pumpkin pie spice!" + ], + "image": "pumpkin-spice-latte.jpeg", + "source": "https://fofarms.com/wp-content/uploads/2018/09/PumpkinSpiceLatte.jpg", + "keywords": [ + "pumpkin", + "spice", + "latte", + "psl" + ] +} diff --git a/src/recipes/purple-basil-sherbet.json b/src/recipes/purple-basil-sherbet.json index 3fdcbd989..0cdc0141b 100644 --- a/src/recipes/purple-basil-sherbet.json +++ b/src/recipes/purple-basil-sherbet.json @@ -1,56 +1,56 @@ -{ - "name": "Purple Basil Sherbet", - "description": " Turkish non-alcoholic drink made of purple basil.", - "github": "hamzali", - "ingredients": [ - { - "quantity": "1", - "measure": "bundle of", - "ingredient": "basil" - }, - { - "quantity": "5", - "measure": "liters of", - "ingredient": "table water" - }, - { - "quantity": "2.5", - "measure": "cups of", - "ingredient": "sugar" - }, - { - "quantity": "5", - "measure": "pieces of", - "ingredient": "lemon" - } - ], - "directions": [ - "Boil 5 liters of water.", - "Add purple basil into the water when bubbles start rising.", - "Boil for couple of minutes.", - "Slice your lemons in half and squeeze them.", - "Add the sugar and freshly squeezed lemon juice into the boiling purple basil.", - "Mix gently and let it boil for couple more minutes.", - "Turn off the heat and let it rest for couple of minutes.", - "Gently remove the purple basil from your mix.", - "Put your drink into a pitcher and to the fridge and let it cool.", - "Ta-da! your drink is ready." - ], - "image": "purple-basil-sherbet.jpg", - "keywords": [ - "basil", - "purple", - "pink", - "non-alcoholic", - "sweet", - "turkish", - "cool", - "lemon", - "sugar", - "water", - "aromatic", - "magical", - "romantic", - "sexy" - ] -} +{ + "name": "Purple Basil Sherbet", + "description": " Turkish non-alcoholic drink made of purple basil.", + "github": "hamzali", + "ingredients": [ + { + "quantity": "1", + "measure": "bundle of", + "ingredient": "basil" + }, + { + "quantity": "5", + "measure": "liters of", + "ingredient": "table water" + }, + { + "quantity": "2.5", + "measure": "cups of", + "ingredient": "sugar" + }, + { + "quantity": "5", + "measure": "pieces of", + "ingredient": "lemon" + } + ], + "directions": [ + "Boil 5 liters of water.", + "Add purple basil into the water when bubbles start rising.", + "Boil for couple of minutes.", + "Slice your lemons in half and squeeze them.", + "Add the sugar and freshly squeezed lemon juice into the boiling purple basil.", + "Mix gently and let it boil for couple more minutes.", + "Turn off the heat and let it rest for couple of minutes.", + "Gently remove the purple basil from your mix.", + "Put your drink into a pitcher and to the fridge and let it cool.", + "Ta-da! your drink is ready." + ], + "image": "purple-basil-sherbet.jpg", + "keywords": [ + "basil", + "purple", + "pink", + "non-alcoholic", + "sweet", + "turkish", + "cool", + "lemon", + "sugar", + "water", + "aromatic", + "magical", + "romantic", + "sexy" + ] +} diff --git a/src/recipes/purple-haze.json b/src/recipes/purple-haze.json index 9022155a0..97e3053e2 100644 --- a/src/recipes/purple-haze.json +++ b/src/recipes/purple-haze.json @@ -1,35 +1,35 @@ -{ - "name": "Purple Haze", - "description": "A fun and popular mixed drink - typically, this drink includes vodka, fruit liqueur and a splash of soda.", - "github": "RyanJamesCaldwell", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "vodka" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "black raspberry liqueur" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "cranberry juice" - } - ], - "directions": [ - "Gather your ingredients.", - "Pour the vodka and black raspberry liqueur into a cocktail shaker with ice.", - "Shake well!", - "Strain into an old-fashioned glass with fresh ice.", - "Top with cranberry juice.", - "Serve and enjoy!" - ], - "image": "purple-haze.jpg", - "keywords": [ - "cranberry juice", - "vodka" - ] -} +{ + "name": "Purple Haze", + "description": "A fun and popular mixed drink - typically, this drink includes vodka, fruit liqueur and a splash of soda.", + "github": "RyanJamesCaldwell", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "vodka" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "black raspberry liqueur" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "cranberry juice" + } + ], + "directions": [ + "Gather your ingredients.", + "Pour the vodka and black raspberry liqueur into a cocktail shaker with ice.", + "Shake well!", + "Strain into an old-fashioned glass with fresh ice.", + "Top with cranberry juice.", + "Serve and enjoy!" + ], + "image": "purple-haze.jpg", + "keywords": [ + "cranberry juice", + "vodka" + ] +} diff --git a/src/recipes/queimada.json b/src/recipes/queimada.json index c29110813..dd4314be3 100644 --- a/src/recipes/queimada.json +++ b/src/recipes/queimada.json @@ -1,47 +1,47 @@ -{ - "name": "Queimada", - "description": "Queimada is a punch made from Galician aguardiente -a spirit distilled from the rests of winemaking- and flavoured with special herbs or coffee, plus sugar, lemon peel, coffee beans and cinnamon. It is traditionally prepared in a hollow pumpkin.", - "github": "headstylecolorred", - "ingredients": [ - { - "quantity": "2", - "measure": "67 oz", - "ingredient": "White Aguardiente" - }, - { - "quantity": "300", - "measure": "grams", - "ingredient": "Sugar" - }, - { - "quantity": "2", - "measure": "peels", - "ingredient": "Lemon" - }, - { - "quantity": "1", - "measure": "peel", - "ingredient": "Orange" - }, - { - "quantity": "1", - "measure": "handful", - "ingredient": "Coffee grains" - } - ], - "directions": [ - "We place the aguardiente and sugar in a clay pot of our own to burn, in the proportion of 150 grams for each liter of brandy.", - "We reserve 2 tablespoons of sugar to plant the fire, so we peel the lemons and the orange and throw them into the clay container", - "Now comes the most important part. In a ladle we put the 2 tablespoons of sugar with a little brandy and we start a flame on the spoon, when the flame starts we bring it to the container of the queimada so that it begins to burn.", - "We add a handfull of coffee beans, the ones that fit in one hand. In this way, the drink will have a toasted color, also thanks to the caramel that is going to be formed with the sugar.", - "Wait for the fire to burn out and cheers!" - ], - "image": "queimada.jpg", - "keywords": [ - "Aguardiente", - "lemon", - "orange", - "coffee", - "alcoholic" - ] -} +{ + "name": "Queimada", + "description": "Queimada is a punch made from Galician aguardiente -a spirit distilled from the rests of winemaking- and flavoured with special herbs or coffee, plus sugar, lemon peel, coffee beans and cinnamon. It is traditionally prepared in a hollow pumpkin.", + "github": "headstylecolorred", + "ingredients": [ + { + "quantity": "2", + "measure": "67 oz", + "ingredient": "White Aguardiente" + }, + { + "quantity": "300", + "measure": "grams", + "ingredient": "Sugar" + }, + { + "quantity": "2", + "measure": "peels", + "ingredient": "Lemon" + }, + { + "quantity": "1", + "measure": "peel", + "ingredient": "Orange" + }, + { + "quantity": "1", + "measure": "handful", + "ingredient": "Coffee grains" + } + ], + "directions": [ + "We place the aguardiente and sugar in a clay pot of our own to burn, in the proportion of 150 grams for each liter of brandy.", + "We reserve 2 tablespoons of sugar to plant the fire, so we peel the lemons and the orange and throw them into the clay container", + "Now comes the most important part. In a ladle we put the 2 tablespoons of sugar with a little brandy and we start a flame on the spoon, when the flame starts we bring it to the container of the queimada so that it begins to burn.", + "We add a handfull of coffee beans, the ones that fit in one hand. In this way, the drink will have a toasted color, also thanks to the caramel that is going to be formed with the sugar.", + "Wait for the fire to burn out and cheers!" + ], + "image": "queimada.jpg", + "keywords": [ + "Aguardiente", + "lemon", + "orange", + "coffee", + "alcoholic" + ] +} diff --git a/src/recipes/quick-demise.json b/src/recipes/quick-demise.json index 0873ff065..601306313 100644 --- a/src/recipes/quick-demise.json +++ b/src/recipes/quick-demise.json @@ -1,70 +1,70 @@ -{ - "name": "Quick Demise", - "description": "a carrot-y dream that will have you reaching for a second glass. Perfect for Halloween!", - "github": "dcorriveau", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "carrot juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "fresh squeezed orange juice" - }, - { - "quantity": "0.75", - "measure": "oz", - "ingredient": "ginger cardamom simple syrup" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "fresh squeezed lime juice" - }, - { - "quantity": "0.2", - "measure": "oz", - "ingredient": "Club Soda" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cocktail Shaker" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Black Sugar Sprinkles" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Squeeze the citrus beforehand.", - "Add the vodka, carrot juice, orange juice, lime juice, ginger cardamom syrup, and a splash of club soda/seltzer into the cocktail shaker with ice.", - "Shake well.", - "Pour over a rocks glass rimmed with the black sugar sprinkles.", - "Enjoy!" - ], - "image": "quick-demise.jpg", - "source": "https://bestfriendsforfrosting.com/scary-good-cocktails-halloween/", - "keywords": [ - "alcoholic", - "vodka", - "citrus", - "orange", - "lime", - "carrot", - "halloween" - ] -} +{ + "name": "Quick Demise", + "description": "a carrot-y dream that will have you reaching for a second glass. Perfect for Halloween!", + "github": "dcorriveau", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "carrot juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "fresh squeezed orange juice" + }, + { + "quantity": "0.75", + "measure": "oz", + "ingredient": "ginger cardamom simple syrup" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "fresh squeezed lime juice" + }, + { + "quantity": "0.2", + "measure": "oz", + "ingredient": "Club Soda" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cocktail Shaker" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Black Sugar Sprinkles" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Squeeze the citrus beforehand.", + "Add the vodka, carrot juice, orange juice, lime juice, ginger cardamom syrup, and a splash of club soda/seltzer into the cocktail shaker with ice.", + "Shake well.", + "Pour over a rocks glass rimmed with the black sugar sprinkles.", + "Enjoy!" + ], + "image": "quick-demise.jpg", + "source": "https://bestfriendsforfrosting.com/scary-good-cocktails-halloween/", + "keywords": [ + "alcoholic", + "vodka", + "citrus", + "orange", + "lime", + "carrot", + "halloween" + ] +} diff --git a/src/recipes/quick-milk-tea.json b/src/recipes/quick-milk-tea.json index c6e096508..a874e3973 100644 --- a/src/recipes/quick-milk-tea.json +++ b/src/recipes/quick-milk-tea.json @@ -1,39 +1,39 @@ -{ - "name": "Quick Milk Tea", - "description": "Milk tea that is very easy to make.", - "github": "tomial", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "tea bag" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "boiling water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "some ice cubes" - }, - { - "quantity": "", - "measure": "", - "ingredient": "few teaspoons sweet condensed milk" - } - ], - "directions": [ - "Make a cup of hot tea by boiling some water.", - "Remove the tea bag and add a few teaspoons of condensed and sweetened milk.", - "Put it into the fridge and let the tea cool down.", - "Add some ice cubes", - "Enjoy!" - ], - "image": "quick-milk-tea.jpg", - "keywords": [ - "tea", - "milk" - ] -} +{ + "name": "Quick Milk Tea", + "description": "Milk tea that is very easy to make.", + "github": "tomial", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "tea bag" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "boiling water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "some ice cubes" + }, + { + "quantity": "", + "measure": "", + "ingredient": "few teaspoons sweet condensed milk" + } + ], + "directions": [ + "Make a cup of hot tea by boiling some water.", + "Remove the tea bag and add a few teaspoons of condensed and sweetened milk.", + "Put it into the fridge and let the tea cool down.", + "Add some ice cubes", + "Enjoy!" + ], + "image": "quick-milk-tea.jpg", + "keywords": [ + "tea", + "milk" + ] +} diff --git a/src/recipes/rabo-de-galo.json b/src/recipes/rabo-de-galo.json index 7c2e00572..d4221464b 100644 --- a/src/recipes/rabo-de-galo.json +++ b/src/recipes/rabo-de-galo.json @@ -1,31 +1,31 @@ -{ - "name": "Rabo de galo", - "description": "A combination of cachaça and red vermouth, decorated with lemon peel.", - "github": "anapaulalemos", - "ingredients": [ - { - "quantity": "35", - "measure": "ml", - "ingredient": "Cachaça" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Red vermouth" - }, - { - "quantity": "1", - "measure": "unit", - "ingredient": "Lemon peel" - } - ], - "directions": [ - "Pour all ingredients in a shot glass.", - "Decorate with lemon peel." - ], - "image": "rabo-de-galo.jpg", - "keywords": [ - "cachaça", - "red vermouth" - ] -} +{ + "name": "Rabo de galo", + "description": "A combination of cachaça and red vermouth, decorated with lemon peel.", + "github": "anapaulalemos", + "ingredients": [ + { + "quantity": "35", + "measure": "ml", + "ingredient": "Cachaça" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Red vermouth" + }, + { + "quantity": "1", + "measure": "unit", + "ingredient": "Lemon peel" + } + ], + "directions": [ + "Pour all ingredients in a shot glass.", + "Decorate with lemon peel." + ], + "image": "rabo-de-galo.jpg", + "keywords": [ + "cachaça", + "red vermouth" + ] +} diff --git a/src/recipes/ramos-gin-fizz.json b/src/recipes/ramos-gin-fizz.json index d7353eb9d..35ad920dd 100644 --- a/src/recipes/ramos-gin-fizz.json +++ b/src/recipes/ramos-gin-fizz.json @@ -1,70 +1,70 @@ -{ - "name": "Ramos Gin Fizz", - "description": "The Ramos Gin Fizz, a variant of the Gin Fizz, today in its turn an inescapable cocktail of mixology.", - "github": "lucasmartinelle", - "ingredients": [ - { - "quantity": "5", - "measure": "cl", - "ingredient": "Botanical Gin" - }, - { - "quantity": "3", - "measure": "cl", - "ingredient": "Sugar syrup" - }, - { - "quantity": "1.5", - "measure": "cl", - "ingredient": "Lemon juice" - }, - { - "quantity": "1.5", - "measure": "cl", - "ingredient": "Lime juice" - }, - { - "quantity": "3", - "measure": "cl", - "ingredient": "Soda water" - }, - { - "quantity": "0.5", - "measure": "cl", - "ingredient": "Orange blossom water" - }, - { - "quantity": "5", - "measure": "cl", - "ingredient": "Light fresh cream" - }, - { - "quantity": "2.5", - "measure": "cl", - "ingredient": "Quail egg white" - }, - { - "quantity": "200", - "measure": "g", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Pour 2.5 cl of quail egg white, 1.5 cl of lemon juice, 1.5 cl of lime juice, 5 cl of light crème fraîche, 3 cl of sugar syrup and 5 cl of gin into a shaker.", - "Add 0.5 cl of orange blossom water.", - "Dry shake (no ice).", - "Fill the shaker with ice cubes and shake vigorously again.", - "Filter in a cooled Collins glass.", - "Complete with sparkling water and mix gently." - ], - "image": "ramos-gin-fizz.jpg", - "keywords": [ - "low in alcohol", - "creamy", - "egg", - "sour", - "gin", - "lemon", - "lime" - ] -} +{ + "name": "Ramos Gin Fizz", + "description": "The Ramos Gin Fizz, a variant of the Gin Fizz, today in its turn an inescapable cocktail of mixology.", + "github": "lucasmartinelle", + "ingredients": [ + { + "quantity": "5", + "measure": "cl", + "ingredient": "Botanical Gin" + }, + { + "quantity": "3", + "measure": "cl", + "ingredient": "Sugar syrup" + }, + { + "quantity": "1.5", + "measure": "cl", + "ingredient": "Lemon juice" + }, + { + "quantity": "1.5", + "measure": "cl", + "ingredient": "Lime juice" + }, + { + "quantity": "3", + "measure": "cl", + "ingredient": "Soda water" + }, + { + "quantity": "0.5", + "measure": "cl", + "ingredient": "Orange blossom water" + }, + { + "quantity": "5", + "measure": "cl", + "ingredient": "Light fresh cream" + }, + { + "quantity": "2.5", + "measure": "cl", + "ingredient": "Quail egg white" + }, + { + "quantity": "200", + "measure": "g", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Pour 2.5 cl of quail egg white, 1.5 cl of lemon juice, 1.5 cl of lime juice, 5 cl of light crème fraîche, 3 cl of sugar syrup and 5 cl of gin into a shaker.", + "Add 0.5 cl of orange blossom water.", + "Dry shake (no ice).", + "Fill the shaker with ice cubes and shake vigorously again.", + "Filter in a cooled Collins glass.", + "Complete with sparkling water and mix gently." + ], + "image": "ramos-gin-fizz.jpg", + "keywords": [ + "low in alcohol", + "creamy", + "egg", + "sour", + "gin", + "lemon", + "lime" + ] +} diff --git a/src/recipes/raspberry-caipirinha.json b/src/recipes/raspberry-caipirinha.json index 885111eba..32a3ead00 100644 --- a/src/recipes/raspberry-caipirinha.json +++ b/src/recipes/raspberry-caipirinha.json @@ -1,45 +1,45 @@ -{ - "name": "Raspberry Caipirinha", - "description": "Traditional Caipirinha but with the sweetness of the strawberry", - "github": "Mayie", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "cachaça" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "green lime" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "strawberries" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Crushed Ice" - } - ], - "directions": [ - "Wash the lime and cut the lime into 4 pieces.", - "Place the pieces in the glass and pour a good tablespoon of sugar. Crush firmly into the glass until the juice is extracted as completely as possible.", - "Place the raspberry and gently crush them.", - "Cover the lime-sugar mixture with a good layer of crushed ice.", - "Add the cachaça.", - "Serve in an old fashioned glass. " - ], - "image": "raspberry-caipirinha.jpg", - "keywords": [ - "cachaca", - "raspberry" - ] -} +{ + "name": "Raspberry Caipirinha", + "description": "Traditional Caipirinha but with the sweetness of the strawberry", + "github": "Mayie", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "cachaça" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "green lime" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "strawberries" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Crushed Ice" + } + ], + "directions": [ + "Wash the lime and cut the lime into 4 pieces.", + "Place the pieces in the glass and pour a good tablespoon of sugar. Crush firmly into the glass until the juice is extracted as completely as possible.", + "Place the raspberry and gently crush them.", + "Cover the lime-sugar mixture with a good layer of crushed ice.", + "Add the cachaça.", + "Serve in an old fashioned glass. " + ], + "image": "raspberry-caipirinha.jpg", + "keywords": [ + "cachaca", + "raspberry" + ] +} diff --git a/src/recipes/raspberry-drink.json b/src/recipes/raspberry-drink.json index def163d49..90573bb66 100644 --- a/src/recipes/raspberry-drink.json +++ b/src/recipes/raspberry-drink.json @@ -1,44 +1,44 @@ -{ - "name": "Raspberry Drink", - "description": "Sparkling Raspberry drink for a blast of freshness.", - "github": "muznahaftab", - "ingredients": [ - { - "quantity": "1.5", - "measure": "cup", - "ingredient": "Raspberries (washed)" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Lemon Juice" - }, - { - "quantity": "3", - "measure": "tablespoon", - "ingredient": "Sugar Syrup" - }, - { - "quantity": "3", - "measure": "Cups", - "ingredient": "Sparkling Water" - }, - { - "quantity": "2-3", - "measure": "", - "ingredient": "Mint leaves" - } - ], - "directions": [ - "Place raspberries, lemon juice and sugar into a blender and blend until smooth.", - "Pour mixture into a fine sieve and strain to remove the seeds.", - "Add ice to serving glasses and fill each glass with raspberry syrup equally.", - "Top each glass with sparkling water.", - "Stir and enjoy!" - ], - "image": "raspberry-drink.jpg", - "keywords": [ - "Raspberry", - "Mint" - ] -} +{ + "name": "Raspberry Drink", + "description": "Sparkling Raspberry drink for a blast of freshness.", + "github": "muznahaftab", + "ingredients": [ + { + "quantity": "1.5", + "measure": "cup", + "ingredient": "Raspberries (washed)" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Lemon Juice" + }, + { + "quantity": "3", + "measure": "tablespoon", + "ingredient": "Sugar Syrup" + }, + { + "quantity": "3", + "measure": "Cups", + "ingredient": "Sparkling Water" + }, + { + "quantity": "2-3", + "measure": "", + "ingredient": "Mint leaves" + } + ], + "directions": [ + "Place raspberries, lemon juice and sugar into a blender and blend until smooth.", + "Pour mixture into a fine sieve and strain to remove the seeds.", + "Add ice to serving glasses and fill each glass with raspberry syrup equally.", + "Top each glass with sparkling water.", + "Stir and enjoy!" + ], + "image": "raspberry-drink.jpg", + "keywords": [ + "Raspberry", + "Mint" + ] +} diff --git a/src/recipes/rebujito.json b/src/recipes/rebujito.json index 2dd97c541..43f074806 100644 --- a/src/recipes/rebujito.json +++ b/src/recipes/rebujito.json @@ -1,42 +1,42 @@ -{ - "name": "Rebujito", - "description": "A refreshing cocktail with Manzanilla wine and soda. The flavor of hot Andalusia in a cup.", - "github": "Blueko", - "ingredients": [ - { - "quantity": "250", - "measure": "ml", - "ingredient": "Manzanilla wine" - }, - { - "quantity": "500", - "measure": "ml", - "ingredient": "Lemon-lime soft drink (like Sprite, 7 up)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Spearmint (optional)" - } - ], - "directions": [ - "Fill a jug with ice.", - "Pour manzanilla wine over the ice.", - "Add Sprite or 7Up and mix them together.", - "Optionally, add a bit of spearmint for a fresh touch.", - "Pro tip: wine quenatity can be flexible if you prefer a softer or stronger drink." - ], - "image": "rebujito.jpg", - "keywords":[ - "alcoholic", - "wine", - "sprite", - "7 up", - "vegan" - ] -} +{ + "name": "Rebujito", + "description": "A refreshing cocktail with Manzanilla wine and soda. The flavor of hot Andalusia in a cup.", + "github": "Blueko", + "ingredients": [ + { + "quantity": "250", + "measure": "ml", + "ingredient": "Manzanilla wine" + }, + { + "quantity": "500", + "measure": "ml", + "ingredient": "Lemon-lime soft drink (like Sprite, 7 up)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Spearmint (optional)" + } + ], + "directions": [ + "Fill a jug with ice.", + "Pour manzanilla wine over the ice.", + "Add Sprite or 7Up and mix them together.", + "Optionally, add a bit of spearmint for a fresh touch.", + "Pro tip: wine quenatity can be flexible if you prefer a softer or stronger drink." + ], + "image": "rebujito.jpg", + "keywords":[ + "alcoholic", + "wine", + "sprite", + "7 up", + "vegan" + ] +} diff --git a/src/recipes/red-stag-dirty-shirley.json b/src/recipes/red-stag-dirty-shirley.json index 8fd67fa0f..431c09ec1 100644 --- a/src/recipes/red-stag-dirty-shirley.json +++ b/src/recipes/red-stag-dirty-shirley.json @@ -1,45 +1,45 @@ -{ - "name": "Red Stag Dirty Shirley", - "description": "Red Stag bourbon meets cherry syrup and a bubbly splash of 7 Up in this festive drink.", - "github": "EdwardPrado", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz.", - "ingredient": "grenadine" - }, - { - "quantity": "1 1/2", - "measure": "oz.", - "ingredient": "Red Stag black cherry bourbon" - }, - { - "quantity": "5", - "measure": "oz.", - "ingredient": "7 Up" - }, - { - "quantity": "Splash of", - "measure": "", - "ingredient": "maraschino cherry syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Maraschino cherries" - } - ], - "directions": [ - "Pour the grenadine, cherry bourbon, 7 Up, and maraschino cherry syrup into a glass filled with ice and stir.", - "Garnish with a maraschino cherry and serve." - ], - "image": "red-stag-dirty-shirley.jpg", - "source": "https://www.webstaurantstore.com/blog/1576/the-12-drinks-of-christmas.html", - "keywords": [ - "christmas", - "bourbon", - "cherry", - "7 Up", - "grenadine" - ] -} +{ + "name": "Red Stag Dirty Shirley", + "description": "Red Stag bourbon meets cherry syrup and a bubbly splash of 7 Up in this festive drink.", + "github": "EdwardPrado", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz.", + "ingredient": "grenadine" + }, + { + "quantity": "1 1/2", + "measure": "oz.", + "ingredient": "Red Stag black cherry bourbon" + }, + { + "quantity": "5", + "measure": "oz.", + "ingredient": "7 Up" + }, + { + "quantity": "Splash of", + "measure": "", + "ingredient": "maraschino cherry syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Maraschino cherries" + } + ], + "directions": [ + "Pour the grenadine, cherry bourbon, 7 Up, and maraschino cherry syrup into a glass filled with ice and stir.", + "Garnish with a maraschino cherry and serve." + ], + "image": "red-stag-dirty-shirley.jpg", + "source": "https://www.webstaurantstore.com/blog/1576/the-12-drinks-of-christmas.html", + "keywords": [ + "christmas", + "bourbon", + "cherry", + "7 Up", + "grenadine" + ] +} diff --git a/src/recipes/red-velvet-hot-chocolate.json b/src/recipes/red-velvet-hot-chocolate.json index e4aa48252..9acaa2adb 100644 --- a/src/recipes/red-velvet-hot-chocolate.json +++ b/src/recipes/red-velvet-hot-chocolate.json @@ -1,63 +1,63 @@ -{ - "name": "Red Velvet Hot Chocolate", - "description": "Red Velvet Cake in hot chocolate form", - "github": "savioxavier", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "cream cheese" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "milk" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "cream" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "brown sugar" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "white chocolate chips" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "unsweetened cocoa powder" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "pure vanilla extract" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "salt" - }, - { - "quantity": "4", - "measure": "drops", - "ingredient": "red food coloring" - } - ], - "directions": [ - "Gather the ingredients.", - "If you are using the cream cheese, combine it with a cup of milk in a blender and blend until smooth. (If you have a stick blender, you can just combine them in a medium saucepan and blend until no lumps of cream cheese remain.)", - "Add the remaining hot chocolate ingredients, except for the food coloring, and combine everything in a medium saucepan over medium heat. Warm up the drink, whisking occasionally, until the white chocolate melts, the cocoa powder blends into the liquid, and the drink is creamy and smooth.", - "Add a few drops of red food coloring and whisk them in. Continue to add coloring until you get a deep, rich red that you like." - ], - "image": "red-velvet-hot-chocolate.jpg", - "source": "https://www.thespruceeats.com/red-velvet-hot-chocolate-4126229", - "keywords": [ - "chocolate" - ] -} +{ + "name": "Red Velvet Hot Chocolate", + "description": "Red Velvet Cake in hot chocolate form", + "github": "savioxavier", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "cream cheese" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "milk" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "cream" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "brown sugar" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "white chocolate chips" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "unsweetened cocoa powder" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "pure vanilla extract" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "salt" + }, + { + "quantity": "4", + "measure": "drops", + "ingredient": "red food coloring" + } + ], + "directions": [ + "Gather the ingredients.", + "If you are using the cream cheese, combine it with a cup of milk in a blender and blend until smooth. (If you have a stick blender, you can just combine them in a medium saucepan and blend until no lumps of cream cheese remain.)", + "Add the remaining hot chocolate ingredients, except for the food coloring, and combine everything in a medium saucepan over medium heat. Warm up the drink, whisking occasionally, until the white chocolate melts, the cocoa powder blends into the liquid, and the drink is creamy and smooth.", + "Add a few drops of red food coloring and whisk them in. Continue to add coloring until you get a deep, rich red that you like." + ], + "image": "red-velvet-hot-chocolate.jpg", + "source": "https://www.thespruceeats.com/red-velvet-hot-chocolate-4126229", + "keywords": [ + "chocolate" + ] +} diff --git a/src/recipes/red-wine-spritzer.json b/src/recipes/red-wine-spritzer.json index bbc8e385f..1c7a51b06 100644 --- a/src/recipes/red-wine-spritzer.json +++ b/src/recipes/red-wine-spritzer.json @@ -1,32 +1,32 @@ -{ - "name": "Red wine spritzer", - "description": "What I call it when I cut red wine with Sierra Mist Cranberry Splash.", - "github": "jtk-codes", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "red wine, from a box is fine" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sierra mist cranberry splash" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - } - ], - "directions": [ - "Add one parts Sierra Mist to two parts wine.", - "Shake well and serve cold." - ], - "image": "red-wine-spritzer.jpg", - "source": "https://aggieskitchen.com/wp-content/uploads/2012/09/Red-Wine-Berry-Spritzer-Friday-Cocktail-1.jpg", - "keywords": [ - "wine", - "cranberry juice" - ] -} +{ + "name": "Red wine spritzer", + "description": "What I call it when I cut red wine with Sierra Mist Cranberry Splash.", + "github": "jtk-codes", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "red wine, from a box is fine" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sierra mist cranberry splash" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + } + ], + "directions": [ + "Add one parts Sierra Mist to two parts wine.", + "Shake well and serve cold." + ], + "image": "red-wine-spritzer.jpg", + "source": "https://aggieskitchen.com/wp-content/uploads/2012/09/Red-Wine-Berry-Spritzer-Friday-Cocktail-1.jpg", + "keywords": [ + "wine", + "cranberry juice" + ] +} diff --git a/src/recipes/resentin.json b/src/recipes/resentin.json index 125ee0a39..e060b6c40 100644 --- a/src/recipes/resentin.json +++ b/src/recipes/resentin.json @@ -1,29 +1,29 @@ -{ - "name": "Resentin", - "description": "Resentin is the name in Venetian dialect of a action to do after drink an espresso coffee, you need only an espresso and a little bit of grappa.", - "github": "claudiodriussi", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "espresso coffee" - }, - { - "quantity": "1", - "measure": "bottle", - "ingredient": "grappa" - } - ], - "directions": [ - "Drink and enjoy your cup of espresso coffee.", - "Clean it by putting some grappa in your cup and shake it (to clean the remaining coffee and sugar) then drink.", - "If your cup is not clean you can repeat the process until the cup is perfectly clean." - ], - "image": "resentin.jpg", - "keywords": [ - "espresso", - "coffee", - "grappa", - "alcoholic" - ] -} +{ + "name": "Resentin", + "description": "Resentin is the name in Venetian dialect of a action to do after drink an espresso coffee, you need only an espresso and a little bit of grappa.", + "github": "claudiodriussi", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "espresso coffee" + }, + { + "quantity": "1", + "measure": "bottle", + "ingredient": "grappa" + } + ], + "directions": [ + "Drink and enjoy your cup of espresso coffee.", + "Clean it by putting some grappa in your cup and shake it (to clean the remaining coffee and sugar) then drink.", + "If your cup is not clean you can repeat the process until the cup is perfectly clean." + ], + "image": "resentin.jpg", + "keywords": [ + "espresso", + "coffee", + "grappa", + "alcoholic" + ] +} diff --git a/src/recipes/rich-hot-cocoa.json b/src/recipes/rich-hot-cocoa.json index 46be16af4..01a63a087 100644 --- a/src/recipes/rich-hot-cocoa.json +++ b/src/recipes/rich-hot-cocoa.json @@ -1,40 +1,40 @@ -{ - "name": "Rich Hot Cocoa", - "description": "A thick and decadent vegan hot cocoa with your favorite milk alternative", - "github": "frankylee", - "ingredients": [ - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "cacao or cocoa powder" - }, - { - "quantity": "12", - "measure": "oz", - "ingredient": "soymilk or dairy-free milk of choice" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "maple syrup or sweetener of choice" - } - ], - "directions": [ - "Bring soymilk or milk alternative to a simmer on the stove or use hot milk-frother.", - "Stir cacao powder and maple syrup or sweetener of choice until fully combined.", - "Add the mixture to the warmed soymilk and blend together.", - "Pour into your favorite mug and enjoy!" - ], - "image": "rich-hot-cocoa.jpeg", - "keywords": [ - "hot", - "chocolate", - "cocoa", - "cacao", - "soy milk", - "maple syrup", - "dairy-free", - "vegan", - "holiday" - ] -} +{ + "name": "Rich Hot Cocoa", + "description": "A thick and decadent vegan hot cocoa with your favorite milk alternative", + "github": "frankylee", + "ingredients": [ + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "cacao or cocoa powder" + }, + { + "quantity": "12", + "measure": "oz", + "ingredient": "soymilk or dairy-free milk of choice" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "maple syrup or sweetener of choice" + } + ], + "directions": [ + "Bring soymilk or milk alternative to a simmer on the stove or use hot milk-frother.", + "Stir cacao powder and maple syrup or sweetener of choice until fully combined.", + "Add the mixture to the warmed soymilk and blend together.", + "Pour into your favorite mug and enjoy!" + ], + "image": "rich-hot-cocoa.jpeg", + "keywords": [ + "hot", + "chocolate", + "cocoa", + "cacao", + "soy milk", + "maple syrup", + "dairy-free", + "vegan", + "holiday" + ] +} diff --git a/src/recipes/romulan-ale.json b/src/recipes/romulan-ale.json index d50a106cb..242172b5d 100644 --- a/src/recipes/romulan-ale.json +++ b/src/recipes/romulan-ale.json @@ -1,41 +1,41 @@ -{ - "name": "Romulan Ale", - "description": "Illegal in the Federation, this sparkling blue drink will leave you seeing stars.", - "github": "bibliofilo", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "blue curaçao" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "plantation 3 star rum" - } - ], - "directions": [ - "Squeeze the lime juice, then add the blue curaçao and Plantation 3 Star rum.", - "Add one ice cube, then crack a second into the drink shaker.", - "Shake and strain into the tall glass or flute." - ], - "image": "romulan-ale.jpg", - "source": "https://youtu.be/4bP8uL9fjH8", - "keywords": [ - "blue curaçao", - "lime juice", - "rum", - "simple syrup", - "star trek" - ] -} +{ + "name": "Romulan Ale", + "description": "Illegal in the Federation, this sparkling blue drink will leave you seeing stars.", + "github": "bibliofilo", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "blue curaçao" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "plantation 3 star rum" + } + ], + "directions": [ + "Squeeze the lime juice, then add the blue curaçao and Plantation 3 Star rum.", + "Add one ice cube, then crack a second into the drink shaker.", + "Shake and strain into the tall glass or flute." + ], + "image": "romulan-ale.jpg", + "source": "https://youtu.be/4bP8uL9fjH8", + "keywords": [ + "blue curaçao", + "lime juice", + "rum", + "simple syrup", + "star trek" + ] +} diff --git a/src/recipes/rooh-afza-milkshake.json b/src/recipes/rooh-afza-milkshake.json index 87bab7c9f..a73cafcf0 100644 --- a/src/recipes/rooh-afza-milkshake.json +++ b/src/recipes/rooh-afza-milkshake.json @@ -1,37 +1,37 @@ -{ - "name": "Rooh Afza Milkshake", - "description": "Rooh Afza milkshake recipe - very refreshing summer beverage made from roohafza syrup and milk.", - "github": "Sumit2399", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Milk" - }, - { - "quantity": "4", - "measure": "tablespoon", - "ingredient": "Rooh afza syrup" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "Sugar" - } - - - ], - "directions": [ - "Add rooh afza syrup to the chilled milk.", - "Add sugar. If sugar has big granules then grind into powder, so it dissolves quickly.", - "Mix well and keep it refrigerated till serving." - ], - "image": "rooh-afza-milkshake.jpg", - "source": "https://www.spiceupthecurry.com/rooh-afza-milkshake-recipe-summer-cold-drink/", - "keywords": [ - "Milk", - "syrup", - "non-alcoholic" - - ] -} +{ + "name": "Rooh Afza Milkshake", + "description": "Rooh Afza milkshake recipe - very refreshing summer beverage made from roohafza syrup and milk.", + "github": "Sumit2399", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Milk" + }, + { + "quantity": "4", + "measure": "tablespoon", + "ingredient": "Rooh afza syrup" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "Sugar" + } + + + ], + "directions": [ + "Add rooh afza syrup to the chilled milk.", + "Add sugar. If sugar has big granules then grind into powder, so it dissolves quickly.", + "Mix well and keep it refrigerated till serving." + ], + "image": "rooh-afza-milkshake.jpg", + "source": "https://www.spiceupthecurry.com/rooh-afza-milkshake-recipe-summer-cold-drink/", + "keywords": [ + "Milk", + "syrup", + "non-alcoholic" + + ] +} diff --git a/src/recipes/rooibos-peach-tea.json b/src/recipes/rooibos-peach-tea.json index bae2198ea..0f71ce85e 100644 --- a/src/recipes/rooibos-peach-tea.json +++ b/src/recipes/rooibos-peach-tea.json @@ -1,31 +1,31 @@ -{ - "name": "Rooibos Peach Tea", - "description": "Rooibos means red bush tea, and it originates from South Africa. It has many health benefits and luckily can be found in most stores worldwide.", - "github": "lalawuhan", - "ingredients": [ - { - "quantity": "1", - "measure": "l", - "ingredient": "Cooled Rooibos Tea (3 Tea Bags is usually enough)" - }, - { - "quantity": "500", - "measure": "ml", - "ingredient": "Peach Juice" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "Squeezed Lemon Juice" - } - ], - "directions": [ - "Combine all the ingredients in a large jug and stir well.", - "Serve over ice." ], - - "image": "rooibos-peach-tea.jpg", - "keywords": [ - "rooibos", - "peach" - ] +{ + "name": "Rooibos Peach Tea", + "description": "Rooibos means red bush tea, and it originates from South Africa. It has many health benefits and luckily can be found in most stores worldwide.", + "github": "lalawuhan", + "ingredients": [ + { + "quantity": "1", + "measure": "l", + "ingredient": "Cooled Rooibos Tea (3 Tea Bags is usually enough)" + }, + { + "quantity": "500", + "measure": "ml", + "ingredient": "Peach Juice" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "Squeezed Lemon Juice" + } + ], + "directions": [ + "Combine all the ingredients in a large jug and stir well.", + "Serve over ice." ], + + "image": "rooibos-peach-tea.jpg", + "keywords": [ + "rooibos", + "peach" + ] } \ No newline at end of file diff --git a/src/recipes/rooibos-punch.json b/src/recipes/rooibos-punch.json index b29172357..cc1caf761 100644 --- a/src/recipes/rooibos-punch.json +++ b/src/recipes/rooibos-punch.json @@ -1,42 +1,42 @@ -{ - "name": "Rooibos Punch", - "description": "Rooibos means red bush tea, and it originates from South Africa. It has many health benefits and luckily can be found in most stores worldwide. This is a cocktail that turns tea into something more exciting.", - "github": "lalawuhan", - "ingredients": [ - { - "quantity": "500", - "measure": "ml", - "ingredient": "Cooled Rooibos Tea (2 Tea Bags is usually enough)" - }, - { - "quantity": "250", - "measure": "ml", - "ingredient": "Pineapple Juice" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "Squeezed Lemon Juice" - }, - { - "quantity": "6", - "measure": "Teaspoons", - "ingredient": "White Sugar" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "Gin or Vodka" - } - ], - "directions": [ - "Combine all the ingredients in a large jug and stir well.", - "Strain and serve over ice." ], - - "image": "rooibos-punch.jpg", - "keywords": [ - "rooibos", - "pineapple", - "alcoholic" - ] +{ + "name": "Rooibos Punch", + "description": "Rooibos means red bush tea, and it originates from South Africa. It has many health benefits and luckily can be found in most stores worldwide. This is a cocktail that turns tea into something more exciting.", + "github": "lalawuhan", + "ingredients": [ + { + "quantity": "500", + "measure": "ml", + "ingredient": "Cooled Rooibos Tea (2 Tea Bags is usually enough)" + }, + { + "quantity": "250", + "measure": "ml", + "ingredient": "Pineapple Juice" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "Squeezed Lemon Juice" + }, + { + "quantity": "6", + "measure": "Teaspoons", + "ingredient": "White Sugar" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "Gin or Vodka" + } + ], + "directions": [ + "Combine all the ingredients in a large jug and stir well.", + "Strain and serve over ice." ], + + "image": "rooibos-punch.jpg", + "keywords": [ + "rooibos", + "pineapple", + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/rose-milk.json b/src/recipes/rose-milk.json index 1a7ad04f8..73fbe556f 100644 --- a/src/recipes/rose-milk.json +++ b/src/recipes/rose-milk.json @@ -1,44 +1,44 @@ -{ - "name": "Rose Milk", - "description": "A refreshing, rose-flavored Indian cool drink, perfect for quenching your thirst.", - "github": "Claribell", - "ingredients": [ - { - "quantity": "2", - "measure": "cup", - "ingredient": "milk" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "rose syrup" - }, - { - "quantity": "6", - "measure": "teaspoon", - "ingredient": "sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "some ice cubes" - } - ], - "directions": [ - "Pour cold milk and rose syrup into a pitcher or jug.", - "Stir the rose syrup thoroughly with a spoon until it completely blends with the milk.", - "If you prefer it sweeter, you can add sugar, but it's entirely optional.", - "Keep stirring until the sugar dissolves completely.", - "In a serving glass, place a couple of ice cubes and then gently pour the rose-infused milk into the glass", - "Finally, top it off with a touch of dried rose petals or some dry fruits, and savor this revitalizing rose milk." - ], - "image": "rose-milk.jpg", - "keywords": [ - "milk", - "sweet", - "cold", - "rose syrup", - "summer", - "non-alcoholic" - ] +{ + "name": "Rose Milk", + "description": "A refreshing, rose-flavored Indian cool drink, perfect for quenching your thirst.", + "github": "Claribell", + "ingredients": [ + { + "quantity": "2", + "measure": "cup", + "ingredient": "milk" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "rose syrup" + }, + { + "quantity": "6", + "measure": "teaspoon", + "ingredient": "sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "some ice cubes" + } + ], + "directions": [ + "Pour cold milk and rose syrup into a pitcher or jug.", + "Stir the rose syrup thoroughly with a spoon until it completely blends with the milk.", + "If you prefer it sweeter, you can add sugar, but it's entirely optional.", + "Keep stirring until the sugar dissolves completely.", + "In a serving glass, place a couple of ice cubes and then gently pour the rose-infused milk into the glass", + "Finally, top it off with a touch of dried rose petals or some dry fruits, and savor this revitalizing rose milk." + ], + "image": "rose-milk.jpg", + "keywords": [ + "milk", + "sweet", + "cold", + "rose syrup", + "summer", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/rose-sangria.json b/src/recipes/rose-sangria.json index 9142fd744..07180c50c 100644 --- a/src/recipes/rose-sangria.json +++ b/src/recipes/rose-sangria.json @@ -1,50 +1,50 @@ -{ - "name": "Rose Sangria", - "description": "A simple and tasty rosé sangria.", - "github": "MrValraven", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "oranges" - }, - { - "quantity": "10", - "measure": "", - "ingredient": "strawberries" - }, - { - "quantity": "3", - "measure": "teaspoon", - "ingredient": "brown sugar" - }, - { - "quantity": "11", - "measure": "oz (or 330ml)", - "ingredient": "7up or any citrus soda" - }, - { - "quantity": "17", - "measure": "oz (or 550Mml)", - "ingredient": "rosé wine" - } - ], - "directions": [ - "Slice the oranges and strawberries into a jar.", - "Place the sugar and muddle all the ingredients.", - "Fill the jar with ice.", - "Place the soda and the wine inside the jar.", - "Mix it all up, in circular motions, going in a upwards motion.", - "Add some mint leaves as garnish and enjoy!" - - ], - "image": "rose-sangria.jpg", - "keywords": [ - "summer", - "fresh", - "sangria", - "sweet", - "vegan", - "alcoholic" - ] +{ + "name": "Rose Sangria", + "description": "A simple and tasty rosé sangria.", + "github": "MrValraven", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "oranges" + }, + { + "quantity": "10", + "measure": "", + "ingredient": "strawberries" + }, + { + "quantity": "3", + "measure": "teaspoon", + "ingredient": "brown sugar" + }, + { + "quantity": "11", + "measure": "oz (or 330ml)", + "ingredient": "7up or any citrus soda" + }, + { + "quantity": "17", + "measure": "oz (or 550Mml)", + "ingredient": "rosé wine" + } + ], + "directions": [ + "Slice the oranges and strawberries into a jar.", + "Place the sugar and muddle all the ingredients.", + "Fill the jar with ice.", + "Place the soda and the wine inside the jar.", + "Mix it all up, in circular motions, going in a upwards motion.", + "Add some mint leaves as garnish and enjoy!" + + ], + "image": "rose-sangria.jpg", + "keywords": [ + "summer", + "fresh", + "sangria", + "sweet", + "vegan", + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/rosemary-horses-neck.json b/src/recipes/rosemary-horses-neck.json index c034195e8..303360a79 100644 --- a/src/recipes/rosemary-horses-neck.json +++ b/src/recipes/rosemary-horses-neck.json @@ -1,46 +1,46 @@ -{ - "name": "Rosemary Horse's Neck", - "description": "A golden classic. Don't like whiskey? Replace it with brown rum or brandy!", - "github": "voodoods", - "ingredients": [ - { - "quantity": "3", - "measure": "oz", - "ingredient": "blended whiskey" - }, - { - "quantity": "7", - "measure": "oz", - "ingredient": "ginger ale" - }, - { - "quantity": "2", - "measure": "branches", - "ingredient": "fresh rosemary" - }, - { - "quantity": "", - "measure": "", - "ingredient": "cubed or crushed ice" - } - ], - "directions": [ - "Mix the ginger ale with the whiskey.", - "Add ice.", - "Garnish with a branch of fresh rosemary.", - "Enjoy!" - ], - "image": "rosemary-horses-neck.jpg", - "source": "https://mobile.kptncook.com/recipe/pinterest/rosemary-horses-neck/5b916c89?lang=en", - "keywords": [ - "whiskey", - "rum", - "brandy", - "ginger ale", - "alcoholic", - "cold", - "rosemary", - "sweet", - "vegan" - ] -} +{ + "name": "Rosemary Horse's Neck", + "description": "A golden classic. Don't like whiskey? Replace it with brown rum or brandy!", + "github": "voodoods", + "ingredients": [ + { + "quantity": "3", + "measure": "oz", + "ingredient": "blended whiskey" + }, + { + "quantity": "7", + "measure": "oz", + "ingredient": "ginger ale" + }, + { + "quantity": "2", + "measure": "branches", + "ingredient": "fresh rosemary" + }, + { + "quantity": "", + "measure": "", + "ingredient": "cubed or crushed ice" + } + ], + "directions": [ + "Mix the ginger ale with the whiskey.", + "Add ice.", + "Garnish with a branch of fresh rosemary.", + "Enjoy!" + ], + "image": "rosemary-horses-neck.jpg", + "source": "https://mobile.kptncook.com/recipe/pinterest/rosemary-horses-neck/5b916c89?lang=en", + "keywords": [ + "whiskey", + "rum", + "brandy", + "ginger ale", + "alcoholic", + "cold", + "rosemary", + "sweet", + "vegan" + ] +} diff --git a/src/recipes/rosemarycano.json b/src/recipes/rosemarycano.json index 3ce4f90e5..8985e2deb 100644 --- a/src/recipes/rosemarycano.json +++ b/src/recipes/rosemarycano.json @@ -1,46 +1,46 @@ -{ - "name": "Rosemarycano", - "description": "An Americano that elevates the usual Campari and vermouth base with the herbal, woody aroma of a bruised rosemary sprig.", - "github": "stmoerman", - "ingredients": [ - { - "quantity": "0.5", - "measure": "", - "ingredient": "Untreated lemon" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Sprigs rosemary" - }, - { - "quantity": "4", - "measure": "cl", - "ingredient": "Campari" - }, - { - "quantity": "4", - "measure": "cl", - "ingredient": "Antica Formula (or another red vermouth of your choice)" - }, - { - "quantity": "10", - "measure": "cl", - "ingredient": "Tonic Water (preferably Fever-Tree)" - } - ], - "directions": [ - "Cut the lemon in quarters and squeeze them directly into the glass, making sure that the essential oils from the zest hit the glass.", - "Rub and twist the rosemary between your hands to release the aromatics and add to the glass along with ice cubes.", - "Add Campari and Antica Formula and fill with Tonic Water.", - "Stir vertically once with a long spoon.", - "A rosemary sprig and a lemon twist go well as garnish.", - "Enjoy!" - ], - "image": "rosemarycano.jpg", - "source": "https://bragnbutter.wordpress.com/2014/06/07/rosemarycano-cocktail/", - "keywords": [ - "alcoholic", - "campari" - ] +{ + "name": "Rosemarycano", + "description": "An Americano that elevates the usual Campari and vermouth base with the herbal, woody aroma of a bruised rosemary sprig.", + "github": "stmoerman", + "ingredients": [ + { + "quantity": "0.5", + "measure": "", + "ingredient": "Untreated lemon" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Sprigs rosemary" + }, + { + "quantity": "4", + "measure": "cl", + "ingredient": "Campari" + }, + { + "quantity": "4", + "measure": "cl", + "ingredient": "Antica Formula (or another red vermouth of your choice)" + }, + { + "quantity": "10", + "measure": "cl", + "ingredient": "Tonic Water (preferably Fever-Tree)" + } + ], + "directions": [ + "Cut the lemon in quarters and squeeze them directly into the glass, making sure that the essential oils from the zest hit the glass.", + "Rub and twist the rosemary between your hands to release the aromatics and add to the glass along with ice cubes.", + "Add Campari and Antica Formula and fill with Tonic Water.", + "Stir vertically once with a long spoon.", + "A rosemary sprig and a lemon twist go well as garnish.", + "Enjoy!" + ], + "image": "rosemarycano.jpg", + "source": "https://bragnbutter.wordpress.com/2014/06/07/rosemarycano-cocktail/", + "keywords": [ + "alcoholic", + "campari" + ] } \ No newline at end of file diff --git a/src/recipes/rossini.json b/src/recipes/rossini.json index cafdb458c..c646b1f5d 100644 --- a/src/recipes/rossini.json +++ b/src/recipes/rossini.json @@ -1,29 +1,29 @@ -{ - "name": "Rossini", - "description": "It's a kind of alcoholic drink made with sparkling candy and strawberry.", - "github": "bgildson", - "ingredients": [ - { - "quantity": "100", - "measure": "ml", - "ingredient": "sparkling candy" - }, - { - "quantity": "1", - "measure": "unit", - "ingredient": "strawberry" - } - ], - "directions": [ - "Crush the strawberry in a sieve.", - "Muddlie with a spoon.", - "Mix the sparkling candy and the strawberry in a bowl." - ], - "image": "rossini.jpg", - "keywords": [ - "sparkling", - "sweet", - "alcoholic", - "strawberry" - ] -} +{ + "name": "Rossini", + "description": "It's a kind of alcoholic drink made with sparkling candy and strawberry.", + "github": "bgildson", + "ingredients": [ + { + "quantity": "100", + "measure": "ml", + "ingredient": "sparkling candy" + }, + { + "quantity": "1", + "measure": "unit", + "ingredient": "strawberry" + } + ], + "directions": [ + "Crush the strawberry in a sieve.", + "Muddlie with a spoon.", + "Mix the sparkling candy and the strawberry in a bowl." + ], + "image": "rossini.jpg", + "keywords": [ + "sparkling", + "sweet", + "alcoholic", + "strawberry" + ] +} diff --git a/src/recipes/rosy-gin-kombucha-cocktail.json b/src/recipes/rosy-gin-kombucha-cocktail.json index a512364c7..b040a0ef2 100644 --- a/src/recipes/rosy-gin-kombucha-cocktail.json +++ b/src/recipes/rosy-gin-kombucha-cocktail.json @@ -1,53 +1,53 @@ -{ - "name": "Rosy Gin-Kombucha Cocktail", - "description": "Great cocktail for the kombucha curious.", - "github": "vthn", - "ingredients": [ - { - "quantity": "2", - "measure": "ounces", - "ingredient": "gin" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "Campari" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "fresh lemon juice" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "finely grated fresh ginger" - }, - { - "quantity": "5", - "measure": "ounces", - "ingredient": "original kombucha, chilled" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lemon wedges, for serving" - } - ], - "directions": [ - "Stir gin, Campari, lemon juice, and ginger in a pint glass or measuring cup.", - "Stir in kombucha.", - "Strain through a fine-mesh sieve into an ice-filled Collins glass.", - "Garnish with lemon wedges." - ], - "image": "rosy-gin-kombucha-cocktail.jpg", - "source": "https://www.bonappetit.com/recipe/rosy-gin-kombucha-cocktail", - "keywords": [ - "alcoholic", - "campari", - "gin", - "ginger", - "kombucha", - "lemon" - ] +{ + "name": "Rosy Gin-Kombucha Cocktail", + "description": "Great cocktail for the kombucha curious.", + "github": "vthn", + "ingredients": [ + { + "quantity": "2", + "measure": "ounces", + "ingredient": "gin" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "Campari" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "fresh lemon juice" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "finely grated fresh ginger" + }, + { + "quantity": "5", + "measure": "ounces", + "ingredient": "original kombucha, chilled" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lemon wedges, for serving" + } + ], + "directions": [ + "Stir gin, Campari, lemon juice, and ginger in a pint glass or measuring cup.", + "Stir in kombucha.", + "Strain through a fine-mesh sieve into an ice-filled Collins glass.", + "Garnish with lemon wedges." + ], + "image": "rosy-gin-kombucha-cocktail.jpg", + "source": "https://www.bonappetit.com/recipe/rosy-gin-kombucha-cocktail", + "keywords": [ + "alcoholic", + "campari", + "gin", + "ginger", + "kombucha", + "lemon" + ] } \ No newline at end of file diff --git a/src/recipes/royal-milk-tea.json b/src/recipes/royal-milk-tea.json index bd82997f5..fa870f4ea 100644 --- a/src/recipes/royal-milk-tea.json +++ b/src/recipes/royal-milk-tea.json @@ -1,35 +1,35 @@ -{ - "name": "Royal Milk Tea", - "description": "Assam tea leaves and milk. It's pretty awesome.", - "github": "DonoKun", - "ingredients": [ - { - "quantity": "3/4", - "measure": "Cup", - "ingredient": "Water" - }, - { - "quantity": "2 heaping", - "measure": "tsp", - "ingredient": "black tea leaves" - }, - { - "quantity": "1/2", - "measure": "Cup", - "ingredient": "Milk" - } - ], - "directions": [ - "Bring water to a boil over medium-high heat.", - "Add your black tea leaves, reduce the heat and let leaves simmer for 1 and a half minute to 2 minutes.", - "Add milk.", - "When the tea is about the boil, remove from the heat and run it through a tea/ mesh strainer.", - "Pour it into a fancy cup and enjoy." - ], - "image": "royal-milk-tea.jpg", - "source": "https://www.justonecookbook.com/royal-milk-tea/", - "keywords": [ - "tea", - "non-alcoholic" - ] +{ + "name": "Royal Milk Tea", + "description": "Assam tea leaves and milk. It's pretty awesome.", + "github": "DonoKun", + "ingredients": [ + { + "quantity": "3/4", + "measure": "Cup", + "ingredient": "Water" + }, + { + "quantity": "2 heaping", + "measure": "tsp", + "ingredient": "black tea leaves" + }, + { + "quantity": "1/2", + "measure": "Cup", + "ingredient": "Milk" + } + ], + "directions": [ + "Bring water to a boil over medium-high heat.", + "Add your black tea leaves, reduce the heat and let leaves simmer for 1 and a half minute to 2 minutes.", + "Add milk.", + "When the tea is about the boil, remove from the heat and run it through a tea/ mesh strainer.", + "Pour it into a fancy cup and enjoy." + ], + "image": "royal-milk-tea.jpg", + "source": "https://www.justonecookbook.com/royal-milk-tea/", + "keywords": [ + "tea", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/royal-mojito.json b/src/recipes/royal-mojito.json index 38e203b11..f14d05a90 100644 --- a/src/recipes/royal-mojito.json +++ b/src/recipes/royal-mojito.json @@ -1,58 +1,58 @@ -{ - "name": "Royal Mojito", - "description": "A classy variation on the mojito recipe.", - "github": "fatima-rami", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": "5", - "measure": "cl", - "ingredient": "rum" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "brown sugar" - }, - { - "quantity": "6", - "measure": "", - "ingredient": "mint leaves" - }, - { - "quantity": "", - "measure": "", - "ingredient": "champagne" - }, - { - "quantity": "", - "measure": "", - "ingredient": "crushed ice" - } - - ], - "directions": [ - "Plunder the ice.", - "Crush the mint with a little sugar and rum.", - "Squeeze the juice from the lime.", - "In a tumbler-type glass:", - "Fill it with crushed ice.", - "Add the lime juice and the mint leaves.", - "Add the rum.", - "Complete with champagne." - ], - "image": "royal-mojito.jpg", - "source": "https://www.femmezine.fr/cuisine/cocktails/mojito-royal.html", - "keywords": [ - "rum", - "champagne", - "mint", - "lime", - "alcoholic" - ] - } - +{ + "name": "Royal Mojito", + "description": "A classy variation on the mojito recipe.", + "github": "fatima-rami", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": "5", + "measure": "cl", + "ingredient": "rum" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "brown sugar" + }, + { + "quantity": "6", + "measure": "", + "ingredient": "mint leaves" + }, + { + "quantity": "", + "measure": "", + "ingredient": "champagne" + }, + { + "quantity": "", + "measure": "", + "ingredient": "crushed ice" + } + + ], + "directions": [ + "Plunder the ice.", + "Crush the mint with a little sugar and rum.", + "Squeeze the juice from the lime.", + "In a tumbler-type glass:", + "Fill it with crushed ice.", + "Add the lime juice and the mint leaves.", + "Add the rum.", + "Complete with champagne." + ], + "image": "royal-mojito.jpg", + "source": "https://www.femmezine.fr/cuisine/cocktails/mojito-royal.html", + "keywords": [ + "rum", + "champagne", + "mint", + "lime", + "alcoholic" + ] + } + diff --git a/src/recipes/rum-and-coke.json b/src/recipes/rum-and-coke.json index 4d30b9ef9..e6a783181 100644 --- a/src/recipes/rum-and-coke.json +++ b/src/recipes/rum-and-coke.json @@ -1,33 +1,33 @@ -{ - "name": "Rum and Coke", - "description": "Easy Rum and Coke recipe.", - "github": "Kenzo604", - "ingredients": [ - { - "quantity": "1", - "measure": "wedge", - "ingredient": "lime" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Rum" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Coke" - } - ], - "directions": [ - "Pour 1oz Rum into old-fashioned glass.", - "Add 3oz Coke.", - "Place lime wedge on edge of glass." - ], - "image": "rum-and-coke.jpg", - "keywords": [ - "lime", - "coke", - "rum" - ] -} +{ + "name": "Rum and Coke", + "description": "Easy Rum and Coke recipe.", + "github": "Kenzo604", + "ingredients": [ + { + "quantity": "1", + "measure": "wedge", + "ingredient": "lime" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Rum" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Coke" + } + ], + "directions": [ + "Pour 1oz Rum into old-fashioned glass.", + "Add 3oz Coke.", + "Place lime wedge on edge of glass." + ], + "image": "rum-and-coke.jpg", + "keywords": [ + "lime", + "coke", + "rum" + ] +} diff --git a/src/recipes/rum-old-fashioned.json b/src/recipes/rum-old-fashioned.json index 311606cba..f968864c9 100644 --- a/src/recipes/rum-old-fashioned.json +++ b/src/recipes/rum-old-fashioned.json @@ -1,54 +1,54 @@ -{ - "name": "Rum Old Fashioned", - "description": "Give the Old fashioned a little twist with some dark rum. It goes perfectly with the zesty orange to make a deeply-flavoured short cocktail.", - "github": "xy2z", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "ice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "dark rum" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "allspice dram" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "demerara syrup" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "angostura bitters" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "orange bitters" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: orange twist" - } - ], - "directions": [ - "Place a large ice cube into an Old Fashioned glass.", - "Add the rum, allspice dram, demerara syrup and both bitters, and stir until well-chilled.", - "Garnish with an orange peel." - ], - "image": "rum-old-fashioned.jpg", - "source": "https://www.liquor.com/recipes/rum-old-fashioned/", - "keywords": [ - "cocktail", - "rum", - "orange" - ] -} +{ + "name": "Rum Old Fashioned", + "description": "Give the Old fashioned a little twist with some dark rum. It goes perfectly with the zesty orange to make a deeply-flavoured short cocktail.", + "github": "xy2z", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "ice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "dark rum" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "allspice dram" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "demerara syrup" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "angostura bitters" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "orange bitters" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: orange twist" + } + ], + "directions": [ + "Place a large ice cube into an Old Fashioned glass.", + "Add the rum, allspice dram, demerara syrup and both bitters, and stir until well-chilled.", + "Garnish with an orange peel." + ], + "image": "rum-old-fashioned.jpg", + "source": "https://www.liquor.com/recipes/rum-old-fashioned/", + "keywords": [ + "cocktail", + "rum", + "orange" + ] +} diff --git a/src/recipes/rum-punch.json b/src/recipes/rum-punch.json index bbfaf51b2..aa43355d9 100644 --- a/src/recipes/rum-punch.json +++ b/src/recipes/rum-punch.json @@ -1,45 +1,45 @@ -{ - "name": "Bajan Rum Punch", - "description": "The famous Bajan rum punch (bajan is short for Barbadian 🇧🇧). A classic recipe that goes back to the 19th century and still nowadays the flagship drink of Barbados. The recipe is easy to remember: One of sour, two of sweet, three of strong, four of weak.", - "github": "Xelaflash", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Lime juice" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Simple syrup" - }, - { - "quantity": "3", - "measure": "cups", - "ingredient": "Rum" - }, - { - "quantity": "4", - "measure": "cups", - "ingredient": "Water" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Angostura bitter" - } - ], - "directions": [ - "Add all ingredients in a glass or shaker", - "Add crushed ice", - "Stir & add grated nutmeg on top", - "Garnish with lemon or lime" - ], - "image": "rum-punch.jpg", - "keywords": [ - "Rum", - "simple", - "alcoholic", - "lime" - ] -} +{ + "name": "Bajan Rum Punch", + "description": "The famous Bajan rum punch (bajan is short for Barbadian 🇧🇧). A classic recipe that goes back to the 19th century and still nowadays the flagship drink of Barbados. The recipe is easy to remember: One of sour, two of sweet, three of strong, four of weak.", + "github": "Xelaflash", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Lime juice" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Simple syrup" + }, + { + "quantity": "3", + "measure": "cups", + "ingredient": "Rum" + }, + { + "quantity": "4", + "measure": "cups", + "ingredient": "Water" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Angostura bitter" + } + ], + "directions": [ + "Add all ingredients in a glass or shaker", + "Add crushed ice", + "Stir & add grated nutmeg on top", + "Garnish with lemon or lime" + ], + "image": "rum-punch.jpg", + "keywords": [ + "Rum", + "simple", + "alcoholic", + "lime" + ] +} diff --git a/src/recipes/rumchata-bourbon.json b/src/recipes/rumchata-bourbon.json index a548fad2f..e6175d144 100644 --- a/src/recipes/rumchata-bourbon.json +++ b/src/recipes/rumchata-bourbon.json @@ -1,39 +1,39 @@ -{ - "name": "Rumchata Bourbon", - "description": "Similar to a Mudslide, lighter than Eggnog - this drink is a great alternative to either on those chilly autumn evenings.", - "github": "bethmartino", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Bourbon" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "RumChata" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Mole bitters (optional)" - } - ], - "directions": [ - "Add ingredients to a cocktail shaker filled with ice and shake until well chilled.", - "Strain into a lowball glass over fresh ice.", - "Optional: Garnish with a sprinkle of nutmeg." - ], - "image": "rumchata-bourbon.jpg", - "keywords": [ - "bourbon", - "homemade", - "rumchata", - "creamy", - "mudslide", - "eggnog", - "white russian", - "autumn", - "fall" - ] -} +{ + "name": "Rumchata Bourbon", + "description": "Similar to a Mudslide, lighter than Eggnog - this drink is a great alternative to either on those chilly autumn evenings.", + "github": "bethmartino", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Bourbon" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "RumChata" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Mole bitters (optional)" + } + ], + "directions": [ + "Add ingredients to a cocktail shaker filled with ice and shake until well chilled.", + "Strain into a lowball glass over fresh ice.", + "Optional: Garnish with a sprinkle of nutmeg." + ], + "image": "rumchata-bourbon.jpg", + "keywords": [ + "bourbon", + "homemade", + "rumchata", + "creamy", + "mudslide", + "eggnog", + "white russian", + "autumn", + "fall" + ] +} diff --git a/src/recipes/rusty-nail.json b/src/recipes/rusty-nail.json index 207f8ea8a..855f99588 100644 --- a/src/recipes/rusty-nail.json +++ b/src/recipes/rusty-nail.json @@ -1,33 +1,33 @@ -{ - "name": "Rusty nail", - "description": "Has a huge flavour and lots of alcohol, good for your rusty throat. Created in 1942 in Hawaii. You can play with the proportions, usually between 1:2 and 1:3.", - "github": "danitulp", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "Scotch whiskey" - }, - { - "quantity": "3/4", - "measure": "ounce", - "ingredient": "Drambuie" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lemon twist" - }], - "directions": [ - "Pour all ingredients directly into old-fashioned glass filled with ice.", - "Stir gently.", - "Garnish with a lemon twist. (optional)", - "Serve!" - ], - "image": "rusty-nail.jpg", - "keywords": [ - "alcoholic", - "whiskey", - "scotch" - ] +{ + "name": "Rusty nail", + "description": "Has a huge flavour and lots of alcohol, good for your rusty throat. Created in 1942 in Hawaii. You can play with the proportions, usually between 1:2 and 1:3.", + "github": "danitulp", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "Scotch whiskey" + }, + { + "quantity": "3/4", + "measure": "ounce", + "ingredient": "Drambuie" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lemon twist" + }], + "directions": [ + "Pour all ingredients directly into old-fashioned glass filled with ice.", + "Stir gently.", + "Garnish with a lemon twist. (optional)", + "Serve!" + ], + "image": "rusty-nail.jpg", + "keywords": [ + "alcoholic", + "whiskey", + "scotch" + ] } \ No newline at end of file diff --git a/src/recipes/rye-tai.json b/src/recipes/rye-tai.json index 033c78aa5..08d3ac3c8 100644 --- a/src/recipes/rye-tai.json +++ b/src/recipes/rye-tai.json @@ -1,40 +1,40 @@ -{ - "name": "Rye Tai", - "description": "The Rye Tai is a riff on (you guessed it!) the classic Mai Tai, with rye whiskey in place of rum and pineapple lengthening the drink in place of the usual curaçao. It’s the creation of Nick Brown at NYC’s The Spaniard.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Rye whiskey" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Pineapple juice" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "fresh lemon juice" - }, - { - "quantity": "6-10", - "measure": "dashes", - "ingredient": "Angostura bitters" - } - ], - "directions": [ - "Combine the rye, orgeat and juices in a shaker and fill with ice.", - "Shake until chilled. ", - "Strain into a highball filled with crushed ice.", - "Top with bitters and garnish.", - "Serve!" - ], - "image": "rye-tai.jpg", - "keywords": [ - "alcoholic", - "whiskey", - "bitters" - ] +{ + "name": "Rye Tai", + "description": "The Rye Tai is a riff on (you guessed it!) the classic Mai Tai, with rye whiskey in place of rum and pineapple lengthening the drink in place of the usual curaçao. It’s the creation of Nick Brown at NYC’s The Spaniard.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Rye whiskey" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Pineapple juice" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "fresh lemon juice" + }, + { + "quantity": "6-10", + "measure": "dashes", + "ingredient": "Angostura bitters" + } + ], + "directions": [ + "Combine the rye, orgeat and juices in a shaker and fill with ice.", + "Shake until chilled. ", + "Strain into a highball filled with crushed ice.", + "Top with bitters and garnish.", + "Serve!" + ], + "image": "rye-tai.jpg", + "keywords": [ + "alcoholic", + "whiskey", + "bitters" + ] } \ No newline at end of file diff --git a/src/recipes/rysgaards-corona-special.json b/src/recipes/rysgaards-corona-special.json index 107186022..7dc2f229a 100644 --- a/src/recipes/rysgaards-corona-special.json +++ b/src/recipes/rysgaards-corona-special.json @@ -1,39 +1,39 @@ -{ - "name": "Rysgaard's Corona Special", - "description": "A drink for drinking alone in your apartment when quarantined.", - "github": "Crowton", - "ingredients": [ - { - "quantity": "4", - "measure": "cL", - "ingredient": "Cheap Whiskey" - }, - { - "quantity": "33", - "measure": "cL", - "ingredient": "Soda with sport taste" - }, - { - "quantity": "1", - "measure": "cL", - "ingredient": "Old Danish" - }, - { - "quantity": "3", - "measure": "drops", - "ingredient": "Dark coloring for sauce" - } - ], - "directions": [ - "Mix the whiskey, soda and Old Danish", - "Observe the discusting color. Fix with the sauce coloring", - "Stir the drink counterclockwise until you feel better inside", - "If there is too much alcohol in the drink, you can always cry in it, to lower the percentage" - ], - "image": "rysgaards-corona-special.jpg", - "keywords": [ - "whiskey", - "corona", - "old danish" - ] -} +{ + "name": "Rysgaard's Corona Special", + "description": "A drink for drinking alone in your apartment when quarantined.", + "github": "Crowton", + "ingredients": [ + { + "quantity": "4", + "measure": "cL", + "ingredient": "Cheap Whiskey" + }, + { + "quantity": "33", + "measure": "cL", + "ingredient": "Soda with sport taste" + }, + { + "quantity": "1", + "measure": "cL", + "ingredient": "Old Danish" + }, + { + "quantity": "3", + "measure": "drops", + "ingredient": "Dark coloring for sauce" + } + ], + "directions": [ + "Mix the whiskey, soda and Old Danish", + "Observe the discusting color. Fix with the sauce coloring", + "Stir the drink counterclockwise until you feel better inside", + "If there is too much alcohol in the drink, you can always cry in it, to lower the percentage" + ], + "image": "rysgaards-corona-special.jpg", + "keywords": [ + "whiskey", + "corona", + "old danish" + ] +} diff --git a/src/recipes/safari-coke.json b/src/recipes/safari-coke.json index 4e9255cc2..2642f909e 100644 --- a/src/recipes/safari-coke.json +++ b/src/recipes/safari-coke.json @@ -1,42 +1,42 @@ -{ - "name": "Safari Coke", - "description": "A fruity licor with the adition of coke.", - "github": "marcelosantos89", - "ingredients": [ - { - "quantity": "1 1/4", - "measure": "oz", - "ingredient": "Safari Exotic Fruit Liqueur" - }, - { - "quantity": "4 1/2", - "measure": "oz", - "ingredient": "Coca-cola / Coke" - }, - { - "quantity": "4", - "measure": "drops", - "ingredient": "Lemon juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Add all ingredients to a shaker except Coca-cola / Coke.", - "Shake well and serve in a tall drink glass.", - "Add Coca-cola / Coke until glass is almost full.", - "Decorate with a slice of lemon if you would like. Enjoy!" - ], - "image": "safari-coke.jpg", - "keywords": [ - "ice", - "lemon", - "coke", - "coca-cola", - "exotic", - "liqueur" - ] -} +{ + "name": "Safari Coke", + "description": "A fruity licor with the adition of coke.", + "github": "marcelosantos89", + "ingredients": [ + { + "quantity": "1 1/4", + "measure": "oz", + "ingredient": "Safari Exotic Fruit Liqueur" + }, + { + "quantity": "4 1/2", + "measure": "oz", + "ingredient": "Coca-cola / Coke" + }, + { + "quantity": "4", + "measure": "drops", + "ingredient": "Lemon juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Add all ingredients to a shaker except Coca-cola / Coke.", + "Shake well and serve in a tall drink glass.", + "Add Coca-cola / Coke until glass is almost full.", + "Decorate with a slice of lemon if you would like. Enjoy!" + ], + "image": "safari-coke.jpg", + "keywords": [ + "ice", + "lemon", + "coke", + "coca-cola", + "exotic", + "liqueur" + ] +} diff --git a/src/recipes/sangria.json b/src/recipes/sangria.json index 232cb6a51..5a3e5c7cb 100644 --- a/src/recipes/sangria.json +++ b/src/recipes/sangria.json @@ -1,73 +1,73 @@ -{ - "name": "Portuguese Sangria", - "description": "Portuguese Sangria is sweet and acidic at the same time.", - "github": "marcelosantos89", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "oranges (one whole and another for juice)" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "pear" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "apple" - }, - { - "quantity": "8", - "measure": "", - "ingredient": "strawberries" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemon (juiced)" - }, - { - "quantity": "3", - "measure": "soup spoons", - "ingredient": "of brown sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "of Port Wine" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "cinnamon sticks" - }, - { - "quantity": "6", - "measure": "", - "ingredient": "mint leaves" - }, - { - "quantity": "26", - "measure": "oz", - "ingredient": "(750 ml) of red wine" - }, - { - "quantity": "18", - "measure": "oz", - "ingredient": "(500 ml) of soda water" - } - ], - "directions": [ - "Slice the fruit and mix with the brown sugar, Port Wine and the mint leaves in a big bowl.", - "Pour the lemon and the orange juice on the mixture and let it rest for an hour.", - "Put everything in a jug and then add the wine and the soda on top.", - "Finally, add the cinnamon sticks and ice to your taste. Enjoy!" - ], - "image": "portuguese-sangria.jpg", - "keywords": [ - "wine", - "fruit" - ] -} +{ + "name": "Portuguese Sangria", + "description": "Portuguese Sangria is sweet and acidic at the same time.", + "github": "marcelosantos89", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "oranges (one whole and another for juice)" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "pear" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "apple" + }, + { + "quantity": "8", + "measure": "", + "ingredient": "strawberries" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemon (juiced)" + }, + { + "quantity": "3", + "measure": "soup spoons", + "ingredient": "of brown sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "of Port Wine" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "cinnamon sticks" + }, + { + "quantity": "6", + "measure": "", + "ingredient": "mint leaves" + }, + { + "quantity": "26", + "measure": "oz", + "ingredient": "(750 ml) of red wine" + }, + { + "quantity": "18", + "measure": "oz", + "ingredient": "(500 ml) of soda water" + } + ], + "directions": [ + "Slice the fruit and mix with the brown sugar, Port Wine and the mint leaves in a big bowl.", + "Pour the lemon and the orange juice on the mixture and let it rest for an hour.", + "Put everything in a jug and then add the wine and the soda on top.", + "Finally, add the cinnamon sticks and ice to your taste. Enjoy!" + ], + "image": "portuguese-sangria.jpg", + "keywords": [ + "wine", + "fruit" + ] +} diff --git a/src/recipes/savage-banana-soup.json b/src/recipes/savage-banana-soup.json index f914a0291..b75cac3ab 100644 --- a/src/recipes/savage-banana-soup.json +++ b/src/recipes/savage-banana-soup.json @@ -1,59 +1,59 @@ -{ - "name": "Savage Banana Soup", - "description": "A smoothie that bites back!", - "github": "PatrickLohan", - "ingredients": [ - { - "quantity": "50", - "measure": "g", - "ingredient": "Spinach or Kale" - }, - { - "quantity": "10", - "measure": "g", - "ingredient": "Ground Ginger" - }, - { - "quantity": "30", - "measure": "g", - "ingredient": "Peanut Butter" - }, - { - "quantity": "10", - "measure": "g", - "ingredient": "Ground Flax/Linseed" - }, - { - "quantity": "200", - "measure": "g", - "ingredient": "Banana, ripe" - }, - { - "quantity": "50", - "measure": "g", - "ingredient": "Blueberries" - }, - { - "quantity": "300", - "measure": "ml", - "ingredient": "Almond/Coconut Milk" - } - ], - "directions": [ - "Put spinach/kale in bottom of a smoothie maker.", - "Add ginger, peanut butter, and flax/linseed.", - "Bananas and blueberries go on top, followed by the milk.", - "Blend.", - "Enjoy! Go get 'em, tiger!'" - ], - "image": "savage-banana-soup.jpg", - "keywords": [ - "banana", - "kale", - "ginger", - "fruit", - "vegan", - "plant-based", - "milk" - ] -} +{ + "name": "Savage Banana Soup", + "description": "A smoothie that bites back!", + "github": "PatrickLohan", + "ingredients": [ + { + "quantity": "50", + "measure": "g", + "ingredient": "Spinach or Kale" + }, + { + "quantity": "10", + "measure": "g", + "ingredient": "Ground Ginger" + }, + { + "quantity": "30", + "measure": "g", + "ingredient": "Peanut Butter" + }, + { + "quantity": "10", + "measure": "g", + "ingredient": "Ground Flax/Linseed" + }, + { + "quantity": "200", + "measure": "g", + "ingredient": "Banana, ripe" + }, + { + "quantity": "50", + "measure": "g", + "ingredient": "Blueberries" + }, + { + "quantity": "300", + "measure": "ml", + "ingredient": "Almond/Coconut Milk" + } + ], + "directions": [ + "Put spinach/kale in bottom of a smoothie maker.", + "Add ginger, peanut butter, and flax/linseed.", + "Bananas and blueberries go on top, followed by the milk.", + "Blend.", + "Enjoy! Go get 'em, tiger!'" + ], + "image": "savage-banana-soup.jpg", + "keywords": [ + "banana", + "kale", + "ginger", + "fruit", + "vegan", + "plant-based", + "milk" + ] +} diff --git a/src/recipes/sayran.json b/src/recipes/sayran.json index 455f989fa..ed9103c2c 100644 --- a/src/recipes/sayran.json +++ b/src/recipes/sayran.json @@ -1,38 +1,38 @@ -{ - "name": "Şayran", - "description": "Extremely refreshing salty yogurt and turnip juice mix, can be consumed not only in summer but all the seasons.", - "github": "torelafes", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "yogurt" - }, - { - "quantity": "125", - "measure": "ml", - "ingredient": "cold water" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "salt" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "turnip juice" - } - ], - "directions": [ - "In a blender, combine yogurt, cold water and salt. Blend until combined.", - "Pour the turnip juice and keep blending and you're good to go." - ], - "image": "sayran.jpg", - "keywords": [ - "yogurt", - "salt", - "refreshing", - "traditional" - ] - } +{ + "name": "Şayran", + "description": "Extremely refreshing salty yogurt and turnip juice mix, can be consumed not only in summer but all the seasons.", + "github": "torelafes", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "yogurt" + }, + { + "quantity": "125", + "measure": "ml", + "ingredient": "cold water" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "salt" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "turnip juice" + } + ], + "directions": [ + "In a blender, combine yogurt, cold water and salt. Blend until combined.", + "Pour the turnip juice and keep blending and you're good to go." + ], + "image": "sayran.jpg", + "keywords": [ + "yogurt", + "salt", + "refreshing", + "traditional" + ] + } diff --git a/src/recipes/sazerac.json b/src/recipes/sazerac.json index 999a7cd0d..40dc4b3f8 100644 --- a/src/recipes/sazerac.json +++ b/src/recipes/sazerac.json @@ -1,52 +1,52 @@ -{ - "name": "Sazerac", - "description": "Originated in New Orleans, the Sazerac is known as the official drink of Louisiana. Typically served straight up, drinking this will transport you straight to NOLA.", - "github": "SamuelPai", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Rye Whiskey" - }, - { - "quantity": "1/8", - "measure": "oz", - "ingredient": "Absinthe" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Peychaud's Bitters" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Angostura Bitters" - }, - { - "quantity": "1", - "measure": "cube", - "ingredient": "Sugar Cube (white)" - }, - { - "quantity": "1", - "measure": "Peel", - "ingredient": "Lemon" - } - ], - "directions": [ - "Place the sugar cube at the bottom and add bitters and splash of whiskey in a mixing glass; muddle until mixed.", - "Add the remaining whiskey and ice then stir.", - "Add Absinthe in a separate, chilled old-fashioned glassand turn glass to coat the inside; pour out any excess", - "Strain stirred cocktail into the old-fashioned glass and garnish with lemon peel." - ], - "image": "sazerac.jpg", - "keywords": [ - "rye", - "absinthe", - "angostura bitters", - "whiskey", - "absinthe", - "lemon" - ] -} +{ + "name": "Sazerac", + "description": "Originated in New Orleans, the Sazerac is known as the official drink of Louisiana. Typically served straight up, drinking this will transport you straight to NOLA.", + "github": "SamuelPai", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Rye Whiskey" + }, + { + "quantity": "1/8", + "measure": "oz", + "ingredient": "Absinthe" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Peychaud's Bitters" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Angostura Bitters" + }, + { + "quantity": "1", + "measure": "cube", + "ingredient": "Sugar Cube (white)" + }, + { + "quantity": "1", + "measure": "Peel", + "ingredient": "Lemon" + } + ], + "directions": [ + "Place the sugar cube at the bottom and add bitters and splash of whiskey in a mixing glass; muddle until mixed.", + "Add the remaining whiskey and ice then stir.", + "Add Absinthe in a separate, chilled old-fashioned glassand turn glass to coat the inside; pour out any excess", + "Strain stirred cocktail into the old-fashioned glass and garnish with lemon peel." + ], + "image": "sazerac.jpg", + "keywords": [ + "rye", + "absinthe", + "angostura bitters", + "whiskey", + "absinthe", + "lemon" + ] +} diff --git a/src/recipes/sbagliato.json b/src/recipes/sbagliato.json index 64698286c..38218bcc7 100644 --- a/src/recipes/sbagliato.json +++ b/src/recipes/sbagliato.json @@ -1,42 +1,42 @@ -{ - "name": "Sbagliato", - "description": "The Spagliato (pronounced with a silent g) is a traditional variation on the Negroni. In 1972, Mirko Stocchetto at the Bar Basso in Milan added sparkling wine instead of the gin by mistake to a Negroni. He then realized that this variation had some sense and this humble mistake led to the creation of a classic cocktail that is still enjoyed all around the world today, and to its name: in fact, in Italian 'sbagliato' means mistaken. A fantastic variation on a traditional cocktail that leads to a much lighter, brighter taste, making it perfect for a pick me up at the start of a meal, or any time of the day.", - "github": "Chrispy404", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Sparkling wine" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Campari" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sweet Vermouth" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange peel" - } - ], - "directions": [ - "First combine the spirits into a glass.", - "Add that amount in sparkling wine (prosecco works best).", - "Add ice and stir briefly until chilled.", - "Garnish with an orange or lemon peel." - ], - "image": "sbagliato.jpg", - "keywords": [ - "orange", - "vermouth", - "negroni", - "sparkling wine", - "prosecco", - "italian" - ] -} +{ + "name": "Sbagliato", + "description": "The Spagliato (pronounced with a silent g) is a traditional variation on the Negroni. In 1972, Mirko Stocchetto at the Bar Basso in Milan added sparkling wine instead of the gin by mistake to a Negroni. He then realized that this variation had some sense and this humble mistake led to the creation of a classic cocktail that is still enjoyed all around the world today, and to its name: in fact, in Italian 'sbagliato' means mistaken. A fantastic variation on a traditional cocktail that leads to a much lighter, brighter taste, making it perfect for a pick me up at the start of a meal, or any time of the day.", + "github": "Chrispy404", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Sparkling wine" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Campari" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sweet Vermouth" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange peel" + } + ], + "directions": [ + "First combine the spirits into a glass.", + "Add that amount in sparkling wine (prosecco works best).", + "Add ice and stir briefly until chilled.", + "Garnish with an orange or lemon peel." + ], + "image": "sbagliato.jpg", + "keywords": [ + "orange", + "vermouth", + "negroni", + "sparkling wine", + "prosecco", + "italian" + ] +} diff --git a/src/recipes/scivolo.json b/src/recipes/scivolo.json index cbf58f041..001711cdc 100644 --- a/src/recipes/scivolo.json +++ b/src/recipes/scivolo.json @@ -1,25 +1,25 @@ -{ - "name": "Scivolo", - "description": "Sweet strawberry-lemon cocktail, called also Vodka Strawberry lemonade cocktail.", - "github": "alepit", - "ingredients": [ - { - "quantity": "1 1/3", - "measure": "oz", - "ingredient": "Strawberry Vodka" - }, - { - "quantity": "2 1/3", - "measure": "oz", - "ingredient": "Lemon Schweppes" - } - - ], - "directions": [ - "Fill a glass with ice and pour in vodka and schweppes.", - "Mix.", - "Garnish with a lime or lemon slice." - ], - "image": "scivolo.jpg", - "keywords": ["strawberry", "vodka", "lemon", "schweppes"] -} +{ + "name": "Scivolo", + "description": "Sweet strawberry-lemon cocktail, called also Vodka Strawberry lemonade cocktail.", + "github": "alepit", + "ingredients": [ + { + "quantity": "1 1/3", + "measure": "oz", + "ingredient": "Strawberry Vodka" + }, + { + "quantity": "2 1/3", + "measure": "oz", + "ingredient": "Lemon Schweppes" + } + + ], + "directions": [ + "Fill a glass with ice and pour in vodka and schweppes.", + "Mix.", + "Garnish with a lime or lemon slice." + ], + "image": "scivolo.jpg", + "keywords": ["strawberry", "vodka", "lemon", "schweppes"] +} diff --git a/src/recipes/scotch-soda.json b/src/recipes/scotch-soda.json index 7ccbe6712..a1f896956 100644 --- a/src/recipes/scotch-soda.json +++ b/src/recipes/scotch-soda.json @@ -1,28 +1,28 @@ -{ - "name": "Scotch and Soda", - "description": "Scotch and Soda is a mixed drink consisting of scotch and soda/sparkling water. Note there is no fixed ratio of the ingredients and there can be served with or without ice.", - "github": "codekendo", - "ingredients": [ - { - "quantity": "1", - "measure": "part", - "ingredient": "Scotch" - }, - { - "quantity": "2", - "measure": "part", - "ingredient": "soda" - } - - ], - "directions": [ - "Pour 2 parts of soda and 1 part scotch into a tumbler.", - "Add Ice (optional)." - ], - "image": "scotch-soda.jpg", - "source": "https://en.wikipedia.org/wiki/Scotch_and_soda_(cocktail)", - "keywords": [ - "scotch", - "soda" - ] +{ + "name": "Scotch and Soda", + "description": "Scotch and Soda is a mixed drink consisting of scotch and soda/sparkling water. Note there is no fixed ratio of the ingredients and there can be served with or without ice.", + "github": "codekendo", + "ingredients": [ + { + "quantity": "1", + "measure": "part", + "ingredient": "Scotch" + }, + { + "quantity": "2", + "measure": "part", + "ingredient": "soda" + } + + ], + "directions": [ + "Pour 2 parts of soda and 1 part scotch into a tumbler.", + "Add Ice (optional)." + ], + "image": "scotch-soda.jpg", + "source": "https://en.wikipedia.org/wiki/Scotch_and_soda_(cocktail)", + "keywords": [ + "scotch", + "soda" + ] } \ No newline at end of file diff --git a/src/recipes/screwdriver.json b/src/recipes/screwdriver.json index 46e4cfb9a..9a7dbc517 100644 --- a/src/recipes/screwdriver.json +++ b/src/recipes/screwdriver.json @@ -1,37 +1,37 @@ -{ - "name": "Screwdriver", - "description": "A screwdriver is a popular alcoholic highball drink. The drink has many variations which have different names in different parts of the world.", - "github": "LucasG04", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "5", - "measure": "oz", - "ingredient": "orange juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "slice orange" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Fill a long drink glass with ice cubes.", - "Add all ingredients.", - "garnish with orange." - ], - "image": "screwdriver.jpg", - "keywords": [ - "orange juice", - "vodka" - ] +{ + "name": "Screwdriver", + "description": "A screwdriver is a popular alcoholic highball drink. The drink has many variations which have different names in different parts of the world.", + "github": "LucasG04", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "5", + "measure": "oz", + "ingredient": "orange juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "slice orange" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Fill a long drink glass with ice cubes.", + "Add all ingredients.", + "garnish with orange." + ], + "image": "screwdriver.jpg", + "keywords": [ + "orange juice", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/sea-breeze.json b/src/recipes/sea-breeze.json index 47ec681fb..2dd4bfaf8 100644 --- a/src/recipes/sea-breeze.json +++ b/src/recipes/sea-breeze.json @@ -1,43 +1,43 @@ -{ - "name": "Sea Breeze", - "description": "A light and fruity drink for hot days.", - "github": "AjaxIronside", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Cranberry Juice" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Grapefruit Juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lime wedge" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - } - ], - "directions": [ - "Fill high ball glass with ice.", - "Stir together juices and vodka.", - "Garnish with lime." - ], - "image": "sea-breeze.jpg", - "source": "https://www.liquor.com/recipes/sea-breeze/#gs.7m86tk", - "keywords": [ - "juice", - "vodka" - ] -} +{ + "name": "Sea Breeze", + "description": "A light and fruity drink for hot days.", + "github": "AjaxIronside", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Cranberry Juice" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Grapefruit Juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lime wedge" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + } + ], + "directions": [ + "Fill high ball glass with ice.", + "Stir together juices and vodka.", + "Garnish with lime." + ], + "image": "sea-breeze.jpg", + "source": "https://www.liquor.com/recipes/sea-breeze/#gs.7m86tk", + "keywords": [ + "juice", + "vodka" + ] +} diff --git a/src/recipes/selendang-mayang.json b/src/recipes/selendang-mayang.json index d71569a82..6a09bcdb5 100644 --- a/src/recipes/selendang-mayang.json +++ b/src/recipes/selendang-mayang.json @@ -1,53 +1,53 @@ -{ - "name" : "Es Selendang Mayang", - "description" : "Es Selendang Mayang is traditional drink from Jakarta or especially Betawi.", - "github" : "isnaini279", - "ingredients" : [ - { - "quantity": "45", - "measure": "gram", - "ingredient": "hunkwee flour" - }, - { - "quantity": "3", - "measure": "tablespoon", - "ingredient": "rice flour" - }, - { - "quantity": "450", - "measure": "milliliters", - "ingredient": "water" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "green pasta" - }, - { - "quantity": "65", - "measure": "milliliters", - "ingredient": "coconut milk" - }, - { - "quantity": "0,25", - "measure": "teaspoon", - "ingredient": "salt" - } - ], - "directions": [ - "Mix together all the flour and water ingredients.", - "Split evenly into three parts and add color paste.", - "Cook the white color first until you clot and change color. Remove and then put in a row / mold", - "The second one cooks again the green mixture and does the same thing as the first pan. Then put d over the first batter.", - "Comb brown sugar, Cook all the sugar sauce ingredients until thickened. Then put d glass. Set aside.", - "Place the ice cubes in a serving bowl.", - "Cut the box stretching the mayang shawl and put it on ice cubes, then flush it with coconut milk and sugar broth. Serve." - ], - "image": "selendang-mayang.jpg", - "source" : "https://cookpad.com/id/resep/10894690-es-selendang-mayang?via=search&search_term=es%20selendang%20mayang", - "keywords": [ - "coconut milk", - "traditional", - "non-alcoholic" - ] +{ + "name" : "Es Selendang Mayang", + "description" : "Es Selendang Mayang is traditional drink from Jakarta or especially Betawi.", + "github" : "isnaini279", + "ingredients" : [ + { + "quantity": "45", + "measure": "gram", + "ingredient": "hunkwee flour" + }, + { + "quantity": "3", + "measure": "tablespoon", + "ingredient": "rice flour" + }, + { + "quantity": "450", + "measure": "milliliters", + "ingredient": "water" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "green pasta" + }, + { + "quantity": "65", + "measure": "milliliters", + "ingredient": "coconut milk" + }, + { + "quantity": "0,25", + "measure": "teaspoon", + "ingredient": "salt" + } + ], + "directions": [ + "Mix together all the flour and water ingredients.", + "Split evenly into three parts and add color paste.", + "Cook the white color first until you clot and change color. Remove and then put in a row / mold", + "The second one cooks again the green mixture and does the same thing as the first pan. Then put d over the first batter.", + "Comb brown sugar, Cook all the sugar sauce ingredients until thickened. Then put d glass. Set aside.", + "Place the ice cubes in a serving bowl.", + "Cut the box stretching the mayang shawl and put it on ice cubes, then flush it with coconut milk and sugar broth. Serve." + ], + "image": "selendang-mayang.jpg", + "source" : "https://cookpad.com/id/resep/10894690-es-selendang-mayang?via=search&search_term=es%20selendang%20mayang", + "keywords": [ + "coconut milk", + "traditional", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/sergeant-pepper.json b/src/recipes/sergeant-pepper.json index 300830cb1..1c0a46d50 100644 --- a/src/recipes/sergeant-pepper.json +++ b/src/recipes/sergeant-pepper.json @@ -1,74 +1,74 @@ -{ - "name": "Sergeant Pepper", - "description": "Usually Pineapple drinks are monotonous, sweet and simple, but then comes Sergeant Pepper. A unique fusion of Indian Spices and Pineapple, Sergeant Pepper is mellow and tart. A touch of Almond makes drink unique, creamy and savory.", - "github": "vybhav72954", - "ingredients": [ - { - "quantity": "4", - "measure": "oz", - "ingredient": "Dry and Bold Gin (Calyx)" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Pineapple Juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Almond Orgeat" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lime Juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Cumin-Pepper Syrup (See Below)" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Cumin Seeds" - }, - { - "quantity": "1.5", - "measure": "cup", - "ingredient": "Water" - }, - { - "quantity": "1.5", - "measure": "cup", - "ingredient": "Sugar" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Black Pepper" - }, - { - "quantity": "2", - "measure": "cubes", - "ingredient": "Ice" - } - ], - "directions": [ - "The Ingredients are for 2 servings of Sergeant Pepper.", - "Toast cumin seeds on a Saucepan until they just begin to darken.", - "Add water, sugar, and black pepper, regularly stir to dissolve sugar.", - "Simmer for 15 minutes, strain, and let cool, This is the Cumin-Pepper Syrup.", - "Add Pineapple Juice, Orgeat, Lime Juice, Cumin-Pepper Syrup, Gin and some extra pepper according to taste.", - "Add Ice Cubes, Shake well.", - "Strain and Serve immediately." - ], - "image": "sergeant-pepper.jpg", - "keywords": [ - "gin", - "pineapple", - "mellow", - "cumin", - "cocktail" - ] -} +{ + "name": "Sergeant Pepper", + "description": "Usually Pineapple drinks are monotonous, sweet and simple, but then comes Sergeant Pepper. A unique fusion of Indian Spices and Pineapple, Sergeant Pepper is mellow and tart. A touch of Almond makes drink unique, creamy and savory.", + "github": "vybhav72954", + "ingredients": [ + { + "quantity": "4", + "measure": "oz", + "ingredient": "Dry and Bold Gin (Calyx)" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Pineapple Juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Almond Orgeat" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lime Juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Cumin-Pepper Syrup (See Below)" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Cumin Seeds" + }, + { + "quantity": "1.5", + "measure": "cup", + "ingredient": "Water" + }, + { + "quantity": "1.5", + "measure": "cup", + "ingredient": "Sugar" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Black Pepper" + }, + { + "quantity": "2", + "measure": "cubes", + "ingredient": "Ice" + } + ], + "directions": [ + "The Ingredients are for 2 servings of Sergeant Pepper.", + "Toast cumin seeds on a Saucepan until they just begin to darken.", + "Add water, sugar, and black pepper, regularly stir to dissolve sugar.", + "Simmer for 15 minutes, strain, and let cool, This is the Cumin-Pepper Syrup.", + "Add Pineapple Juice, Orgeat, Lime Juice, Cumin-Pepper Syrup, Gin and some extra pepper according to taste.", + "Add Ice Cubes, Shake well.", + "Strain and Serve immediately." + ], + "image": "sergeant-pepper.jpg", + "keywords": [ + "gin", + "pineapple", + "mellow", + "cumin", + "cocktail" + ] +} diff --git a/src/recipes/serviceberry-sour.json b/src/recipes/serviceberry-sour.json index dece46982..019a04193 100644 --- a/src/recipes/serviceberry-sour.json +++ b/src/recipes/serviceberry-sour.json @@ -1,45 +1,45 @@ -{ - "name": "Serviceberry Sour", - "description": "Also known as a \"Saskatoon Berry Sour\", this sweet whiskey sour is perfect to beat the summer heat.", - "github": "Assisting", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Whiskey" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Serviceberry syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "meringue foam" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "serviceberries" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lemon slice (optional)" - } - ], - "directions": [ - "Shake whiskey and serviceberry syrup with ice and pour into an old fashioned glass.", - "Add serviceberries.", - "Spoon over meringue foam.", - "Garnish with lemon wedge or berries and serve." - ], - "image": "serviceberry-sour.jpg", - "keywords": [ - "whiskey", - "Canada", - "egg", - "alcoholic" - ] +{ + "name": "Serviceberry Sour", + "description": "Also known as a \"Saskatoon Berry Sour\", this sweet whiskey sour is perfect to beat the summer heat.", + "github": "Assisting", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Whiskey" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Serviceberry syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "meringue foam" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "serviceberries" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lemon slice (optional)" + } + ], + "directions": [ + "Shake whiskey and serviceberry syrup with ice and pour into an old fashioned glass.", + "Add serviceberries.", + "Spoon over meringue foam.", + "Garnish with lemon wedge or berries and serve." + ], + "image": "serviceberry-sour.jpg", + "keywords": [ + "whiskey", + "Canada", + "egg", + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/seven-devils.json b/src/recipes/seven-devils.json index 13bff23f7..31d117f50 100644 --- a/src/recipes/seven-devils.json +++ b/src/recipes/seven-devils.json @@ -1,35 +1,35 @@ -{ - "name": "Seven Devils", - "description": "A sweet and bubbly non-alcoholic drink for the malevolent participant. Cherries are consumed last to ensure total carbonation absorption.", - "github": "mookman288", - "ingredients": [ - { - "quantity": "7", - "measure": "oz", - "ingredient": "Pure Sugar 7 Up" - }, - { - "quantity": "0.7", - "measure": "oz", - "ingredient": "Grenadine" - }, - { - "quantity": "7", - "measure": "pitted", - "ingredient": "Maraschino Cherry" - } - ], - "directions": [ - "Place pitted maraschino cherries in the base of a heavy bottomed glass.", - "Pour grenadine directly onto the cherries until exhausted.", - "Pour 7-Up slowly into the direct center of the cherries until exhausted." - ], - "image": "seven-devils.jpg", - "keywords": [ - "non-alcoholic", - "virgin", - "7 Up", - "cherry", - "grenadine" - ] -} +{ + "name": "Seven Devils", + "description": "A sweet and bubbly non-alcoholic drink for the malevolent participant. Cherries are consumed last to ensure total carbonation absorption.", + "github": "mookman288", + "ingredients": [ + { + "quantity": "7", + "measure": "oz", + "ingredient": "Pure Sugar 7 Up" + }, + { + "quantity": "0.7", + "measure": "oz", + "ingredient": "Grenadine" + }, + { + "quantity": "7", + "measure": "pitted", + "ingredient": "Maraschino Cherry" + } + ], + "directions": [ + "Place pitted maraschino cherries in the base of a heavy bottomed glass.", + "Pour grenadine directly onto the cherries until exhausted.", + "Pour 7-Up slowly into the direct center of the cherries until exhausted." + ], + "image": "seven-devils.jpg", + "keywords": [ + "non-alcoholic", + "virgin", + "7 Up", + "cherry", + "grenadine" + ] +} diff --git a/src/recipes/sex-in-the-driveway.json b/src/recipes/sex-in-the-driveway.json index 412aa6f93..1e17cdb03 100644 --- a/src/recipes/sex-in-the-driveway.json +++ b/src/recipes/sex-in-the-driveway.json @@ -1,45 +1,45 @@ -{ - "name": "Sex in the Driveway", - "description": "Sweeter variation of Sex on the Beach thats blue in colour.", - "github": "FlatText", - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "Peach Shnapps" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Blue Curacao" - }, - { - "quantity": "60", - "measure": "ml", - "ingredient": "Vodka or White Rum" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "lemon" - }, - { - "quantity": "60", - "measure": "ml", - "ingredient": "Sprite" - } - ], - "directions": [ - "Put crushed ice in a highball glass.", - "Pour in the ingredients, in order, ending by topping it off with Sprite.", - "Stir and serve with a straw.", - "Garnish with a lemon wheel." - ], - "image": "sex-in-the-driveway.jpg", - "keywords": [ - "vodka", - "blue", - "sweet", - "rum" - ] -} +{ + "name": "Sex in the Driveway", + "description": "Sweeter variation of Sex on the Beach thats blue in colour.", + "github": "FlatText", + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "Peach Shnapps" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Blue Curacao" + }, + { + "quantity": "60", + "measure": "ml", + "ingredient": "Vodka or White Rum" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "lemon" + }, + { + "quantity": "60", + "measure": "ml", + "ingredient": "Sprite" + } + ], + "directions": [ + "Put crushed ice in a highball glass.", + "Pour in the ingredients, in order, ending by topping it off with Sprite.", + "Stir and serve with a straw.", + "Garnish with a lemon wheel." + ], + "image": "sex-in-the-driveway.jpg", + "keywords": [ + "vodka", + "blue", + "sweet", + "rum" + ] +} diff --git a/src/recipes/sex-on-the-beach.json b/src/recipes/sex-on-the-beach.json index 8a70fde24..4ae8c01c1 100644 --- a/src/recipes/sex-on-the-beach.json +++ b/src/recipes/sex-on-the-beach.json @@ -1,46 +1,46 @@ -{ - "name": "Sex on the beach", - "description": "In the name of a cocktail, beach is equivalent to cranberry juice. It was created by the T.G.I. Friday's.", - "github": "joshuamart", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "melon syrup" - }, - { - "quantity": "0.5", - "measure": "oz", - "ingredient": "chambord" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "pineapple juice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "cranberry juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Make the recipe in a mixing glass. Pour the alcohols over ice cubes, mix and complete with the fruit juices.", - "Serve in a tulip glass with a piece of pineapple and a candied cherry." - ], - "image": "sex-on-the-beach.jpg", - "keywords": [ - "vodka", - "juice" - ] -} +{ + "name": "Sex on the beach", + "description": "In the name of a cocktail, beach is equivalent to cranberry juice. It was created by the T.G.I. Friday's.", + "github": "joshuamart", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "melon syrup" + }, + { + "quantity": "0.5", + "measure": "oz", + "ingredient": "chambord" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "pineapple juice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "cranberry juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Make the recipe in a mixing glass. Pour the alcohols over ice cubes, mix and complete with the fruit juices.", + "Serve in a tulip glass with a piece of pineapple and a candied cherry." + ], + "image": "sex-on-the-beach.jpg", + "keywords": [ + "vodka", + "juice" + ] +} diff --git a/src/recipes/sgroppino.json b/src/recipes/sgroppino.json index 58792f97e..095f944be 100644 --- a/src/recipes/sgroppino.json +++ b/src/recipes/sgroppino.json @@ -1,36 +1,36 @@ -{ - "name": "Sgroppino", - "description": "The Sgroppino al Limone is a Lemon Sorbet Cocktail. Tart, citrusy, simple yet tasty.", - "github": "Guberlo", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Prosecco" - }, - { - "quantity": "1", - "measure": "scoop", - "ingredient": "Lemon Sorbet" - } - ], - "directions": [ - "Pour the spirits in a champagne glass.", - "Put the lemon sorbet scoop inside the glass.", - "Put the glass in the freezer for 3-5 minutes.", - "Drink and enjoy it." - ], - "image": "sgroppino.jpg", - "keywords": [ - "vodka", - "prosecco", - "alcoholic", - "vegan", - "lemon" - ] +{ + "name": "Sgroppino", + "description": "The Sgroppino al Limone is a Lemon Sorbet Cocktail. Tart, citrusy, simple yet tasty.", + "github": "Guberlo", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Prosecco" + }, + { + "quantity": "1", + "measure": "scoop", + "ingredient": "Lemon Sorbet" + } + ], + "directions": [ + "Pour the spirits in a champagne glass.", + "Put the lemon sorbet scoop inside the glass.", + "Put the glass in the freezer for 3-5 minutes.", + "Drink and enjoy it." + ], + "image": "sgroppino.jpg", + "keywords": [ + "vodka", + "prosecco", + "alcoholic", + "vegan", + "lemon" + ] } \ No newline at end of file diff --git a/src/recipes/shandy.json b/src/recipes/shandy.json index 547f20050..8e2992dd3 100644 --- a/src/recipes/shandy.json +++ b/src/recipes/shandy.json @@ -1,31 +1,31 @@ -{ - "name": "Shandy", - "description": "This makes for a luscious beer with a hint of lemonade.", - "github": "alanpaulprice", - "ingredients": [ - { - "quantity": "12", - "measure": "oz", - "ingredient": "Lager-style beer" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Prepared lemonade" - } - ], - "directions": [ - "Pour the beer into a pint glass.", - "Slowly add the lemonade.", - "Stir gently." - ], - "image": "shandy.jpg", - "source": "https://www.allrecipes.com/recipe/149943/shandy/", - "keywords": [ - "alcoholic", - "beer", - "lager", - "lemonade", - "cold" - ] -} +{ + "name": "Shandy", + "description": "This makes for a luscious beer with a hint of lemonade.", + "github": "alanpaulprice", + "ingredients": [ + { + "quantity": "12", + "measure": "oz", + "ingredient": "Lager-style beer" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Prepared lemonade" + } + ], + "directions": [ + "Pour the beer into a pint glass.", + "Slowly add the lemonade.", + "Stir gently." + ], + "image": "shandy.jpg", + "source": "https://www.allrecipes.com/recipe/149943/shandy/", + "keywords": [ + "alcoholic", + "beer", + "lager", + "lemonade", + "cold" + ] +} diff --git a/src/recipes/shembot.json b/src/recipes/shembot.json index f3f9d6802..c469e8071 100644 --- a/src/recipes/shembot.json +++ b/src/recipes/shembot.json @@ -1,43 +1,43 @@ -{ - "name": "Shembot", - "description": "Shembot a Filipino Legacy drink of all time Filipino favorite low budget drink for small time occasion or parties.", - "github": "joamarderije", - "ingredients": [ - { - "quantity": "350", - "measure": "ml", - "ingredient": "Ginebra Gin Round" - }, - { - "quantity": "1", - "measure": "25g/pack", - "ingredient": "Any Brand of Melon Juice" - }, - { - "quantity": "1", - "measure": "25g/pack", - "ingredient": "Any Brand of Brown Coffee" - }, - { - "quantity": "1", - "measure": "pack", - "ingredient": "Ice Cube" - } - ], - "directions": [ - "Get a pitcher filled with water(3/4 cups).", - "Pour the Gin into the pitcher together with the melon juice and nescafe.", - "Light the bottle using a match or a lighter and subside bottle in the pitcher.", - "Serve it with ice ;)" - ], - "image": "shembot.jpg", - "keywords": [ - "melon", - "gin", - "coffee", - "filipino", - "classic", - "ice", - "low budget" - ] -} +{ + "name": "Shembot", + "description": "Shembot a Filipino Legacy drink of all time Filipino favorite low budget drink for small time occasion or parties.", + "github": "joamarderije", + "ingredients": [ + { + "quantity": "350", + "measure": "ml", + "ingredient": "Ginebra Gin Round" + }, + { + "quantity": "1", + "measure": "25g/pack", + "ingredient": "Any Brand of Melon Juice" + }, + { + "quantity": "1", + "measure": "25g/pack", + "ingredient": "Any Brand of Brown Coffee" + }, + { + "quantity": "1", + "measure": "pack", + "ingredient": "Ice Cube" + } + ], + "directions": [ + "Get a pitcher filled with water(3/4 cups).", + "Pour the Gin into the pitcher together with the melon juice and nescafe.", + "Light the bottle using a match or a lighter and subside bottle in the pitcher.", + "Serve it with ice ;)" + ], + "image": "shembot.jpg", + "keywords": [ + "melon", + "gin", + "coffee", + "filipino", + "classic", + "ice", + "low budget" + ] +} diff --git a/src/recipes/shikanji.json b/src/recipes/shikanji.json index 08c9b1651..37e81a086 100644 --- a/src/recipes/shikanji.json +++ b/src/recipes/shikanji.json @@ -1,82 +1,82 @@ -{ - "name": "Shikanji", - "description": "Shikanji or Shikanjvi is an Indian summer drink. This magical drink is a lemon infused drink with some spices, topped with soda or water.", - "github": "deekshalala", - - "ingredients": [ - { - "quantity": "5", - "measure": "leaves", - "ingredient": "mint leaves" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "lemon juice" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "black salt" - }, - { - "quantity": "2", - "measure": "glass", - "ingredient": "chilled water/soda" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "cumin seeds" - }, - { - "quantity": "as required", - "measure": "", - "ingredient": "ice cubes" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "coriander seeds" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "chat masala" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "powdered sugar" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "black peppercorns" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "salt" - } - ], - "directions": [ - "Roast cumin seeds, black peppercorns and coriander seeds until very slightly browned.", - "Add them in a grinder along with chat masala, black salt and salt and grind to make a fine powder.", - "Add lemon juice in 2 glasses.", - "Add powdered sugar and mix until sugar dissolves in the lemon juice.", - "Add the grounded powder, mint leaves and ice cubes in the glasses.", - "Top the glasses with chilled water or soda." - ], - "image": "shikanji.jpg", - "source": "https://www.whiskaffair.com/shikanji-recipe/", - "keywords": [ - "summer", - "Indian", - "non-alcoholic", - "lemon", - "salt", - "water" - ] - -} +{ + "name": "Shikanji", + "description": "Shikanji or Shikanjvi is an Indian summer drink. This magical drink is a lemon infused drink with some spices, topped with soda or water.", + "github": "deekshalala", + + "ingredients": [ + { + "quantity": "5", + "measure": "leaves", + "ingredient": "mint leaves" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "lemon juice" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "black salt" + }, + { + "quantity": "2", + "measure": "glass", + "ingredient": "chilled water/soda" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "cumin seeds" + }, + { + "quantity": "as required", + "measure": "", + "ingredient": "ice cubes" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "coriander seeds" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "chat masala" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "powdered sugar" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "black peppercorns" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "salt" + } + ], + "directions": [ + "Roast cumin seeds, black peppercorns and coriander seeds until very slightly browned.", + "Add them in a grinder along with chat masala, black salt and salt and grind to make a fine powder.", + "Add lemon juice in 2 glasses.", + "Add powdered sugar and mix until sugar dissolves in the lemon juice.", + "Add the grounded powder, mint leaves and ice cubes in the glasses.", + "Top the glasses with chilled water or soda." + ], + "image": "shikanji.jpg", + "source": "https://www.whiskaffair.com/shikanji-recipe/", + "keywords": [ + "summer", + "Indian", + "non-alcoholic", + "lemon", + "salt", + "water" + ] + +} diff --git a/src/recipes/shirley-temple.json b/src/recipes/shirley-temple.json index 011fee894..6c416387a 100644 --- a/src/recipes/shirley-temple.json +++ b/src/recipes/shirley-temple.json @@ -1,42 +1,42 @@ -{ - "name": "Shirley Temple", - "description": "Simple and popular non-alcoholic drink.", - "github": "kcusaac", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Ginger Ale" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Lemonade (optional)" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Grenadine" - }, - { - "quantity": "½", - "measure": "cup", - "ingredient": "Maracschino Cherry (garnish)" - }, - { - "quantity": "3⅓", - "measure": "oz", - "ingredient": "Ice" - } - ], - "directions": [ - "Fill collins glass with ice cubes.", - "Add ginger ale and lemonase, or just 4 oz ginger ale.", - "Add a dash of grenadine.", - "Stir well and garnish with a maraschino cherry." - ], - "image": "shirley-temple.jpg", - "keywords": [ - "non-alcoholic" - ] +{ + "name": "Shirley Temple", + "description": "Simple and popular non-alcoholic drink.", + "github": "kcusaac", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Ginger Ale" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Lemonade (optional)" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Grenadine" + }, + { + "quantity": "½", + "measure": "cup", + "ingredient": "Maracschino Cherry (garnish)" + }, + { + "quantity": "3⅓", + "measure": "oz", + "ingredient": "Ice" + } + ], + "directions": [ + "Fill collins glass with ice cubes.", + "Add ginger ale and lemonase, or just 4 oz ginger ale.", + "Add a dash of grenadine.", + "Stir well and garnish with a maraschino cherry." + ], + "image": "shirley-temple.jpg", + "keywords": [ + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/sidecar.json b/src/recipes/sidecar.json index 68063305a..66e11b4b1 100644 --- a/src/recipes/sidecar.json +++ b/src/recipes/sidecar.json @@ -1,45 +1,45 @@ -{ - "name": "Sidecar", - "description": "A perfect introduction to what a truly great sour drink can be.", - "github": "maenad", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "cognac" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Cointreau orange liqueur" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "lemon juice" - }, - { - "quantity": "Garnish:", - "measure": "", - "ingredient": "lemon twist/orange twist" - }, - { - "quantity": "Garnish:", - "measure": "", - "ingredient": "granulated sugar" - } - ], - "directions": [ - "Pour the ingredients into a cocktail shaker with ice cubes.", - "Shake well.", - "Wet rim of the glass and cover it with sugar,", - "Pour drink into glass", - "Garnish with a lemon twist.", - "Serve." - ], - "image": "sidecar.jpg", - "source": "https://www.thespruceeats.com/classic-sidecar-cocktail-recipe-760601", - "keywords": [ - "cocktail", "sour", "american", "bourbon", "cognac" - ] +{ + "name": "Sidecar", + "description": "A perfect introduction to what a truly great sour drink can be.", + "github": "maenad", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "cognac" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Cointreau orange liqueur" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "lemon juice" + }, + { + "quantity": "Garnish:", + "measure": "", + "ingredient": "lemon twist/orange twist" + }, + { + "quantity": "Garnish:", + "measure": "", + "ingredient": "granulated sugar" + } + ], + "directions": [ + "Pour the ingredients into a cocktail shaker with ice cubes.", + "Shake well.", + "Wet rim of the glass and cover it with sugar,", + "Pour drink into glass", + "Garnish with a lemon twist.", + "Serve." + ], + "image": "sidecar.jpg", + "source": "https://www.thespruceeats.com/classic-sidecar-cocktail-recipe-760601", + "keywords": [ + "cocktail", "sour", "american", "bourbon", "cognac" + ] } \ No newline at end of file diff --git a/src/recipes/singapore-sling.json b/src/recipes/singapore-sling.json index 3daea77c2..10221db0a 100644 --- a/src/recipes/singapore-sling.json +++ b/src/recipes/singapore-sling.json @@ -1,58 +1,58 @@ -{ - "name": "Singapore Sling", - "description": "A fresh blend that pays homage to the shores of this East Asian country.", - "github": "JoshuaMart", - "ingredients": [ - { - "quantity": "4", - "measure": "cl", - "ingredient": "Gin" - }, - { - "quantity": "2", - "measure": "cl", - "ingredient": "Cherry liquor" - }, - { - "quantity": "1", - "measure": "cl", - "ingredient": "Grenadine syrup" - }, - { - "quantity": "1/2", - "measure": "cl", - "ingredient": "Triple sec (cointreau)" - }, - { - "quantity": "3", - "measure": "cl", - "ingredient": "Lemon juice" - }, - { - "quantity": "8", - "measure": "cl", - "ingredient": "Pineapple juice" - }, - { - "quantity": "1/2", - "measure": "cl", - "ingredient": "Bénédectine" - }, - { - "quantity": "1", - "measure": "line", - "ingredient": "Angostura bitters" - } - ], - "directions": [ - "Squeeze half a lime over the ice cubes and discard it. Add the ingredients. Stir and complete with sparkling water.", - "Serve in a tumbler type glass.", - "Decorate with a slice of pineapple and a candied cherry. " - ], - "image": "singapore-sling.jpg", - "keywords": [ - "gin", - "fresh", - "East Asia" - ] -} +{ + "name": "Singapore Sling", + "description": "A fresh blend that pays homage to the shores of this East Asian country.", + "github": "JoshuaMart", + "ingredients": [ + { + "quantity": "4", + "measure": "cl", + "ingredient": "Gin" + }, + { + "quantity": "2", + "measure": "cl", + "ingredient": "Cherry liquor" + }, + { + "quantity": "1", + "measure": "cl", + "ingredient": "Grenadine syrup" + }, + { + "quantity": "1/2", + "measure": "cl", + "ingredient": "Triple sec (cointreau)" + }, + { + "quantity": "3", + "measure": "cl", + "ingredient": "Lemon juice" + }, + { + "quantity": "8", + "measure": "cl", + "ingredient": "Pineapple juice" + }, + { + "quantity": "1/2", + "measure": "cl", + "ingredient": "Bénédectine" + }, + { + "quantity": "1", + "measure": "line", + "ingredient": "Angostura bitters" + } + ], + "directions": [ + "Squeeze half a lime over the ice cubes and discard it. Add the ingredients. Stir and complete with sparkling water.", + "Serve in a tumbler type glass.", + "Decorate with a slice of pineapple and a candied cherry. " + ], + "image": "singapore-sling.jpg", + "keywords": [ + "gin", + "fresh", + "East Asia" + ] +} diff --git a/src/recipes/skeleton-key-cocktail.json b/src/recipes/skeleton-key-cocktail.json index 49f7c3f8e..007e4e42b 100644 --- a/src/recipes/skeleton-key-cocktail.json +++ b/src/recipes/skeleton-key-cocktail.json @@ -1,47 +1,47 @@ -{ - "name": "Skeleton Key Cocktail", - "description": "The ideal blend of bourbon, elderflower, and ginger beer! A spooky drink for Halloween.", - "github": "destryptor", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Bourbon" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "St. Germain elderflower liqueur" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Lemon juice" - }, - { - "quantity": "3-5", - "measure": "oz", - "ingredient": "Ginger beer" - }, - { - "quantity": "6-8", - "measure": "dashes", - "ingredient": "Angostura bitters" - } - ], - "directions": [ - "Fill a highball glass with ice (or clear ice). Pour in the bourbon, St Germain, and lemon juice.", - "Top with the ginger beer.", - "Shake in 6 to 8 dashes Angostura bitters. Serve immediately." - ], - "image": "skeleton-key-cocktail.jpg", - "source": "https://www.acouplecooks.com/skeleton-key-cocktail/", - "keywords": [ - "cocktail", - "elderflower", - "lemon", - "bourbon", - "ginger", - "angostura" - ] -} +{ + "name": "Skeleton Key Cocktail", + "description": "The ideal blend of bourbon, elderflower, and ginger beer! A spooky drink for Halloween.", + "github": "destryptor", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Bourbon" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "St. Germain elderflower liqueur" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Lemon juice" + }, + { + "quantity": "3-5", + "measure": "oz", + "ingredient": "Ginger beer" + }, + { + "quantity": "6-8", + "measure": "dashes", + "ingredient": "Angostura bitters" + } + ], + "directions": [ + "Fill a highball glass with ice (or clear ice). Pour in the bourbon, St Germain, and lemon juice.", + "Top with the ginger beer.", + "Shake in 6 to 8 dashes Angostura bitters. Serve immediately." + ], + "image": "skeleton-key-cocktail.jpg", + "source": "https://www.acouplecooks.com/skeleton-key-cocktail/", + "keywords": [ + "cocktail", + "elderflower", + "lemon", + "bourbon", + "ginger", + "angostura" + ] +} diff --git a/src/recipes/smirnoff-black-russian.json b/src/recipes/smirnoff-black-russian.json index 4a5437186..4425f862b 100644 --- a/src/recipes/smirnoff-black-russian.json +++ b/src/recipes/smirnoff-black-russian.json @@ -1,32 +1,32 @@ -{ - "name": "Smirnoff Black Russian", - "description": "Mixing the purity of Smirnoff No. 21 Vodka, and the colour of dark coffee liqueur, this combination of just two ingredients delivers a drink with flavour and great looks.", - "github": "cedrvanh", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Smirnoff No. 21® Vodka" - }, - { - "quantity": "25", - "measure": "ml", - "ingredient": "Baileys® Coffee Irish Cream Liqueur" - }, - { - "quantity": "2.3", - "measure": "units", - "ingredient": "of alcohol per serve" - } - ], - "directions": [ - "Fill a glass with ice.", - "Pour Smirnoff No. 21 Vodka and Baileys Coffee Irish Cream Liqueur into the glass.", - "Enjoy your drink." - ], - "image": "smirnoff-black-russian.jpg", - "keywords": [ - "coffee", - "vodka" - ] +{ + "name": "Smirnoff Black Russian", + "description": "Mixing the purity of Smirnoff No. 21 Vodka, and the colour of dark coffee liqueur, this combination of just two ingredients delivers a drink with flavour and great looks.", + "github": "cedrvanh", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Smirnoff No. 21® Vodka" + }, + { + "quantity": "25", + "measure": "ml", + "ingredient": "Baileys® Coffee Irish Cream Liqueur" + }, + { + "quantity": "2.3", + "measure": "units", + "ingredient": "of alcohol per serve" + } + ], + "directions": [ + "Fill a glass with ice.", + "Pour Smirnoff No. 21 Vodka and Baileys Coffee Irish Cream Liqueur into the glass.", + "Enjoy your drink." + ], + "image": "smirnoff-black-russian.jpg", + "keywords": [ + "coffee", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/snake-bite.json b/src/recipes/snake-bite.json index 7569869e1..8c736a16e 100644 --- a/src/recipes/snake-bite.json +++ b/src/recipes/snake-bite.json @@ -1,37 +1,37 @@ -{ - "name": "Snake Bite", - "description": "A snakebite is an alcoholic drink from the UK, a refreshing addition on the average Stout.", - "github": "M-McCallum", - "ingredients": [ - { - "quantity": "7", - "measure": "oz", - "ingredient": "Hard Cider" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "Your choice of Stout or Lager" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Black Currant Syrup" - } - ], - "directions": [ - "Pour the hard cider into a tall pint glass.", - "Slowly add the stout or lager of choice.", - "If done correctly, there should be a separation between the stout and cider.", - "Add currant syrup and serve without a garnish. Enjoy." - ], - "image": "snake-bite.jpg", - "keywords": [ - "sweet", - "sour", - "savory", - "apple", - "beer", - "fall" - ] -} +{ + "name": "Snake Bite", + "description": "A snakebite is an alcoholic drink from the UK, a refreshing addition on the average Stout.", + "github": "M-McCallum", + "ingredients": [ + { + "quantity": "7", + "measure": "oz", + "ingredient": "Hard Cider" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "Your choice of Stout or Lager" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Black Currant Syrup" + } + ], + "directions": [ + "Pour the hard cider into a tall pint glass.", + "Slowly add the stout or lager of choice.", + "If done correctly, there should be a separation between the stout and cider.", + "Add currant syrup and serve without a garnish. Enjoy." + ], + "image": "snake-bite.jpg", + "keywords": [ + "sweet", + "sour", + "savory", + "apple", + "beer", + "fall" + ] +} diff --git a/src/recipes/snowball-cocktail.json b/src/recipes/snowball-cocktail.json index bc74f35ea..86195d7ef 100644 --- a/src/recipes/snowball-cocktail.json +++ b/src/recipes/snowball-cocktail.json @@ -1,43 +1,43 @@ -{ - "name": "Snowball", - "description": "A Snowball is a mixture of Advocaat and a carbonated lemonade in approximately equal parts. It may have other ingredients, to taste.", - "github": "geekquad", - "ingredients": [ - { - "quantity": "1", - "measure": "cherry", - "ingredient": "maraschino" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "advocaat" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "sparkling lemonade" - }, - { - "quantity": "1", - "measure": "bottle", - "ingredient": "club soda" - } - ], - "directions": [ - "Pour lemonade and lime juice into an ice-filled tall glass.", - "Add advocaat which will mostly sink through other ingredients.", - "lightly stir to integrate while retaining the lemonade's carbonation.", - "Fill up with ice and then add the rum.", - "Enjoy" - ], - "image": "snowball-cocktail.jpg", - "source": "https://www.diffordsguide.com/cocktails/recipe/1841/snowball", - "keywords": [ - "advocaat", - "lime", - "Snowball", - "sugar", - "ice" - ] -} +{ + "name": "Snowball", + "description": "A Snowball is a mixture of Advocaat and a carbonated lemonade in approximately equal parts. It may have other ingredients, to taste.", + "github": "geekquad", + "ingredients": [ + { + "quantity": "1", + "measure": "cherry", + "ingredient": "maraschino" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "advocaat" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "sparkling lemonade" + }, + { + "quantity": "1", + "measure": "bottle", + "ingredient": "club soda" + } + ], + "directions": [ + "Pour lemonade and lime juice into an ice-filled tall glass.", + "Add advocaat which will mostly sink through other ingredients.", + "lightly stir to integrate while retaining the lemonade's carbonation.", + "Fill up with ice and then add the rum.", + "Enjoy" + ], + "image": "snowball-cocktail.jpg", + "source": "https://www.diffordsguide.com/cocktails/recipe/1841/snowball", + "keywords": [ + "advocaat", + "lime", + "Snowball", + "sugar", + "ice" + ] +} diff --git a/src/recipes/soju-sprite-yakult.json b/src/recipes/soju-sprite-yakult.json index d80a7db34..a000ee844 100644 --- a/src/recipes/soju-sprite-yakult.json +++ b/src/recipes/soju-sprite-yakult.json @@ -1,41 +1,41 @@ -{ - "name": "Yakult Soju", - "description": "A smooth, light drink made from Soju, Yakult and Sprite", - "github": "Linh0704", - "ingredients": [ - { - "quantity": "2", - "measure": "bottle", - "ingredient": "Yakult" - }, - { - "quantity": "80", - "measure": "ml", - "ingredient": "Soju (Original)" - }, - { - "quantity": "330", - "measure": "ml", - "ingredient": "Sprite" - }, - { - "quantity": "5-10", - "measure": "cube", - "ingredient": "Ice" - } - - ], - "directions": [ - "To a large glass, fill your cup to the top with ice.", - "Open up 2 small containers of Yakult and add them to your glass of ice.", - "Next, add in 80ml of Soju", - "Top up the drink with Sprite to the top" - ], - "image": "soju-sprite-yakult.png", - "source": "https://www.lynnmumbingmejia.com/sprite-yakult-soju-drink-recipe/", - "keywords": [ - "soju", - "healthy", - "mild" - ] -} +{ + "name": "Yakult Soju", + "description": "A smooth, light drink made from Soju, Yakult and Sprite", + "github": "Linh0704", + "ingredients": [ + { + "quantity": "2", + "measure": "bottle", + "ingredient": "Yakult" + }, + { + "quantity": "80", + "measure": "ml", + "ingredient": "Soju (Original)" + }, + { + "quantity": "330", + "measure": "ml", + "ingredient": "Sprite" + }, + { + "quantity": "5-10", + "measure": "cube", + "ingredient": "Ice" + } + + ], + "directions": [ + "To a large glass, fill your cup to the top with ice.", + "Open up 2 small containers of Yakult and add them to your glass of ice.", + "Next, add in 80ml of Soju", + "Top up the drink with Sprite to the top" + ], + "image": "soju-sprite-yakult.png", + "source": "https://www.lynnmumbingmejia.com/sprite-yakult-soju-drink-recipe/", + "keywords": [ + "soju", + "healthy", + "mild" + ] +} diff --git a/src/recipes/solkadhi.json b/src/recipes/solkadhi.json index 9719e9045..598457944 100644 --- a/src/recipes/solkadhi.json +++ b/src/recipes/solkadhi.json @@ -1,49 +1,49 @@ -{ - "name": "Solkadhi", - "description": "A soothing digestive drink made from kokum fruit and coconut milk.", - "github": "sinisterblade", - "ingredients": [ - { - "quantity": "10", - "measure": "", - "ingredient": "kokum (garcinia indica)" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "grated fresh coconut" - }, - { - "quantity": "0.5", - "measure": "tablespoon", - "ingredient": "garlic and green chilly paste" - }, - { - "quantity": "", - "measure": "", - "ingredient": "salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "chopped coriander leaves" - } - ], - "directions": [ - "Soak kokum in hot water for 30 minutes. Squeeze and strain.", - "Take two cups of grated fresh coconut and blend by adding warm water.", - "Strain it and remove the coconut milk. Keep it aside.", - "Take the coconut milk and add the kokum water to it in a jar or a mixing bowl.", - "Add the garlic and green chilly paste, and salt as required.", - "Mix nicely and keep it in a refrigerator.", - "Garnish with chopped coriander leaves and serve chilled." - ], - "image": "solkadhi.jpg", - "source": "https://www.maharashtrianrecipes.com/sol-kadhi-recipe/", - "keywords": [ - "coconut", - "fruit", - "non-alcoholic", - "healthy" - ] -} +{ + "name": "Solkadhi", + "description": "A soothing digestive drink made from kokum fruit and coconut milk.", + "github": "sinisterblade", + "ingredients": [ + { + "quantity": "10", + "measure": "", + "ingredient": "kokum (garcinia indica)" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "grated fresh coconut" + }, + { + "quantity": "0.5", + "measure": "tablespoon", + "ingredient": "garlic and green chilly paste" + }, + { + "quantity": "", + "measure": "", + "ingredient": "salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "chopped coriander leaves" + } + ], + "directions": [ + "Soak kokum in hot water for 30 minutes. Squeeze and strain.", + "Take two cups of grated fresh coconut and blend by adding warm water.", + "Strain it and remove the coconut milk. Keep it aside.", + "Take the coconut milk and add the kokum water to it in a jar or a mixing bowl.", + "Add the garlic and green chilly paste, and salt as required.", + "Mix nicely and keep it in a refrigerator.", + "Garnish with chopped coriander leaves and serve chilled." + ], + "image": "solkadhi.jpg", + "source": "https://www.maharashtrianrecipes.com/sol-kadhi-recipe/", + "keywords": [ + "coconut", + "fruit", + "non-alcoholic", + "healthy" + ] +} diff --git a/src/recipes/somaek.json b/src/recipes/somaek.json index 285a92a5b..ea4cb08e7 100644 --- a/src/recipes/somaek.json +++ b/src/recipes/somaek.json @@ -1,28 +1,28 @@ -{ - "name": "Somaek", - "description": "A famous mixed cocktail in Korea consisting of beer (maekju,맥주) and soju (소주) mixed together, turning it into Somaek (소맥). It is the most popular drinking trend in South Korea.", - "github": "e-costalmeida", - "ingredients": [ - { - "quantity": "245", - "measure": "ml", - "ingredient": "beer, usually lager style" - }, - { - "quantity": "25", - "measure": "ml", - "ingredient": "korean soju" - } - ], - "directions": [ - "Pour the beer into a large beer cup (usually 490 ml) gently so that no foam is formed.", - "Pour the soju into the shot glass.", - "Drop the shot glass into the beer cup, i.e., shot glass with the soju." - ], - "image": "somaek.jpg", - "keywords": [ - "somaek", - "beer", - "soju" - ] -} +{ + "name": "Somaek", + "description": "A famous mixed cocktail in Korea consisting of beer (maekju,맥주) and soju (소주) mixed together, turning it into Somaek (소맥). It is the most popular drinking trend in South Korea.", + "github": "e-costalmeida", + "ingredients": [ + { + "quantity": "245", + "measure": "ml", + "ingredient": "beer, usually lager style" + }, + { + "quantity": "25", + "measure": "ml", + "ingredient": "korean soju" + } + ], + "directions": [ + "Pour the beer into a large beer cup (usually 490 ml) gently so that no foam is formed.", + "Pour the soju into the shot glass.", + "Drop the shot glass into the beer cup, i.e., shot glass with the soju." + ], + "image": "somaek.jpg", + "keywords": [ + "somaek", + "beer", + "soju" + ] +} diff --git a/src/recipes/sonic-screwdriver.json b/src/recipes/sonic-screwdriver.json index e4a4e39be..fe25b8b03 100644 --- a/src/recipes/sonic-screwdriver.json +++ b/src/recipes/sonic-screwdriver.json @@ -1,37 +1,37 @@ -{ - "name": "Sonic Screwdriver", - "description": "Like a Screwdriver, with a little Timey-Wimey.", - "github": "AjaxIronside", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Blue Curaçao." - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Sprite" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Fill a 12 oz glass halfway with ice.", - "Mix soda and alcohol and pour over ice.", - "Enjoy with your favorite companion." - ], - "image": "sonic-screwdriver.jpg", - "keywords": [ - "vodka", - "soda" - ] -} +{ + "name": "Sonic Screwdriver", + "description": "Like a Screwdriver, with a little Timey-Wimey.", + "github": "AjaxIronside", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Blue Curaçao." + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Sprite" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Fill a 12 oz glass halfway with ice.", + "Mix soda and alcohol and pour over ice.", + "Enjoy with your favorite companion." + ], + "image": "sonic-screwdriver.jpg", + "keywords": [ + "vodka", + "soda" + ] +} diff --git a/src/recipes/sour-apple-martini.json b/src/recipes/sour-apple-martini.json index 6a7504ad4..3bb8c7eab 100644 --- a/src/recipes/sour-apple-martini.json +++ b/src/recipes/sour-apple-martini.json @@ -1,45 +1,45 @@ -{ - "name": "Sour Apple Martini", - "description": "Before the Cosmo took over the Soure Apple Martini was a huge cocktail stateside where it often consisted of simple vodka, sour apple liqueur and lime cordial ", - "github": "zsiecr", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "Maraschino cherries with stems" - }, - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "Apple Schnapps" - }, - { - "quantity": "2", - "measure": "table spoon", - "ingredient": "vodka/gin" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Ice cubes" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Diet lemon-lime carbonated beverage, chilled" - } - ], - "directions": [ - "Place a cherry into each of two 4-ounce martini glasses; set aside.", - "In a cocktail shaker, combine schnapps and vodka. Add ice cubes to fill shaker half full; shake until very cold.", - "Strain vodka mixture into the prepared martini glasses. Fill glasses with lemon-lime carbonated beverage." - ], - "image": "sour-apple-martini.jpg", - "keywords": [ - "sour-apple-martini", - "martini", - "lime", - "vodka", - "gin" - ] -} +{ + "name": "Sour Apple Martini", + "description": "Before the Cosmo took over the Soure Apple Martini was a huge cocktail stateside where it often consisted of simple vodka, sour apple liqueur and lime cordial ", + "github": "zsiecr", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "Maraschino cherries with stems" + }, + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "Apple Schnapps" + }, + { + "quantity": "2", + "measure": "table spoon", + "ingredient": "vodka/gin" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Ice cubes" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Diet lemon-lime carbonated beverage, chilled" + } + ], + "directions": [ + "Place a cherry into each of two 4-ounce martini glasses; set aside.", + "In a cocktail shaker, combine schnapps and vodka. Add ice cubes to fill shaker half full; shake until very cold.", + "Strain vodka mixture into the prepared martini glasses. Fill glasses with lemon-lime carbonated beverage." + ], + "image": "sour-apple-martini.jpg", + "keywords": [ + "sour-apple-martini", + "martini", + "lime", + "vodka", + "gin" + ] +} diff --git a/src/recipes/south-african-ginger-beer.json b/src/recipes/south-african-ginger-beer.json index 2f63c3df5..d624e7f7f 100644 --- a/src/recipes/south-african-ginger-beer.json +++ b/src/recipes/south-african-ginger-beer.json @@ -1,46 +1,46 @@ -{ - "name": "South African Ginger Beer", - "description": "We consider Ginger Beer good only if it slightly burns your throat.", - "github": "lalawuhan", - "ingredients": [ - { - "quantity": "200", - "measure": "grams", - "ingredient": "White Sugar" - }, - { - "quantity": "8", - "measure": "Cups", - "ingredient": "Water" - }, - { - "quantity": "2-3", - "measure": "Teaspoons", - "ingredient": "Ground Ginger" - }, - { - "quantity": "75", - "measure": "grams", - "ingredient": "Grated Ginger" - }, - { - "quantity": "¼", - "measure": "Teaspoons", - "ingredient": "Tartaric acid" - } - ], - "directions": [ - "Heat the sugar and 1⁄2 cup water in a saucepan, stirring continually until the sugar has dissolved without coming to a boil. ", - "Add ginger, tartaric acid and bring to a simmer. ", - "Simmer for 7 minutes, or until the mixture has thickened.", - "Mix the syrup with the remaining water and transfer to a 2 litre container or bottle", - "Place in a warm place for two days, and open the bottle every 12 hours to allow some gas to escape.", - "Once fermented, strain and chill drink. Serve with ice." - ], - "image": "south-african-ginger-beer.jpg", - "keywords": [ - "ginger beer", - "south african", - "fermented" - ] +{ + "name": "South African Ginger Beer", + "description": "We consider Ginger Beer good only if it slightly burns your throat.", + "github": "lalawuhan", + "ingredients": [ + { + "quantity": "200", + "measure": "grams", + "ingredient": "White Sugar" + }, + { + "quantity": "8", + "measure": "Cups", + "ingredient": "Water" + }, + { + "quantity": "2-3", + "measure": "Teaspoons", + "ingredient": "Ground Ginger" + }, + { + "quantity": "75", + "measure": "grams", + "ingredient": "Grated Ginger" + }, + { + "quantity": "¼", + "measure": "Teaspoons", + "ingredient": "Tartaric acid" + } + ], + "directions": [ + "Heat the sugar and 1⁄2 cup water in a saucepan, stirring continually until the sugar has dissolved without coming to a boil. ", + "Add ginger, tartaric acid and bring to a simmer. ", + "Simmer for 7 minutes, or until the mixture has thickened.", + "Mix the syrup with the remaining water and transfer to a 2 litre container or bottle", + "Place in a warm place for two days, and open the bottle every 12 hours to allow some gas to escape.", + "Once fermented, strain and chill drink. Serve with ice." + ], + "image": "south-african-ginger-beer.jpg", + "keywords": [ + "ginger beer", + "south african", + "fermented" + ] } \ No newline at end of file diff --git a/src/recipes/southside.json b/src/recipes/southside.json index 452b89edf..cba308b9c 100644 --- a/src/recipes/southside.json +++ b/src/recipes/southside.json @@ -1,47 +1,47 @@ -{ - "name": "Southside", - "description": "A simple, refreshing, all season drink.", - "github": "jssee", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "gin" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "lemon juice (fresh if possible)" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "angostura bitters" - }, - { - "quantity": "5", - "measure": "leaves", - "ingredient": "mint" - } - ], - "directions": [ - "Place mint leaves inside a shaker, muddle them gently for about 30 seconds.", - "Add ice to shaker, the larger the ice cube the better, this is going to create some of that classic daiquiri-like foam.", - "Add gin, simple syrup, bitters, and lemon juice to the shaker, cover it all up and shake for a few seconds.", - "Strain contents of the shaker into a coupe glass, garnish with a mint leaf." - ], - "image": "southside.jpg", - "keywords": [ - "lemon juice", - "simple syrup", - "angostura bitters", - "mint", - "refreshing", - "gin" - ] -} +{ + "name": "Southside", + "description": "A simple, refreshing, all season drink.", + "github": "jssee", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "gin" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "lemon juice (fresh if possible)" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "angostura bitters" + }, + { + "quantity": "5", + "measure": "leaves", + "ingredient": "mint" + } + ], + "directions": [ + "Place mint leaves inside a shaker, muddle them gently for about 30 seconds.", + "Add ice to shaker, the larger the ice cube the better, this is going to create some of that classic daiquiri-like foam.", + "Add gin, simple syrup, bitters, and lemon juice to the shaker, cover it all up and shake for a few seconds.", + "Strain contents of the shaker into a coupe glass, garnish with a mint leaf." + ], + "image": "southside.jpg", + "keywords": [ + "lemon juice", + "simple syrup", + "angostura bitters", + "mint", + "refreshing", + "gin" + ] +} diff --git a/src/recipes/spaghett.json b/src/recipes/spaghett.json index 9d9052710..f53feece8 100644 --- a/src/recipes/spaghett.json +++ b/src/recipes/spaghett.json @@ -1,36 +1,36 @@ -{ - "name": "Spaghett", - "description": "A light refreshing beer cocktail made with High Life, Aperol, and lemon juice to get you through summer.", - "github": "quinncuatro", - "ingredients": [ - { - "quantity": "1", - "measure": "12 oz bottle", - "ingredient": "Miller High Life" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Aperol" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Lemon Juice" - } - ], - "directions": [ - "Pop open the bottle and take a couple gulps - you want to drink down part of the neck so you can add more to the bottle.", - "Pour an ounce of Aperol into the bottle.", - "Pour an ounce of lemon juice into the bottle.", - "Mix as well as you can then enjoy in the bottle or pour out into your favorite cocktail glass." - ], - "image": "spaghett.jpg", - "keywords": [ - "beer", - "aperol", - "summer", - "refreshing", - "vegan" - ] +{ + "name": "Spaghett", + "description": "A light refreshing beer cocktail made with High Life, Aperol, and lemon juice to get you through summer.", + "github": "quinncuatro", + "ingredients": [ + { + "quantity": "1", + "measure": "12 oz bottle", + "ingredient": "Miller High Life" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Aperol" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Lemon Juice" + } + ], + "directions": [ + "Pop open the bottle and take a couple gulps - you want to drink down part of the neck so you can add more to the bottle.", + "Pour an ounce of Aperol into the bottle.", + "Pour an ounce of lemon juice into the bottle.", + "Mix as well as you can then enjoy in the bottle or pour out into your favorite cocktail glass." + ], + "image": "spaghett.jpg", + "keywords": [ + "beer", + "aperol", + "summer", + "refreshing", + "vegan" + ] } \ No newline at end of file diff --git a/src/recipes/sparkling-campari-orange.json b/src/recipes/sparkling-campari-orange.json index e21549d9f..1c6df63cb 100644 --- a/src/recipes/sparkling-campari-orange.json +++ b/src/recipes/sparkling-campari-orange.json @@ -1,39 +1,39 @@ -{ - "name": "Sparkling Campari Orange", - "description": "Sparkling Campari Orange drink looks gorgeous and festive with reds and oranges mixed together and bubbles fizzing and popping on top!", - "github": "vlx01", - "ingredients": [ - { - "quantity": "As many as you want", - "measure": " ", - "ingredient": "Ice cubes" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "Campari" - }, - { - "quantity": "2", - "measure": "ounce", - "ingredient": "orange juice(no pulp)" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "sparkling water" - } - ], - "directions": [ - "Fill a glass with ice.", - "Pour campari, pour orange juice, pour sparkling water on top.", - "Mix and enjoy." - ], - "image": "sparkling-campari-orange.jpg", - "source": "https://www.imagelicious.com/blog/sparkling-campari-orange-cocktail", - "keywords": [ - "campari", - "orange juice", - "alcoholic" - ] -} +{ + "name": "Sparkling Campari Orange", + "description": "Sparkling Campari Orange drink looks gorgeous and festive with reds and oranges mixed together and bubbles fizzing and popping on top!", + "github": "vlx01", + "ingredients": [ + { + "quantity": "As many as you want", + "measure": " ", + "ingredient": "Ice cubes" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "Campari" + }, + { + "quantity": "2", + "measure": "ounce", + "ingredient": "orange juice(no pulp)" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "sparkling water" + } + ], + "directions": [ + "Fill a glass with ice.", + "Pour campari, pour orange juice, pour sparkling water on top.", + "Mix and enjoy." + ], + "image": "sparkling-campari-orange.jpg", + "source": "https://www.imagelicious.com/blog/sparkling-campari-orange-cocktail", + "keywords": [ + "campari", + "orange juice", + "alcoholic" + ] +} diff --git a/src/recipes/sparkling-fall-sangria.json b/src/recipes/sparkling-fall-sangria.json index 5db188953..fc75da66e 100644 --- a/src/recipes/sparkling-fall-sangria.json +++ b/src/recipes/sparkling-fall-sangria.json @@ -1,49 +1,49 @@ -{ - "name": "Sparkling Fall Sangria", - "description": "This wild cocktail combines champagne, sparkling wine, and prosecco.", - "github": "speex404", - "ingredients": [{ - "quantity": "2", - "measure": "oz", - "ingredient": "Amaretto" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Cinnamon Whiskey" - }, - { - "quantity": "20", - "measure": "oz", - "ingredient": "Apple Cider" - }, - { - "quantity": "750", - "measure": "ml", - "ingredient": "Champagne" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "Sparkling Apple Drink" - }, - { - "quantity": "How many you want", - "measure": "pcs", - "ingredient": "Pears, Red Apples, Cinnamon Sticks, Star Anise" - } - ], - "directions": [ - "Drop fruits and cinnamon sticks into base of pitcher and pour over amaretto and cinnamon whiskey.", - "Add apple cider, followed by champagne and sparkling drink. Stir well.", - "Pour to serve." - ], - "image": "sparkling-fall-sangria.jpg", - "source": "https://tipsybartender.com/recipe/sparkling-fall-sangria", - "keywords": [ - "champagne", - "sparkling wine", - "amaretto", - "apple cider" - ] -} +{ + "name": "Sparkling Fall Sangria", + "description": "This wild cocktail combines champagne, sparkling wine, and prosecco.", + "github": "speex404", + "ingredients": [{ + "quantity": "2", + "measure": "oz", + "ingredient": "Amaretto" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Cinnamon Whiskey" + }, + { + "quantity": "20", + "measure": "oz", + "ingredient": "Apple Cider" + }, + { + "quantity": "750", + "measure": "ml", + "ingredient": "Champagne" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "Sparkling Apple Drink" + }, + { + "quantity": "How many you want", + "measure": "pcs", + "ingredient": "Pears, Red Apples, Cinnamon Sticks, Star Anise" + } + ], + "directions": [ + "Drop fruits and cinnamon sticks into base of pitcher and pour over amaretto and cinnamon whiskey.", + "Add apple cider, followed by champagne and sparkling drink. Stir well.", + "Pour to serve." + ], + "image": "sparkling-fall-sangria.jpg", + "source": "https://tipsybartender.com/recipe/sparkling-fall-sangria", + "keywords": [ + "champagne", + "sparkling wine", + "amaretto", + "apple cider" + ] +} diff --git a/src/recipes/sparkling-punch.json b/src/recipes/sparkling-punch.json index 06cd00c91..16369b239 100644 --- a/src/recipes/sparkling-punch.json +++ b/src/recipes/sparkling-punch.json @@ -1,54 +1,54 @@ -{ - "name": "Sparkling Punch", - "description": "Sparkling apple cider, fresh orange juice, and lemonade concentrate blend into light and refreshing non-alcoholic punch in this easy recipe.", - "github": "kevinmel2000", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "lemons" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "large oranges" - }, - { - "quantity": "1 (6 ounce)", - "measure": "can", - "ingredient": "frozen lemonade concentrate" - }, - { - "quantity": "1", - "measure": "liter", - "ingredient": "club soda" - }, - { - "quantity": "2 (750 milliliter)", - "measure": "bottles", - "ingredient": "sparkling apple cider" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "white sugar" - }, - { - "quantity": "2", - "measure": "trays", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Thinly slice the lemons and the oranges and place in a large punch bowl.", - "Pour in the thawed lemonade. Gently stir in the club soda and the sparkling apple cider.", - "Add sugar to taste. Add ice." - ], - "image": "sparkling-punch.jpg", - "keywords": [ - "fruit", - "juice", - "mocktail", - "non-alcoholic" - ] +{ + "name": "Sparkling Punch", + "description": "Sparkling apple cider, fresh orange juice, and lemonade concentrate blend into light and refreshing non-alcoholic punch in this easy recipe.", + "github": "kevinmel2000", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "lemons" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "large oranges" + }, + { + "quantity": "1 (6 ounce)", + "measure": "can", + "ingredient": "frozen lemonade concentrate" + }, + { + "quantity": "1", + "measure": "liter", + "ingredient": "club soda" + }, + { + "quantity": "2 (750 milliliter)", + "measure": "bottles", + "ingredient": "sparkling apple cider" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "white sugar" + }, + { + "quantity": "2", + "measure": "trays", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Thinly slice the lemons and the oranges and place in a large punch bowl.", + "Pour in the thawed lemonade. Gently stir in the club soda and the sparkling apple cider.", + "Add sugar to taste. Add ice." + ], + "image": "sparkling-punch.jpg", + "keywords": [ + "fruit", + "juice", + "mocktail", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/spezi.json b/src/recipes/spezi.json index dacf34bcd..02b837fcc 100644 --- a/src/recipes/spezi.json +++ b/src/recipes/spezi.json @@ -1,37 +1,37 @@ -{ - "name": "Spezi", - "description": "A Bavarian soda, combining cola and orange soda to create something beautiful.", - "github": "invalidCards", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Cola" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Orange soda" - }, - { - "quantity": "1", - "measure": "squeeze", - "ingredient": "Lemon juice" - } - ], - "directions": [ - "Mix the cola and orange soda in a cup.", - "Add lemon juice to taste.", - "Stir gently." - ], - "image": "spezi.jpg", - "source": "http://www.thekitchenmaus.com/spezi-cola-orange/", - "keywords": [ - "cola", - "german", - "lemon", - "orange", - "non-alcoholic", - "soda" - ] -} +{ + "name": "Spezi", + "description": "A Bavarian soda, combining cola and orange soda to create something beautiful.", + "github": "invalidCards", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Cola" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Orange soda" + }, + { + "quantity": "1", + "measure": "squeeze", + "ingredient": "Lemon juice" + } + ], + "directions": [ + "Mix the cola and orange soda in a cup.", + "Add lemon juice to taste.", + "Stir gently." + ], + "image": "spezi.jpg", + "source": "http://www.thekitchenmaus.com/spezi-cola-orange/", + "keywords": [ + "cola", + "german", + "lemon", + "orange", + "non-alcoholic", + "soda" + ] +} diff --git a/src/recipes/spiced-harvest-fall-sangria.json b/src/recipes/spiced-harvest-fall-sangria.json index 8ccd8496c..c59b3c330 100644 --- a/src/recipes/spiced-harvest-fall-sangria.json +++ b/src/recipes/spiced-harvest-fall-sangria.json @@ -1,82 +1,82 @@ -{ - "name": "Spiced Harvest Fall Sangria", - "description": "A great Fall and holiday version of this Spanish classic.", - "github": "MissyM2", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Red apple, sliced" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Green apple, sliced" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Pear, sliced" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Plum, sliced" - }, - { - "quantity": "1", - "measure": "bottle (750 mL)", - "ingredient": "Merlot" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Spiced rum" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Apple juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Pomegranate juice" - }, - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "Simple syrup" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Nutmeg" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Rosemary sprigs" - }, - { - "quantity": "2", - "measure": "sticks", - "ingredient": "Cinnamon" - } - ], - "directions": [ - "Place the chopped fruit in the bottom of a large pitcher. Pour in the wine, spiced rum, cranberry juice, apple juice, pomegranate juice, and simple syrup. Stir and add in the nutmeg, rosemary, and cinnamon sticks. Fill the bottom layer of the pitcher with cranberries.", - "Sangria should be refrigerated for at least 30 minutes before serving, but is better if refrigerated for several hours or overnight.", - "Enjoy!" - ], - "image": "spiced-harvest-fall-sangria.jpg", - "keywords": [ - "alcoholic", - "holiday", - "fall", - "cinnamon", - "sangria", - "wine", - "christmas" - ] -} +{ + "name": "Spiced Harvest Fall Sangria", + "description": "A great Fall and holiday version of this Spanish classic.", + "github": "MissyM2", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Red apple, sliced" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Green apple, sliced" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Pear, sliced" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Plum, sliced" + }, + { + "quantity": "1", + "measure": "bottle (750 mL)", + "ingredient": "Merlot" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Spiced rum" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Apple juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Pomegranate juice" + }, + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "Simple syrup" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Nutmeg" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Rosemary sprigs" + }, + { + "quantity": "2", + "measure": "sticks", + "ingredient": "Cinnamon" + } + ], + "directions": [ + "Place the chopped fruit in the bottom of a large pitcher. Pour in the wine, spiced rum, cranberry juice, apple juice, pomegranate juice, and simple syrup. Stir and add in the nutmeg, rosemary, and cinnamon sticks. Fill the bottom layer of the pitcher with cranberries.", + "Sangria should be refrigerated for at least 30 minutes before serving, but is better if refrigerated for several hours or overnight.", + "Enjoy!" + ], + "image": "spiced-harvest-fall-sangria.jpg", + "keywords": [ + "alcoholic", + "holiday", + "fall", + "cinnamon", + "sangria", + "wine", + "christmas" + ] +} diff --git a/src/recipes/spicy-grapefruit-margarita.json b/src/recipes/spicy-grapefruit-margarita.json index 45ab3af36..aba2e1dc5 100644 --- a/src/recipes/spicy-grapefruit-margarita.json +++ b/src/recipes/spicy-grapefruit-margarita.json @@ -1,71 +1,71 @@ -{ - "name": "Spicy Grapefruit Margarita", - "description": "Spicy twist to your regular margarita.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1 1/2 - 2", - "measure": "ounces", - "ingredient": "silver tequila" - }, - { - "quantity": "2 1/2", - "measure": "ounces", - "ingredient": "grapefruit juice" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "fresh lime juice" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "agave nectar: to taste" - }, - { - "quantity": "1-2", - "measure": "slices", - "ingredient": "jalapeno: depending on spiciness of drink" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "chilli powder" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "kosher salt" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "granulated sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "slices of lime + grapefruit: for serving" - } - ], - "directions": [ - ", combine the chili power salt and sugar in a bowl.", - "Mix well to combine.", - "Use this mixture to rim your glasses.", - "Combine all the ingredients in a cocktail shaker and fill with ice.", - "Shake until combined and then strain into your prepared glass.", - "The longer you shake the drink, the spicier it will become.", - "Add a grapefruit wedge and a slice of jalapeño if desired.", - "Cheers!" - ], - "image": "spicy-grapefruit-margarita.jpg", - "source": "https://www.halfbakedharvest.com/spicy-grapefruit-margarita/", - "keywords": [ - "tequila", - "spicy", - "grapefruit", - "alcoholic", - "jalapeno" - ] -} +{ + "name": "Spicy Grapefruit Margarita", + "description": "Spicy twist to your regular margarita.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1 1/2 - 2", + "measure": "ounces", + "ingredient": "silver tequila" + }, + { + "quantity": "2 1/2", + "measure": "ounces", + "ingredient": "grapefruit juice" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "fresh lime juice" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "agave nectar: to taste" + }, + { + "quantity": "1-2", + "measure": "slices", + "ingredient": "jalapeno: depending on spiciness of drink" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "chilli powder" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "kosher salt" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "granulated sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "slices of lime + grapefruit: for serving" + } + ], + "directions": [ + ", combine the chili power salt and sugar in a bowl.", + "Mix well to combine.", + "Use this mixture to rim your glasses.", + "Combine all the ingredients in a cocktail shaker and fill with ice.", + "Shake until combined and then strain into your prepared glass.", + "The longer you shake the drink, the spicier it will become.", + "Add a grapefruit wedge and a slice of jalapeño if desired.", + "Cheers!" + ], + "image": "spicy-grapefruit-margarita.jpg", + "source": "https://www.halfbakedharvest.com/spicy-grapefruit-margarita/", + "keywords": [ + "tequila", + "spicy", + "grapefruit", + "alcoholic", + "jalapeno" + ] +} diff --git a/src/recipes/spicy-red-beer.json b/src/recipes/spicy-red-beer.json index 0dd81d193..2c860090b 100644 --- a/src/recipes/spicy-red-beer.json +++ b/src/recipes/spicy-red-beer.json @@ -1,43 +1,43 @@ -{ - "name": "Spicy Red Beer", - "description": "This is a delicious addition to any meal or just by itself anytime day or night. Yummy and satisfying not to mention the health benefits.", - "github": "nickfp1985", - "ingredients": [ - { - "quantity": "12", - "measure": "Fluid Ounces", - "ingredient": "Coors Banquet American Lager" - }, - { - "quantity": "5.5", - "measure": "Fluid Ounces", - "ingredient": "Tomato Juice" - }, - { - "quantity": "1/32", - "measure": "Teaspoon", - "ingredient": "Louisiana-Style Hot Sauce" - }, - { - "quantity": "1/32", - "measure": "Teaspoon", - "ingredient": "Worcestershire Sauce" - }, - { - "quantity": "1/8", - "measure": "Teaspoon", - "ingredient": "Seasoning Salt" - } - ], - "directions": [ - "Add Tomato Sauce.", - "Mix in hot sauce, Worcestershire sauce, and salt.", - "Poor in cold beer and stir." - ], - "image": "spicy-red-beer.jpg", - "source": "https://www.allrecipes.com/recipe/20436/joedoggs-spicy-red-beer/?internalSource=streams&referringId=131&referringContentType=Recipe%20Hub&clickId=st_trending_s", - "keywords": [ - "beer", - "spicy" - ] +{ + "name": "Spicy Red Beer", + "description": "This is a delicious addition to any meal or just by itself anytime day or night. Yummy and satisfying not to mention the health benefits.", + "github": "nickfp1985", + "ingredients": [ + { + "quantity": "12", + "measure": "Fluid Ounces", + "ingredient": "Coors Banquet American Lager" + }, + { + "quantity": "5.5", + "measure": "Fluid Ounces", + "ingredient": "Tomato Juice" + }, + { + "quantity": "1/32", + "measure": "Teaspoon", + "ingredient": "Louisiana-Style Hot Sauce" + }, + { + "quantity": "1/32", + "measure": "Teaspoon", + "ingredient": "Worcestershire Sauce" + }, + { + "quantity": "1/8", + "measure": "Teaspoon", + "ingredient": "Seasoning Salt" + } + ], + "directions": [ + "Add Tomato Sauce.", + "Mix in hot sauce, Worcestershire sauce, and salt.", + "Poor in cold beer and stir." + ], + "image": "spicy-red-beer.jpg", + "source": "https://www.allrecipes.com/recipe/20436/joedoggs-spicy-red-beer/?internalSource=streams&referringId=131&referringContentType=Recipe%20Hub&clickId=st_trending_s", + "keywords": [ + "beer", + "spicy" + ] } \ No newline at end of file diff --git a/src/recipes/spicyorange.json b/src/recipes/spicyorange.json index c40a7c032..2d5c0891a 100644 --- a/src/recipes/spicyorange.json +++ b/src/recipes/spicyorange.json @@ -1,53 +1,53 @@ -{ - "name": "Spicy Orange Juice", - "description": "This is a simple recipe for spicing up your Orange Juice. Tabasco Sacue is used in this recipe for an extra kick. Tabasco brand Pepper Sacue is a hot sauce made from Aged Red Peppers. If you love adding hotness to your food, then give this recipe a try. ", - "github": "ashwin74", - "ingredients": [ - { - "quantity": "1.5", - "measure": "cup", - "ingredient": "Orange Juice" - }, - { - "quantity": "4", - "measure": "ice cubes", - "ingredient": "Ice Cubes" - }, - { - "quantity": "0.5", - "measure": "cup", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Original Tabasco Pepper Sauce" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Lemon Juice" - }, - { - "quantity": "0.5", - "measure": "tsp", - "ingredient": "Salt" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Sugar" - } - ], - "directions": [ - "Blend all the ingredients thoroughly in a blender.", - "Serve immediately and enjoy your spicy orange juice." - ], - "image": "spicyorange.jpg", - "keywords": [ - "orange juice", - "lemon juice", - "spicy", - "vegan" - ] -} +{ + "name": "Spicy Orange Juice", + "description": "This is a simple recipe for spicing up your Orange Juice. Tabasco Sacue is used in this recipe for an extra kick. Tabasco brand Pepper Sacue is a hot sauce made from Aged Red Peppers. If you love adding hotness to your food, then give this recipe a try. ", + "github": "ashwin74", + "ingredients": [ + { + "quantity": "1.5", + "measure": "cup", + "ingredient": "Orange Juice" + }, + { + "quantity": "4", + "measure": "ice cubes", + "ingredient": "Ice Cubes" + }, + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Original Tabasco Pepper Sauce" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Lemon Juice" + }, + { + "quantity": "0.5", + "measure": "tsp", + "ingredient": "Salt" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Sugar" + } + ], + "directions": [ + "Blend all the ingredients thoroughly in a blender.", + "Serve immediately and enjoy your spicy orange juice." + ], + "image": "spicyorange.jpg", + "keywords": [ + "orange juice", + "lemon juice", + "spicy", + "vegan" + ] +} diff --git a/src/recipes/springbokkie.json b/src/recipes/springbokkie.json index b4f055fd0..f2f2bab8f 100644 --- a/src/recipes/springbokkie.json +++ b/src/recipes/springbokkie.json @@ -1,28 +1,28 @@ -{ - "name": "Springbokkie", - "description": "The Springbokkie, composed of creme de menthe and Amarula, is a cocktail shooter that is popular in South Africa.", - "github": "acesaft", - "ingredients": [ - { - "quantity": "1", - "measure": "cl", - "ingredient": "Amarula" - }, - { - "quantity": "3", - "measure": "cl", - "ingredient": "Crème de menthe" - } - ], - "directions": [ - "The Crème de menthe is poured into the shot glass and the Amarula is carefully layered on top." - ], - "image": "springbokkie.jpg", - "source": "By Lorienkee - Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=7463016", - "keywords": [ - "mint", - "amarula", - "shot", - "alcoholic" - ] -} +{ + "name": "Springbokkie", + "description": "The Springbokkie, composed of creme de menthe and Amarula, is a cocktail shooter that is popular in South Africa.", + "github": "acesaft", + "ingredients": [ + { + "quantity": "1", + "measure": "cl", + "ingredient": "Amarula" + }, + { + "quantity": "3", + "measure": "cl", + "ingredient": "Crème de menthe" + } + ], + "directions": [ + "The Crème de menthe is poured into the shot glass and the Amarula is carefully layered on top." + ], + "image": "springbokkie.jpg", + "source": "By Lorienkee - Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=7463016", + "keywords": [ + "mint", + "amarula", + "shot", + "alcoholic" + ] +} diff --git a/src/recipes/spritz-pomegranate.json b/src/recipes/spritz-pomegranate.json index 75a174270..ad131a16e 100644 --- a/src/recipes/spritz-pomegranate.json +++ b/src/recipes/spritz-pomegranate.json @@ -1,41 +1,41 @@ -{ - "name": "Spritz Pomegranate", - "description": "A really fresh and healthy drink.", - "github": "andreampiovesana", - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "Prosecco" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Pomegranate" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Club Soda" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sliced orange or lemon for garnish" - } - ], - "directions": [ - "Fill a glass with ice.", - "Add Prosecco, pomegranate and soda.", - "Stir gently to combine and garnish with a slice of orange." - ], - "image": "spritz-pomegranate.jpg", - "keywords": [ - "alcoholic" - ] +{ + "name": "Spritz Pomegranate", + "description": "A really fresh and healthy drink.", + "github": "andreampiovesana", + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "Prosecco" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Pomegranate" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Club Soda" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sliced orange or lemon for garnish" + } + ], + "directions": [ + "Fill a glass with ice.", + "Add Prosecco, pomegranate and soda.", + "Stir gently to combine and garnish with a slice of orange." + ], + "image": "spritz-pomegranate.jpg", + "keywords": [ + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/spritz.json b/src/recipes/spritz.json index 56158e780..23cf6ad3a 100644 --- a/src/recipes/spritz.json +++ b/src/recipes/spritz.json @@ -1,48 +1,48 @@ -{ - "name": "Spritz", - "description": "Tipical drink from Veneto region (Italy), invented between the end of the 1700s and the beginning of the 1800s.", - "github": "GiovanniCS", - "ingredients": [ - { - "quantity": "1/3", - "measure": "", - "ingredient": "Aperol" - }, - { - "quantity": "1/3", - "measure": "", - "ingredient": "Seltz " - }, - { - "quantity": "1/3", - "measure": "", - "ingredient": "White wine" - }, - { - "quantity": "6", - "measure": "cubes", - "ingredient": "Ice" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Orange" - } - ], - "directions": [ - "Cut the orange in slices.", - "Add the ice cubes in the glass.", - "Add 1/3 of Aperol and 1/3 of white wine.", - "Finally sprinkle the soda in the glass.", - "Garnish with one slice of orange and serve.", - "Enjoy!" - ], - "image": "spritz.jpg", - "keywords": [ - "spritz", - "wine", - "orange", - "aperol", - "selz" - ] +{ + "name": "Spritz", + "description": "Tipical drink from Veneto region (Italy), invented between the end of the 1700s and the beginning of the 1800s.", + "github": "GiovanniCS", + "ingredients": [ + { + "quantity": "1/3", + "measure": "", + "ingredient": "Aperol" + }, + { + "quantity": "1/3", + "measure": "", + "ingredient": "Seltz " + }, + { + "quantity": "1/3", + "measure": "", + "ingredient": "White wine" + }, + { + "quantity": "6", + "measure": "cubes", + "ingredient": "Ice" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Orange" + } + ], + "directions": [ + "Cut the orange in slices.", + "Add the ice cubes in the glass.", + "Add 1/3 of Aperol and 1/3 of white wine.", + "Finally sprinkle the soda in the glass.", + "Garnish with one slice of orange and serve.", + "Enjoy!" + ], + "image": "spritz.jpg", + "keywords": [ + "spritz", + "wine", + "orange", + "aperol", + "selz" + ] } \ No newline at end of file diff --git a/src/recipes/stinger.json b/src/recipes/stinger.json index 77f102956..3012e0b56 100644 --- a/src/recipes/stinger.json +++ b/src/recipes/stinger.json @@ -1,36 +1,36 @@ -{ - "name": "Stinger", - "description": "Nice after meal cocktail. A classic.", - "github": "kristina-hager", - - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "brandy" - }, - { - "quantity": ".5", - "measure": "oz", - "ingredient": "white creme de menthe" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "mint leaf" - } - ], - "directions": [ - "Pour liquid ingredients over ice. Stir.", - "Garnish with fresh mint leaf (optional).", - "You can use cognac in place of brandy" - ], - "image": "stinger.jpg", - "keywords": [ - "brandy", - "classic", - "simple", - "alcoholic" - ] - -} +{ + "name": "Stinger", + "description": "Nice after meal cocktail. A classic.", + "github": "kristina-hager", + + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "brandy" + }, + { + "quantity": ".5", + "measure": "oz", + "ingredient": "white creme de menthe" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "mint leaf" + } + ], + "directions": [ + "Pour liquid ingredients over ice. Stir.", + "Garnish with fresh mint leaf (optional).", + "You can use cognac in place of brandy" + ], + "image": "stinger.jpg", + "keywords": [ + "brandy", + "classic", + "simple", + "alcoholic" + ] + +} diff --git a/src/recipes/stone-sour.json b/src/recipes/stone-sour.json index 46243be48..dc85a8c26 100644 --- a/src/recipes/stone-sour.json +++ b/src/recipes/stone-sour.json @@ -1,47 +1,47 @@ -{ - "name": "Stone Sour", - "description": "Stone Sour is a whiskey-based cocktail mixed with orange juice and sweetener, garnished with a cherry ", - "github": "saadkchaou", - "ingredients": [ - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "orange juice" - }, - { - "quantity": "3/4", - "measure": "ounce", - "ingredient": "Lemon juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "garnish: cherry" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "garnish: orange half-wheel" - } - ], - "directions": [ - "Add the bourbon, orange juice, lemon juice and simple syrup into a shaker with ice ", - "Shake until well-chilled", - "Strain into a rocks glass filled with fresh ice", - "Garnish with a sherry and an orange half-wheel" - ], - "image": "stone-sour.jpg", - "source": "https://www.liquor.com/thmb/RTOFRHrVn2iH6LkdxweiioU9qV8=/750x0/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)/stone-sour-720x720-primary-c24f612e73d14458a1b447c6f5300d4c.jpg", - "keywords": [ - "sour", - "fresh", - "cold", - "simple", - "wisky" - ] -} +{ + "name": "Stone Sour", + "description": "Stone Sour is a whiskey-based cocktail mixed with orange juice and sweetener, garnished with a cherry ", + "github": "saadkchaou", + "ingredients": [ + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "orange juice" + }, + { + "quantity": "3/4", + "measure": "ounce", + "ingredient": "Lemon juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "garnish: cherry" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "garnish: orange half-wheel" + } + ], + "directions": [ + "Add the bourbon, orange juice, lemon juice and simple syrup into a shaker with ice ", + "Shake until well-chilled", + "Strain into a rocks glass filled with fresh ice", + "Garnish with a sherry and an orange half-wheel" + ], + "image": "stone-sour.jpg", + "source": "https://www.liquor.com/thmb/RTOFRHrVn2iH6LkdxweiioU9qV8=/750x0/filters:no_upscale():max_bytes(150000):strip_icc():format(webp)/stone-sour-720x720-primary-c24f612e73d14458a1b447c6f5300d4c.jpg", + "keywords": [ + "sour", + "fresh", + "cold", + "simple", + "wisky" + ] +} diff --git a/src/recipes/strawberry-banana.json b/src/recipes/strawberry-banana.json index 4e7cadf3a..23f3aeca4 100644 --- a/src/recipes/strawberry-banana.json +++ b/src/recipes/strawberry-banana.json @@ -1,38 +1,38 @@ -{ - "name": "Ice Strawberry Mix Banana", - "description": "Ice strawberry mix banana is simple healty juice that made by strawberry and banana.", - "github": "isnaini279", - "ingredients": [{ - "quantity": "8", - "measure": "pieces", - "ingredient": "strawberry" - }, - { - "quantity": "1", - "measure": "piece", - "ingredient": "banana" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "plain yougurt" - }, - { - "quantity": "5", - "measure": "ml", - "ingredient": "mineral water" - } - ], - "directions": [ - "Wash strawberries and banana thoroughly.", - "Cut the banana and strawberries, then add yougurt and mineral water.", - "Blend all the components and after that put in your glass. The juice ready to serve!" - ], - "image": "strawberry-banana.jpg", - "source": "https://cookpad.com/id/resep/7208282-jus-strawberry-mix-banana-with-yogurt?via=search&search_term=jus%20strawberry%20yoghurt", - "keywords": [ - "fruit", - "juice", - "non-alcoholic" - ] +{ + "name": "Ice Strawberry Mix Banana", + "description": "Ice strawberry mix banana is simple healty juice that made by strawberry and banana.", + "github": "isnaini279", + "ingredients": [{ + "quantity": "8", + "measure": "pieces", + "ingredient": "strawberry" + }, + { + "quantity": "1", + "measure": "piece", + "ingredient": "banana" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "plain yougurt" + }, + { + "quantity": "5", + "measure": "ml", + "ingredient": "mineral water" + } + ], + "directions": [ + "Wash strawberries and banana thoroughly.", + "Cut the banana and strawberries, then add yougurt and mineral water.", + "Blend all the components and after that put in your glass. The juice ready to serve!" + ], + "image": "strawberry-banana.jpg", + "source": "https://cookpad.com/id/resep/7208282-jus-strawberry-mix-banana-with-yogurt?via=search&search_term=jus%20strawberry%20yoghurt", + "keywords": [ + "fruit", + "juice", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/strawberry-daiquiri.json b/src/recipes/strawberry-daiquiri.json index bfcf2c643..2af9bc329 100644 --- a/src/recipes/strawberry-daiquiri.json +++ b/src/recipes/strawberry-daiquiri.json @@ -1,56 +1,56 @@ -{ - "name": "Strawberry Daiquiri", - "description": "A frosty blender full of strawberry-citrus slush. You will enjoy this with or without the rum!", - "github": "Kash2000", - "ingredients": [ - { - "quantity": "6", - "measure": "cups", - "ingredient": "ice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "white sugar" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "rum" - }, - { - "quantity": "4", - "measure": "ounces", - "ingredient": "frozen strawberries" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "lemon-lime flavoured carbonated beverage" - }, - { - "quantity": "1/8", - "measure": "cup", - "ingredient": "lime juice" - } - ], - "directions": [ - "Combine ice, sugar and strawberriesIn a blender.", - "Pour in lime juice, lemon juice, rum and lemon-lime soda.", - "Blend until smooth.", - "Pour into glasses and serve." - ], - "image": "strawberry-daiquiri.jpg", - "source": "https://www.allrecipes.com/recipe/32352/best-strawberry-daiquiri/", - "keywords": [ - "daiquiri", - "Slush", - "rum", - "alcoholic" - ] -} +{ + "name": "Strawberry Daiquiri", + "description": "A frosty blender full of strawberry-citrus slush. You will enjoy this with or without the rum!", + "github": "Kash2000", + "ingredients": [ + { + "quantity": "6", + "measure": "cups", + "ingredient": "ice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "white sugar" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "rum" + }, + { + "quantity": "4", + "measure": "ounces", + "ingredient": "frozen strawberries" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "lemon-lime flavoured carbonated beverage" + }, + { + "quantity": "1/8", + "measure": "cup", + "ingredient": "lime juice" + } + ], + "directions": [ + "Combine ice, sugar and strawberriesIn a blender.", + "Pour in lime juice, lemon juice, rum and lemon-lime soda.", + "Blend until smooth.", + "Pour into glasses and serve." + ], + "image": "strawberry-daiquiri.jpg", + "source": "https://www.allrecipes.com/recipe/32352/best-strawberry-daiquiri/", + "keywords": [ + "daiquiri", + "Slush", + "rum", + "alcoholic" + ] +} diff --git a/src/recipes/strawberry-ginger-turmeric-tea.json b/src/recipes/strawberry-ginger-turmeric-tea.json index 7a2ad9ec6..0abb30d6d 100644 --- a/src/recipes/strawberry-ginger-turmeric-tea.json +++ b/src/recipes/strawberry-ginger-turmeric-tea.json @@ -1,44 +1,44 @@ -{ - "name": "Strawberry Ginger Turmeric Tea", - "description": "This drink is fresh and healthy because the ingredients for the manufacture itself consist of ginger, turmeric, strawberry and honey which have anti-inflammatory properties. Of course, it's low in calories too, because you use honey instead of sugar. This drink is really delicious served with a mixture of ice cubes or cooled first in the refrigerator but it does not rule out if served warm", - "github": "erryh", - "ingredients": [ - { - "quantity": "3", - "measure": "knuckles", - "ingredient": "Turmeric" - }, - { - "quantity": "2", - "measure": "knuckles", - "ingredient": "Ginger" - }, - { - "quantity": "500", - "measure": "ml", - "ingredient": "Water" - }, - { - "quantity": "200", - "measure": "gr", - "ingredient": "Strawberry" - }, - { - "quantity": "100", - "measure": "ml", - "ingredient": "Honey" - } - ], - "directions": [ - "Blend coarsely of turmeric and ginger with 500 ml of mineral water and boil. Strain, cool and store in the refrigerator.", - "Roughly blend the strawberries or dice them or crush them with a fork. store in the refrigerator", - "After the ingredients are cool enough, you can immediately serve them: add about 1 tablespoon of honey or according to taste in a glass, add 2 tablespoons of crushed strawberries and pour the turmeric ginger water until the glass is full. Put one stalk of lemongrass geprek to add extra aroma. If you like, you can add more ice cubes." - ], - "image": "strawberry-ginger-turmeric-tea.jpg", - "keywords": [ - "strawberry", - "tea", - "ginger", - "turmeric" - ] +{ + "name": "Strawberry Ginger Turmeric Tea", + "description": "This drink is fresh and healthy because the ingredients for the manufacture itself consist of ginger, turmeric, strawberry and honey which have anti-inflammatory properties. Of course, it's low in calories too, because you use honey instead of sugar. This drink is really delicious served with a mixture of ice cubes or cooled first in the refrigerator but it does not rule out if served warm", + "github": "erryh", + "ingredients": [ + { + "quantity": "3", + "measure": "knuckles", + "ingredient": "Turmeric" + }, + { + "quantity": "2", + "measure": "knuckles", + "ingredient": "Ginger" + }, + { + "quantity": "500", + "measure": "ml", + "ingredient": "Water" + }, + { + "quantity": "200", + "measure": "gr", + "ingredient": "Strawberry" + }, + { + "quantity": "100", + "measure": "ml", + "ingredient": "Honey" + } + ], + "directions": [ + "Blend coarsely of turmeric and ginger with 500 ml of mineral water and boil. Strain, cool and store in the refrigerator.", + "Roughly blend the strawberries or dice them or crush them with a fork. store in the refrigerator", + "After the ingredients are cool enough, you can immediately serve them: add about 1 tablespoon of honey or according to taste in a glass, add 2 tablespoons of crushed strawberries and pour the turmeric ginger water until the glass is full. Put one stalk of lemongrass geprek to add extra aroma. If you like, you can add more ice cubes." + ], + "image": "strawberry-ginger-turmeric-tea.jpg", + "keywords": [ + "strawberry", + "tea", + "ginger", + "turmeric" + ] } \ No newline at end of file diff --git a/src/recipes/strawberry-margarita.json b/src/recipes/strawberry-margarita.json index 3cb8c94f0..695d4f702 100644 --- a/src/recipes/strawberry-margarita.json +++ b/src/recipes/strawberry-margarita.json @@ -1,49 +1,49 @@ -{ - "name": "Strawberry Margarita", - "description": "A strawberry margarita is a delicious summer cocktail made with tequila, strawberries, lime juice, triple sec and honey.", - "github": "gustsu", - "ingredients": [ - { - "quantity": "8", - "measure": "oz", - "ingredient": "Fresh Strawberries" - }, - { - "quantity": "4", - "measure": "fl oz", - "ingredient": "Tequila" - }, - { - "quantity": "2", - "measure": "fl oz", - "ingredient": "Fresh Lime Juice" - }, - { - "quantity": "1", - "measure": "fl oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "1", - "measure": "fl oz", - "ingredient": "Honey" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Ice" - } - ], - "directions": [ - "Fill a blender with strawberries, tequila, lime juice, triple sec, honey, and ice.", - "Pulse the mixture until it is smooth.", - "Taste and add extra tequila or sweetener if desired.", - "Pour into glass and serve." - ], - "image": "strawberry-margarita.jpg", - "keywords": [ - "tequila", - "alcoholic", - "strawberry" - ] -} +{ + "name": "Strawberry Margarita", + "description": "A strawberry margarita is a delicious summer cocktail made with tequila, strawberries, lime juice, triple sec and honey.", + "github": "gustsu", + "ingredients": [ + { + "quantity": "8", + "measure": "oz", + "ingredient": "Fresh Strawberries" + }, + { + "quantity": "4", + "measure": "fl oz", + "ingredient": "Tequila" + }, + { + "quantity": "2", + "measure": "fl oz", + "ingredient": "Fresh Lime Juice" + }, + { + "quantity": "1", + "measure": "fl oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "1", + "measure": "fl oz", + "ingredient": "Honey" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Ice" + } + ], + "directions": [ + "Fill a blender with strawberries, tequila, lime juice, triple sec, honey, and ice.", + "Pulse the mixture until it is smooth.", + "Taste and add extra tequila or sweetener if desired.", + "Pour into glass and serve." + ], + "image": "strawberry-margarita.jpg", + "keywords": [ + "tequila", + "alcoholic", + "strawberry" + ] +} diff --git a/src/recipes/strawberry-mojita.json b/src/recipes/strawberry-mojita.json index f2ff47db5..4015b8abf 100644 --- a/src/recipes/strawberry-mojita.json +++ b/src/recipes/strawberry-mojita.json @@ -1,57 +1,57 @@ -{ - "name": "Strawberry Mojito", - "description": "A classic Mojito with a sweet twist, really enjoyable in the summer.", - "github": "P4trice", - "ingredients": [ - { - "quantity": "8", - "measure": "leaves", - "ingredient": "mint" - }, - { - "quantity": "4", - "measure": "slices", - "ingredient": "lime" - }, - { - "quantity": "2", - "measure": "chopped", - "ingredient": "strawberries" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "sirup/sugar" - }, - { - "quantity": "2", - "measure": "ounces", - "ingredient": "white rum" - }, - { - "quantity": "1", - "measure": "bottle", - "ingredient": "club soda" - } - ], - "directions": [ - "Add mint leaves, half the lime slices and chopped strawberries to a tall glass.", - "Mix it up, without breaking the mint leaves.", - "Add the other half of lime slices and add the sirup/sugar.", - "Mix it up gently, as before.", - "Fill up with ice and then add the rum.", - "Fill up with club soda and stir.", - "Enjoy!" - ], - "image": "strawberry-mojito.jpg", - "source": "https://theforkedspoon.com/strawberry-mojito-recipe/", - "keywords": [ - "mint", - "lime", - "strawberry", - "white rum", - "club soda", - "sugar", - "ice" - ] +{ + "name": "Strawberry Mojito", + "description": "A classic Mojito with a sweet twist, really enjoyable in the summer.", + "github": "P4trice", + "ingredients": [ + { + "quantity": "8", + "measure": "leaves", + "ingredient": "mint" + }, + { + "quantity": "4", + "measure": "slices", + "ingredient": "lime" + }, + { + "quantity": "2", + "measure": "chopped", + "ingredient": "strawberries" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "sirup/sugar" + }, + { + "quantity": "2", + "measure": "ounces", + "ingredient": "white rum" + }, + { + "quantity": "1", + "measure": "bottle", + "ingredient": "club soda" + } + ], + "directions": [ + "Add mint leaves, half the lime slices and chopped strawberries to a tall glass.", + "Mix it up, without breaking the mint leaves.", + "Add the other half of lime slices and add the sirup/sugar.", + "Mix it up gently, as before.", + "Fill up with ice and then add the rum.", + "Fill up with club soda and stir.", + "Enjoy!" + ], + "image": "strawberry-mojito.jpg", + "source": "https://theforkedspoon.com/strawberry-mojito-recipe/", + "keywords": [ + "mint", + "lime", + "strawberry", + "white rum", + "club soda", + "sugar", + "ice" + ] } \ No newline at end of file diff --git a/src/recipes/strawberry-sunrise-smoothie.json b/src/recipes/strawberry-sunrise-smoothie.json index 0303c9932..d5fabf034 100644 --- a/src/recipes/strawberry-sunrise-smoothie.json +++ b/src/recipes/strawberry-sunrise-smoothie.json @@ -1,42 +1,42 @@ -{ - "name": "Strawberry Sunrise Smoothie", - "description": "This smoothie combines a trifecta of must-have qualities in any great smoothie and will truly brighten up the start to your day.", - "github": "VesnaTrifunoska", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "frozen strawberries" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "almond milk" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "frozen mangoes" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "freshly-squeezed orange juice" - } - ], - "directions": [ - "Combine the strawberries and almond milk in a blender and blend until smooth. Scrape off and pour the contents in three separate glasses.", - "Keep the glasses in the freezer for at least 20 minutes to help separate the next layer.", - "Combine the mangoes and orange juice in the blender and blend until smooth. Pour the contents in the glasses.", - "Serve immediately." - ], - "image": "strawberry-sunrise-smoothie.jpg", - "source": "https://skinnyms.com/strawberry-sunrise-smoothie-recipe/", - "keywords": [ - "smoothie", - "strawberry", - "mango", - "orange juice", - "ice" - ] +{ + "name": "Strawberry Sunrise Smoothie", + "description": "This smoothie combines a trifecta of must-have qualities in any great smoothie and will truly brighten up the start to your day.", + "github": "VesnaTrifunoska", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "frozen strawberries" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "almond milk" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "frozen mangoes" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "freshly-squeezed orange juice" + } + ], + "directions": [ + "Combine the strawberries and almond milk in a blender and blend until smooth. Scrape off and pour the contents in three separate glasses.", + "Keep the glasses in the freezer for at least 20 minutes to help separate the next layer.", + "Combine the mangoes and orange juice in the blender and blend until smooth. Pour the contents in the glasses.", + "Serve immediately." + ], + "image": "strawberry-sunrise-smoothie.jpg", + "source": "https://skinnyms.com/strawberry-sunrise-smoothie-recipe/", + "keywords": [ + "smoothie", + "strawberry", + "mango", + "orange juice", + "ice" + ] } \ No newline at end of file diff --git a/src/recipes/strawberry-watermelon-juice.json b/src/recipes/strawberry-watermelon-juice.json index 9138f4da7..4f211aa9d 100644 --- a/src/recipes/strawberry-watermelon-juice.json +++ b/src/recipes/strawberry-watermelon-juice.json @@ -1,40 +1,40 @@ -{ - "name": "Strawberry watermelon juice", - "description": "refreshing, healthy, delicious fruit juice.", - "github": "Amr905", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "Strawberries" - }, - { - "quantity": "1 ½", - "measure": "cups", - "ingredient": "Watermelon cut into large cubes" - }, - { - "quantity": "2", - "measure": "teaspoons", - "ingredient": "Lemon juice" - }, - { - "quantity": "6", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Put all the ingredients into the blender.", - "Blend it till it get smooth and runny.", - "Pour the juice into individual serving glass and serve." - ], - "image": "strawberry-watermelon-juice.jpg", - "source": "https://www.spiceupthecurry.com/strawberry-watermelon-juice-recipe/", - "keywords": [ - "Strawberry", - "watermelon", - "healthy", - "non-alcoholic" - ] +{ + "name": "Strawberry watermelon juice", + "description": "refreshing, healthy, delicious fruit juice.", + "github": "Amr905", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "Strawberries" + }, + { + "quantity": "1 ½", + "measure": "cups", + "ingredient": "Watermelon cut into large cubes" + }, + { + "quantity": "2", + "measure": "teaspoons", + "ingredient": "Lemon juice" + }, + { + "quantity": "6", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Put all the ingredients into the blender.", + "Blend it till it get smooth and runny.", + "Pour the juice into individual serving glass and serve." + ], + "image": "strawberry-watermelon-juice.jpg", + "source": "https://www.spiceupthecurry.com/strawberry-watermelon-juice-recipe/", + "keywords": [ + "Strawberry", + "watermelon", + "healthy", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/submarino.json b/src/recipes/submarino.json index 5381554fb..743b46323 100644 --- a/src/recipes/submarino.json +++ b/src/recipes/submarino.json @@ -1,31 +1,31 @@ -{ - "name": "Submarino", - "description": "Submarino is a beer cocktail that is made by dropping a bomb shot of tequila into a glass of beer.", - "github": "kazuhirodk", - "ingredients": [ - { - "quantity": "6", - "measure": "oz", - "ingredient": "Beer" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Tequila" - } - ], - "directions": [ - "Pour your beer into a beer glass.", - "Pour the tequila into a shot glass.", - "Put the shot glass gently in the beer to finish your Submarino.", - "Your Submarino is ready!" - ], - "image": "submarino.jpg", - "source": "https://cocktailsandshots.com/recipe/submarino/", - "keywords": [ - "tequila", - "beer", - "alcoholic", - "mexican" - ] -} +{ + "name": "Submarino", + "description": "Submarino is a beer cocktail that is made by dropping a bomb shot of tequila into a glass of beer.", + "github": "kazuhirodk", + "ingredients": [ + { + "quantity": "6", + "measure": "oz", + "ingredient": "Beer" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Tequila" + } + ], + "directions": [ + "Pour your beer into a beer glass.", + "Pour the tequila into a shot glass.", + "Put the shot glass gently in the beer to finish your Submarino.", + "Your Submarino is ready!" + ], + "image": "submarino.jpg", + "source": "https://cocktailsandshots.com/recipe/submarino/", + "keywords": [ + "tequila", + "beer", + "alcoholic", + "mexican" + ] +} diff --git a/src/recipes/sugarcane-juice.json b/src/recipes/sugarcane-juice.json index 21ec36b05..bb5a90163 100644 --- a/src/recipes/sugarcane-juice.json +++ b/src/recipes/sugarcane-juice.json @@ -1,40 +1,40 @@ -{ - "name": "Sugarcane Juice", - "description": "Sugarcane Juice is another very common yet beloved drink of the people of the country. The juice extracted from the sugarcane is sweet which is topped with some black salt to make it the right combination of sweet and salty, making it yet another favourite Indian summer drink.", - "github": "sushmitaw", - "ingredients": [ - { - "quantity": "2", - "measure": "cup", - "ingredient": "cubed sugarcane" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "grated ginger" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "water" - } - ], - "directions": [ - "Peel off the hard sugarcane outer skin, then chop into small cubes.Transfer to a mixer along with ginger.I did this in batches as I used my small mixer jar.", - "Add little water and grind it.Now drain the sugarcane extract in a strainer.", - "Squeeze it with your hands or press using a spoon.Keep a bowl underneath to hold the juice.Repeat this again if you feel the extract is juicy then grind again and discard.Then proceed grinding with next batch.", - "Collect the juice, and then finally strain again so that the small pieces of sugarcane is also strained.Now squeeze half lemon,add salt to the sugarcane juice.Mix well and serve.", - "Serve chilled and immediately." - ], - "image": "sugarcane-juice.jpg", - "keywords": [ - "sugarcane", - "summer drink", - "cane juice" - ] +{ + "name": "Sugarcane Juice", + "description": "Sugarcane Juice is another very common yet beloved drink of the people of the country. The juice extracted from the sugarcane is sweet which is topped with some black salt to make it the right combination of sweet and salty, making it yet another favourite Indian summer drink.", + "github": "sushmitaw", + "ingredients": [ + { + "quantity": "2", + "measure": "cup", + "ingredient": "cubed sugarcane" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "grated ginger" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "water" + } + ], + "directions": [ + "Peel off the hard sugarcane outer skin, then chop into small cubes.Transfer to a mixer along with ginger.I did this in batches as I used my small mixer jar.", + "Add little water and grind it.Now drain the sugarcane extract in a strainer.", + "Squeeze it with your hands or press using a spoon.Keep a bowl underneath to hold the juice.Repeat this again if you feel the extract is juicy then grind again and discard.Then proceed grinding with next batch.", + "Collect the juice, and then finally strain again so that the small pieces of sugarcane is also strained.Now squeeze half lemon,add salt to the sugarcane juice.Mix well and serve.", + "Serve chilled and immediately." + ], + "image": "sugarcane-juice.jpg", + "keywords": [ + "sugarcane", + "summer drink", + "cane juice" + ] } \ No newline at end of file diff --git a/src/recipes/sunshine-cocktail.json b/src/recipes/sunshine-cocktail.json index 6402586dc..84c31a0f3 100644 --- a/src/recipes/sunshine-cocktail.json +++ b/src/recipes/sunshine-cocktail.json @@ -1,39 +1,39 @@ -{ - "name": "Sunshine Cocktail", - "description": "A drink perfect for beach days and working on your tan.", - "github": "ragrag", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "white rum" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "French vermouth" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "pineapple juice" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "grenadine" - } - ], - "directions": [ - "Shake ingredients well with cracked ice.", - "Lightly strain into a chilled cocktail glass." - ], - "image": "sunshine-cocktail.jpg", - "keywords": [ - "grenadine", - "cocktail", - "rum", - "pineapple juice", - "vermouth", - "alcoholic"] -} +{ + "name": "Sunshine Cocktail", + "description": "A drink perfect for beach days and working on your tan.", + "github": "ragrag", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "white rum" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "French vermouth" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "pineapple juice" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "grenadine" + } + ], + "directions": [ + "Shake ingredients well with cracked ice.", + "Lightly strain into a chilled cocktail glass." + ], + "image": "sunshine-cocktail.jpg", + "keywords": [ + "grenadine", + "cocktail", + "rum", + "pineapple juice", + "vermouth", + "alcoholic"] +} diff --git a/src/recipes/swan-song-cocktail.json b/src/recipes/swan-song-cocktail.json index 58f99fe8e..b5c3a8bb5 100644 --- a/src/recipes/swan-song-cocktail.json +++ b/src/recipes/swan-song-cocktail.json @@ -1,37 +1,37 @@ -{ - "name": "The Swan Song Cocktail", - "description": "Applejack and orange juice celebrate autumn flavors. Brandy and grenadine add extra punch and tingle. The result? A drink that says hello to fall. Even when it’s saying goodbye. ", - "github": "Jaimin25", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "brandy or cognac" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "applejack" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "fresh-squeezed orange juice" - }, - { - "quantity": "1 to 2", - "measure": "dash", - "ingredient": "grenadine " - } - ], - "directions": [ - "Add all the ingredients (except garnish) to a cocktail shaker half filled with ice. Shake vigorously until the contents are well chilled (about 20 seconds).", - "Strain into a cocktail glass, preferably one that has been chilled. Garnish, if you wish, and serve." - ], - "image": "swan-song-cocktail.jpg", - "source": "http://www.kitchenriffs.com/2022/09/the-swan-song-cocktail.html", - "keywords": [ - "cocktail", - "swan song" - ] -} +{ + "name": "The Swan Song Cocktail", + "description": "Applejack and orange juice celebrate autumn flavors. Brandy and grenadine add extra punch and tingle. The result? A drink that says hello to fall. Even when it’s saying goodbye. ", + "github": "Jaimin25", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "brandy or cognac" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "applejack" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "fresh-squeezed orange juice" + }, + { + "quantity": "1 to 2", + "measure": "dash", + "ingredient": "grenadine " + } + ], + "directions": [ + "Add all the ingredients (except garnish) to a cocktail shaker half filled with ice. Shake vigorously until the contents are well chilled (about 20 seconds).", + "Strain into a cocktail glass, preferably one that has been chilled. Garnish, if you wish, and serve." + ], + "image": "swan-song-cocktail.jpg", + "source": "http://www.kitchenriffs.com/2022/09/the-swan-song-cocktail.html", + "keywords": [ + "cocktail", + "swan song" + ] +} diff --git a/src/recipes/swedish-libre.json b/src/recipes/swedish-libre.json index 64bf264d9..79b0ad091 100644 --- a/src/recipes/swedish-libre.json +++ b/src/recipes/swedish-libre.json @@ -1,34 +1,34 @@ -{ - "name": "Swedish Libre", - "description": "A staple of the Swedish Christmas celebrations.", - "github": "ItenR", - "ingredients": [{ - "quantity": "2-4", - "measure": "large", - "ingredient": "Ice cubes" - }, - { - "quantity": "6", - "measure": "Cl", - "ingredient": "Dark Rum" - }, - { - "quantity": "0.50", - "measure": "Liter", - "ingredient": "Julmust" - } - ], - "directions": [ - "Gently drop the ice cubes in a Highball glass.", - "Grab the aged cork on top of the rum bottle and pull until you hear the classic pop.", - "Use eye measurement to pour between 6-10 cl of rum over the ice cubes.", - "Gently pour the Julmust into the glass so it does not foam over.", - "Serve." - ], - "image": "swedish-libre.jpg", - "keywords": [ - "rum", - "Swedish", - "christmas" - ] -} +{ + "name": "Swedish Libre", + "description": "A staple of the Swedish Christmas celebrations.", + "github": "ItenR", + "ingredients": [{ + "quantity": "2-4", + "measure": "large", + "ingredient": "Ice cubes" + }, + { + "quantity": "6", + "measure": "Cl", + "ingredient": "Dark Rum" + }, + { + "quantity": "0.50", + "measure": "Liter", + "ingredient": "Julmust" + } + ], + "directions": [ + "Gently drop the ice cubes in a Highball glass.", + "Grab the aged cork on top of the rum bottle and pull until you hear the classic pop.", + "Use eye measurement to pour between 6-10 cl of rum over the ice cubes.", + "Gently pour the Julmust into the glass so it does not foam over.", + "Serve." + ], + "image": "swedish-libre.jpg", + "keywords": [ + "rum", + "Swedish", + "christmas" + ] +} diff --git a/src/recipes/sweet-dreams.json b/src/recipes/sweet-dreams.json index b07f8de7a..159fa0063 100644 --- a/src/recipes/sweet-dreams.json +++ b/src/recipes/sweet-dreams.json @@ -1,49 +1,49 @@ -{ - "name": "Sweet Dreams", - "description": "A low alcohol drink, delicious to enjoy on a hot summer day.", - "github": "renanlmiranda", - "ingredients": [ - { - "quantity": "1/32", - "measure": "oz", - "ingredient": "Apricot Brandy" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Light rum" - }, - { - "quantity": "1/32", - "measure": "oz", - "ingredient": "Pineapple juice" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Maraschino cherry" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Fill a cocktail shaker with ice cubes.", - "Add all the ingredients.", - "Shake and strain into a cocktail glass.", - "Decorate with a Maraschino cherry." - ], - "image": "sweet-dreams.jpg", - "keywords": [ - "alcoholic", - "gin", - "sweet" - ] -} +{ + "name": "Sweet Dreams", + "description": "A low alcohol drink, delicious to enjoy on a hot summer day.", + "github": "renanlmiranda", + "ingredients": [ + { + "quantity": "1/32", + "measure": "oz", + "ingredient": "Apricot Brandy" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Light rum" + }, + { + "quantity": "1/32", + "measure": "oz", + "ingredient": "Pineapple juice" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Maraschino cherry" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Fill a cocktail shaker with ice cubes.", + "Add all the ingredients.", + "Shake and strain into a cocktail glass.", + "Decorate with a Maraschino cherry." + ], + "image": "sweet-dreams.jpg", + "keywords": [ + "alcoholic", + "gin", + "sweet" + ] +} diff --git a/src/recipes/sweet-lassi.json b/src/recipes/sweet-lassi.json index 4572cfce1..9a64b0aa1 100644 --- a/src/recipes/sweet-lassi.json +++ b/src/recipes/sweet-lassi.json @@ -1,45 +1,45 @@ -{ - "name": "Sweet Lassi", - "description": "Sweet Lassi is a cooling and refreshing drink to have in the summers. It is quite popular in Punjab and north India.", - "github": "sayalitandel", - "ingredients": [ - { - "quantity": "1 ¾", - "measure": "cups", - "ingredient": "Plain yogurt" - }, - { - "quantity": "6", - "measure": "", - "ingredient": "Ice cubes, crushed" - }, - { - "quantity": "1 ½", - "measure": "cups", - "ingredient": "Ice water" - }, - { - "quantity": "2", - "measure": "teaspoons", - "ingredient": "White sugar" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "Salt" - } - ], - "directions": [ - "In a blender, blend the yogurt, ice, water, sugar and salt until mixture becomes frothy.", - "Pour mixture over ice cubes in tall glasses.", - "Now, relish it! :D" - ], - "image": "sweet-lassi.jpg", - "source": "", - "keywords": [ - "yogurt", - "sweet", - "healthy", - "refreshing" - ] +{ + "name": "Sweet Lassi", + "description": "Sweet Lassi is a cooling and refreshing drink to have in the summers. It is quite popular in Punjab and north India.", + "github": "sayalitandel", + "ingredients": [ + { + "quantity": "1 ¾", + "measure": "cups", + "ingredient": "Plain yogurt" + }, + { + "quantity": "6", + "measure": "", + "ingredient": "Ice cubes, crushed" + }, + { + "quantity": "1 ½", + "measure": "cups", + "ingredient": "Ice water" + }, + { + "quantity": "2", + "measure": "teaspoons", + "ingredient": "White sugar" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "Salt" + } + ], + "directions": [ + "In a blender, blend the yogurt, ice, water, sugar and salt until mixture becomes frothy.", + "Pour mixture over ice cubes in tall glasses.", + "Now, relish it! :D" + ], + "image": "sweet-lassi.jpg", + "source": "", + "keywords": [ + "yogurt", + "sweet", + "healthy", + "refreshing" + ] } \ No newline at end of file diff --git a/src/recipes/swinging-sultan.json b/src/recipes/swinging-sultan.json index d24a49181..1a957be96 100644 --- a/src/recipes/swinging-sultan.json +++ b/src/recipes/swinging-sultan.json @@ -1,49 +1,49 @@ -{ - "name": "Swinging Sultan", - "description": "A kind of Turkish Cosmopolitan, an exotic pomegranate cocktail with lime juice, Triple-sec and raki.", - "github": "goktugacik", - "ingredients": [ - { - "quantity": "3", - "measure": "oz", - "ingredient": "Pomegranate Juice." - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Raki" - }, - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Lime Juice " - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Combine vodka, pomegranate juice, Triple Sec and lime juice in a large shaker with ice.", - "Shake vigorously for five to ten seconds.", - "Pour into two martini glasses.", - "Spray raki over surface of each drink, 1- 2 spritzes per glass." - ], - "image": "swinging-sultan.jpg", - "keywords": [ - "raki", - "pomegranate", - "cosmopolitan" - ] -} +{ + "name": "Swinging Sultan", + "description": "A kind of Turkish Cosmopolitan, an exotic pomegranate cocktail with lime juice, Triple-sec and raki.", + "github": "goktugacik", + "ingredients": [ + { + "quantity": "3", + "measure": "oz", + "ingredient": "Pomegranate Juice." + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Raki" + }, + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Lime Juice " + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Combine vodka, pomegranate juice, Triple Sec and lime juice in a large shaker with ice.", + "Shake vigorously for five to ten seconds.", + "Pour into two martini glasses.", + "Spray raki over surface of each drink, 1- 2 spritzes per glass." + ], + "image": "swinging-sultan.jpg", + "keywords": [ + "raki", + "pomegranate", + "cosmopolitan" + ] +} diff --git a/src/recipes/targoviste-twist.json b/src/recipes/targoviste-twist.json index 0e6e75c4e..3175c2ec5 100644 --- a/src/recipes/targoviste-twist.json +++ b/src/recipes/targoviste-twist.json @@ -1,45 +1,45 @@ -{ - "name": "Targoviste Twist", - "description": "A spicy and tangy drink that pays tribute to the history and culture of Targoviste, Romania", - "github": "eduardconstantin", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "rum" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "simple syrup" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Tabasco sauce" - }, - { - "quantity": "", - "measure": "", - "ingredient": "soda water" - } - ], - "directions": [ - "Fill a cocktail shaker with ice.", - "Add the rum, lime juice, simple syrup, and Tabasco sauce and shake well.", - "Strain into a highball glass filled with ice.", - "Top with soda water and garnish with a lime wedge." - ], - "image": "targoviste-twist.jpg", - "keywords": [ - "cocktail", - "rum", - "lime juice", - "Tabasco sauce" - ] +{ + "name": "Targoviste Twist", + "description": "A spicy and tangy drink that pays tribute to the history and culture of Targoviste, Romania", + "github": "eduardconstantin", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "rum" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "simple syrup" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Tabasco sauce" + }, + { + "quantity": "", + "measure": "", + "ingredient": "soda water" + } + ], + "directions": [ + "Fill a cocktail shaker with ice.", + "Add the rum, lime juice, simple syrup, and Tabasco sauce and shake well.", + "Strain into a highball glass filled with ice.", + "Top with soda water and garnish with a lime wedge." + ], + "image": "targoviste-twist.jpg", + "keywords": [ + "cocktail", + "rum", + "lime juice", + "Tabasco sauce" + ] } \ No newline at end of file diff --git a/src/recipes/taro-fresh-milk.json b/src/recipes/taro-fresh-milk.json index 10b56ecbb..81fd59428 100644 --- a/src/recipes/taro-fresh-milk.json +++ b/src/recipes/taro-fresh-milk.json @@ -1,38 +1,38 @@ -{ - "name": "Taro Fresh Milk", - "description": "Taro fresh milk is a drink that you find a lot in cafes in Indonesia, young people love it.", - "github": "muhamadiqbalriv", - "ingredients": [ - { - "quantity": "2", - "measure": "", - "ingredient": "Tablespoons of taro powder" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Glass of pure cow's milk" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "Tablespoons of liquid sugar" - }, - { - "quantity": "Needed", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Dissolve taro powder with liquid sugar, add a little warm water then mix well.", - "Prepare whole milk in a serving glass, put ice cubes, then pour the liquid sugar that has been mixed with taro powder. Serve." - ], - "image": "taro-fresh-milk.jpg", - "keywords": [ - "taro", - "milk", - "fresh", - "vegan" - ] -} +{ + "name": "Taro Fresh Milk", + "description": "Taro fresh milk is a drink that you find a lot in cafes in Indonesia, young people love it.", + "github": "muhamadiqbalriv", + "ingredients": [ + { + "quantity": "2", + "measure": "", + "ingredient": "Tablespoons of taro powder" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Glass of pure cow's milk" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "Tablespoons of liquid sugar" + }, + { + "quantity": "Needed", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Dissolve taro powder with liquid sugar, add a little warm water then mix well.", + "Prepare whole milk in a serving glass, put ice cubes, then pour the liquid sugar that has been mixed with taro powder. Serve." + ], + "image": "taro-fresh-milk.jpg", + "keywords": [ + "taro", + "milk", + "fresh", + "vegan" + ] +} diff --git a/src/recipes/taste-the-rainbow.json b/src/recipes/taste-the-rainbow.json index 10f3cdeef..22c9b7f72 100644 --- a/src/recipes/taste-the-rainbow.json +++ b/src/recipes/taste-the-rainbow.json @@ -1,58 +1,58 @@ -{ - "name": "Taste The Rainbow", - "description": "Taste the rainbow with this colorful fruity layered vodka cocktail recipe.", - "github": "dcorriveau", - "ingredients": [ - { - "quantity": "30", - "measure": "ml", - "ingredient": "Grenadine" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "45", - "measure": "ml", - "ingredient": "Pineapple Juice" - }, - { - "quantity": "30", - "measure": "ml", - "ingredient": "Vodka" - }, - { - "quantity": "15", - "measure": "ml", - "ingredient": "Blue Curaçao" - }, - { - "quantity": "1", - "measure": "Slice", - "ingredient": "Orange" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Cherry" - } - ], - "directions": [ - "Pour some Grenadine into the base of a glass and slowly spoon in some ice cubes. Set aside.", - "In a shaking glass with ice, combine peach schnapps and pineapple juice. Shake well.", - "Slowly pour over grenadine, filling almost to the top.", - "In a separate shaking glass with ice, combine vodka and blue curaçao. Shake well and carefully layer on top.", - "Garnish with an orange slice and a cherry." - ], - "image": "taste-the-rainbow.jpg", - "keywords": [ - "tropical", - "pinapple", - "curacao", - "vodka", - "schnapps", - "alcoholic" - ] -} +{ + "name": "Taste The Rainbow", + "description": "Taste the rainbow with this colorful fruity layered vodka cocktail recipe.", + "github": "dcorriveau", + "ingredients": [ + { + "quantity": "30", + "measure": "ml", + "ingredient": "Grenadine" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "45", + "measure": "ml", + "ingredient": "Pineapple Juice" + }, + { + "quantity": "30", + "measure": "ml", + "ingredient": "Vodka" + }, + { + "quantity": "15", + "measure": "ml", + "ingredient": "Blue Curaçao" + }, + { + "quantity": "1", + "measure": "Slice", + "ingredient": "Orange" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Cherry" + } + ], + "directions": [ + "Pour some Grenadine into the base of a glass and slowly spoon in some ice cubes. Set aside.", + "In a shaking glass with ice, combine peach schnapps and pineapple juice. Shake well.", + "Slowly pour over grenadine, filling almost to the top.", + "In a separate shaking glass with ice, combine vodka and blue curaçao. Shake well and carefully layer on top.", + "Garnish with an orange slice and a cherry." + ], + "image": "taste-the-rainbow.jpg", + "keywords": [ + "tropical", + "pinapple", + "curacao", + "vodka", + "schnapps", + "alcoholic" + ] +} diff --git a/src/recipes/tea-ais.json b/src/recipes/tea-ais.json index f98afd1e1..ee8a05f64 100644 --- a/src/recipes/tea-ais.json +++ b/src/recipes/tea-ais.json @@ -1,48 +1,48 @@ -{ - "name": "Tea Ais", - "description": "Tea Ais is Ice Tea with condensed milk. Its name is derived from the pouring of 'pulling' the drink during preparation.", - "github": "Akuntamvan", - "ingredients": [ - { - "quantity": "4", - "measure": "", - "ingredient": "black tea bags" - }, - { - "quantity": "3", - "measure": "cups", - "ingredient": "water, boiling hot" - }, - { - "quantity": "4", - "measure": "tbs", - "ingredient": "sweetened condensed milk" - }, - { - "quantity": "", - "measure": "", - "ingredient": "super (optional)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes as needed" - } - ], - "directions": [ - "Steep the tea bags covered in the hot water for 5-8 minutes.", - "Mix in the milk and sugar.", - "Prepare two containers, preferably with curved lips to ease pouring with minimal dripping.", - "With a steady stream, pour the tea from one container to the other back and forth.", - "Carefully increase the height as your pour.", - "The higher the steam, the frothier it'll become.", - "Be careful not to scald yourself.", - "Tea will splatter. Repeat 4-6 times.", - "Adds some ice cubes and serve." - ], - "image": "tea-ais.jpg", - "keywords": [ - "tea", - "non-alcoholic" - ] -} +{ + "name": "Tea Ais", + "description": "Tea Ais is Ice Tea with condensed milk. Its name is derived from the pouring of 'pulling' the drink during preparation.", + "github": "Akuntamvan", + "ingredients": [ + { + "quantity": "4", + "measure": "", + "ingredient": "black tea bags" + }, + { + "quantity": "3", + "measure": "cups", + "ingredient": "water, boiling hot" + }, + { + "quantity": "4", + "measure": "tbs", + "ingredient": "sweetened condensed milk" + }, + { + "quantity": "", + "measure": "", + "ingredient": "super (optional)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes as needed" + } + ], + "directions": [ + "Steep the tea bags covered in the hot water for 5-8 minutes.", + "Mix in the milk and sugar.", + "Prepare two containers, preferably with curved lips to ease pouring with minimal dripping.", + "With a steady stream, pour the tea from one container to the other back and forth.", + "Carefully increase the height as your pour.", + "The higher the steam, the frothier it'll become.", + "Be careful not to scald yourself.", + "Tea will splatter. Repeat 4-6 times.", + "Adds some ice cubes and serve." + ], + "image": "tea-ais.jpg", + "keywords": [ + "tea", + "non-alcoholic" + ] +} diff --git a/src/recipes/teh-c.json b/src/recipes/teh-c.json index daafe1dff..d5b68df6b 100644 --- a/src/recipes/teh-c.json +++ b/src/recipes/teh-c.json @@ -1,34 +1,34 @@ -{ - "name": "Teh C", - "description": "Teh-C is hot tea with evaporated milk. “Teh” is the local word for tea, while “C” refers to the evaporated milk added to the beverage. This is a tea originating from and popular in Singapore and Malaysia. ", - "github": "kgwxf", - "ingredients": [ - { - "quantity": "1", - "measure": "1 tea bag", - "ingredient": "Tea leaves" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "Full cream evaporated milk" - }, - { - "quantity": "1", - "measure": "Tablespoon", - "ingredient": "Sugar" - } - ], - "directions": [ - "Place tea bag into a cup and pour hot water until the cup is 3/4 full. Let the tea seep for 5 minutes", - "Add in the evaporated milk and sugar. Stir well" - ], - "image": "teh-c.jpg", - "keywords": [ - "cream", - "Singaporean", - "sugar", - "tea", - "evaporated milk" - ] -} +{ + "name": "Teh C", + "description": "Teh-C is hot tea with evaporated milk. “Teh” is the local word for tea, while “C” refers to the evaporated milk added to the beverage. This is a tea originating from and popular in Singapore and Malaysia. ", + "github": "kgwxf", + "ingredients": [ + { + "quantity": "1", + "measure": "1 tea bag", + "ingredient": "Tea leaves" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "Full cream evaporated milk" + }, + { + "quantity": "1", + "measure": "Tablespoon", + "ingredient": "Sugar" + } + ], + "directions": [ + "Place tea bag into a cup and pour hot water until the cup is 3/4 full. Let the tea seep for 5 minutes", + "Add in the evaporated milk and sugar. Stir well" + ], + "image": "teh-c.jpg", + "keywords": [ + "cream", + "Singaporean", + "sugar", + "tea", + "evaporated milk" + ] +} diff --git a/src/recipes/teh-tarik.json b/src/recipes/teh-tarik.json index ed761b035..c70805104 100644 --- a/src/recipes/teh-tarik.json +++ b/src/recipes/teh-tarik.json @@ -1,40 +1,40 @@ -{ - "name": "Teh Tarik", - "description": "Teh Tarik is a delicious Malaysian specialty you can find in any restaurant or cafe in the country. It is so delicious and easy to make that you would not believe how a few extra steps and different ingredients can turn a normal cup of black tea into a smooth, creamy, frothy, luscious beverage of which you will cherish every sip.", - "github": "wfebriad", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "4 black tea bags" - }, - { - "quantity": "", - "measure": "", - "ingredient": "3 cups water, boiling hot" - }, - { - "quantity": "", - "measure": "", - "ingredient": "4 tbs sweetened condensed milk (or replace half with evaporated milk)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sugar (optional)" - } - ], - "directions": [ - "Steep the tea bags covered in the hot water for 5-8 minutes.", - "Mix in the milk and sugar.", - "Prepare two containers, preferably with curved lips to ease pouring with minimal dripping.", - "With a steady stream, pour the tea from one container to the other back and forth.", - "Carefully increase the height as you pour. The higher the stream, the frothier it’ll become. Be careful not to scald yourself. Tea will splatter. Repeat 4-6 times." - ], - "image": "teh-tarik.jpg", - "keywords": [ - "tea", - "sugar", - "milk" - ] -} +{ + "name": "Teh Tarik", + "description": "Teh Tarik is a delicious Malaysian specialty you can find in any restaurant or cafe in the country. It is so delicious and easy to make that you would not believe how a few extra steps and different ingredients can turn a normal cup of black tea into a smooth, creamy, frothy, luscious beverage of which you will cherish every sip.", + "github": "wfebriad", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "4 black tea bags" + }, + { + "quantity": "", + "measure": "", + "ingredient": "3 cups water, boiling hot" + }, + { + "quantity": "", + "measure": "", + "ingredient": "4 tbs sweetened condensed milk (or replace half with evaporated milk)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sugar (optional)" + } + ], + "directions": [ + "Steep the tea bags covered in the hot water for 5-8 minutes.", + "Mix in the milk and sugar.", + "Prepare two containers, preferably with curved lips to ease pouring with minimal dripping.", + "With a steady stream, pour the tea from one container to the other back and forth.", + "Carefully increase the height as you pour. The higher the stream, the frothier it’ll become. Be careful not to scald yourself. Tea will splatter. Repeat 4-6 times." + ], + "image": "teh-tarik.jpg", + "keywords": [ + "tea", + "sugar", + "milk" + ] +} diff --git a/src/recipes/tequila-honeysuckle.json b/src/recipes/tequila-honeysuckle.json index 790bb390f..62377f730 100644 --- a/src/recipes/tequila-honeysuckle.json +++ b/src/recipes/tequila-honeysuckle.json @@ -1,39 +1,39 @@ -{ - "name": "Tequila Honeysuckle", - "description": "A simple and smooth, springtime Tequila drink.", - "github": "Tash925", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Tequila" - }, - { - "quantity": ".75", - "measure": "oz", - "ingredient": "Honey Syrup" - }, - { - "quantity": ".75", - "measure": "oz", - "ingredient": "Lime Juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Add ice to shaker and combine ingredients.", - "Strain mixture into a coupe glass.", - "Garnish with lime wedge." - ], - "image": "tequila-honeysuckle.jpg", - "source": "https://www.townandcountrymag.com/leisure/drinks/g234/best-spring-cocktails/", - "keywords": [ - "tequila", - "lime", - "honey" - ] -} +{ + "name": "Tequila Honeysuckle", + "description": "A simple and smooth, springtime Tequila drink.", + "github": "Tash925", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Tequila" + }, + { + "quantity": ".75", + "measure": "oz", + "ingredient": "Honey Syrup" + }, + { + "quantity": ".75", + "measure": "oz", + "ingredient": "Lime Juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Add ice to shaker and combine ingredients.", + "Strain mixture into a coupe glass.", + "Garnish with lime wedge." + ], + "image": "tequila-honeysuckle.jpg", + "source": "https://www.townandcountrymag.com/leisure/drinks/g234/best-spring-cocktails/", + "keywords": [ + "tequila", + "lime", + "honey" + ] +} diff --git a/src/recipes/tequila-mocking-bird.json b/src/recipes/tequila-mocking-bird.json index 7752e261c..6b984fb66 100644 --- a/src/recipes/tequila-mocking-bird.json +++ b/src/recipes/tequila-mocking-bird.json @@ -1,40 +1,40 @@ -{ - "name": "Tequila Mockingbird", - "description": "Tequila for the literary astute. Fruity, pleasant and highbrow.", - "github": "tomlandis", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "tequila" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": "4", - "measure": "cubes", - "ingredient": "watermelon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Add very cold, or frozen watermelon cubes in a small glass.", - "Add tequila and then lime juice to the glass.", - "When serving, make a literary reference if at all possible.", - "Other fruit can be substituted for watermelon if needed." - ], - "image": "tequila-mockingbird.jpg", - "keywords": [ - "lime", - "tequila", - "watermelon", - "ice" - ] -} +{ + "name": "Tequila Mockingbird", + "description": "Tequila for the literary astute. Fruity, pleasant and highbrow.", + "github": "tomlandis", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "tequila" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": "4", + "measure": "cubes", + "ingredient": "watermelon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Add very cold, or frozen watermelon cubes in a small glass.", + "Add tequila and then lime juice to the glass.", + "When serving, make a literary reference if at all possible.", + "Other fruit can be substituted for watermelon if needed." + ], + "image": "tequila-mockingbird.jpg", + "keywords": [ + "lime", + "tequila", + "watermelon", + "ice" + ] +} diff --git a/src/recipes/tequila-pineapple.json b/src/recipes/tequila-pineapple.json index eee6bc9a6..f7fd42518 100644 --- a/src/recipes/tequila-pineapple.json +++ b/src/recipes/tequila-pineapple.json @@ -1,37 +1,37 @@ -{ - "name": "Tequila Pineapple", - "description": "A simple, but delicious summertime cocktail.", - "github": "aagnone3", - "ingredients": [ - { - "quantity": "3", - "measure": "oz", - "ingredient": "tequila" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "pineapple juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Fill a mixing cup half-full with ice cubes.", - "Fill a drinking glass half-full with ice cubes.", - "Add tequila and pineapple juice to the mixing cup and shake well.", - "With the filter intact on the mixing cup, pour the mixture into the drinking glass.", - "(Optional) add a marachino cherry or pineapple slice as a garnish." - ], - "image": "tequila-pineapple.jpg", - "keywords": [ - "summer", - "tequila", - "pineapple", - "shaken", - "ice" - ] -} +{ + "name": "Tequila Pineapple", + "description": "A simple, but delicious summertime cocktail.", + "github": "aagnone3", + "ingredients": [ + { + "quantity": "3", + "measure": "oz", + "ingredient": "tequila" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "pineapple juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Fill a mixing cup half-full with ice cubes.", + "Fill a drinking glass half-full with ice cubes.", + "Add tequila and pineapple juice to the mixing cup and shake well.", + "With the filter intact on the mixing cup, pour the mixture into the drinking glass.", + "(Optional) add a marachino cherry or pineapple slice as a garnish." + ], + "image": "tequila-pineapple.jpg", + "keywords": [ + "summer", + "tequila", + "pineapple", + "shaken", + "ice" + ] +} diff --git a/src/recipes/tequila-slammer.json b/src/recipes/tequila-slammer.json index 3555b9efe..bd7174d56 100644 --- a/src/recipes/tequila-slammer.json +++ b/src/recipes/tequila-slammer.json @@ -1,33 +1,33 @@ -{ - "name": "Tequila Slammer", - "description": "A Tequila Slammer is a cocktail served in a rocks glass. It is made with tequila.", - "github": "Mythicmrmun", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Tequila" - }, - { - "quantity": "5", - "measure": "oz", - "ingredient": "7-up" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Fill a rocks drinking glass with ice cubes.", - "Add all ingredients carefully to not release the CO2.", - "Slam on the counter to make it fizz up and drink." - ], - "image": "tequila-slammer.jpg", - "keywords": [ - "tequila", - "soda", - "alcoholic" - ] -} +{ + "name": "Tequila Slammer", + "description": "A Tequila Slammer is a cocktail served in a rocks glass. It is made with tequila.", + "github": "Mythicmrmun", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Tequila" + }, + { + "quantity": "5", + "measure": "oz", + "ingredient": "7-up" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Fill a rocks drinking glass with ice cubes.", + "Add all ingredients carefully to not release the CO2.", + "Slam on the counter to make it fizz up and drink." + ], + "image": "tequila-slammer.jpg", + "keywords": [ + "tequila", + "soda", + "alcoholic" + ] +} diff --git a/src/recipes/tequila-sunrise.json b/src/recipes/tequila-sunrise.json index 05bef6906..65c2e363f 100644 --- a/src/recipes/tequila-sunrise.json +++ b/src/recipes/tequila-sunrise.json @@ -1,39 +1,39 @@ -{ - "name": "Tequila Sunrise", - "description": "A simple tequila cocktail with layered colors.", - "github": "sessihers", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "tequila" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "orange juice" - }, - { - "quantity": "0.25", - "measure": "oz", - "ingredient": "grenadine" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Fill a long drink glass with ice cubes.", - "Add tequila and then orange juice to the glass.", - "Top the drink with grenadine." - ], - "image": "tequila-sunrise.jpg", - "keywords": [ - "orange juice", - "tequila", - "grenadine", - "ice" - ] -} +{ + "name": "Tequila Sunrise", + "description": "A simple tequila cocktail with layered colors.", + "github": "sessihers", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "tequila" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "orange juice" + }, + { + "quantity": "0.25", + "measure": "oz", + "ingredient": "grenadine" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Fill a long drink glass with ice cubes.", + "Add tequila and then orange juice to the glass.", + "Top the drink with grenadine." + ], + "image": "tequila-sunrise.jpg", + "keywords": [ + "orange juice", + "tequila", + "grenadine", + "ice" + ] +} diff --git a/src/recipes/terere.json b/src/recipes/terere.json index 1f419ed20..15d8b45e5 100644 --- a/src/recipes/terere.json +++ b/src/recipes/terere.json @@ -1,39 +1,39 @@ -{ - "name": "Terere", - "description": " Tereré or tererê is a typical South American drink made with the infusion of yerba mate in cold water. Of Guarani origin, it can be consumed with lemon, mint, among others.", - "github": "phfbueno", - "ingredients": [ - { - "quantity": "1.000", - "measure": "ml", - "ingredient": "lemon juice" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "green lemon" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Sugar" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "mate herb" - } - ], - "directions": [ - "Put 1 liter of cold water in a thermos, the juice of the lemon juice packet, the juice of the 4 lemons, sugar and stir.", - "Serve in the bowl with the herb." - ], - "image": "terere.jpg", - "keywords": [ - "lemon", - "lemon juice", - "mate herb", - "non-alcoholic", - "vegan" - ] -} +{ + "name": "Terere", + "description": " Tereré or tererê is a typical South American drink made with the infusion of yerba mate in cold water. Of Guarani origin, it can be consumed with lemon, mint, among others.", + "github": "phfbueno", + "ingredients": [ + { + "quantity": "1.000", + "measure": "ml", + "ingredient": "lemon juice" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "green lemon" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Sugar" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "mate herb" + } + ], + "directions": [ + "Put 1 liter of cold water in a thermos, the juice of the lemon juice packet, the juice of the 4 lemons, sugar and stir.", + "Serve in the bowl with the herb." + ], + "image": "terere.jpg", + "keywords": [ + "lemon", + "lemon juice", + "mate herb", + "non-alcoholic", + "vegan" + ] +} diff --git a/src/recipes/thai-tea-with-almond-milk.json b/src/recipes/thai-tea-with-almond-milk.json index 6b1526dcf..d2b5e5f14 100644 --- a/src/recipes/thai-tea-with-almond-milk.json +++ b/src/recipes/thai-tea-with-almond-milk.json @@ -1,48 +1,48 @@ -{ - "name": "Thai Tea with almond milk", - "description": "Thai tea is popular in Asia. To make it more healthy by using almond milk and low sugar", - "github": "miewliie", - "ingredients": [ - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Thai tea" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Boiling water" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Sugar" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Sweetened condensed milk" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "Almond milk" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Crushed ice" - } - ], - "directions": [ - "1. Take your tea sock and add thai tea. Put tea sock on boil water cup. To steep the tea.", - "2. Leave the tea sock for a couple minutes to extract the tea flavour.", - "3. Pour the tea to a cup. Mix all the the rest of ingredients except ice.", - "4. Bring the cup with the ice. Pour the tea to this cup." - ], - "image": "thai-tea-with-almond-milk.jpg", - "keywords": [ - "thai tea", - "almond milk" - ] -} +{ + "name": "Thai Tea with almond milk", + "description": "Thai tea is popular in Asia. To make it more healthy by using almond milk and low sugar", + "github": "miewliie", + "ingredients": [ + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Thai tea" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Boiling water" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Sugar" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Sweetened condensed milk" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "Almond milk" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Crushed ice" + } + ], + "directions": [ + "1. Take your tea sock and add thai tea. Put tea sock on boil water cup. To steep the tea.", + "2. Leave the tea sock for a couple minutes to extract the tea flavour.", + "3. Pour the tea to a cup. Mix all the the rest of ingredients except ice.", + "4. Bring the cup with the ice. Pour the tea to this cup." + ], + "image": "thai-tea-with-almond-milk.jpg", + "keywords": [ + "thai tea", + "almond milk" + ] +} diff --git a/src/recipes/thandai.json b/src/recipes/thandai.json index 3d2874d91..718fc0859 100644 --- a/src/recipes/thandai.json +++ b/src/recipes/thandai.json @@ -1,116 +1,116 @@ -{ - "name": "Thandai", - "description": "A drink native to India and is often associated with the Maha Shivaratri and Holi or Holla mahalla festival.", - "github": "sounak98", - "ingredients": [ - { - "quantity": "2", - "measure": "cups", - "ingredient": "Half and Half Milk" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Whole Milk" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Rose Water" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Sugar" - }, - { - "quantity": "3/4", - "measure": "cup", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Cashews" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "Melon Seeds" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Saffron Strands" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Cinnamon Powder" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Nutmeg Powder" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Rose Petal Spread (Gulkand)" - }, - { - "quantity": "1.5", - "measure": "teaspoons", - "ingredient": "Fennel Seed Powder" - }, - { - "quantity": "1.5", - "measure": "teaspoons", - "ingredient": "Cardamom Powder" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Poppy Seeds" - }, - { - "quantity": "12", - "measure": "pieces", - "ingredient": "Almonds" - }, - { - "quantity": "15", - "measure": "pieces", - "ingredient": "Pistachios" - }, - { - "quantity": "3/4", - "measure": "teaspoon", - "ingredient": "Black Peppercorns" - } - ], - "directions": [ - "Boil milk in a bowl and soak saffron strands in it. Allow it to sit for 15 - 20 minutes. Soaking saffron strands in hot milk releases its color and flavor.", - "Stir it with a spoon and milk will have a beautiful pale yellow color. Set it aside.", - "Let's assemble our thandai masala ingredients. Feel free to adjust spices according to taste.", - "Add all the nuts and spices to a grinder.", - "Grind spices to their powdered form. Set it aside.", - "You can ground the spices in a motor and pestle too.", - "Boil milk in a heavy bottomed pan.", - "Stir in the nuts and spices one by one onceit comes to a full boil.", - "Whisk so that no lumps remain. Add sugar and keep stirring the liquid. Give it a good boil and take it off the flame. Allow it to cool completely.", - "Stir in saffron flavored milk, rose spread and rose water. If no rose spread available add 2 tablespoons of rose water.", - "Allow it to sit for a while (an hour or more) so that it can soak in all the flavors. Later sieve it through a strainer, add water and refrigerate this drink for at least 3-4 hours or until chilled.", - "Thandai tastes best when served chilled." - ], - "image": "thandai.jpg", - "source": "https://www.ruchiskitchen.com/thandai-recipe/", - "keywords": [ - "cool", - "refreshing", - "non-alcoholic", - "indian", - "milk", - "saffron" - ] +{ + "name": "Thandai", + "description": "A drink native to India and is often associated with the Maha Shivaratri and Holi or Holla mahalla festival.", + "github": "sounak98", + "ingredients": [ + { + "quantity": "2", + "measure": "cups", + "ingredient": "Half and Half Milk" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Whole Milk" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Rose Water" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Sugar" + }, + { + "quantity": "3/4", + "measure": "cup", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Cashews" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "Melon Seeds" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Saffron Strands" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Cinnamon Powder" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Nutmeg Powder" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Rose Petal Spread (Gulkand)" + }, + { + "quantity": "1.5", + "measure": "teaspoons", + "ingredient": "Fennel Seed Powder" + }, + { + "quantity": "1.5", + "measure": "teaspoons", + "ingredient": "Cardamom Powder" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Poppy Seeds" + }, + { + "quantity": "12", + "measure": "pieces", + "ingredient": "Almonds" + }, + { + "quantity": "15", + "measure": "pieces", + "ingredient": "Pistachios" + }, + { + "quantity": "3/4", + "measure": "teaspoon", + "ingredient": "Black Peppercorns" + } + ], + "directions": [ + "Boil milk in a bowl and soak saffron strands in it. Allow it to sit for 15 - 20 minutes. Soaking saffron strands in hot milk releases its color and flavor.", + "Stir it with a spoon and milk will have a beautiful pale yellow color. Set it aside.", + "Let's assemble our thandai masala ingredients. Feel free to adjust spices according to taste.", + "Add all the nuts and spices to a grinder.", + "Grind spices to their powdered form. Set it aside.", + "You can ground the spices in a motor and pestle too.", + "Boil milk in a heavy bottomed pan.", + "Stir in the nuts and spices one by one onceit comes to a full boil.", + "Whisk so that no lumps remain. Add sugar and keep stirring the liquid. Give it a good boil and take it off the flame. Allow it to cool completely.", + "Stir in saffron flavored milk, rose spread and rose water. If no rose spread available add 2 tablespoons of rose water.", + "Allow it to sit for a while (an hour or more) so that it can soak in all the flavors. Later sieve it through a strainer, add water and refrigerate this drink for at least 3-4 hours or until chilled.", + "Thandai tastes best when served chilled." + ], + "image": "thandai.jpg", + "source": "https://www.ruchiskitchen.com/thandai-recipe/", + "keywords": [ + "cool", + "refreshing", + "non-alcoholic", + "indian", + "milk", + "saffron" + ] } \ No newline at end of file diff --git a/src/recipes/the-bengal-tiger.json b/src/recipes/the-bengal-tiger.json index 12f9b0f19..cc6540961 100644 --- a/src/recipes/the-bengal-tiger.json +++ b/src/recipes/the-bengal-tiger.json @@ -1,46 +1,46 @@ -{ - "name": "The Bengal Tiger", - "description": "Light and punchy, Novotel (Kolkata) Ritika Rai's Bengal Tiger is aptly named.", - "github": "ch1771dr0b0", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "White Rum" - }, - { - "quantity": "10", - "measure": "ml", - "ingredient": "brandy" - }, - { - "quantity": "60", - "measure": "ml", - "ingredient": "Pineapple juice" - }, - { - "quantity": "20", - "measure": "ml", - "ingredient": "Pomegranate juice" - }, - { - "quantity": "1/2", - "measure": "piece", - "ingredient": "Gondraj lemon" - } - ], - "directions": [ - "In a shaker filled with ice pour the spirits, some sweet and sour mix", - "Pour the juices and shake the mixture.", - "In a tall glass filled with ice pour the drink.", - "Garnish with a wedge of gondoraj lemon and twist a peel of the lemon over the drink.", - "Rub the peel on the glass for the freshness and aroma.", - "Serve with a smile!" - ], - "image": "the-bengal-tiger.jpg", - "source": "https://www.huffingtonpost.in/2016/04/04/summer-cocktails-indian-b_n_9579878.html", - "keywords": [ - "Indian", - "alcoholic" - ] -} +{ + "name": "The Bengal Tiger", + "description": "Light and punchy, Novotel (Kolkata) Ritika Rai's Bengal Tiger is aptly named.", + "github": "ch1771dr0b0", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "White Rum" + }, + { + "quantity": "10", + "measure": "ml", + "ingredient": "brandy" + }, + { + "quantity": "60", + "measure": "ml", + "ingredient": "Pineapple juice" + }, + { + "quantity": "20", + "measure": "ml", + "ingredient": "Pomegranate juice" + }, + { + "quantity": "1/2", + "measure": "piece", + "ingredient": "Gondraj lemon" + } + ], + "directions": [ + "In a shaker filled with ice pour the spirits, some sweet and sour mix", + "Pour the juices and shake the mixture.", + "In a tall glass filled with ice pour the drink.", + "Garnish with a wedge of gondoraj lemon and twist a peel of the lemon over the drink.", + "Rub the peel on the glass for the freshness and aroma.", + "Serve with a smile!" + ], + "image": "the-bengal-tiger.jpg", + "source": "https://www.huffingtonpost.in/2016/04/04/summer-cocktails-indian-b_n_9579878.html", + "keywords": [ + "Indian", + "alcoholic" + ] +} diff --git a/src/recipes/the-diddy.json b/src/recipes/the-diddy.json index c9a8126b2..ff7b7a745 100644 --- a/src/recipes/the-diddy.json +++ b/src/recipes/the-diddy.json @@ -1,29 +1,29 @@ -{ - "name": "The Diddy", - "description": "A simple vodka lemonade mix.", - "github": "andrewjthomsen", - "ingredients": [ - { - "quantity": "1.5", - "measure": "ounces", - "ingredient": "CIROC Vodka" - }, - { - "quantity": "1.5", - "measure": "ounces", - "ingredient": "lemonade" - } - - ], - "directions": [ - "Combine ingredients in a Highball glass filled with ice.", - "Stir.", - "Garnish with lemon wheel." - ], - "image": "the-diddy.jpg", - "keywords": [ - "ciroc", - "vodka", - "lemonade" - ] -} +{ + "name": "The Diddy", + "description": "A simple vodka lemonade mix.", + "github": "andrewjthomsen", + "ingredients": [ + { + "quantity": "1.5", + "measure": "ounces", + "ingredient": "CIROC Vodka" + }, + { + "quantity": "1.5", + "measure": "ounces", + "ingredient": "lemonade" + } + + ], + "directions": [ + "Combine ingredients in a Highball glass filled with ice.", + "Stir.", + "Garnish with lemon wheel." + ], + "image": "the-diddy.jpg", + "keywords": [ + "ciroc", + "vodka", + "lemonade" + ] +} diff --git a/src/recipes/the-flaming-homer.json b/src/recipes/the-flaming-homer.json index cf62dbd00..5f01f3111 100644 --- a/src/recipes/the-flaming-homer.json +++ b/src/recipes/the-flaming-homer.json @@ -1,58 +1,58 @@ -{ - "name": "The Flaming Homer", - "description": "The Flaming Homer, also known as the Flaming Moe, is a cocktail drink, accidentally invented by Homer, and stolen by Moe. The Simpsons S3E10", - "github": "speex404", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Whiskey" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Simple Syrup" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Créme de Cassis" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Blueberry Schnapps" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lemon Lime Soda" - }, - { - "quantity": "1", - "measure": "Splash", - "ingredient": "Bacardi 151" - } - ], - "directions": [ - "In a shaking glass with ice, combine vodka, whiskey, creme de cassis, blueberry schnapps, and simple syrup. Shake well.", - "Strain mix into a glass over ice and top with lemon lime soda.", - "Layer on a splash of Bacardi 151 or any overproof rum and ignite." - ], - "image": "the-flaming-homer.jpg", - "source": "https://tipsybartender.com/recipe/the-flaming-moe/", - "keywords": [ - "pop culture", - "blueberry", - "schnapps", - "creme de cassis", - "vodka", - "whiskey", - "simpsons" - ] +{ + "name": "The Flaming Homer", + "description": "The Flaming Homer, also known as the Flaming Moe, is a cocktail drink, accidentally invented by Homer, and stolen by Moe. The Simpsons S3E10", + "github": "speex404", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Whiskey" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Simple Syrup" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Créme de Cassis" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Blueberry Schnapps" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lemon Lime Soda" + }, + { + "quantity": "1", + "measure": "Splash", + "ingredient": "Bacardi 151" + } + ], + "directions": [ + "In a shaking glass with ice, combine vodka, whiskey, creme de cassis, blueberry schnapps, and simple syrup. Shake well.", + "Strain mix into a glass over ice and top with lemon lime soda.", + "Layer on a splash of Bacardi 151 or any overproof rum and ignite." + ], + "image": "the-flaming-homer.jpg", + "source": "https://tipsybartender.com/recipe/the-flaming-moe/", + "keywords": [ + "pop culture", + "blueberry", + "schnapps", + "creme de cassis", + "vodka", + "whiskey", + "simpsons" + ] } \ No newline at end of file diff --git a/src/recipes/the-perfect-storm.json b/src/recipes/the-perfect-storm.json index a8956c539..97a5ff629 100644 --- a/src/recipes/the-perfect-storm.json +++ b/src/recipes/the-perfect-storm.json @@ -1,49 +1,49 @@ -{ - "name": "The Perfect Storm", - "description": "Live a pirate's life, and sail through the Perfect Storm. This drink be sure to get ye some sea legs!", - "github": "kbernou", - "ingredients": [ - { - "quantity": "1", - "measure": "part", - "ingredient": "Dark Rum (Kraken if ye be a brave soul)" - }, - { - "quantity": "3", - "measure": "parts", - "ingredient": "Ginger Beer (Crabbies be the pirate's favorite)" - }, - { - "quantity": "2", - "measure": "dashes", - "ingredient": "Bitters (if ye be feelin' fancy)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Half Lime (for juice... and to prevent scurvy)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lime Wheel (for garnish)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice (if ye be wantin' it cool)" - } - ], - "directions": [ - "Fill glass with ice.", - "Add rum and lime juice into glass.", - "Pour the ginger beer on top, and follow with the bitters.", - "Garnish with lime wheel." - ], - "image": "the-perfect-storm.jpg", - "keywords": [ - "rum", - "ginger beer", - "alcoholic" - ] -} +{ + "name": "The Perfect Storm", + "description": "Live a pirate's life, and sail through the Perfect Storm. This drink be sure to get ye some sea legs!", + "github": "kbernou", + "ingredients": [ + { + "quantity": "1", + "measure": "part", + "ingredient": "Dark Rum (Kraken if ye be a brave soul)" + }, + { + "quantity": "3", + "measure": "parts", + "ingredient": "Ginger Beer (Crabbies be the pirate's favorite)" + }, + { + "quantity": "2", + "measure": "dashes", + "ingredient": "Bitters (if ye be feelin' fancy)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Half Lime (for juice... and to prevent scurvy)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lime Wheel (for garnish)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice (if ye be wantin' it cool)" + } + ], + "directions": [ + "Fill glass with ice.", + "Add rum and lime juice into glass.", + "Pour the ginger beer on top, and follow with the bitters.", + "Garnish with lime wheel." + ], + "image": "the-perfect-storm.jpg", + "keywords": [ + "rum", + "ginger beer", + "alcoholic" + ] +} diff --git a/src/recipes/the-salty-dog.json b/src/recipes/the-salty-dog.json index b28cff8c3..164a732f9 100644 --- a/src/recipes/the-salty-dog.json +++ b/src/recipes/the-salty-dog.json @@ -1,42 +1,42 @@ -{ - "name": "The Salty Dog", - "description": "The Salty Dog is a lot friendlier than it sounds. This classic cocktail is a modified Greyhound that is differentiated by the drink’s salted rim.", - "github": "theishanbh", - "ingredients": [ - { - "quantity": "5½", - "measure": "ounces", - "ingredient": "gin" - }, - { - "quantity": "3", - "measure": "ounces", - "ingredient": "grapefruit juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "coarse salt" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "grapefruit slice" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "ice cubes" - } - ], - "directions": [ - "Wet the rim of a highball glass. and dip it in coarse salt.", - "Dip the rim in coarse salt.", - "Fill the glass with ice.", - "Then add the gin and grapefruit juice.", - "Stir gently to combine.", - "Garnish with a grapefruit slice." - ], - "image": "the-salty-dog.jpg", - "keywords": [ "gin", "salty", "cold", "grapefruit", "juice"] +{ + "name": "The Salty Dog", + "description": "The Salty Dog is a lot friendlier than it sounds. This classic cocktail is a modified Greyhound that is differentiated by the drink’s salted rim.", + "github": "theishanbh", + "ingredients": [ + { + "quantity": "5½", + "measure": "ounces", + "ingredient": "gin" + }, + { + "quantity": "3", + "measure": "ounces", + "ingredient": "grapefruit juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "coarse salt" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "grapefruit slice" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "ice cubes" + } + ], + "directions": [ + "Wet the rim of a highball glass. and dip it in coarse salt.", + "Dip the rim in coarse salt.", + "Fill the glass with ice.", + "Then add the gin and grapefruit juice.", + "Stir gently to combine.", + "Garnish with a grapefruit slice." + ], + "image": "the-salty-dog.jpg", + "keywords": [ "gin", "salty", "cold", "grapefruit", "juice"] } \ No newline at end of file diff --git a/src/recipes/the-swedish-tart.json b/src/recipes/the-swedish-tart.json index 731f4196c..d9bb330bb 100644 --- a/src/recipes/the-swedish-tart.json +++ b/src/recipes/the-swedish-tart.json @@ -1,56 +1,56 @@ -{ - "name": "The Swedish Tart", - "description": "Simple and exotic kombucha-infused tea cocktail.", - "github": "vthn", - "ingredients": [ - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "sugar" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "coarsely chopped dill" - }, - { - "quantity": "3", - "measure": "ounces", - "ingredient": "green tea kombucha" - }, - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "aquavit or vodka" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Dill springs, for garnish" - } - ], - "directions": [ - "Shake sugar and water in a jar until sugar dissolves.", - "Stir in dill.", - "Cover the jar and chill until flavors infuse for 24–48 hours.", - "Strain dill syrup.", - "Combine kombucha, aquavit, and half ounce dill syrup in a highball glass half-filled with crushed ice.", - "Stir.", - "Add more crushed ice, mounding above rim.", - "Garnish with a dill sprig." - ], - "image": "the-swedish-tart.jpg", - "source": "https://www.bonappetit.com/recipe/the-swedish-tart", - "keywords": [ - "alcoholic", - "aquavit", - "dill", - "green tea", - "kombucha" - ] +{ + "name": "The Swedish Tart", + "description": "Simple and exotic kombucha-infused tea cocktail.", + "github": "vthn", + "ingredients": [ + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "sugar" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "coarsely chopped dill" + }, + { + "quantity": "3", + "measure": "ounces", + "ingredient": "green tea kombucha" + }, + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "aquavit or vodka" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Dill springs, for garnish" + } + ], + "directions": [ + "Shake sugar and water in a jar until sugar dissolves.", + "Stir in dill.", + "Cover the jar and chill until flavors infuse for 24–48 hours.", + "Strain dill syrup.", + "Combine kombucha, aquavit, and half ounce dill syrup in a highball glass half-filled with crushed ice.", + "Stir.", + "Add more crushed ice, mounding above rim.", + "Garnish with a dill sprig." + ], + "image": "the-swedish-tart.jpg", + "source": "https://www.bonappetit.com/recipe/the-swedish-tart", + "keywords": [ + "alcoholic", + "aquavit", + "dill", + "green tea", + "kombucha" + ] } \ No newline at end of file diff --git a/src/recipes/tinto-de-verano.json b/src/recipes/tinto-de-verano.json index 95d1abfd0..eda816dc6 100644 --- a/src/recipes/tinto-de-verano.json +++ b/src/recipes/tinto-de-verano.json @@ -1,47 +1,47 @@ -{ - "name": "Tinto de Verano", - "description": "It's the perfect refreshing drink for summer. Tinto de Verano means 'summer red wine.' Essentially, it’s a mixture of Spanish red wine with a fruity soft drink.", - "github": "josej30", - "ingredients": [ - { - "quantity": "750", - "measure": "ml", - "ingredient": "Spanish red wine" - }, - { - "quantity": "750", - "measure": "ml", - "ingredient": "Lemon-flavored soda" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Orange" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Lime" - }, - { - "quantity": "200", - "measure": "ml", - "ingredient": "Sweet vermouth (optional)" - } - ], - "directions": [ - "Uncork the wine and pour it into a large pitcher.", - "Add the soda and stir well.", - "Add the lemon and orange slices, as well as the vermouth if using. Stir to combine.", - "Serve over ice." - ], - "image": "tinto-de-verano.jpg", - "source": "https://spanishsabores.com", - "keywords": [ - "alcoholic", - "lime", - "orange", - "summer", - "wine" - ] -} +{ + "name": "Tinto de Verano", + "description": "It's the perfect refreshing drink for summer. Tinto de Verano means 'summer red wine.' Essentially, it’s a mixture of Spanish red wine with a fruity soft drink.", + "github": "josej30", + "ingredients": [ + { + "quantity": "750", + "measure": "ml", + "ingredient": "Spanish red wine" + }, + { + "quantity": "750", + "measure": "ml", + "ingredient": "Lemon-flavored soda" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Orange" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Lime" + }, + { + "quantity": "200", + "measure": "ml", + "ingredient": "Sweet vermouth (optional)" + } + ], + "directions": [ + "Uncork the wine and pour it into a large pitcher.", + "Add the soda and stir well.", + "Add the lemon and orange slices, as well as the vermouth if using. Stir to combine.", + "Serve over ice." + ], + "image": "tinto-de-verano.jpg", + "source": "https://spanishsabores.com", + "keywords": [ + "alcoholic", + "lime", + "orange", + "summer", + "wine" + ] +} diff --git a/src/recipes/toddy-coconut.json b/src/recipes/toddy-coconut.json index d42416915..c185c5ebf 100644 --- a/src/recipes/toddy-coconut.json +++ b/src/recipes/toddy-coconut.json @@ -1,42 +1,42 @@ -{ - "name": "Toddy from Coconut Water", - "description": "Toddy is an alcoholic drink got from palm or coconut tree.", - "github": "Ashwin-exe", - "ingredients": [ - { - "quantity": "500", - "measure": "ml", - "ingredient": "Coconut water or tender coconut water " - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "Sugar" - }, - { - "quantity": "1/2", - "measure": "tsp", - "ingredient": "Yeast" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Lukewarm water" - } - - ], - "directions": [ - "Take 1/2 cup of lukewarm water add,", - "1/2 tsp yeast and 2 tbsp of sugar. Mix it well and keep this mixture aside covered for 10 minutes.", - "Take a large clean dry jar. Add 500 ml of coconut water.", - "Add yeast sugar mixture.", - "Now cover the jar with a muslin cloth and leave it to ferment for about 24 hours." - - ], - "image": "toddy-coconut.jpg", - "source": "https://www.holidify.com/pages/toddy-in-kerala-378.html", - "keywords": [ - "alcoholic", - "vegan" - ] -} +{ + "name": "Toddy from Coconut Water", + "description": "Toddy is an alcoholic drink got from palm or coconut tree.", + "github": "Ashwin-exe", + "ingredients": [ + { + "quantity": "500", + "measure": "ml", + "ingredient": "Coconut water or tender coconut water " + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "Sugar" + }, + { + "quantity": "1/2", + "measure": "tsp", + "ingredient": "Yeast" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Lukewarm water" + } + + ], + "directions": [ + "Take 1/2 cup of lukewarm water add,", + "1/2 tsp yeast and 2 tbsp of sugar. Mix it well and keep this mixture aside covered for 10 minutes.", + "Take a large clean dry jar. Add 500 ml of coconut water.", + "Add yeast sugar mixture.", + "Now cover the jar with a muslin cloth and leave it to ferment for about 24 hours." + + ], + "image": "toddy-coconut.jpg", + "source": "https://www.holidify.com/pages/toddy-in-kerala-378.html", + "keywords": [ + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/tom-collins.json b/src/recipes/tom-collins.json index 96bfc55d1..46231f5c0 100644 --- a/src/recipes/tom-collins.json +++ b/src/recipes/tom-collins.json @@ -1,46 +1,46 @@ -{ - "name": "Tom Collins", - "description": "A classic and popular mixed drink. This drink resembles a sparkling lemonade and typically includes gin, lemon and soda.", - "github": "small-ac", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "ounces", - "ingredient": "gin" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "simple syrup" - }, - { - "quantity": "3", - "measure": "ounces", - "ingredient": "club soda" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Optional: maraschino cherry or lemon slice for garnish" - } - ], - "directions": [ - "Gather the ingredients.", - "Add ice cubes, gin, lemon juice, and simple syrup in a collins glass.", - "Stir thoroughly.", - "Top with club soda.", - "Optional: Garnish with cherry or lemon slice", - "Serve and enjoy!" - ], - "image": "tom-collins.jpg", - "keywords": [ - "gin", - "lemon juice", - "alcoholic" - ] -} +{ + "name": "Tom Collins", + "description": "A classic and popular mixed drink. This drink resembles a sparkling lemonade and typically includes gin, lemon and soda.", + "github": "small-ac", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "ounces", + "ingredient": "gin" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "simple syrup" + }, + { + "quantity": "3", + "measure": "ounces", + "ingredient": "club soda" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Optional: maraschino cherry or lemon slice for garnish" + } + ], + "directions": [ + "Gather the ingredients.", + "Add ice cubes, gin, lemon juice, and simple syrup in a collins glass.", + "Stir thoroughly.", + "Top with club soda.", + "Optional: Garnish with cherry or lemon slice", + "Serve and enjoy!" + ], + "image": "tom-collins.jpg", + "keywords": [ + "gin", + "lemon juice", + "alcoholic" + ] +} diff --git a/src/recipes/tom-yum.json b/src/recipes/tom-yum.json index f2c86962a..0f01527c4 100644 --- a/src/recipes/tom-yum.json +++ b/src/recipes/tom-yum.json @@ -1,62 +1,62 @@ -{ - "name": "Tom Yum", - "description": "With its exotic flavors, light acidity, aromatic Thai ingredients and tequila with vegetal notes, this cocktail opens new perspectives and stimulates your taste buds.", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Patrón Silver infused with coriander and Kaffir lime" - }, - { - "quantity": "7", - "measure": "oz", - "ingredient": "milk" - }, - { - "quantity": "0.35", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": "0.35", - "measure": "oz", - "ingredient": "agave syrup" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "white wine vinegar" - }, - { - "quantity": "4", - "measure": "", - "ingredient": "coriander" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "lemongrass" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "pepper" - } - ], - "directions": [ - "Place all ingredients in a shaker with ice.", - "Shake and pour into a whiskey glass rimmed with shrimp salt.", - "Garnish with coriander and dried chili pepper.", - "Optional shrimp salt: mix 150g of shrimp powder with 250g of salt." - ], - "image": "tom-yum.jpg", - "keywords": [ - "milk", - "lime juice", - "agave syrup", - "coriander", - "lemongrass", - "pepper" - ] -} +{ + "name": "Tom Yum", + "description": "With its exotic flavors, light acidity, aromatic Thai ingredients and tequila with vegetal notes, this cocktail opens new perspectives and stimulates your taste buds.", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Patrón Silver infused with coriander and Kaffir lime" + }, + { + "quantity": "7", + "measure": "oz", + "ingredient": "milk" + }, + { + "quantity": "0.35", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": "0.35", + "measure": "oz", + "ingredient": "agave syrup" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "white wine vinegar" + }, + { + "quantity": "4", + "measure": "", + "ingredient": "coriander" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "lemongrass" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "pepper" + } + ], + "directions": [ + "Place all ingredients in a shaker with ice.", + "Shake and pour into a whiskey glass rimmed with shrimp salt.", + "Garnish with coriander and dried chili pepper.", + "Optional shrimp salt: mix 150g of shrimp powder with 250g of salt." + ], + "image": "tom-yum.jpg", + "keywords": [ + "milk", + "lime juice", + "agave syrup", + "coriander", + "lemongrass", + "pepper" + ] +} diff --git a/src/recipes/tongba.json b/src/recipes/tongba.json index 31ffd1885..938a9ff14 100644 --- a/src/recipes/tongba.json +++ b/src/recipes/tongba.json @@ -1,30 +1,30 @@ -{ - "name": "Tongba", - "description": "Tongba, commonly pronounced as 'tong-baa' or 'tum-baa' by locals is one of the most popular beverage in cooler eastern part of Nepal. It is most common to Mongolians but it is now loved by all people. ", - "github": "sanjaysanjel019", - "ingredients": [ - { - "quantity": "1", - "measure": "kilos", - "ingredient": "Millet" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Khesung(source of molds, bacteria and yeast)" - } - ], - "directions": [ - "Cook the whole millet grains.", - "Cool down the cooked millet grains.", - "Put the cooled millet grains on a woven bamboo basket.", - "Cover it with warm clothes or leaves, and leave it for 1-2 days according to temperature.", - "The grains turn a little sweet, pack it tightly into earthenware pot or aluminium jar.", - "After 7-15 days the fermentation is completed.", - "Normally for good sweet taste, it is stored for six months.", - "Put the fermented millet grains on a bamboo container known as 'Tongba' and pour hot water over it and leave it undisturbed for about 5 minutes .", - "Your 'Tongba-The Drink' is now ready and drink it wholeheartedly ." - ], - "image": "tongba.jpg", - "keywords": ["millet", "raksi", "alcoholic", "light-beer", "vegan", "khesung"] -} +{ + "name": "Tongba", + "description": "Tongba, commonly pronounced as 'tong-baa' or 'tum-baa' by locals is one of the most popular beverage in cooler eastern part of Nepal. It is most common to Mongolians but it is now loved by all people. ", + "github": "sanjaysanjel019", + "ingredients": [ + { + "quantity": "1", + "measure": "kilos", + "ingredient": "Millet" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Khesung(source of molds, bacteria and yeast)" + } + ], + "directions": [ + "Cook the whole millet grains.", + "Cool down the cooked millet grains.", + "Put the cooled millet grains on a woven bamboo basket.", + "Cover it with warm clothes or leaves, and leave it for 1-2 days according to temperature.", + "The grains turn a little sweet, pack it tightly into earthenware pot or aluminium jar.", + "After 7-15 days the fermentation is completed.", + "Normally for good sweet taste, it is stored for six months.", + "Put the fermented millet grains on a bamboo container known as 'Tongba' and pour hot water over it and leave it undisturbed for about 5 minutes .", + "Your 'Tongba-The Drink' is now ready and drink it wholeheartedly ." + ], + "image": "tongba.jpg", + "keywords": ["millet", "raksi", "alcoholic", "light-beer", "vegan", "khesung"] +} diff --git a/src/recipes/tornado-twist.json b/src/recipes/tornado-twist.json index 122e5643b..c3bd3a763 100644 --- a/src/recipes/tornado-twist.json +++ b/src/recipes/tornado-twist.json @@ -1,29 +1,29 @@ -{ - "name": "Tornado Twist", - "description": "Great drink for kids and adults who don't like the bitter taste of cranberry-raspberry juice.", - "github": "ansidev", - "ingredients": [ - { - "quantity": "12", - "measure": "fluid onces", - "ingredient": "cranberry-raspberry juice" - }, - { - "quantity": "1", - "measure": "can or bottle", - "ingredient": "lemon-lime flavored carbonated beverage" - } - ], - "directions": [ - "In a pitcher, mix cranberry-raspberry juice with lemon-lime soda.", - "Pour over ice and serve." - ], - "image": "tornado-twist.jpg", - "source": "https://www.allrecipes.com/recipe/23540/tornado-twist/", - "keywords": [ - "tornado", - "twist", - "raspberry", - "juice" - ] +{ + "name": "Tornado Twist", + "description": "Great drink for kids and adults who don't like the bitter taste of cranberry-raspberry juice.", + "github": "ansidev", + "ingredients": [ + { + "quantity": "12", + "measure": "fluid onces", + "ingredient": "cranberry-raspberry juice" + }, + { + "quantity": "1", + "measure": "can or bottle", + "ingredient": "lemon-lime flavored carbonated beverage" + } + ], + "directions": [ + "In a pitcher, mix cranberry-raspberry juice with lemon-lime soda.", + "Pour over ice and serve." + ], + "image": "tornado-twist.jpg", + "source": "https://www.allrecipes.com/recipe/23540/tornado-twist/", + "keywords": [ + "tornado", + "twist", + "raspberry", + "juice" + ] } \ No newline at end of file diff --git a/src/recipes/trash-can.json b/src/recipes/trash-can.json index 9a6ef45d0..136a78a6f 100644 --- a/src/recipes/trash-can.json +++ b/src/recipes/trash-can.json @@ -1,56 +1,56 @@ -{ - "name": "Trash Can", - "description": "Tasty Mix of Whatever you Have on Hand with a Caffeine Boost!", - "github": "drahenshaw", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Rum (Light)" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Blue Caracao" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "1", - "measure": "can", - "ingredient": "Red Bull" - } - ], - "directions": [ - "Fill large glass with ice.", - "Add alcoholic ingredients.", - "Open the Red Bull and place upside down in the glass." - ], - "image": "trash-can.jpg", - "source": "https://cocktails.lovetoknow.com/cocktail-recipes/trash-can-drink-recipes", - "keywords": [ - "alcoholic", - "trash", - "can", - "college", - "party" - ] +{ + "name": "Trash Can", + "description": "Tasty Mix of Whatever you Have on Hand with a Caffeine Boost!", + "github": "drahenshaw", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Rum (Light)" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Blue Caracao" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "1", + "measure": "can", + "ingredient": "Red Bull" + } + ], + "directions": [ + "Fill large glass with ice.", + "Add alcoholic ingredients.", + "Open the Red Bull and place upside down in the glass." + ], + "image": "trash-can.jpg", + "source": "https://cocktails.lovetoknow.com/cocktail-recipes/trash-can-drink-recipes", + "keywords": [ + "alcoholic", + "trash", + "can", + "college", + "party" + ] } \ No newline at end of file diff --git a/src/recipes/tschunk.json b/src/recipes/tschunk.json index 12b35685e..a83e87269 100644 --- a/src/recipes/tschunk.json +++ b/src/recipes/tschunk.json @@ -1,48 +1,48 @@ - -{ - "name": "Tschunk", - "description": "Mix Club-Mate with rum for all your hacker needs.", - "github": "zeno4ever", - "ingredients": [ - { - "quantity": "4", - "measure": "cl", - "ingredient": "Gold rum" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Fresh lime slice" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Cane sugar" - }, - { - "quantity": "20", - "measure": "cl", - "ingredient": "Club-Mate" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "Ice" - } - ], - "directions": [ - "Dice limes, put them together with the brown sugar into a high glass and crush both.", - "Add crushed ice and pour the rum and the Club-Mate over it.", - "Add a straw" - ], - "image": "tschunk.jpg", - "source": "https://en.wikipedia.org/wiki/Club-Mate", - "keywords": [ - "cocktail", - "hacker", - "club-mate", - "rum", - "alcoholic", - "fresh" - ] -} + +{ + "name": "Tschunk", + "description": "Mix Club-Mate with rum for all your hacker needs.", + "github": "zeno4ever", + "ingredients": [ + { + "quantity": "4", + "measure": "cl", + "ingredient": "Gold rum" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Fresh lime slice" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Cane sugar" + }, + { + "quantity": "20", + "measure": "cl", + "ingredient": "Club-Mate" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "Ice" + } + ], + "directions": [ + "Dice limes, put them together with the brown sugar into a high glass and crush both.", + "Add crushed ice and pour the rum and the Club-Mate over it.", + "Add a straw" + ], + "image": "tschunk.jpg", + "source": "https://en.wikipedia.org/wiki/Club-Mate", + "keywords": [ + "cocktail", + "hacker", + "club-mate", + "rum", + "alcoholic", + "fresh" + ] +} diff --git a/src/recipes/turkish-buttermilk.json b/src/recipes/turkish-buttermilk.json index ad9a1c92a..9c83ef333 100644 --- a/src/recipes/turkish-buttermilk.json +++ b/src/recipes/turkish-buttermilk.json @@ -1,44 +1,44 @@ -{ - "name": "Turkish Buttermilk (Ayran)", - "description": "Turkish Buttermilk (Ayran) is a Turkish yoghurt drink frothed to perfection in seconds and served up icy cold. It pairs perfectly with a greasy meal like Kebab.", - "github": "jenniegunawan", - "ingredients": [ - { - "quantity": "400", - "measure": "g", - "ingredient": "Natural Yoghurt" - }, - { - "quantity": "2", - "measure": "cups", - "ingredient": "Soda Water" - }, - { - "quantity": "1", - "measure": "pinch", - "ingredient": "Sea Salt" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cubed ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cucumber to garnish" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mint to garnish" - } - ], - "directions": [ - "Place all ingredients in a blender.", - "Mix for 10-20 seconds until ingredients are combined and drink is frothy.", - "Serve chilled." - ], - "image": "turkish-buttermilk.jpg", - "keywords": ["simple", "soda", "yogurt", "mint leaves", "non-alcoholic"] -} +{ + "name": "Turkish Buttermilk (Ayran)", + "description": "Turkish Buttermilk (Ayran) is a Turkish yoghurt drink frothed to perfection in seconds and served up icy cold. It pairs perfectly with a greasy meal like Kebab.", + "github": "jenniegunawan", + "ingredients": [ + { + "quantity": "400", + "measure": "g", + "ingredient": "Natural Yoghurt" + }, + { + "quantity": "2", + "measure": "cups", + "ingredient": "Soda Water" + }, + { + "quantity": "1", + "measure": "pinch", + "ingredient": "Sea Salt" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cubed ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cucumber to garnish" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mint to garnish" + } + ], + "directions": [ + "Place all ingredients in a blender.", + "Mix for 10-20 seconds until ingredients are combined and drink is frothy.", + "Serve chilled." + ], + "image": "turkish-buttermilk.jpg", + "keywords": ["simple", "soda", "yogurt", "mint leaves", "non-alcoholic"] +} diff --git a/src/recipes/turmeric-latte.json b/src/recipes/turmeric-latte.json index 219d35ad5..b2f4e82dc 100644 --- a/src/recipes/turmeric-latte.json +++ b/src/recipes/turmeric-latte.json @@ -1,59 +1,59 @@ -{ - "name": "Turmeric Latte", - "description": "A great home remedy beverage for cough, congestion, colds and skin problems. This winter replace your usual hot cocoa with an invigorating cup of wellness. Bonus points for jammies and slippers. Turmeric can stain clothing and counter tops, so wear an apron, proceed with caution.", - "github": "soumiyamathur", - "ingredients": [ - { - "quantity": "one fourth", - "measure": "teaspoon", - "ingredient": "ground turmeric" - }, - { - "quantity": "one fourth", - "measure": "teaspoon", - "ingredient": "ground cardamom" - }, - { - "quantity": "one eight", - "measure": "teaspoon", - "ingredient": "ground black pepper" - }, - { - "quantity": "one eight", - "measure": "teaspoon", - "ingredient": "ground clove" - }, - { - "quantity": "one eight", - "measure": "teaspoon", - "ingredient": "ground allspice" - }, - { - "quantity": "three fourth", - "measure": "teaspoon", - "ingredient": "honey" - }, - { - "quantity": "one eight", - "measure": "teaspoon", - "ingredient": "vanilla extract" - }, - { - "quantity": "one", - "measure": "cup", - "ingredient": "milk" - } - ], - "directions": [ - "Whisk turmeric, cardamom, black pepper, ginger, cloves, and allspice together in a small bowl.", - "Heat milk in a small saucepan over medium heat until heated through, 3 to 4 minutes; stir honey and vanilla extract into milk until completely dissolved. Whisk 1 teaspoon turmeric mixture into milk mixture; reduce heat to medium-low and cook until flavors blend, 2 to 3 minutes. Pour mixture through a strainer." - ], - "image": "turmeric-latte.jpg", - "keywords": [ - "turmeric", - "latte", - "milk", - "hot", - "winter" - ] -} +{ + "name": "Turmeric Latte", + "description": "A great home remedy beverage for cough, congestion, colds and skin problems. This winter replace your usual hot cocoa with an invigorating cup of wellness. Bonus points for jammies and slippers. Turmeric can stain clothing and counter tops, so wear an apron, proceed with caution.", + "github": "soumiyamathur", + "ingredients": [ + { + "quantity": "one fourth", + "measure": "teaspoon", + "ingredient": "ground turmeric" + }, + { + "quantity": "one fourth", + "measure": "teaspoon", + "ingredient": "ground cardamom" + }, + { + "quantity": "one eight", + "measure": "teaspoon", + "ingredient": "ground black pepper" + }, + { + "quantity": "one eight", + "measure": "teaspoon", + "ingredient": "ground clove" + }, + { + "quantity": "one eight", + "measure": "teaspoon", + "ingredient": "ground allspice" + }, + { + "quantity": "three fourth", + "measure": "teaspoon", + "ingredient": "honey" + }, + { + "quantity": "one eight", + "measure": "teaspoon", + "ingredient": "vanilla extract" + }, + { + "quantity": "one", + "measure": "cup", + "ingredient": "milk" + } + ], + "directions": [ + "Whisk turmeric, cardamom, black pepper, ginger, cloves, and allspice together in a small bowl.", + "Heat milk in a small saucepan over medium heat until heated through, 3 to 4 minutes; stir honey and vanilla extract into milk until completely dissolved. Whisk 1 teaspoon turmeric mixture into milk mixture; reduce heat to medium-low and cook until flavors blend, 2 to 3 minutes. Pour mixture through a strainer." + ], + "image": "turmeric-latte.jpg", + "keywords": [ + "turmeric", + "latte", + "milk", + "hot", + "winter" + ] +} diff --git a/src/recipes/tuxedo.json b/src/recipes/tuxedo.json index 71d1389ff..b5e281927 100644 --- a/src/recipes/tuxedo.json +++ b/src/recipes/tuxedo.json @@ -1,46 +1,46 @@ -{ - "name": "Tuxedo", - "description": "An IBA Official Cocktail composed of gin, dry Vermouth, orange bitters, maraschino and Absinthe.", - "github": "deveshkatoch", - "ingredients": [ - { - "quantity": "2.25", - "measure": "oz", - "ingredient": "Old Tom Gin" - }, - { - "quantity": "2.25", - "measure": "oz", - "ingredient": "Dry Vermouth" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Maraschino Liquer" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Absinthe" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Orange Bitters" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Aromatic Bitters" - } - ], - "directions": [ - "Stir all the ingredients with ice.", - "Fine strain into a chilled coupe glass." - ], - "image": "tuxedo.jpg", - "keywords": [ - "absinthe", - "vintage" - ] +{ + "name": "Tuxedo", + "description": "An IBA Official Cocktail composed of gin, dry Vermouth, orange bitters, maraschino and Absinthe.", + "github": "deveshkatoch", + "ingredients": [ + { + "quantity": "2.25", + "measure": "oz", + "ingredient": "Old Tom Gin" + }, + { + "quantity": "2.25", + "measure": "oz", + "ingredient": "Dry Vermouth" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Maraschino Liquer" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Absinthe" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Orange Bitters" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Aromatic Bitters" + } + ], + "directions": [ + "Stir all the ingredients with ice.", + "Fine strain into a chilled coupe glass." + ], + "image": "tuxedo.jpg", + "keywords": [ + "absinthe", + "vintage" + ] } \ No newline at end of file diff --git a/src/recipes/two-one-two.json b/src/recipes/two-one-two.json index 40653546b..4b3f75442 100644 --- a/src/recipes/two-one-two.json +++ b/src/recipes/two-one-two.json @@ -1,34 +1,34 @@ -{ - "name": "Two-One-Two", - "description": "The 212, from beverage consultants Aisha Sharpe and Willy Shine, is a wonderfully refreshing long drink that's as easy to make as it is to sip. The 212 refers to the Manhattan area code, but also to the drink's proportions.", - "github": "lazav94", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Reposado tequila" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Aperol" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Grapefruit juice" - } - ], - "directions": [ - "Combine all ingredients in a shaker and shake", - "Double strain into chilled glass filled with ice.", - "Optionally top with soda.", - "Optionally add grapefruit or orange peel for garnish" - ], - "image": "two-one-two.jpg", - "keywords": [ - "alcoholic", - "aperol", - "grapefruit" - ] -} +{ + "name": "Two-One-Two", + "description": "The 212, from beverage consultants Aisha Sharpe and Willy Shine, is a wonderfully refreshing long drink that's as easy to make as it is to sip. The 212 refers to the Manhattan area code, but also to the drink's proportions.", + "github": "lazav94", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Reposado tequila" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Aperol" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Grapefruit juice" + } + ], + "directions": [ + "Combine all ingredients in a shaker and shake", + "Double strain into chilled glass filled with ice.", + "Optionally top with soda.", + "Optionally add grapefruit or orange peel for garnish" + ], + "image": "two-one-two.jpg", + "keywords": [ + "alcoholic", + "aperol", + "grapefruit" + ] +} diff --git a/src/recipes/umeshu-sparkling.json b/src/recipes/umeshu-sparkling.json index 0aa73000c..398c79d76 100644 --- a/src/recipes/umeshu-sparkling.json +++ b/src/recipes/umeshu-sparkling.json @@ -1,30 +1,30 @@ -{ - "name": "umeshu sparkling", - "description": "Using Choya Umeshu (also called as 'Honkaku Umeshu' means traditional real umeshu) with any soda you like. Brings unique refreshing feeling to everyone.", - "github": "Daxin-H", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "Choya Umeshu" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "any kind of soda you like" - } - ], - "directions": [ - "Mix the CHOYA and soda in a highball glass.", - "Serve over crushed ice and UME fruit.", - "Enjoy it" - ], - "image": "umeshu-sparkling.jpg", - "keywords": [ - "chilled", - "refreshing", - "sparkling", - "liqueur", - "Soda" - ] -} +{ + "name": "umeshu sparkling", + "description": "Using Choya Umeshu (also called as 'Honkaku Umeshu' means traditional real umeshu) with any soda you like. Brings unique refreshing feeling to everyone.", + "github": "Daxin-H", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "Choya Umeshu" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "any kind of soda you like" + } + ], + "directions": [ + "Mix the CHOYA and soda in a highball glass.", + "Serve over crushed ice and UME fruit.", + "Enjoy it" + ], + "image": "umeshu-sparkling.jpg", + "keywords": [ + "chilled", + "refreshing", + "sparkling", + "liqueur", + "Soda" + ] +} diff --git a/src/recipes/urak.json b/src/recipes/urak.json index e8ab1623b..69a592bba 100644 --- a/src/recipes/urak.json +++ b/src/recipes/urak.json @@ -1,26 +1,26 @@ -{ - "name": "Urak", - "description": "", - "github": "ashwin-athappan", - "ingredients": [ - { "quantity": "2 3", "measure": "teaspoon", "ingredient": "cashew feni" }, - { "quantity": "1", "measure": "glass", "ingredient": "limca / lemon juice" }, - { "quantity": "1 2", "measure": "", "ingredient": "green chili" }, - { "quantity": "1 2", "measure": "pinch", "ingredient": "table salt" }, - { "quantity": "1", "measure": "", "ingredient": "lemon" } - ], - "directions": [ - "Take two-three tablespoons of cashew feni.", - "Fill up half your glass with limca / lemon juice.", - "Add a pinch of salt and some ice cubes.", - "serve over a green chili." - ], - "image": "urak.jpg", - "keywords": [ - "urak", - "cashew feni", - "limca", - "lemon juice", - "green chili" - ] -} +{ + "name": "Urak", + "description": "", + "github": "ashwin-athappan", + "ingredients": [ + { "quantity": "2 3", "measure": "teaspoon", "ingredient": "cashew feni" }, + { "quantity": "1", "measure": "glass", "ingredient": "limca / lemon juice" }, + { "quantity": "1 2", "measure": "", "ingredient": "green chili" }, + { "quantity": "1 2", "measure": "pinch", "ingredient": "table salt" }, + { "quantity": "1", "measure": "", "ingredient": "lemon" } + ], + "directions": [ + "Take two-three tablespoons of cashew feni.", + "Fill up half your glass with limca / lemon juice.", + "Add a pinch of salt and some ice cubes.", + "serve over a green chili." + ], + "image": "urak.jpg", + "keywords": [ + "urak", + "cashew feni", + "limca", + "lemon juice", + "green chili" + ] +} diff --git a/src/recipes/vaca-preta.json b/src/recipes/vaca-preta.json index ead3783cb..11e3c1762 100644 --- a/src/recipes/vaca-preta.json +++ b/src/recipes/vaca-preta.json @@ -1,25 +1,25 @@ -{ - "name": "Vaca preta", - "description": "Vaca preta, wich means black cow in Portuguese, is a drink that can also be a dessert. Blends the creaminess of ice cream with the freshness of Coke.", - "github": "estevam31", - "ingredients": [ - { - "quantity": "2", - "measure": "ice cream ball", - "ingredient": "any flavor (vanilla preferable)" - }, - { - "quantity": "1", - "measure": "glass", - "ingredient": "coke" - } - ], - "directions": [ - "Mix all ingredients in a blender or just pour Coke on ice cream." - ], - "image": "vaca-preta.jpg", - "keywords": [ - "summer", - "non-alcoholic" - ] +{ + "name": "Vaca preta", + "description": "Vaca preta, wich means black cow in Portuguese, is a drink that can also be a dessert. Blends the creaminess of ice cream with the freshness of Coke.", + "github": "estevam31", + "ingredients": [ + { + "quantity": "2", + "measure": "ice cream ball", + "ingredient": "any flavor (vanilla preferable)" + }, + { + "quantity": "1", + "measure": "glass", + "ingredient": "coke" + } + ], + "directions": [ + "Mix all ingredients in a blender or just pour Coke on ice cream." + ], + "image": "vaca-preta.jpg", + "keywords": [ + "summer", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/vampiro.json b/src/recipes/vampiro.json index 61aefad78..a531279cf 100644 --- a/src/recipes/vampiro.json +++ b/src/recipes/vampiro.json @@ -1,61 +1,61 @@ -{ - "name": "Vampiro", - "description": " This cocktail is called vampiro because the sangria has the color of blood and the taste of the drink bites the senses with that spicy and sweet taste of juices.", - "github": "RDLL", - "ingredients": [ - { - "quantity": "2", - "measure": "ounces", - "ingredient": "of Tequila (one ounce per glass)" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "ice cubes" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "tomato juice" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Sriracha sauce" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "orange juice" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "grapefruit juice" - }, - { - "quantity": "2", - "measure": "slices", - "ingredient": "of fresh pink grapefruit or grapefruit" - }, - { - "quantity": "2", - "measure": "slices", - "ingredient": "of natural orange" - } - ], - "directions": [ - "Add the ice cubes and Don Julio tequila (one ounce) in each glass.", - "Then add the sriracha sauce to the tomato juice and stir.", - "This cocktail is prepared in layers, so start with the first layer by pouring a little of the tomato juice, then add the grapefruit or grapefruit juice and, finally, the orange juice.", - "Garnish with a slice of pink grapefruit and a slice of natural orange.", - "Drink this vampire cocktail slowly and enjoy while you drip with fresh Mexican sauce and corn chips before the strong meal." - ], - "image": "vampiro.jpg", - "keywords": [ - "tequila", - "spicy", - "fruit juice", - "alcoholic" - ] -} +{ + "name": "Vampiro", + "description": " This cocktail is called vampiro because the sangria has the color of blood and the taste of the drink bites the senses with that spicy and sweet taste of juices.", + "github": "RDLL", + "ingredients": [ + { + "quantity": "2", + "measure": "ounces", + "ingredient": "of Tequila (one ounce per glass)" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "ice cubes" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "tomato juice" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Sriracha sauce" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "orange juice" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "grapefruit juice" + }, + { + "quantity": "2", + "measure": "slices", + "ingredient": "of fresh pink grapefruit or grapefruit" + }, + { + "quantity": "2", + "measure": "slices", + "ingredient": "of natural orange" + } + ], + "directions": [ + "Add the ice cubes and Don Julio tequila (one ounce) in each glass.", + "Then add the sriracha sauce to the tomato juice and stir.", + "This cocktail is prepared in layers, so start with the first layer by pouring a little of the tomato juice, then add the grapefruit or grapefruit juice and, finally, the orange juice.", + "Garnish with a slice of pink grapefruit and a slice of natural orange.", + "Drink this vampire cocktail slowly and enjoy while you drip with fresh Mexican sauce and corn chips before the strong meal." + ], + "image": "vampiro.jpg", + "keywords": [ + "tequila", + "spicy", + "fruit juice", + "alcoholic" + ] +} diff --git a/src/recipes/vanilla-palm.json b/src/recipes/vanilla-palm.json index 746a593b3..b5d106c8a 100644 --- a/src/recipes/vanilla-palm.json +++ b/src/recipes/vanilla-palm.json @@ -1,33 +1,33 @@ -{ - "name": "Vanilla Palm", - "description": "This is a light and refreshing drink for enjoying the party without rushing to finish.", - "github": "matgomes21", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "absolut vanilla" - }, - { - "quantity": "3", - "measure": "cup", - "ingredient": "coconut water" - }, - { - "quantity": "4 - 5", - "measure": "cup", - "ingredient": "ice" - } - ], - "directions": [ - "Mix all the ingredients.", - "Enjoy this light and refreshing drink." - ], - "image": "vanilla-palm.jpg", - "keywords": [ - "coconut", - "absolut", - "vodka", - "alcoholic" - ] -} +{ + "name": "Vanilla Palm", + "description": "This is a light and refreshing drink for enjoying the party without rushing to finish.", + "github": "matgomes21", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "absolut vanilla" + }, + { + "quantity": "3", + "measure": "cup", + "ingredient": "coconut water" + }, + { + "quantity": "4 - 5", + "measure": "cup", + "ingredient": "ice" + } + ], + "directions": [ + "Mix all the ingredients.", + "Enjoy this light and refreshing drink." + ], + "image": "vanilla-palm.jpg", + "keywords": [ + "coconut", + "absolut", + "vodka", + "alcoholic" + ] +} diff --git a/src/recipes/vegan-iced-milk-tea.json b/src/recipes/vegan-iced-milk-tea.json index 1809b013c..9046a8da1 100644 --- a/src/recipes/vegan-iced-milk-tea.json +++ b/src/recipes/vegan-iced-milk-tea.json @@ -1,54 +1,54 @@ -{ - "name": "Vegan Iced Milk Tea", - "description": "Iced sweet black tea with a splash of your favorite dairy-free milk.", - "github": "frankylee", - "ingredients": [ - { - "quantity": "1", - "measure": "tbsp (bag)", - "ingredient": "organic black tea" - }, - { - "quantity": "4", - "measure": "oz", - "ingredient": "boiled water" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "cold water" - }, - { - "quantity": "1", - "measure": "handful", - "ingredient": "ice cubes" - }, - { - "quantity": "1", - "measure": "tbsp", - "ingredient": "sweetener of choice" - }, - { - "quantity": "1", - "measure": "splash", - "ingredient": "soymilk or milk alternative" - } - ], - "directions": [ - "Steep black tea in boiled water for 4 minutes.", - "Remove tea and stir in sweetener until fully dissolved.", - "Mix with ice cubes until cool. Add more as needed.", - "Fill with cold water, leaving room for milk alternative.", - "Stir and enjoy!" - ], - "image": "vegan-iced-milk-tea.jpg", - "keywords": [ - "black tea", - "tea", - "sweet", - "soy milk", - "milk tea", - "dairy-free", - "vegan" - ] -} +{ + "name": "Vegan Iced Milk Tea", + "description": "Iced sweet black tea with a splash of your favorite dairy-free milk.", + "github": "frankylee", + "ingredients": [ + { + "quantity": "1", + "measure": "tbsp (bag)", + "ingredient": "organic black tea" + }, + { + "quantity": "4", + "measure": "oz", + "ingredient": "boiled water" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "cold water" + }, + { + "quantity": "1", + "measure": "handful", + "ingredient": "ice cubes" + }, + { + "quantity": "1", + "measure": "tbsp", + "ingredient": "sweetener of choice" + }, + { + "quantity": "1", + "measure": "splash", + "ingredient": "soymilk or milk alternative" + } + ], + "directions": [ + "Steep black tea in boiled water for 4 minutes.", + "Remove tea and stir in sweetener until fully dissolved.", + "Mix with ice cubes until cool. Add more as needed.", + "Fill with cold water, leaving room for milk alternative.", + "Stir and enjoy!" + ], + "image": "vegan-iced-milk-tea.jpg", + "keywords": [ + "black tea", + "tea", + "sweet", + "soy milk", + "milk tea", + "dairy-free", + "vegan" + ] +} diff --git a/src/recipes/velvet-elvis.json b/src/recipes/velvet-elvis.json index 1e04cbcd5..1d212b2e9 100644 --- a/src/recipes/velvet-elvis.json +++ b/src/recipes/velvet-elvis.json @@ -1,38 +1,38 @@ -{ - "name": "Velvet Elvis", - "description": "This drink is a combination of Tennessee Whiskey, Chambord Liqueur and Freshly squeezed lime juice plus a top-up lemonade.", - "github": "evilfactory", - "ingredients": [ - { - "quantity": "1/2", - "measure": "part", - "ingredient": "Shot Tennessee Whiskey" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Shot Chambord Liqueur" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "Shot Freshly squeezed lime juice" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "Top-up Lemonade" - } - ], - "directions": [ - "Place all the ingredients (except lemonade) into a Boston Shaker over ice.", - "Strain into a chilled Old Fashioned tumbler glass.", - "Top-up with lemonade." - ], - "image": "velvet-elvis.jpg", - "source": "https://www.passionforcocktails.com/en/whiskey/velvet-elvis", - "keywords": [ - "bourbon", - "velvet" - ] -} +{ + "name": "Velvet Elvis", + "description": "This drink is a combination of Tennessee Whiskey, Chambord Liqueur and Freshly squeezed lime juice plus a top-up lemonade.", + "github": "evilfactory", + "ingredients": [ + { + "quantity": "1/2", + "measure": "part", + "ingredient": "Shot Tennessee Whiskey" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Shot Chambord Liqueur" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "Shot Freshly squeezed lime juice" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "Top-up Lemonade" + } + ], + "directions": [ + "Place all the ingredients (except lemonade) into a Boston Shaker over ice.", + "Strain into a chilled Old Fashioned tumbler glass.", + "Top-up with lemonade." + ], + "image": "velvet-elvis.jpg", + "source": "https://www.passionforcocktails.com/en/whiskey/velvet-elvis", + "keywords": [ + "bourbon", + "velvet" + ] +} diff --git a/src/recipes/venom.json b/src/recipes/venom.json index 504870018..91d3cdb22 100644 --- a/src/recipes/venom.json +++ b/src/recipes/venom.json @@ -1,43 +1,43 @@ -{ - "name": "Venom", - "description": "A sweet and refreshing heavy hitter.", - "github": "koaxu", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Southern Comfort" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Triple Sec" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Orange Juice" - }, - { - "quantity": "1", - "measure": "bottle", - "ingredient": "Blue WKD" - } - ], - "directions": [ - "Add Southern Comfort and Triple Sec to a Pint glass.", - "Fill glass with ice.", - "Fill 3/4 of glass with orange juice.", - "Mix then pour in the bottle of Blue WKD (Can also be placed into the glass).", - "(Optional) Triple Sec can be replaced with Vodka.", - "Enjoy!" - ], - "image": "venom.jpg", - "source": "http://www.mybestcocktails.com/recipe-651-Venom.html", - "keywords": [ - "southern comfort", - "triple Sec", - "orange juice", - "blue WKD" - ] -} +{ + "name": "Venom", + "description": "A sweet and refreshing heavy hitter.", + "github": "koaxu", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Southern Comfort" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Triple Sec" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Orange Juice" + }, + { + "quantity": "1", + "measure": "bottle", + "ingredient": "Blue WKD" + } + ], + "directions": [ + "Add Southern Comfort and Triple Sec to a Pint glass.", + "Fill glass with ice.", + "Fill 3/4 of glass with orange juice.", + "Mix then pour in the bottle of Blue WKD (Can also be placed into the glass).", + "(Optional) Triple Sec can be replaced with Vodka.", + "Enjoy!" + ], + "image": "venom.jpg", + "source": "http://www.mybestcocktails.com/recipe-651-Venom.html", + "keywords": [ + "southern comfort", + "triple Sec", + "orange juice", + "blue WKD" + ] +} diff --git a/src/recipes/venus-flytrap.json b/src/recipes/venus-flytrap.json index 679a2e9e5..7e8489fef 100644 --- a/src/recipes/venus-flytrap.json +++ b/src/recipes/venus-flytrap.json @@ -1,69 +1,69 @@ -{ - "name": "Venus Flytrap", - "description": "The Venus Flytrip is a delicious sweet but not too sweet gin drink. It's very summer, but also somehow very holiday.", - "github": "kristina-hager", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "crushed ice" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "gin infused with kefir lime" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Falernum (West Indies lime based sweetener)" - }, - { - "quantity": ".5", - "measure": "oz", - "ingredient": "lime juice" - }, - { - "quantity": ".5", - "measure": "oz", - "ingredient": "soda" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "angostura bitters" - }, - { - "quantity": "3", - "measure": "dash", - "ingredient": "absinthe" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "nutmeg" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "kefir lime leaf" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "wedge of lime" - } - ], - "directions": [ - "To make the gin infusion: blend the gin with keffir lime leaves. Combine 1 double kefir lime leaf per 2oz gin.", - "Strain the result through a cheesecloth and retain infused gin.", - "Combine infused gin, other liquid ingredients, and crushed ice with a blender.", - "Serve in a fancy glass with lime slice, keffir leaf and dash of nutmeg as garnish." - ], - "image": "venus-flytrap.jpg", - "keywords": [ - "alcoholic", - "gin", - "bitters" - ] -} +{ + "name": "Venus Flytrap", + "description": "The Venus Flytrip is a delicious sweet but not too sweet gin drink. It's very summer, but also somehow very holiday.", + "github": "kristina-hager", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "crushed ice" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "gin infused with kefir lime" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Falernum (West Indies lime based sweetener)" + }, + { + "quantity": ".5", + "measure": "oz", + "ingredient": "lime juice" + }, + { + "quantity": ".5", + "measure": "oz", + "ingredient": "soda" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "angostura bitters" + }, + { + "quantity": "3", + "measure": "dash", + "ingredient": "absinthe" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "nutmeg" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "kefir lime leaf" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "wedge of lime" + } + ], + "directions": [ + "To make the gin infusion: blend the gin with keffir lime leaves. Combine 1 double kefir lime leaf per 2oz gin.", + "Strain the result through a cheesecloth and retain infused gin.", + "Combine infused gin, other liquid ingredients, and crushed ice with a blender.", + "Serve in a fancy glass with lime slice, keffir leaf and dash of nutmeg as garnish." + ], + "image": "venus-flytrap.jpg", + "keywords": [ + "alcoholic", + "gin", + "bitters" + ] +} diff --git a/src/recipes/vesper.json b/src/recipes/vesper.json index 6bae35df4..a997b1d81 100644 --- a/src/recipes/vesper.json +++ b/src/recipes/vesper.json @@ -1,34 +1,34 @@ -{ - "name": "Vesper", - "description": "The Vesper or Vesper Martini is a cocktail made of gin vodka, and Kina Lillet.", - "github": "codekendo", - "ingredients": [ - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1/4", - "measure": "oz", - "ingredient": "Lillet Blonde" - } - ], - "directions": [ - "Shake over ice until well chilled.", - "Strain into a deep goblet.", - "Add a thin slice of lemon peel." - ], - "image": "vesper.jpg", - "source": "https://en.wikipedia.org/wiki/Vesper_(cocktail)", - "keywords": [ - "Gin", - "Vodka", - "Lillet" - ] +{ + "name": "Vesper", + "description": "The Vesper or Vesper Martini is a cocktail made of gin vodka, and Kina Lillet.", + "github": "codekendo", + "ingredients": [ + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1/4", + "measure": "oz", + "ingredient": "Lillet Blonde" + } + ], + "directions": [ + "Shake over ice until well chilled.", + "Strain into a deep goblet.", + "Add a thin slice of lemon peel." + ], + "image": "vesper.jpg", + "source": "https://en.wikipedia.org/wiki/Vesper_(cocktail)", + "keywords": [ + "Gin", + "Vodka", + "Lillet" + ] } \ No newline at end of file diff --git a/src/recipes/vietnamese-coffee.json b/src/recipes/vietnamese-coffee.json index 3e5aea3c8..02750b284 100644 --- a/src/recipes/vietnamese-coffee.json +++ b/src/recipes/vietnamese-coffee.json @@ -1,40 +1,40 @@ -{ - "name": "Vietnamese Coffee (Cafe Sua Da)", - "description": "Vietnamese Iced Coffee is an intensely brewed coffee concentrate that drips down into a tall glass of ice and a big spoonful of sweetened condensed milk.", - "github": "christinetu", - "ingredients": [ - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "French Roast Coffee grinds" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "Sweetened condensed milk" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "ice" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "water" - } - ], - "directions": [ - "Boil water. Add coffee grounds to phin coffee filter (or pour over coffee filter) and stamp down.", - "Pour hot water in phin coffee filter (or pour over coffee filter).", - "Add in Sweetened condensed milk. Stir until well combined.", - "Add ice and enjoy" - ], - "image": "vietnamese-coffee.jpg", - "keywords": [ - "vietnamese", - "coffee", - "non-alcoholic", - "condensed milk" - ] -} +{ + "name": "Vietnamese Coffee (Cafe Sua Da)", + "description": "Vietnamese Iced Coffee is an intensely brewed coffee concentrate that drips down into a tall glass of ice and a big spoonful of sweetened condensed milk.", + "github": "christinetu", + "ingredients": [ + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "French Roast Coffee grinds" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "Sweetened condensed milk" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "ice" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "water" + } + ], + "directions": [ + "Boil water. Add coffee grounds to phin coffee filter (or pour over coffee filter) and stamp down.", + "Pour hot water in phin coffee filter (or pour over coffee filter).", + "Add in Sweetened condensed milk. Stir until well combined.", + "Add ice and enjoy" + ], + "image": "vietnamese-coffee.jpg", + "keywords": [ + "vietnamese", + "coffee", + "non-alcoholic", + "condensed milk" + ] +} diff --git a/src/recipes/vieux-carre.json b/src/recipes/vieux-carre.json index 4f4f655af..797ef1c28 100644 --- a/src/recipes/vieux-carre.json +++ b/src/recipes/vieux-carre.json @@ -1,55 +1,55 @@ -{ - "name": "Vieux Carre", - "description": "The Vieux Carre is a rye whiskey based cocktail, somewhere between an Old Fashioned and a Manhattan.", - "github": "kristina-hager", - "ingredients": [ - { - "quantity": ".75", - "measure": "oz", - "ingredient": "rye whiskey" - }, - { - "quantity": ".75", - "measure": "oz", - "ingredient": "cognac" - }, - { - "quantity": ".75", - "measure": "oz", - "ingredient": "sweet vermouth" - }, - { - "quantity": ".5", - "measure": "tsp", - "ingredient": "Benedictine" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "angostura bitters" - }, - { - "quantity": "1", - "measure": "dash", - "ingredient": "Peychaud bitters" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lemon peel" - } - ], - "directions": [ - "Combine liquid ingredients in an ice-filled shaker", - "Shake for approximately 20 seconds.", - "Add ice to an Old Fashioned glass. Larger ice cubes are better here.", - "Strain into the Old Fashioned glass", - "Zest the drink and glass with the lemon peel and then twist and place in glass." - ], - "image": "vieux-carre.jpg", - "keywords": [ - "alcoholic", - "bourbon", - "bitters" - ] -} +{ + "name": "Vieux Carre", + "description": "The Vieux Carre is a rye whiskey based cocktail, somewhere between an Old Fashioned and a Manhattan.", + "github": "kristina-hager", + "ingredients": [ + { + "quantity": ".75", + "measure": "oz", + "ingredient": "rye whiskey" + }, + { + "quantity": ".75", + "measure": "oz", + "ingredient": "cognac" + }, + { + "quantity": ".75", + "measure": "oz", + "ingredient": "sweet vermouth" + }, + { + "quantity": ".5", + "measure": "tsp", + "ingredient": "Benedictine" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "angostura bitters" + }, + { + "quantity": "1", + "measure": "dash", + "ingredient": "Peychaud bitters" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lemon peel" + } + ], + "directions": [ + "Combine liquid ingredients in an ice-filled shaker", + "Shake for approximately 20 seconds.", + "Add ice to an Old Fashioned glass. Larger ice cubes are better here.", + "Strain into the Old Fashioned glass", + "Zest the drink and glass with the lemon peel and then twist and place in glass." + ], + "image": "vieux-carre.jpg", + "keywords": [ + "alcoholic", + "bourbon", + "bitters" + ] +} diff --git a/src/recipes/vinho-quente.json b/src/recipes/vinho-quente.json index e750492f8..7e5d1719e 100644 --- a/src/recipes/vinho-quente.json +++ b/src/recipes/vinho-quente.json @@ -1,61 +1,61 @@ -{ - "name": "Vinho Quente", - "description": "Vinho Quente, wich means hot wine in Portuguese, a great drink for cold and calm days.", - "github": "axelrammon", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Sugar" - }, - { - "quantity": "10", - "measure": "Units", - "ingredient": "Clove" - }, - { - "quantity": "5", - "measure": "stick", - "ingredient": "Cinnamon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Orange and lemon peels" - }, - { - "quantity": "1", - "measure": "Cup", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Apple" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Pear" - }, - { - "quantity": "1", - "measure": "Liter", - "ingredient": "Soft red wine" - } - ], - "directions": [ - "Cut the pear and apple into cubes and place all the ingredients in a pan.", - "Bring to the fire and boil for 10 minutes.", - "Turn off and serve." - ], - "image": "vinho-quente.jpg", - "keywords": [ - "wine", - "hot", - "cold", - "red wine", - "apple", - "cinnamon" - ] -} +{ + "name": "Vinho Quente", + "description": "Vinho Quente, wich means hot wine in Portuguese, a great drink for cold and calm days.", + "github": "axelrammon", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Sugar" + }, + { + "quantity": "10", + "measure": "Units", + "ingredient": "Clove" + }, + { + "quantity": "5", + "measure": "stick", + "ingredient": "Cinnamon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Orange and lemon peels" + }, + { + "quantity": "1", + "measure": "Cup", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Apple" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Pear" + }, + { + "quantity": "1", + "measure": "Liter", + "ingredient": "Soft red wine" + } + ], + "directions": [ + "Cut the pear and apple into cubes and place all the ingredients in a pan.", + "Bring to the fire and boil for 10 minutes.", + "Turn off and serve." + ], + "image": "vinho-quente.jpg", + "keywords": [ + "wine", + "hot", + "cold", + "red wine", + "apple", + "cinnamon" + ] +} diff --git a/src/recipes/virgin-belgian-orange-blossom.json b/src/recipes/virgin-belgian-orange-blossom.json index ad02c897b..36ece6661 100644 --- a/src/recipes/virgin-belgian-orange-blossom.json +++ b/src/recipes/virgin-belgian-orange-blossom.json @@ -1,53 +1,53 @@ -{ - "name": "Virgin Belgian Orange Blossom", - "description": "This is a non-alcoholic version of a unique drink idea from Brussels. Lemon-lime soda replaces the gin for a mellow, neutral base and the addition of almond syrup to the oranges has an almost candy-like quality. Dry citrus notes and a bit of fizz save the drink from being cloyingly sweet. You’ll never miss the alcohol in this virgin cocktail!", - "github": "ClumsyPenguin", - "ingredients": [ - { - "quantity": "3", - "measure": "thin", - "ingredient": "Slices of orange (peel on)" - }, - { - "quantity": "2", - "measure": "teaspoon", - "ingredient": "Almond Syrup" - }, - { - "quantity": "2", - "measure": "ounce", - "ingredient": "Lemon lime soda" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "Pink grapefruit juice" - }, - { - "quantity": "1/2", - "measure": "ounce", - "ingredient": "Lemonade" - }, - { - "quantity": "1", - "measure": "ounce", - "ingredient": "Seltzer water" - }, - { - "quantity": "2", - "measure": "dash", - "ingredient": "Cocktail bitter" - } - ], - "directions": [ - "Lightly crush the orange slices in a tall glass using a tablespoon. Do not mash the oranges; just crush them enough to release a bit of juice.", - "Add 1/3 cup ice to the cup, fill with the remaining ingredients, and then stir lightly, keeping the orange slices at the bottom of the glass." - ], - "image": "virgin-belgian-orange-blossom.jpg", - "keywords": [ - "Orange", - "non-alcoholic", - "virgin", - "Almond Syrup" - ] +{ + "name": "Virgin Belgian Orange Blossom", + "description": "This is a non-alcoholic version of a unique drink idea from Brussels. Lemon-lime soda replaces the gin for a mellow, neutral base and the addition of almond syrup to the oranges has an almost candy-like quality. Dry citrus notes and a bit of fizz save the drink from being cloyingly sweet. You’ll never miss the alcohol in this virgin cocktail!", + "github": "ClumsyPenguin", + "ingredients": [ + { + "quantity": "3", + "measure": "thin", + "ingredient": "Slices of orange (peel on)" + }, + { + "quantity": "2", + "measure": "teaspoon", + "ingredient": "Almond Syrup" + }, + { + "quantity": "2", + "measure": "ounce", + "ingredient": "Lemon lime soda" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "Pink grapefruit juice" + }, + { + "quantity": "1/2", + "measure": "ounce", + "ingredient": "Lemonade" + }, + { + "quantity": "1", + "measure": "ounce", + "ingredient": "Seltzer water" + }, + { + "quantity": "2", + "measure": "dash", + "ingredient": "Cocktail bitter" + } + ], + "directions": [ + "Lightly crush the orange slices in a tall glass using a tablespoon. Do not mash the oranges; just crush them enough to release a bit of juice.", + "Add 1/3 cup ice to the cup, fill with the remaining ingredients, and then stir lightly, keeping the orange slices at the bottom of the glass." + ], + "image": "virgin-belgian-orange-blossom.jpg", + "keywords": [ + "Orange", + "non-alcoholic", + "virgin", + "Almond Syrup" + ] } \ No newline at end of file diff --git a/src/recipes/virgin-mary.json b/src/recipes/virgin-mary.json index 699da3bea..c6047ec37 100644 --- a/src/recipes/virgin-mary.json +++ b/src/recipes/virgin-mary.json @@ -1,28 +1,28 @@ -{ - "name": "Virgin Mary", - "description": "", - "github": "ashwin-athappan", - "ingredients": [ - { "quantity": "100", "measure": "ml", "ingredient": "tomato juice" }, - { "quantity": "20", "measure": "ml", "ingredient": "lemon juice" }, - { "quantity": "", "measure": "", "ingredient": "worcestershire sauce" }, - { "quantity": "1", "measure": "teaspoon", "ingredient": "celery salt" }, - { "quantity": "", "measure": "", "ingredient": "black pepper" }, - { "quantity": "", "measure": "", "ingredient": "hot sauce" }, - { "quantity": "1", "measure": "stalk", "ingredient": "celery" }, - { "quantity": "1", "measure": "", "ingredient": "pickle spear" } - ], - "directions": [ - "Gather the ingredients.", - "Pour the tomato juice and lemon juice into a glass filled with ice cubes.", - "Mix well.", - "Add the Worcestershire sauce, salt, pepper, and hot sauce to taste.", - "Garnish with the celery stalk or pickle spear if using.", - "Serve and enjoy!" - ], - "image": "virgin-mary.jpg", - "keywords": [ - "virgin mary", - "tomato" - ] - } +{ + "name": "Virgin Mary", + "description": "", + "github": "ashwin-athappan", + "ingredients": [ + { "quantity": "100", "measure": "ml", "ingredient": "tomato juice" }, + { "quantity": "20", "measure": "ml", "ingredient": "lemon juice" }, + { "quantity": "", "measure": "", "ingredient": "worcestershire sauce" }, + { "quantity": "1", "measure": "teaspoon", "ingredient": "celery salt" }, + { "quantity": "", "measure": "", "ingredient": "black pepper" }, + { "quantity": "", "measure": "", "ingredient": "hot sauce" }, + { "quantity": "1", "measure": "stalk", "ingredient": "celery" }, + { "quantity": "1", "measure": "", "ingredient": "pickle spear" } + ], + "directions": [ + "Gather the ingredients.", + "Pour the tomato juice and lemon juice into a glass filled with ice cubes.", + "Mix well.", + "Add the Worcestershire sauce, salt, pepper, and hot sauce to taste.", + "Garnish with the celery stalk or pickle spear if using.", + "Serve and enjoy!" + ], + "image": "virgin-mary.jpg", + "keywords": [ + "virgin mary", + "tomato" + ] + } diff --git a/src/recipes/virgin-mojito.json b/src/recipes/virgin-mojito.json index 8211f839e..68c318266 100644 --- a/src/recipes/virgin-mojito.json +++ b/src/recipes/virgin-mojito.json @@ -1,49 +1,49 @@ -{ - "name": "Virgin Mojito", - "description": "A refreshing mix of lime and mint.", - "github": "FarhiaM", - "ingredients": [ - { - "quantity": "4-5", - "measure": "mint leaves", - "ingredient": "" - }, - { - "quantity": "1/2", - "measure": "lime", - "ingredient": "cut into small bits" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "of raw sugar" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "of honey syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "crushed ice" - }, - { - "quantity": "8", - "measure": "cl", - "ingredient": "sparkling water or soda" - } - ], - "directions": [ - "Crush and mix the mint leaves and lime juice in a glass.", - "Add the raw sugar into the mix.", - "Mix with the honey syrup.", - "Add sparkling water.", - "Garnish with some slices of lime and a spring of mint." - ], - "image": "virgin-mojito.jpg", - "keywords": [ - "virgin", - "non-alcoholic" - ] -} +{ + "name": "Virgin Mojito", + "description": "A refreshing mix of lime and mint.", + "github": "FarhiaM", + "ingredients": [ + { + "quantity": "4-5", + "measure": "mint leaves", + "ingredient": "" + }, + { + "quantity": "1/2", + "measure": "lime", + "ingredient": "cut into small bits" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "of raw sugar" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "of honey syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "crushed ice" + }, + { + "quantity": "8", + "measure": "cl", + "ingredient": "sparkling water or soda" + } + ], + "directions": [ + "Crush and mix the mint leaves and lime juice in a glass.", + "Add the raw sugar into the mix.", + "Mix with the honey syrup.", + "Add sparkling water.", + "Garnish with some slices of lime and a spring of mint." + ], + "image": "virgin-mojito.jpg", + "keywords": [ + "virgin", + "non-alcoholic" + ] +} diff --git a/src/recipes/virgin-strawberry-colada.json b/src/recipes/virgin-strawberry-colada.json index 35fb01652..6d12839b9 100644 --- a/src/recipes/virgin-strawberry-colada.json +++ b/src/recipes/virgin-strawberry-colada.json @@ -1,37 +1,37 @@ -{ - "name": "Virgin Strawberry Colada", - "description": "Tastes just like the original Strawberry Colada, but without alcohol. Fresh and cool!", - "github": "kopikob", - "ingredients": [ - { - "quantity": "8", - "measure": "strawberries", - "ingredient": "" - }, - { - "quantity": "4", - "measure": "table spoons", - "ingredient": "coconut cream" - }, - { - "quantity": "100", - "measure": "g", - "ingredient": "pineapple juice" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "crushed ice" - } - ], - "directions": [ - "Blend all the ingredients in a blender at high speed.", - "Pour into a tall glass and decorate with maraschino cherry and a pineapple slice." - - ], - "image": "virgin-strawberry-colada.jpg", - "keywords": [ - "virgin", - "non-alcoholic" - ] -} +{ + "name": "Virgin Strawberry Colada", + "description": "Tastes just like the original Strawberry Colada, but without alcohol. Fresh and cool!", + "github": "kopikob", + "ingredients": [ + { + "quantity": "8", + "measure": "strawberries", + "ingredient": "" + }, + { + "quantity": "4", + "measure": "table spoons", + "ingredient": "coconut cream" + }, + { + "quantity": "100", + "measure": "g", + "ingredient": "pineapple juice" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "crushed ice" + } + ], + "directions": [ + "Blend all the ingredients in a blender at high speed.", + "Pour into a tall glass and decorate with maraschino cherry and a pineapple slice." + + ], + "image": "virgin-strawberry-colada.jpg", + "keywords": [ + "virgin", + "non-alcoholic" + ] +} diff --git a/src/recipes/vodka-lemonade-punch.json b/src/recipes/vodka-lemonade-punch.json index e02afe232..1f1206177 100644 --- a/src/recipes/vodka-lemonade-punch.json +++ b/src/recipes/vodka-lemonade-punch.json @@ -1,45 +1,45 @@ -{ - "name": "Vodka Lemonade Punch", - "description": "A cocktail popular amongst party goers!", - "github": "sdmmssa", - "ingredients": [ - { - "quantity": "1.25", - "measure": "Quart", - "ingredient": "Sprite or Lemonade" - }, - { - "quantity": "60", - "measure": "mL", - "ingredient": "Malibu" - }, - { - "quantity": "80", - "measure": "mL", - "ingredient": "Cranberry Juice" - }, - { - "quantity": "80", - "measure": "mL", - "ingredient": "Lime Juice" - }, - { - "quantity": "180", - "measure": "mL", - "ingredient": "Vodka" - }, - { - "quantity": "2", - "measure": "Cup", - "ingredient": "Ice" - } - ], - "directions": [ - "Combine all of the ingredients in a large pitcher filled with ice, adding the soda last." - ], - "image": "vodka-lemonade-punch.jpg", - "source": "https://cafedelites.com/pink-vodka-lemonade/", - "keywords": [ - "alcoholic" - ] -} +{ + "name": "Vodka Lemonade Punch", + "description": "A cocktail popular amongst party goers!", + "github": "sdmmssa", + "ingredients": [ + { + "quantity": "1.25", + "measure": "Quart", + "ingredient": "Sprite or Lemonade" + }, + { + "quantity": "60", + "measure": "mL", + "ingredient": "Malibu" + }, + { + "quantity": "80", + "measure": "mL", + "ingredient": "Cranberry Juice" + }, + { + "quantity": "80", + "measure": "mL", + "ingredient": "Lime Juice" + }, + { + "quantity": "180", + "measure": "mL", + "ingredient": "Vodka" + }, + { + "quantity": "2", + "measure": "Cup", + "ingredient": "Ice" + } + ], + "directions": [ + "Combine all of the ingredients in a large pitcher filled with ice, adding the soda last." + ], + "image": "vodka-lemonade-punch.jpg", + "source": "https://cafedelites.com/pink-vodka-lemonade/", + "keywords": [ + "alcoholic" + ] +} diff --git a/src/recipes/vodka-martini.json b/src/recipes/vodka-martini.json index 327f0fddf..32a970281 100644 --- a/src/recipes/vodka-martini.json +++ b/src/recipes/vodka-martini.json @@ -1,39 +1,39 @@ -{ - "name": "Vodka Martini", - "description": "Enjoy a vodka martini style. Garnish with one or three olives, but never two.", - "github": "alfg", - "ingredients": [ - { - "quantity": "3", - "measure": "fl oz", - "ingredient": "vodka" - }, - { - "quantity": "1", - "measure": "fl oz", - "ingredient": "dry vermouth" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "ice cubes" - }, - { - "quantity": "3", - "measure": "", - "ingredient": "olives" - } - ], - "directions": [ - "Combine vodka and dry vermouth in a cocktail mixing glass.", - "Fill with ice and stir until chilled. Strain into a chilled martini glass.", - "Garnish with three olives on a toothpick." - ], - "image": "vodka-martini.jpg", - "keywords": [ - "vodka", - "vermouth", - "olives", - "alcoholic" - ] +{ + "name": "Vodka Martini", + "description": "Enjoy a vodka martini style. Garnish with one or three olives, but never two.", + "github": "alfg", + "ingredients": [ + { + "quantity": "3", + "measure": "fl oz", + "ingredient": "vodka" + }, + { + "quantity": "1", + "measure": "fl oz", + "ingredient": "dry vermouth" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "ice cubes" + }, + { + "quantity": "3", + "measure": "", + "ingredient": "olives" + } + ], + "directions": [ + "Combine vodka and dry vermouth in a cocktail mixing glass.", + "Fill with ice and stir until chilled. Strain into a chilled martini glass.", + "Garnish with three olives on a toothpick." + ], + "image": "vodka-martini.jpg", + "keywords": [ + "vodka", + "vermouth", + "olives", + "alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/vodka-red-bull.json b/src/recipes/vodka-red-bull.json index 08a480991..0c9e4fb39 100644 --- a/src/recipes/vodka-red-bull.json +++ b/src/recipes/vodka-red-bull.json @@ -1,27 +1,27 @@ -{ - "name": "Vodka Red Bull", - "description": "Do you like simple shots? Then try this sweet vodka-based cocktail, alcoholic and strong.", - "github": "thaseyor", - "ingredients": [ - { - "quantity": "6", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "can", - "ingredient": "Red Bull" - } - ], - "directions": [ - "Either mix, with or without ice, or drop a shot of vodka into the Red Bull in the style of Depth charge" - ], - "image": "vodka-red-bull.jpg", - "source": "https://en.wikipedia.org/wiki/Vodka_Red_Bull", - "keywords": [ - "Red", - "Bull", - "Vodka" - ] +{ + "name": "Vodka Red Bull", + "description": "Do you like simple shots? Then try this sweet vodka-based cocktail, alcoholic and strong.", + "github": "thaseyor", + "ingredients": [ + { + "quantity": "6", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "can", + "ingredient": "Red Bull" + } + ], + "directions": [ + "Either mix, with or without ice, or drop a shot of vodka into the Red Bull in the style of Depth charge" + ], + "image": "vodka-red-bull.jpg", + "source": "https://en.wikipedia.org/wiki/Vodka_Red_Bull", + "keywords": [ + "Red", + "Bull", + "Vodka" + ] } \ No newline at end of file diff --git a/src/recipes/vodka-schweppes.json b/src/recipes/vodka-schweppes.json index 01b8d172a..f7ec22a19 100644 --- a/src/recipes/vodka-schweppes.json +++ b/src/recipes/vodka-schweppes.json @@ -1,27 +1,27 @@ -{ - "name": "Vodka Schweppes", - "description": "Simple sweet drink that you can take wherever you are in your own local style.", - "github": "brucremo", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "cup", - "ingredient": "Schweppes of your preferred taste, I like the Citrus found in Brazil but you can use other flavors" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - } - ], - "directions": [ - "Mix the vodka and the soda in the cup, preferably adding the vodka first so it blends well and that's it! Your homemade Smirnoff Ice aka Vodka Schweppes." - ], - "image": "vodka-schweppes.jpg", - "keywords": [ - "summer", - "schweppes", - "vodka", - "sweet" - ] -} +{ + "name": "Vodka Schweppes", + "description": "Simple sweet drink that you can take wherever you are in your own local style.", + "github": "brucremo", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "cup", + "ingredient": "Schweppes of your preferred taste, I like the Citrus found in Brazil but you can use other flavors" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + } + ], + "directions": [ + "Mix the vodka and the soda in the cup, preferably adding the vodka first so it blends well and that's it! Your homemade Smirnoff Ice aka Vodka Schweppes." + ], + "image": "vodka-schweppes.jpg", + "keywords": [ + "summer", + "schweppes", + "vodka", + "sweet" + ] +} diff --git a/src/recipes/vodka-soda.json b/src/recipes/vodka-soda.json index 799e4637c..271cb5a7a 100644 --- a/src/recipes/vodka-soda.json +++ b/src/recipes/vodka-soda.json @@ -1,26 +1,26 @@ -{ - "name": "Vodka Soda", - "description": "Low calorie alcoholic drink used for those counting calories!", - "github": "zalameedi", - "ingredients": [ - { - "quantity": "12", - "measure": "Oz", - "ingredient": "Soda Water" - }, - { - "quantity": "2", - "measure": "Shot glass", - "ingredient": "Vodka (Absolut OR Grey Goose)" - } - ], - "directions": [ - "Apply vodka in a glass followed by Soda water. Top off with a lime/lemon if desired." - ], - "image": "vodka-soda.jpg", - "source": "https://www.liquor.com/recipes/vodka-soda/", - "keywords": [ - "alcoholic", - "low calorie" - ] +{ + "name": "Vodka Soda", + "description": "Low calorie alcoholic drink used for those counting calories!", + "github": "zalameedi", + "ingredients": [ + { + "quantity": "12", + "measure": "Oz", + "ingredient": "Soda Water" + }, + { + "quantity": "2", + "measure": "Shot glass", + "ingredient": "Vodka (Absolut OR Grey Goose)" + } + ], + "directions": [ + "Apply vodka in a glass followed by Soda water. Top off with a lime/lemon if desired." + ], + "image": "vodka-soda.jpg", + "source": "https://www.liquor.com/recipes/vodka-soda/", + "keywords": [ + "alcoholic", + "low calorie" + ] } \ No newline at end of file diff --git a/src/recipes/warm-lemon-honey-tea.json b/src/recipes/warm-lemon-honey-tea.json index 870da2e37..765ab1130 100644 --- a/src/recipes/warm-lemon-honey-tea.json +++ b/src/recipes/warm-lemon-honey-tea.json @@ -1,37 +1,37 @@ -{ - "name": "Warm Lemon Honey Tea", - "description": "Suitable for a cold day, or when you are ill, this drink is for everyone to enjoy! It has 3 very simple ingredients, warm water, lemon, honey, so you can't go wrong!", - "github": "thePCDguy", - "ingredients": [ - { - "quantity": "1", - "measure": "cup", - "ingredient": "warm water" - }, - { - "quantity": "2", - "measure": "squeezes", - "ingredient": "lemon" - }, - { - "quantity": "2", - "measure": "tablespoons", - "ingredient": "honey" - } - ], - "directions": [ - "Squeeze a lemon in a cup of warm water.", - "Add the honey.", - "stir and enjoy." - ], - "image": "warm-honey-lemon-tea.jpg", - "keywords": [ - "warm", - "water", - "lemon", - "tea", - "honey", - "non-alcoholic", - "healthy" - ] -} +{ + "name": "Warm Lemon Honey Tea", + "description": "Suitable for a cold day, or when you are ill, this drink is for everyone to enjoy! It has 3 very simple ingredients, warm water, lemon, honey, so you can't go wrong!", + "github": "thePCDguy", + "ingredients": [ + { + "quantity": "1", + "measure": "cup", + "ingredient": "warm water" + }, + { + "quantity": "2", + "measure": "squeezes", + "ingredient": "lemon" + }, + { + "quantity": "2", + "measure": "tablespoons", + "ingredient": "honey" + } + ], + "directions": [ + "Squeeze a lemon in a cup of warm water.", + "Add the honey.", + "stir and enjoy." + ], + "image": "warm-honey-lemon-tea.jpg", + "keywords": [ + "warm", + "water", + "lemon", + "tea", + "honey", + "non-alcoholic", + "healthy" + ] +} diff --git a/src/recipes/warm-water.json b/src/recipes/warm-water.json index 940ae007f..9eb0560ae 100644 --- a/src/recipes/warm-water.json +++ b/src/recipes/warm-water.json @@ -1,31 +1,31 @@ -{ - "name": "Warm Water", - "description": "Everyone's favorite drink, not too hot, not too cold: just right.", - "github": "KevinLu", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "Water" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Dihydrogen Monoxide" - } - ], - "directions": [ - "Take your water and put it in the kettle (as much or as little as you want).", - "Wait for the water to boil or reach your preferred temperature (90°C to 100°C should suffice).", - "Pour the hot water out from the kettle into a cup.", - "Add Dihydrogen Monoxide to cup (again, this is my preference; the more you add, the colder your water becomes)." - ], - "image": "warm-water.jpg", - "source": "Multiple years of water-making experience.", - "keywords": [ - "water", - "pure", - "easy", - "non-alcoholic" - ] +{ + "name": "Warm Water", + "description": "Everyone's favorite drink, not too hot, not too cold: just right.", + "github": "KevinLu", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "Water" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Dihydrogen Monoxide" + } + ], + "directions": [ + "Take your water and put it in the kettle (as much or as little as you want).", + "Wait for the water to boil or reach your preferred temperature (90°C to 100°C should suffice).", + "Pour the hot water out from the kettle into a cup.", + "Add Dihydrogen Monoxide to cup (again, this is my preference; the more you add, the colder your water becomes)." + ], + "image": "warm-water.jpg", + "source": "Multiple years of water-making experience.", + "keywords": [ + "water", + "pure", + "easy", + "non-alcoholic" + ] } \ No newline at end of file diff --git a/src/recipes/washington-apple.json b/src/recipes/washington-apple.json index c03363933..d07d6f6af 100644 --- a/src/recipes/washington-apple.json +++ b/src/recipes/washington-apple.json @@ -1,32 +1,32 @@ -{ - "name": "Washington Apple", - "description": "A pleasant apple flavored beverage", - "github": "tnoeding", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Whiskey" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Sour Apple Pucker Schnapps" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Cranberry Juice" - } - ], - "directions": [ - "Add ice and ingredients to a shaker.", - "Shake until it's completely cold.", - "Serve in a martini or highball glass." - ], - "image": "washington-apple.jpg", - "keywords": [ - "apple", - "martini" - ] -} +{ + "name": "Washington Apple", + "description": "A pleasant apple flavored beverage", + "github": "tnoeding", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Whiskey" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Sour Apple Pucker Schnapps" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Cranberry Juice" + } + ], + "directions": [ + "Add ice and ingredients to a shaker.", + "Shake until it's completely cold.", + "Serve in a martini or highball glass." + ], + "image": "washington-apple.jpg", + "keywords": [ + "apple", + "martini" + ] +} diff --git a/src/recipes/watermelon-agua-fresca.json b/src/recipes/watermelon-agua-fresca.json index a3a6d020b..7eb9acf34 100644 --- a/src/recipes/watermelon-agua-fresca.json +++ b/src/recipes/watermelon-agua-fresca.json @@ -1,47 +1,47 @@ -{ - "name": "Watermelon Agua Fresca", - "description": "This is a drink served throughout Mexico. It is made with several different fruits. This is a watermelon drink.", - "github": "ansidev", - "ingredients": [ - { - "quantity": "4", - "measure": "cups", - "ingredient": "cubed seeded watermelon" - }, - { - "quantity": "½", - "measure": "cup", - "ingredient": "white sugar, or to taste" - }, - { - "quantity": "½", - "measure": "slimes", - "ingredient": "lime" - }, - { - "quantity": "24", - "measure": "", - "ingredient": "fresh mint leaves" - }, - { - "quantity": "", - "measure": "", - "ingredient": "ice" - } - ], - "directions": [ - "Puree the watermelon and water in a blender until smooth.", - "Add sugar to taste. Cut the lime slices in half.", - "Place a half lime slice into each of 8 glasses along with 3 mint leaves.", - "Crush with a cocktail muddler, then fill each glass with ice. Pour in the watermelon agua fresca, and stir before serving." - ], - "image": "watermelon-agua-fresca.jpg", - "source": "https://www.allrecipes.com/recipe/214367/watermelon-agua-fresca/", - "keywords": [ - "mint leaves", - "lime", - "sugar", - "watermelon", - "mexican" - ] -} +{ + "name": "Watermelon Agua Fresca", + "description": "This is a drink served throughout Mexico. It is made with several different fruits. This is a watermelon drink.", + "github": "ansidev", + "ingredients": [ + { + "quantity": "4", + "measure": "cups", + "ingredient": "cubed seeded watermelon" + }, + { + "quantity": "½", + "measure": "cup", + "ingredient": "white sugar, or to taste" + }, + { + "quantity": "½", + "measure": "slimes", + "ingredient": "lime" + }, + { + "quantity": "24", + "measure": "", + "ingredient": "fresh mint leaves" + }, + { + "quantity": "", + "measure": "", + "ingredient": "ice" + } + ], + "directions": [ + "Puree the watermelon and water in a blender until smooth.", + "Add sugar to taste. Cut the lime slices in half.", + "Place a half lime slice into each of 8 glasses along with 3 mint leaves.", + "Crush with a cocktail muddler, then fill each glass with ice. Pour in the watermelon agua fresca, and stir before serving." + ], + "image": "watermelon-agua-fresca.jpg", + "source": "https://www.allrecipes.com/recipe/214367/watermelon-agua-fresca/", + "keywords": [ + "mint leaves", + "lime", + "sugar", + "watermelon", + "mexican" + ] +} diff --git a/src/recipes/watermelon-lemonade.json b/src/recipes/watermelon-lemonade.json index b29687c42..81259f16d 100644 --- a/src/recipes/watermelon-lemonade.json +++ b/src/recipes/watermelon-lemonade.json @@ -1,50 +1,50 @@ -{ - "name": "Watermelon Lemonade", - "description": "A light and refreshing summer drink", - "github": "FarhiaM", - "ingredients": [ - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "White sugar" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "4", - "measure": "cup", - "ingredient": "Cubed watermelon" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "Fresh lemon juice" - }, - { - "quantity": "3", - "measure": "cup", - "ingredient": "Cold water" - }, - { - "quantity": "1-2", - "measure": "cup", - "ingredient": "Ice cubes" - } - ], - "directions": [ - "Place the watermelon into a blender and mix until it's smooth.", - "Boil the sugar and 1/2 cup of water on medium heat until sugar dissolves.", - "Remove the mix from the heat and and stir 3 cups of cold water and lemon juice.", - "Scoop 2-3 tablespoons of watermelon into a cup.", - "Add the ice cubes and the lemonade.", - "Gently stir before serving." - ], - "image": "watermelon-lemonade.jpg", - "keywords": [ - "Watermelon", - "non-alcoholic" - ] -} +{ + "name": "Watermelon Lemonade", + "description": "A light and refreshing summer drink", + "github": "FarhiaM", + "ingredients": [ + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "White sugar" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "4", + "measure": "cup", + "ingredient": "Cubed watermelon" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "Fresh lemon juice" + }, + { + "quantity": "3", + "measure": "cup", + "ingredient": "Cold water" + }, + { + "quantity": "1-2", + "measure": "cup", + "ingredient": "Ice cubes" + } + ], + "directions": [ + "Place the watermelon into a blender and mix until it's smooth.", + "Boil the sugar and 1/2 cup of water on medium heat until sugar dissolves.", + "Remove the mix from the heat and and stir 3 cups of cold water and lemon juice.", + "Scoop 2-3 tablespoons of watermelon into a cup.", + "Add the ice cubes and the lemonade.", + "Gently stir before serving." + ], + "image": "watermelon-lemonade.jpg", + "keywords": [ + "Watermelon", + "non-alcoholic" + ] +} diff --git a/src/recipes/watermelon-mint-lemonade.json b/src/recipes/watermelon-mint-lemonade.json index b2506da48..056ac0dc6 100644 --- a/src/recipes/watermelon-mint-lemonade.json +++ b/src/recipes/watermelon-mint-lemonade.json @@ -1,55 +1,55 @@ -{ - "name": "Watermelon Mint Lemonade", - "description": "This refreshing summer drink will ward off the heat with the bright combination of watermelon, mint, and lemons.", - "github": "sinisterblade", - "ingredients": [ - { - "quantity": "0.5", - "measure": "cup", - "ingredient": "granulated sugar" - }, - { - "quantity": "10", - "measure": "cup", - "ingredient": "seedless watermelon, cubed in 1-inch pieces" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "fresh-squeezed lemon juice" - }, - { - "quantity": "0.5", - "measure": "cup", - "ingredient": "loosely packed mint leaves" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lemon slices" - }, - { - "quantity": "", - "measure": "", - "ingredient": "fresh mint sprigs" - } - ], - "directions": [ - "Make a simple syrup by combining 1/2 cup sugar and 1/2 cup water in a small pan over medium-high heat.", - "Heat the liquid just until the sugar is complete dissolved, 5-6 minutes. Set the simple syrup aside to cool.", - "Pulse the watermelon in a blender until smooth. (You may need to do this in 2 batches.) Strain the pureed watermelon through a fine mesh colander into a large bowl. Discard the pulp and rinse the blender container out with water.", - "Return the watermelon liquid to the blender. Add the lemon juice and mint and blend until the mint is very finely chopped.", - "Transfer the Watermelon Mint Lemonade to a juice pitcher. Slowly adjust for your desired sweetness by adding simple syrup to the lemonade.", - "Chill until serving. Serve over ice, with lemon slices and fresh mint as a garnish." - ], - "image": "watermelon-mint-lemonade.jpg", - "source": "https://inquiringchef.com/watermelon-mint-lemonade-and-other-indulgences/", - "keywords": [ - "fruit", - "lemon", - "mint", - "non-alcoholic", - "healthy", - "watermelon" - ] -} +{ + "name": "Watermelon Mint Lemonade", + "description": "This refreshing summer drink will ward off the heat with the bright combination of watermelon, mint, and lemons.", + "github": "sinisterblade", + "ingredients": [ + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "granulated sugar" + }, + { + "quantity": "10", + "measure": "cup", + "ingredient": "seedless watermelon, cubed in 1-inch pieces" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "fresh-squeezed lemon juice" + }, + { + "quantity": "0.5", + "measure": "cup", + "ingredient": "loosely packed mint leaves" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lemon slices" + }, + { + "quantity": "", + "measure": "", + "ingredient": "fresh mint sprigs" + } + ], + "directions": [ + "Make a simple syrup by combining 1/2 cup sugar and 1/2 cup water in a small pan over medium-high heat.", + "Heat the liquid just until the sugar is complete dissolved, 5-6 minutes. Set the simple syrup aside to cool.", + "Pulse the watermelon in a blender until smooth. (You may need to do this in 2 batches.) Strain the pureed watermelon through a fine mesh colander into a large bowl. Discard the pulp and rinse the blender container out with water.", + "Return the watermelon liquid to the blender. Add the lemon juice and mint and blend until the mint is very finely chopped.", + "Transfer the Watermelon Mint Lemonade to a juice pitcher. Slowly adjust for your desired sweetness by adding simple syrup to the lemonade.", + "Chill until serving. Serve over ice, with lemon slices and fresh mint as a garnish." + ], + "image": "watermelon-mint-lemonade.jpg", + "source": "https://inquiringchef.com/watermelon-mint-lemonade-and-other-indulgences/", + "keywords": [ + "fruit", + "lemon", + "mint", + "non-alcoholic", + "healthy", + "watermelon" + ] +} diff --git a/src/recipes/watermelon-moscow-mule.json b/src/recipes/watermelon-moscow-mule.json index c54c7738a..b541ddc41 100644 --- a/src/recipes/watermelon-moscow-mule.json +++ b/src/recipes/watermelon-moscow-mule.json @@ -1,45 +1,45 @@ -{ - "name": "Watermelon Moscow Mule", - "description": "Refreshing variation of the one-and-only copper classic.", - "github": "Sina-Sche", - "ingredients": [ - { - "quantity": "4", - "measure": "oz", - "ingredient": "Watermelon Juice (pureed)" - }, - { - "quantity": "3", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "Ginger Beer" - }, - {"quantity": "", - "measure": "", - "ingredient": "Mint leaves"}, - - {"quantity": "", - "measure": "", - "ingredient": "Ice cubes"}, - {"quantity": "", - "measure": "", - "ingredient": "Slice of lime"} - ], - "directions": [ - "Slice watermelon, blend and strain.", - "Add Watermelon, Vodka and ice into shaker and shake for 30 seconds.", - "Pour over ice in mule mug and top it off with ginger beer. Add mint leaves and a slice of lime and enjoy!" - ], - "image": "watermelon-moscow-mule.jpg", - "keywords": [ - "classic", - "alcoholic", - "refreshing", - "ginger beer", - "vodka" - ] +{ + "name": "Watermelon Moscow Mule", + "description": "Refreshing variation of the one-and-only copper classic.", + "github": "Sina-Sche", + "ingredients": [ + { + "quantity": "4", + "measure": "oz", + "ingredient": "Watermelon Juice (pureed)" + }, + { + "quantity": "3", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "Ginger Beer" + }, + {"quantity": "", + "measure": "", + "ingredient": "Mint leaves"}, + + {"quantity": "", + "measure": "", + "ingredient": "Ice cubes"}, + {"quantity": "", + "measure": "", + "ingredient": "Slice of lime"} + ], + "directions": [ + "Slice watermelon, blend and strain.", + "Add Watermelon, Vodka and ice into shaker and shake for 30 seconds.", + "Pour over ice in mule mug and top it off with ginger beer. Add mint leaves and a slice of lime and enjoy!" + ], + "image": "watermelon-moscow-mule.jpg", + "keywords": [ + "classic", + "alcoholic", + "refreshing", + "ginger beer", + "vodka" + ] } \ No newline at end of file diff --git a/src/recipes/watermelon-smoothie.json b/src/recipes/watermelon-smoothie.json index ef8d7ea3a..674ea831f 100644 --- a/src/recipes/watermelon-smoothie.json +++ b/src/recipes/watermelon-smoothie.json @@ -1,47 +1,47 @@ -{ - "name": "Watermelon Smoothie", - "description": "A simple, light, sweet and refreshing drink. Perfect for summer!", - "github": "deeptiagg16", - "ingredients": [ - { - "quantity": "5", - "measure": "cups", - "ingredient": "fresh watermelon" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lime" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "frozen strawberries" - }, - { - "quantity": "2", - "measure": "tbsp", - "ingredient": "hemp seeds" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "almond milk" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Sweetener of your choice" - } - ], - "directions": [ - "Place all ingredients in a blender and blend until smooth.", - "Serve immediately." - ], - "image": "watermelon-smoothie.jpg", - "keywords": [ - "watermelon", - "non-alcoholic", - "smoothie" - ] -} +{ + "name": "Watermelon Smoothie", + "description": "A simple, light, sweet and refreshing drink. Perfect for summer!", + "github": "deeptiagg16", + "ingredients": [ + { + "quantity": "5", + "measure": "cups", + "ingredient": "fresh watermelon" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lime" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "frozen strawberries" + }, + { + "quantity": "2", + "measure": "tbsp", + "ingredient": "hemp seeds" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "almond milk" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Sweetener of your choice" + } + ], + "directions": [ + "Place all ingredients in a blender and blend until smooth.", + "Serve immediately." + ], + "image": "watermelon-smoothie.jpg", + "keywords": [ + "watermelon", + "non-alcoholic", + "smoothie" + ] +} diff --git a/src/recipes/watermelon-vodka.json b/src/recipes/watermelon-vodka.json index 40a9e4024..86dc6807e 100644 --- a/src/recipes/watermelon-vodka.json +++ b/src/recipes/watermelon-vodka.json @@ -1,47 +1,47 @@ -{ - "name": "Watermelon Vodka", - "description": "In its clever cubicle, guaranteed effect !", - "github": "jcolfej", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "watermelon" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "lemons" - }, - { - "quantity": "10", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "6", - "measure": "teaspoon", - "ingredient": "brown sugar" - }, - { - "quantity": "", - "measure": "", - "ingredient": "mint leaves" - } - ], - "directions": [ - "Open the watermelon by cutting a hat on top.", - "Scoop out the flesh with a spoon and blend the pieces to make a puree.", - "Collect the juice from the watermelon by straining it through a sieve.", - "Pierce the watermelon with an apple corer and install the cubicle tap.", - "If necessary, roll up some cellophane to seal the watermelon.", - "Put the vodka, brown sugar, lemon juice and watermelon juice inside and mix.", - "Serve and add a few mint leaves and ice cubes." - ], - "image": "watermelon-vodka.jpg", - "keywords": [ - "watermelon", - "lemon", - "vodka" - ] -} +{ + "name": "Watermelon Vodka", + "description": "In its clever cubicle, guaranteed effect !", + "github": "jcolfej", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "watermelon" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "lemons" + }, + { + "quantity": "10", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "6", + "measure": "teaspoon", + "ingredient": "brown sugar" + }, + { + "quantity": "", + "measure": "", + "ingredient": "mint leaves" + } + ], + "directions": [ + "Open the watermelon by cutting a hat on top.", + "Scoop out the flesh with a spoon and blend the pieces to make a puree.", + "Collect the juice from the watermelon by straining it through a sieve.", + "Pierce the watermelon with an apple corer and install the cubicle tap.", + "If necessary, roll up some cellophane to seal the watermelon.", + "Put the vodka, brown sugar, lemon juice and watermelon juice inside and mix.", + "Serve and add a few mint leaves and ice cubes." + ], + "image": "watermelon-vodka.jpg", + "keywords": [ + "watermelon", + "lemon", + "vodka" + ] +} diff --git a/src/recipes/wedang-uwuh.json b/src/recipes/wedang-uwuh.json index 53da30970..d5e017e16 100644 --- a/src/recipes/wedang-uwuh.json +++ b/src/recipes/wedang-uwuh.json @@ -1,69 +1,69 @@ -{ - "name": "Wedang Uwuh", - "description": "Allow me to introduce you to Wedang Uwuh, a traditional herbs drink from Jogyakarta, Indonesia. Wedang means drink, and uwuh means trash. So, wedang uwuh means “trash drink”. They call it wedang uwuh because some of the ingredients are leaves that fall from the tree. They would not pick the leaves that are still on the tree because the leaves are still green and usually have a bitter taste.The drink contains a variety of leaves like cinnamon, nutmeg and cloves leaves. Another ingredient is wood from the secang tree (that usually can be found in Imogiri cemetery-known as Royal Cemetery), ginger and lump sugar.", - "github": "mdayann", - "ingredients": [ - { - "quantity": "1", - "measure": "Segment", - "ingredient": "Ginger" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "Lime Leaves" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "Bay Leaves" - }, - { - "quantity": "2", - "measure": "Sticks", - "ingredient": "Cinnamon" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "Cloves" - }, - { - "quantity": "5", - "measure": "", - "ingredient": "Cardamom Grains" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Star Anise" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Lemongrass Stalk" - }, - { - "quantity": "4", - "measure": "Tablespoons", - "ingredient": "Honey" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Water" - } - ], - "directions": [ - "Wash all ingredients, then boil water in a saucepan, put all the ingredients in the wedang uwuh.", - "Bring the wedang uwuh to a boil until the boiling water is dark red.", - "Turn off the heat and wait until the warm boiled water is strong. Move in a teapot and add the honey mixture until well blended. Serve warm." - ], - "image": "wedang-uwuh.jpg", - "keywords": [ - "mocktail", - "non-alcoholic", - "warm", - "classic" - ] +{ + "name": "Wedang Uwuh", + "description": "Allow me to introduce you to Wedang Uwuh, a traditional herbs drink from Jogyakarta, Indonesia. Wedang means drink, and uwuh means trash. So, wedang uwuh means “trash drink”. They call it wedang uwuh because some of the ingredients are leaves that fall from the tree. They would not pick the leaves that are still on the tree because the leaves are still green and usually have a bitter taste.The drink contains a variety of leaves like cinnamon, nutmeg and cloves leaves. Another ingredient is wood from the secang tree (that usually can be found in Imogiri cemetery-known as Royal Cemetery), ginger and lump sugar.", + "github": "mdayann", + "ingredients": [ + { + "quantity": "1", + "measure": "Segment", + "ingredient": "Ginger" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "Lime Leaves" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "Bay Leaves" + }, + { + "quantity": "2", + "measure": "Sticks", + "ingredient": "Cinnamon" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "Cloves" + }, + { + "quantity": "5", + "measure": "", + "ingredient": "Cardamom Grains" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Star Anise" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Lemongrass Stalk" + }, + { + "quantity": "4", + "measure": "Tablespoons", + "ingredient": "Honey" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Water" + } + ], + "directions": [ + "Wash all ingredients, then boil water in a saucepan, put all the ingredients in the wedang uwuh.", + "Bring the wedang uwuh to a boil until the boiling water is dark red.", + "Turn off the heat and wait until the warm boiled water is strong. Move in a teapot and add the honey mixture until well blended. Serve warm." + ], + "image": "wedang-uwuh.jpg", + "keywords": [ + "mocktail", + "non-alcoholic", + "warm", + "classic" + ] } \ No newline at end of file diff --git a/src/recipes/werthers-hot-toddies.json b/src/recipes/werthers-hot-toddies.json index b805f8b28..8dbf059fa 100644 --- a/src/recipes/werthers-hot-toddies.json +++ b/src/recipes/werthers-hot-toddies.json @@ -1,63 +1,63 @@ -{ - "name": "Werther's Hot Toddies", - "description": "A hot toddy is the perfect drink for cold winter nights. Add a Werther's candy to your next cup for an extra caramel flavor. It's the perfect addition and makes the drink even better to cuddle up with. ", - "github": "phpshko", - "ingredients": [ - { - "quantity": "10", - "measure": "", - "ingredient": "Werther's Originals Candies, crushed" - }, - { - "quantity": "1/2", - "measure": "cup", - "ingredient": "caramel" - }, - { - "quantity": "2", - "measure": "cup", - "ingredient": "water" - }, - { - "quantity": "10", - "measure": "", - "ingredient": "Werther's Originals Candies, whole" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "cinnamon sticks, plus more for garnish" - }, - { - "quantity": "1/3", - "measure": "cup", - "ingredient": "lemon juice" - }, - { - "quantity": "6", - "measure": "oz", - "ingredient": "whiskey or bourbon" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Lemon slices, for garnish" - } - ], - "directions": [ - "Place crushed Werther's on a shallow plate, and caramel on a separate shallow plate.", - "Dip rims first in caramel, and then in crushed Werther's.", - "In a small saucepan over medium heat, combine water, whole Werther's, and cinnamon sticks.", - "Stir constantly until candies are fully melted.", - "Turn off heat and stir in lemon juice and whiskey. ", - "Ladle into mugs and serve." - ], - "image": "werthers-hot-toddies.jpg", - "keywords": [ - "caramel", - "lemon", - "candy", - "whiskey", - "cinnamon" - ] -} +{ + "name": "Werther's Hot Toddies", + "description": "A hot toddy is the perfect drink for cold winter nights. Add a Werther's candy to your next cup for an extra caramel flavor. It's the perfect addition and makes the drink even better to cuddle up with. ", + "github": "phpshko", + "ingredients": [ + { + "quantity": "10", + "measure": "", + "ingredient": "Werther's Originals Candies, crushed" + }, + { + "quantity": "1/2", + "measure": "cup", + "ingredient": "caramel" + }, + { + "quantity": "2", + "measure": "cup", + "ingredient": "water" + }, + { + "quantity": "10", + "measure": "", + "ingredient": "Werther's Originals Candies, whole" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "cinnamon sticks, plus more for garnish" + }, + { + "quantity": "1/3", + "measure": "cup", + "ingredient": "lemon juice" + }, + { + "quantity": "6", + "measure": "oz", + "ingredient": "whiskey or bourbon" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Lemon slices, for garnish" + } + ], + "directions": [ + "Place crushed Werther's on a shallow plate, and caramel on a separate shallow plate.", + "Dip rims first in caramel, and then in crushed Werther's.", + "In a small saucepan over medium heat, combine water, whole Werther's, and cinnamon sticks.", + "Stir constantly until candies are fully melted.", + "Turn off heat and stir in lemon juice and whiskey. ", + "Ladle into mugs and serve." + ], + "image": "werthers-hot-toddies.jpg", + "keywords": [ + "caramel", + "lemon", + "candy", + "whiskey", + "cinnamon" + ] +} diff --git a/src/recipes/whiskey-boulevardier.json b/src/recipes/whiskey-boulevardier.json index b30dad07b..9aaa8403c 100644 --- a/src/recipes/whiskey-boulevardier.json +++ b/src/recipes/whiskey-boulevardier.json @@ -1,41 +1,41 @@ -{ - "name": "Whiskey Boulevardier", - "description": "Slight twist on your traditional boulevardier.", - "github": "oneill38", - "ingredients": [ - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "Whiskey" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Sweet Vermouth" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "Aperol" - }, - { - "quantity": "", - "measure": "", - "ingredient": "orange peel for garnish" - } - ], - "directions": [ - "Fill a mixing glass with ice.", - "Add whiskey, vermouth, and aperol.", - "Stir until chilled and strain into cocktail glass.", - "Garnish with orange peel." - ], - "image": "whiskey-boulevardier.jpg", - "keywords": [ - "alcoholic", - "vegan", - "whiskey", - "aperol", - "vermouth" - ] -} +{ + "name": "Whiskey Boulevardier", + "description": "Slight twist on your traditional boulevardier.", + "github": "oneill38", + "ingredients": [ + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "Whiskey" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Sweet Vermouth" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "Aperol" + }, + { + "quantity": "", + "measure": "", + "ingredient": "orange peel for garnish" + } + ], + "directions": [ + "Fill a mixing glass with ice.", + "Add whiskey, vermouth, and aperol.", + "Stir until chilled and strain into cocktail glass.", + "Garnish with orange peel." + ], + "image": "whiskey-boulevardier.jpg", + "keywords": [ + "alcoholic", + "vegan", + "whiskey", + "aperol", + "vermouth" + ] +} diff --git a/src/recipes/whiskey-smash.json b/src/recipes/whiskey-smash.json index 6d070cb2f..5396d994f 100644 --- a/src/recipes/whiskey-smash.json +++ b/src/recipes/whiskey-smash.json @@ -1,39 +1,39 @@ -{ - "name": "Whiskey Smash", - "description": "Like Mint Juleps? You’ll love the Whiskey Smash, a citrusy 19th-century cooler. Legendary bartender Dale DeGroff at the Rainbow Room in New York modified the classic recipe by adding muddled lemon wedges. DeGroff calls the citrus-and-mint combination the perfect cocktail for those who say they’ll never drink whiskey.", - "github": "sbays", - "ingredients": [ - { - "quantity": "50", - "measure": "ml", - "ingredient": "Bourbon" - }, - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "Lemon Juice" - }, - { - "quantity": "22.5", - "measure": "ml", - "ingredient": "Sugar Syrup" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Mint Leaves" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cubed ice" - } - ], - "directions": [ - "Add the ingredients to your cocktail shaker and fill with ice.", - "Shake & double strain over fresh ice into a double old fashioned glass.", - "Slap a mint sprig between your hands and use as garnish." - ], - "image": "whiskey-smash.jpg", - "keywords": ["alcoholic", "whiskey", "lemon", "cocktail"] -} +{ + "name": "Whiskey Smash", + "description": "Like Mint Juleps? You’ll love the Whiskey Smash, a citrusy 19th-century cooler. Legendary bartender Dale DeGroff at the Rainbow Room in New York modified the classic recipe by adding muddled lemon wedges. DeGroff calls the citrus-and-mint combination the perfect cocktail for those who say they’ll never drink whiskey.", + "github": "sbays", + "ingredients": [ + { + "quantity": "50", + "measure": "ml", + "ingredient": "Bourbon" + }, + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "Lemon Juice" + }, + { + "quantity": "22.5", + "measure": "ml", + "ingredient": "Sugar Syrup" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Mint Leaves" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cubed ice" + } + ], + "directions": [ + "Add the ingredients to your cocktail shaker and fill with ice.", + "Shake & double strain over fresh ice into a double old fashioned glass.", + "Slap a mint sprig between your hands and use as garnish." + ], + "image": "whiskey-smash.jpg", + "keywords": ["alcoholic", "whiskey", "lemon", "cocktail"] +} diff --git a/src/recipes/whiskey-sour-vegas-style.json b/src/recipes/whiskey-sour-vegas-style.json index 6b2efdf5a..7a82c8fe1 100644 --- a/src/recipes/whiskey-sour-vegas-style.json +++ b/src/recipes/whiskey-sour-vegas-style.json @@ -1,39 +1,39 @@ -{ - "name": "Whiskey Sour [Vegas Style]", - "description": "Simple to make Whiskey sour. Commonly served at Vegas casinos when gambling.", - "github": "funkaj", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Bourbon" - }, - { - "quantity": "2.5", - "measure": "oz", - "ingredient": "Lemon Juice (Sour Mix)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cubed Ice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Cherry" - }, - { - "quantity": "1", - "measure": "slice", - "ingredient": "Orange, Lemon, or Lime" - } - ], - "directions": [ - "Add ice, Bourbon, and lemon juice in a metal mixer.", - "Shake until condensation forms on the metal.", - "Pour into glass and garnish with cherry and your choice of citrus wedge." - ], - "image": "whiskey-sour-vegas.jpg", - "keywords": ["vegas", "whiskey", "bourbon", "sour"] -} +{ + "name": "Whiskey Sour [Vegas Style]", + "description": "Simple to make Whiskey sour. Commonly served at Vegas casinos when gambling.", + "github": "funkaj", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Bourbon" + }, + { + "quantity": "2.5", + "measure": "oz", + "ingredient": "Lemon Juice (Sour Mix)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cubed Ice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Cherry" + }, + { + "quantity": "1", + "measure": "slice", + "ingredient": "Orange, Lemon, or Lime" + } + ], + "directions": [ + "Add ice, Bourbon, and lemon juice in a metal mixer.", + "Shake until condensation forms on the metal.", + "Pour into glass and garnish with cherry and your choice of citrus wedge." + ], + "image": "whiskey-sour-vegas.jpg", + "keywords": ["vegas", "whiskey", "bourbon", "sour"] +} diff --git a/src/recipes/whisky-sour.json b/src/recipes/whisky-sour.json index 915ab18db..558507792 100644 --- a/src/recipes/whisky-sour.json +++ b/src/recipes/whisky-sour.json @@ -1,43 +1,43 @@ -{ - "name": "Whisky Sour", - "description": "The whiskey sour is a mixed drink containing whiskey, lemon juice, sugar, and optionally, a dash of egg white.", - "github": "soer7022", - "ingredients": [ - { - "quantity": "2", - "measure": "parts", - "ingredient": "bourbon" - }, - { - "quantity": "1", - "measure": "part", - "ingredient": "lemon juice" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "sugar syrup" - }, - { - "quantity": "1/2", - "measure": "part", - "ingredient": "egg white" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Cubed ice" - } - ], - "directions": [ - "Put ice and all of the ingredients into a shaker and shake hard for about 20 seconds to chill the liquid really well.", - "Strain the mix into a glass filled with ice and garnish with the cherry and orange slice." - ], - "image": "whisky-sour.jpg", - "keywords": [ - "alcoholic", - "whiskey", - "egg", - "cocktail" - ] -} +{ + "name": "Whisky Sour", + "description": "The whiskey sour is a mixed drink containing whiskey, lemon juice, sugar, and optionally, a dash of egg white.", + "github": "soer7022", + "ingredients": [ + { + "quantity": "2", + "measure": "parts", + "ingredient": "bourbon" + }, + { + "quantity": "1", + "measure": "part", + "ingredient": "lemon juice" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "sugar syrup" + }, + { + "quantity": "1/2", + "measure": "part", + "ingredient": "egg white" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Cubed ice" + } + ], + "directions": [ + "Put ice and all of the ingredients into a shaker and shake hard for about 20 seconds to chill the liquid really well.", + "Strain the mix into a glass filled with ice and garnish with the cherry and orange slice." + ], + "image": "whisky-sour.jpg", + "keywords": [ + "alcoholic", + "whiskey", + "egg", + "cocktail" + ] +} diff --git a/src/recipes/white-bear.json b/src/recipes/white-bear.json index 846645681..e3e33a164 100644 --- a/src/recipes/white-bear.json +++ b/src/recipes/white-bear.json @@ -1,42 +1,42 @@ -{ - "name": "White Bear", - "description": "The White Bear is a simple but powerful starter cocktail based on Champagne and Vodka.", - "github": "4ndrej", - "ingredients": [ - { - "quantity": "100", - "measure": "ml", - "ingredient": "Champagne" - }, - { - "quantity": "50", - "measure": "ml", - "ingredient": "Vodka" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Ice" - }, - { - "quantity": "1", - "measure": "wedge", - "ingredient": "Lemon" - } - ], - "directions": [ - "Optional: Put some ice into champagne glass.", - "Add Champagne and Vodka.", - "Stir gently to release some bubbles.", - "Garnish with a lemon wedge." - ], - "image": "white-bear.jpg", - "keywords": [ - "champagne", - "vodka", - "lemon", - "hard", - "alcoholic", - "vegan" - ] -} +{ + "name": "White Bear", + "description": "The White Bear is a simple but powerful starter cocktail based on Champagne and Vodka.", + "github": "4ndrej", + "ingredients": [ + { + "quantity": "100", + "measure": "ml", + "ingredient": "Champagne" + }, + { + "quantity": "50", + "measure": "ml", + "ingredient": "Vodka" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Ice" + }, + { + "quantity": "1", + "measure": "wedge", + "ingredient": "Lemon" + } + ], + "directions": [ + "Optional: Put some ice into champagne glass.", + "Add Champagne and Vodka.", + "Stir gently to release some bubbles.", + "Garnish with a lemon wedge." + ], + "image": "white-bear.jpg", + "keywords": [ + "champagne", + "vodka", + "lemon", + "hard", + "alcoholic", + "vegan" + ] +} diff --git a/src/recipes/white-christmas-margarita.json b/src/recipes/white-christmas-margarita.json index 97bce71a1..ce3ff08b1 100644 --- a/src/recipes/white-christmas-margarita.json +++ b/src/recipes/white-christmas-margarita.json @@ -1,63 +1,63 @@ -{ - "name": "White Christmas Margaritas", - "description": "Spike up your traditional holiday drinks from the traditional eggnog with a winterized margarita.", - "github": "yoji-kojio", - "ingredients": [ - { - "quantity": "14", - "measure": "oz", - "ingredient": "unsweetened coconut milk" - }, - { - "quantity": "12", - "measure": "oz", - "ingredient": "tequila" - }, - { - "quantity": "8", - "measure": "oz", - "ingredient": "triple sec" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "lime juice" - }, - { - "quantity": "4", - "measure": "cups", - "ingredient": "ice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lime wedge, for rimming glass" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sanding sugar, for rimming glass" - }, - { - "quantity": "", - "measure": "", - "ingredient": "lime slices, for garnish" - }, - { - "quantity": "", - "measure": "", - "ingredient": "cranberries, for garnish" - } - ], - "directions": [ - "Combine coconut milk, tequila, triple sec, lime juice and ice in a blender. Blend until smooth.", - "Rim glasses with lime wedge and dip in sanding sugar.", - "Pour into glass and garnish with lime and cranberries." - ], - "image": "white-christmas-margarita.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a57117/white-christmas-margaritas-recipe/", - "keywords": [ - "coconut", - "tequila" - ] -} +{ + "name": "White Christmas Margaritas", + "description": "Spike up your traditional holiday drinks from the traditional eggnog with a winterized margarita.", + "github": "yoji-kojio", + "ingredients": [ + { + "quantity": "14", + "measure": "oz", + "ingredient": "unsweetened coconut milk" + }, + { + "quantity": "12", + "measure": "oz", + "ingredient": "tequila" + }, + { + "quantity": "8", + "measure": "oz", + "ingredient": "triple sec" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "lime juice" + }, + { + "quantity": "4", + "measure": "cups", + "ingredient": "ice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lime wedge, for rimming glass" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sanding sugar, for rimming glass" + }, + { + "quantity": "", + "measure": "", + "ingredient": "lime slices, for garnish" + }, + { + "quantity": "", + "measure": "", + "ingredient": "cranberries, for garnish" + } + ], + "directions": [ + "Combine coconut milk, tequila, triple sec, lime juice and ice in a blender. Blend until smooth.", + "Rim glasses with lime wedge and dip in sanding sugar.", + "Pour into glass and garnish with lime and cranberries." + ], + "image": "white-christmas-margarita.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/recipes/a57117/white-christmas-margaritas-recipe/", + "keywords": [ + "coconut", + "tequila" + ] +} diff --git a/src/recipes/white-christmas-mojito.json b/src/recipes/white-christmas-mojito.json index f05079bf8..aa3e4df73 100644 --- a/src/recipes/white-christmas-mojito.json +++ b/src/recipes/white-christmas-mojito.json @@ -1,63 +1,63 @@ -{ - "name": "White Christmas Mojito", - "description": "A simple drink perfect for parties.", - "github": "Oishika-Pradhan", - "ingredients": [ - { - "quantity": "1", - "measure": "piece", - "ingredient": "lime: juiced" - }, - { - "quantity": "8", - "measure": "pieces", - "ingredient": "mint leaves" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "sugar" - }, - { - "quantity": "2", - "measure": "tablespoon", - "ingredient": "white rum" - }, - { - "quantity": "1", - "measure": "tablespoon", - "ingredient": "coconut rum" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "canned coconut milk" - }, - { - "quantity": "", - "measure": "", - "ingredient": "sparkling water for topping" - }, - { - "quantity": "", - "measure": "", - "ingredient": "pomegranate arils: for serving" - } - ], - "directions": [ - "Muddle the lime juice, sugar and mint leaves in a glass until the leaves have broken down.", - "Fill the glass half way with ice.", - "Combine the white rum, coconut rum, and coconut milk in a blender and pulse until smooth.", - "Pour over the ice and stir to combine.", - "Top with sparkling water, mint and pomegranate.", - "Cheers!" - ], - "image": "white-christmas-mojito.jpg", - "source": "https://www.halfbakedharvest.com/white-christmas-mojito/", - "keywords": [ - "rum", - "coconut", - "mojito", - "alcoholic" - ] -} +{ + "name": "White Christmas Mojito", + "description": "A simple drink perfect for parties.", + "github": "Oishika-Pradhan", + "ingredients": [ + { + "quantity": "1", + "measure": "piece", + "ingredient": "lime: juiced" + }, + { + "quantity": "8", + "measure": "pieces", + "ingredient": "mint leaves" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "sugar" + }, + { + "quantity": "2", + "measure": "tablespoon", + "ingredient": "white rum" + }, + { + "quantity": "1", + "measure": "tablespoon", + "ingredient": "coconut rum" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "canned coconut milk" + }, + { + "quantity": "", + "measure": "", + "ingredient": "sparkling water for topping" + }, + { + "quantity": "", + "measure": "", + "ingredient": "pomegranate arils: for serving" + } + ], + "directions": [ + "Muddle the lime juice, sugar and mint leaves in a glass until the leaves have broken down.", + "Fill the glass half way with ice.", + "Combine the white rum, coconut rum, and coconut milk in a blender and pulse until smooth.", + "Pour over the ice and stir to combine.", + "Top with sparkling water, mint and pomegranate.", + "Cheers!" + ], + "image": "white-christmas-mojito.jpg", + "source": "https://www.halfbakedharvest.com/white-christmas-mojito/", + "keywords": [ + "rum", + "coconut", + "mojito", + "alcoholic" + ] +} diff --git a/src/recipes/white-freezie.json b/src/recipes/white-freezie.json index d45855415..ab27c298f 100644 --- a/src/recipes/white-freezie.json +++ b/src/recipes/white-freezie.json @@ -1,36 +1,36 @@ -{ - "name": "White Freezie", - "description": "Delicious, sweet alcoholic beverage that tastes like white-coloured freezies.", - "github": "KComrade53", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Banana Liqueur" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Sour Puss Raspberry Liqueur" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Sprite (to fill rest of glass)" - } - ], - "directions": [ - "Optional: Add ice to a glass.", - "Pour Liqueur into the glass.", - "Fill remainder of glass with Sprite or 7-Up." - ], - "image": "white-freezie.jpg", - "keywords": [ - "alcoholic", - "candy", - "freezie", - "liqueur", - "sprite", - "sweet" - ] -} +{ + "name": "White Freezie", + "description": "Delicious, sweet alcoholic beverage that tastes like white-coloured freezies.", + "github": "KComrade53", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Banana Liqueur" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Sour Puss Raspberry Liqueur" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Sprite (to fill rest of glass)" + } + ], + "directions": [ + "Optional: Add ice to a glass.", + "Pour Liqueur into the glass.", + "Fill remainder of glass with Sprite or 7-Up." + ], + "image": "white-freezie.jpg", + "keywords": [ + "alcoholic", + "candy", + "freezie", + "liqueur", + "sprite", + "sweet" + ] +} diff --git a/src/recipes/white-lady.json b/src/recipes/white-lady.json index 5ae4db641..5aa288f0e 100644 --- a/src/recipes/white-lady.json +++ b/src/recipes/white-lady.json @@ -1,40 +1,40 @@ -{ - "name": "White Lady", - "description": "She may look delicate, but this is one strong woman.", - "github": "arthursvpb", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Orange liqueur" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Fresh lemon juice" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Fresh egg white" - } - ], - "directions": [ - "Add all ingredients into a shaker with ice and shake.", - "Strain into a chilled cocktail glass." - ], - "image": "white-lady.jpg", - "keywords": [ - "gin", - "lemon", - "orange", - "strong", - "shaken", - "classic" - ] -} +{ + "name": "White Lady", + "description": "She may look delicate, but this is one strong woman.", + "github": "arthursvpb", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Orange liqueur" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Fresh lemon juice" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Fresh egg white" + } + ], + "directions": [ + "Add all ingredients into a shaker with ice and shake.", + "Strain into a chilled cocktail glass." + ], + "image": "white-lady.jpg", + "keywords": [ + "gin", + "lemon", + "orange", + "strong", + "shaken", + "classic" + ] +} diff --git a/src/recipes/white-russian.json b/src/recipes/white-russian.json index 6ae48cceb..19bc58547 100644 --- a/src/recipes/white-russian.json +++ b/src/recipes/white-russian.json @@ -1,37 +1,37 @@ -{ - "name": "White Russian", - "description": "The White Russian is a three-ingredient cocktail based on the erstwhile Black Russian, which turns white on the addition of cream.", - "github": "the-bose", - "ingredients": [ - { - "quantity": "", - "measure": "", - "ingredient": "ice" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "coffee liqueur" - }, - { - "quantity": "1 1/2", - "measure": "oz", - "ingredient": "vodka" - }, - { - "quantity": "3/4", - "measure": "oz", - "ingredient": "fresh cream" - } - ], - "directions": [ - "Pour coffee liqueur and vodka into an Old Fashioned glass filled with ice.", - "Float fresh cream on top and stir slowly." - ], - "image": "whiterussian.jpg", - "keywords": [ - "alcoholic", - "milk", - "cocktail" - ] +{ + "name": "White Russian", + "description": "The White Russian is a three-ingredient cocktail based on the erstwhile Black Russian, which turns white on the addition of cream.", + "github": "the-bose", + "ingredients": [ + { + "quantity": "", + "measure": "", + "ingredient": "ice" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "coffee liqueur" + }, + { + "quantity": "1 1/2", + "measure": "oz", + "ingredient": "vodka" + }, + { + "quantity": "3/4", + "measure": "oz", + "ingredient": "fresh cream" + } + ], + "directions": [ + "Pour coffee liqueur and vodka into an Old Fashioned glass filled with ice.", + "Float fresh cream on top and stir slowly." + ], + "image": "whiterussian.jpg", + "keywords": [ + "alcoholic", + "milk", + "cocktail" + ] } \ No newline at end of file diff --git a/src/recipes/white-wine-sangria.json b/src/recipes/white-wine-sangria.json index 97e76a383..57fc0cf54 100644 --- a/src/recipes/white-wine-sangria.json +++ b/src/recipes/white-wine-sangria.json @@ -1,69 +1,69 @@ -{ - "name": "White Wine Sangria", - "description": "Sangria is a refreshing summer drink and it's dating back to the Middle Ages.", - "github": "twistershark", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "mango: cubed" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "peach: sliced" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "strawberries: sliced" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "sugar: granulated" - }, - { - "quantity": "1/4", - "measure": "cup", - "ingredient": "Grand Marnier" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "apple: sliced" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "orange: sliced" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "lime: sliced" - }, - { - "quantity": "1", - "measure": "750-ml", - "ingredient": "bottle dry white wine, chilled" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "seltzer" - } - ], - "directions": [ - "In a medium bowl, combine strawberries, mango, peach, sugar, and Grand Marnier. Refrigerate for 1 hour.", - "To a large pitcher, add refrigerated fruit and apple, orange, and lime slices. Pour in white wine and seltzer, and stir to combine. Serve well chilled." - ], - "image": "white-wine-sangria.jpg", - "source": "https://www.delish.com/cooking/recipe-ideas/a27103875/white-wine-sangria-recipe/", - "keywords": [ - "whine", - "wine", - "sangria", - "alcoholic" - ] -} +{ + "name": "White Wine Sangria", + "description": "Sangria is a refreshing summer drink and it's dating back to the Middle Ages.", + "github": "twistershark", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "mango: cubed" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "peach: sliced" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "strawberries: sliced" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "sugar: granulated" + }, + { + "quantity": "1/4", + "measure": "cup", + "ingredient": "Grand Marnier" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "apple: sliced" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "orange: sliced" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "lime: sliced" + }, + { + "quantity": "1", + "measure": "750-ml", + "ingredient": "bottle dry white wine, chilled" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "seltzer" + } + ], + "directions": [ + "In a medium bowl, combine strawberries, mango, peach, sugar, and Grand Marnier. Refrigerate for 1 hour.", + "To a large pitcher, add refrigerated fruit and apple, orange, and lime slices. Pour in white wine and seltzer, and stir to combine. Serve well chilled." + ], + "image": "white-wine-sangria.jpg", + "source": "https://www.delish.com/cooking/recipe-ideas/a27103875/white-wine-sangria-recipe/", + "keywords": [ + "whine", + "wine", + "sangria", + "alcoholic" + ] +} diff --git a/src/recipes/witches-heart.json b/src/recipes/witches-heart.json index 31a947ed1..b71aeeb66 100644 --- a/src/recipes/witches-heart.json +++ b/src/recipes/witches-heart.json @@ -1,46 +1,46 @@ -{ - "name": "Witches Heart", - "description": "A perfect cocktail for October made with Blackberry Shimmery liqueur.", - "github": "DanFCo", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Apple Brandy or Apple Vodka" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Grenadine" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Blackberry Liqueur" - }, - { - "quantity": "1/2 - 1", - "measure": "teaspoon", - "ingredient": "Powdered dry ice (optional)" - }, - { - "quantity": "1", - "measure": "", - "ingredient": "Martini glass to serve" - } - ], - "directions": [ - "Add about 1/2 - 1 tsp of powdered dry ice to the bottom of the glass (optional).", - "Place the apple brandy and purple shimmery liqueur in a shaker.", - "Add 1 ice cube and shake for a few seconds to chill the drink.", - "Strain the drink into a martini glass.", - "Top up with more Blackberry liqueur if necessary. ", - "Pour 1 tsp of grenadine syrup, about an inch from the surface of the drink - the grenadine should sink to the bottom, creating a bleeding effect.", - "Add about 1/2 tsp of powdered dry ice on top and serve with a stirrer, so that your guests can stir the potion to create that shimmery, smoky effect." - ], - "image": "witches-heart.jpg", - "source": "https://www.theflavorbender.com/the-witchs-heart-halloween-cocktail/", - "keywords": [ - "halloween" - ] -} +{ + "name": "Witches Heart", + "description": "A perfect cocktail for October made with Blackberry Shimmery liqueur.", + "github": "DanFCo", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Apple Brandy or Apple Vodka" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Grenadine" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Blackberry Liqueur" + }, + { + "quantity": "1/2 - 1", + "measure": "teaspoon", + "ingredient": "Powdered dry ice (optional)" + }, + { + "quantity": "1", + "measure": "", + "ingredient": "Martini glass to serve" + } + ], + "directions": [ + "Add about 1/2 - 1 tsp of powdered dry ice to the bottom of the glass (optional).", + "Place the apple brandy and purple shimmery liqueur in a shaker.", + "Add 1 ice cube and shake for a few seconds to chill the drink.", + "Strain the drink into a martini glass.", + "Top up with more Blackberry liqueur if necessary. ", + "Pour 1 tsp of grenadine syrup, about an inch from the surface of the drink - the grenadine should sink to the bottom, creating a bleeding effect.", + "Add about 1/2 tsp of powdered dry ice on top and serve with a stirrer, so that your guests can stir the potion to create that shimmery, smoky effect." + ], + "image": "witches-heart.jpg", + "source": "https://www.theflavorbender.com/the-witchs-heart-halloween-cocktail/", + "keywords": [ + "halloween" + ] +} diff --git a/src/recipes/woo-woo.json b/src/recipes/woo-woo.json index b00c8e0ff..675f39fef 100644 --- a/src/recipes/woo-woo.json +++ b/src/recipes/woo-woo.json @@ -1,44 +1,44 @@ -{ - "name": "Woo Woo", - "description": "The Woo Woo is a fun cocktail on many levels. Every time you make or order it, you get to say \"Woo Woo\"!", - "github": "christiannye", - "ingredients": [ - { - "quantity": "1", - "measure": "oz", - "ingredient": "Vodka" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "Peach Schnapps" - }, - { - "quantity": "2", - "measure": "oz", - "ingredient": "Cranberry Juice" - }, - { - "quantity": "", - "measure": "", - "ingredient": "Garnish: Lime Wedge" - } - ], - "directions": [ - "Gather the ingredients.", - "Place the ingredients into a cocktail shaker with ice cubes.", - "Shake well.", - "Strain into a chilled cocktail glass or a highball filled with fresh ice.", - "Garnish with a lime wedge.", - "Serve and enjoy!" - ], - "image": "woo-woo.jpg", - "source": "https://www.thespruceeats.com/woo-woo-cocktail-recipe-759852", - "keywords": [ - "alcoholic", - "cocktail", - "vodka", - "peach", - "fruity" - ] +{ + "name": "Woo Woo", + "description": "The Woo Woo is a fun cocktail on many levels. Every time you make or order it, you get to say \"Woo Woo\"!", + "github": "christiannye", + "ingredients": [ + { + "quantity": "1", + "measure": "oz", + "ingredient": "Vodka" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "Peach Schnapps" + }, + { + "quantity": "2", + "measure": "oz", + "ingredient": "Cranberry Juice" + }, + { + "quantity": "", + "measure": "", + "ingredient": "Garnish: Lime Wedge" + } + ], + "directions": [ + "Gather the ingredients.", + "Place the ingredients into a cocktail shaker with ice cubes.", + "Shake well.", + "Strain into a chilled cocktail glass or a highball filled with fresh ice.", + "Garnish with a lime wedge.", + "Serve and enjoy!" + ], + "image": "woo-woo.jpg", + "source": "https://www.thespruceeats.com/woo-woo-cocktail-recipe-759852", + "keywords": [ + "alcoholic", + "cocktail", + "vodka", + "peach", + "fruity" + ] } \ No newline at end of file diff --git a/src/recipes/yale-cocktail.json b/src/recipes/yale-cocktail.json index 9f18b2075..30754855d 100644 --- a/src/recipes/yale-cocktail.json +++ b/src/recipes/yale-cocktail.json @@ -1,37 +1,37 @@ -{ - "name": "Yale Cocktail", - "description": "The Yale cocktail recipe is a classic drink made from gin, dry vermouth, maraschino liqueur and bitters, and served shaken in a chilled cocktail glass.", - "github": "YashGupta29", - "ingredients": [ - { - "quantity": "2", - "measure": "oz", - "ingredient": "Gin" - }, - { - "quantity": "1/2", - "measure": "oz", - "ingredient": "Dry Vermouth" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "Maraschino Liqueur" - }, - { - "quantity": "3-5", - "measure": "dashes", - "ingredient": "Angostura Bitters" - } - ], - "directions": [ - "Shake all ingredients well with ice in a cocktail shaker.", - "Strain into a chilled cocktail glass and serve" - ], - "image": "yale-cocktail.jpg", - "keywords": [ - "Cocktail", - "Alcoholic", - "Gin" - ] +{ + "name": "Yale Cocktail", + "description": "The Yale cocktail recipe is a classic drink made from gin, dry vermouth, maraschino liqueur and bitters, and served shaken in a chilled cocktail glass.", + "github": "YashGupta29", + "ingredients": [ + { + "quantity": "2", + "measure": "oz", + "ingredient": "Gin" + }, + { + "quantity": "1/2", + "measure": "oz", + "ingredient": "Dry Vermouth" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "Maraschino Liqueur" + }, + { + "quantity": "3-5", + "measure": "dashes", + "ingredient": "Angostura Bitters" + } + ], + "directions": [ + "Shake all ingredients well with ice in a cocktail shaker.", + "Strain into a chilled cocktail glass and serve" + ], + "image": "yale-cocktail.jpg", + "keywords": [ + "Cocktail", + "Alcoholic", + "Gin" + ] } \ No newline at end of file diff --git a/src/recipes/yellow-watermelon-juice.json b/src/recipes/yellow-watermelon-juice.json index 5dbd4182b..ad3a8cce3 100644 --- a/src/recipes/yellow-watermelon-juice.json +++ b/src/recipes/yellow-watermelon-juice.json @@ -1,43 +1,43 @@ -{ - "name": "Yellow watermelon juice", - "description": "Yellow watermelon juice, will help boost your day.", - "github": "2pai", - "ingredients": [ - { - "quantity": "4", - "measure": "", - "ingredient": "slices of yellow watermelon" - }, - { - "quantity": "2", - "measure": "glasses", - "ingredient": "of cold water" - }, - { - "quantity": "3", - "measure": "Tbsp", - "ingredient": "sugar" - }, - { - "quantity": "1", - "measure": "Scope", - "ingredient": "of ice cubes" - } - ], - "directions": [ - "Cut the watermelon.", - "Put the watermelon in the blender & pour with water.", - "Add sugar.", - "Blend until the watermelon is smooth.", - "If it's already smooth, put it in the glass. ", - "Add ice cubes and the juice is ready to serve" - ], - "image": "yellow-watermelon-juice.jpg", - "keywords": [ - "ice", - "fruit", - "juice", - "smoothie", - "non-alcoholic" - ] -} +{ + "name": "Yellow watermelon juice", + "description": "Yellow watermelon juice, will help boost your day.", + "github": "2pai", + "ingredients": [ + { + "quantity": "4", + "measure": "", + "ingredient": "slices of yellow watermelon" + }, + { + "quantity": "2", + "measure": "glasses", + "ingredient": "of cold water" + }, + { + "quantity": "3", + "measure": "Tbsp", + "ingredient": "sugar" + }, + { + "quantity": "1", + "measure": "Scope", + "ingredient": "of ice cubes" + } + ], + "directions": [ + "Cut the watermelon.", + "Put the watermelon in the blender & pour with water.", + "Add sugar.", + "Blend until the watermelon is smooth.", + "If it's already smooth, put it in the glass. ", + "Add ice cubes and the juice is ready to serve" + ], + "image": "yellow-watermelon-juice.jpg", + "keywords": [ + "ice", + "fruit", + "juice", + "smoothie", + "non-alcoholic" + ] +} diff --git a/src/recipes/yogurt-fruit-shake.json b/src/recipes/yogurt-fruit-shake.json index f7073df72..664f16c04 100644 --- a/src/recipes/yogurt-fruit-shake.json +++ b/src/recipes/yogurt-fruit-shake.json @@ -1,61 +1,61 @@ -{ - "name": "Yogurt Fruit Shake", - "description": "Assorted fruits, juice, and milk combined to make a delicious cold drink, perfect for after work or school for recharging.", - "github": "davidshan", - "ingredients": [ - { - "quantity": "1", - "measure": "", - "ingredient": "blender" - }, - { - "quantity": "3", - "measure": "tablespoons", - "ingredient": "frozen blueberries" - }, - { - "quantity": "2", - "measure": "", - "ingredient": "frozen strawberries" - }, - { - "quantity": "1/2", - "measure": "", - "ingredient": "banana, frozen" - }, - { - "quantity": "1", - "measure": "cup", - "ingredient": "orange juice" - }, - { - "quantity": "1", - "measure": "container", - "ingredient": "yogurt (plain/vanilla/blueberry/strawberry work well)" - }, - { - "quantity": "1 1/2", - "measure": "cup", - "ingredient": "milk (can substitute with almond/soy/cashew milk)" - }, - { - "quantity": "", - "measure": "", - "ingredient": "A dash of honey" - } - ], - "directions": [ - "Add yogurt, orange juice, and milk to blender.", - "Add frozen fruits (strawberries, blueberries, bananas).", - "Blend on medium/high power until mushy, stopping occasionally to stir the mixture around (especially if frozen fruits don't look like they're blending).", - "Once the mixture has been turned to a thick mush, add the honey for taste, and pulse on low for a few seconds.", - "And you're done! Serve in a cup with a straw, or spoon." - ], - "image": "yogurt-fruit-shake.jpg", - "source": "", - "keywords": [ - "smoothie", - "fruit", - "non-alcoholic" - ] -} +{ + "name": "Yogurt Fruit Shake", + "description": "Assorted fruits, juice, and milk combined to make a delicious cold drink, perfect for after work or school for recharging.", + "github": "davidshan", + "ingredients": [ + { + "quantity": "1", + "measure": "", + "ingredient": "blender" + }, + { + "quantity": "3", + "measure": "tablespoons", + "ingredient": "frozen blueberries" + }, + { + "quantity": "2", + "measure": "", + "ingredient": "frozen strawberries" + }, + { + "quantity": "1/2", + "measure": "", + "ingredient": "banana, frozen" + }, + { + "quantity": "1", + "measure": "cup", + "ingredient": "orange juice" + }, + { + "quantity": "1", + "measure": "container", + "ingredient": "yogurt (plain/vanilla/blueberry/strawberry work well)" + }, + { + "quantity": "1 1/2", + "measure": "cup", + "ingredient": "milk (can substitute with almond/soy/cashew milk)" + }, + { + "quantity": "", + "measure": "", + "ingredient": "A dash of honey" + } + ], + "directions": [ + "Add yogurt, orange juice, and milk to blender.", + "Add frozen fruits (strawberries, blueberries, bananas).", + "Blend on medium/high power until mushy, stopping occasionally to stir the mixture around (especially if frozen fruits don't look like they're blending).", + "Once the mixture has been turned to a thick mush, add the honey for taste, and pulse on low for a few seconds.", + "And you're done! Serve in a cup with a straw, or spoon." + ], + "image": "yogurt-fruit-shake.jpg", + "source": "", + "keywords": [ + "smoothie", + "fruit", + "non-alcoholic" + ] +} diff --git a/src/recipes/yogurt-lassi.json b/src/recipes/yogurt-lassi.json index fb90b58b7..53ea5aab3 100644 --- a/src/recipes/yogurt-lassi.json +++ b/src/recipes/yogurt-lassi.json @@ -1,53 +1,53 @@ -{ - "name": "Yogurt-Lassi", - "description": "Indian Lassi with atint of mint, cardamom and cumin flavours.", - "github": "vatikagupta", - "ingredients": [ - { - "quantity": "2", - "measure": "cup", - "ingredient": "Curd or Yogurt" - }, - { - "quantity": "As Desired", - "measure": " ", - "ingredient": "Water" - }, - { - "quantity": "1", - "measure": "teaspoon", - "ingredient": "Sugar" - }, - { - "quantity": "1/2 to 3/4", - "measure": "teaspoon", - "ingredient": "Powdered Mint Leaves" - }, - { - "quantity": "1/2", - "measure": "teaspoon", - "ingredient": "Powdered Cumin" - }, - { - "quantity": "1/4", - "measure": "teaspoon", - "ingredient": "Salt" - } - ], - "directions": [ - "Chill the curd or yogurt and water.", - "Add curd to a large bowl. Whisk it well to break lumps and make it smooth.", - "Pour curd, water, salt, sugar, mint powder and cumin powder to a blender.", - "Blend lassi until frothy. Pour to serving glasses.", - "Lassi is best served chilled garnished with mint leaves." - ], - "image": "yogurt-lassi.jpg", - "keywords": [ - "lassi", - "mint Leaf", - "cumin", - "salt", - "sugar", - "yogurt" - ] -} +{ + "name": "Yogurt-Lassi", + "description": "Indian Lassi with atint of mint, cardamom and cumin flavours.", + "github": "vatikagupta", + "ingredients": [ + { + "quantity": "2", + "measure": "cup", + "ingredient": "Curd or Yogurt" + }, + { + "quantity": "As Desired", + "measure": " ", + "ingredient": "Water" + }, + { + "quantity": "1", + "measure": "teaspoon", + "ingredient": "Sugar" + }, + { + "quantity": "1/2 to 3/4", + "measure": "teaspoon", + "ingredient": "Powdered Mint Leaves" + }, + { + "quantity": "1/2", + "measure": "teaspoon", + "ingredient": "Powdered Cumin" + }, + { + "quantity": "1/4", + "measure": "teaspoon", + "ingredient": "Salt" + } + ], + "directions": [ + "Chill the curd or yogurt and water.", + "Add curd to a large bowl. Whisk it well to break lumps and make it smooth.", + "Pour curd, water, salt, sugar, mint powder and cumin powder to a blender.", + "Blend lassi until frothy. Pour to serving glasses.", + "Lassi is best served chilled garnished with mint leaves." + ], + "image": "yogurt-lassi.jpg", + "keywords": [ + "lassi", + "mint Leaf", + "cumin", + "salt", + "sugar", + "yogurt" + ] +} diff --git a/src/recipes/zombie.json b/src/recipes/zombie.json index cc1d5c71a..654b9d5ca 100644 --- a/src/recipes/zombie.json +++ b/src/recipes/zombie.json @@ -1,55 +1,55 @@ -{ - "name": "Zombie", - "description": "The Zombie is a cocktail made of fruit juices, liqueurs, and various rums. It first appeared in late 1934. It was popularized on the East coast soon afterward at the 1939 New York World's Fair.", - "github": "ArelySkywalker", - "ingredients": [ - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Rum" - }, - { - "quantity": "1.5", - "measure": "oz", - "ingredient": "Gold Rum" - }, - { - "quantity": "1", - "measure": "oz", - "ingredient": "151 Proof Rum" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Pernod" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Grenadine" - }, - { - "quantity": "1", - "measure": "tsp", - "ingredient": "Lime Juice" - }, - { - "quantity": "1", - "measure": "drop", - "ingredient": "Angostura Bitters" - } - ], - "directions": [ - "Blend at high speed for no more than 5 seconds.", - "Pour into glass.", - "Add ice cubes to fill.", - "Add garnish to top." - ], - "image": "zombie.jpg", - "source": "https://gummy-bears-and-some-scotch.firebaseapp.com/drink?id=17241", - "keywords": [ - "cocktail", - "rum", - "alcoholic" - ] -} +{ + "name": "Zombie", + "description": "The Zombie is a cocktail made of fruit juices, liqueurs, and various rums. It first appeared in late 1934. It was popularized on the East coast soon afterward at the 1939 New York World's Fair.", + "github": "ArelySkywalker", + "ingredients": [ + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Rum" + }, + { + "quantity": "1.5", + "measure": "oz", + "ingredient": "Gold Rum" + }, + { + "quantity": "1", + "measure": "oz", + "ingredient": "151 Proof Rum" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Pernod" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Grenadine" + }, + { + "quantity": "1", + "measure": "tsp", + "ingredient": "Lime Juice" + }, + { + "quantity": "1", + "measure": "drop", + "ingredient": "Angostura Bitters" + } + ], + "directions": [ + "Blend at high speed for no more than 5 seconds.", + "Pour into glass.", + "Add ice cubes to fill.", + "Add garnish to top." + ], + "image": "zombie.jpg", + "source": "https://gummy-bears-and-some-scotch.firebaseapp.com/drink?id=17241", + "keywords": [ + "cocktail", + "rum", + "alcoholic" + ] +} diff --git a/src/registerServiceWorker.js b/src/registerServiceWorker.js index 8d08b0b61..52daf7e74 100644 --- a/src/registerServiceWorker.js +++ b/src/registerServiceWorker.js @@ -1,32 +1,32 @@ -/* eslint-disable no-console */ - -import { register } from 'register-service-worker'; - -if (process.env.NODE_ENV === 'production') { - register(`${process.env.BASE_URL}service-worker.js`, { - ready() { - console.log( - 'App is being served from cache by a service worker.\n' + - 'For more details, visit https://goo.gl/AFskqB', - ); - }, - registered() { - console.log('Service worker has been registered.'); - }, - cached() { - console.log('Content has been cached for offline use.'); - }, - updatefound() { - console.log('New content is downloading.'); - }, - updated() { - console.log('New content is available; please refresh.'); - }, - offline() { - console.log('No internet connection found. App is running in offline mode.'); - }, - error(error) { - console.error('Error during service worker registration:', error); - }, - }); -} +/* eslint-disable no-console */ + +import { register } from 'register-service-worker'; + +if (process.env.NODE_ENV === 'production') { + register(`${process.env.BASE_URL}service-worker.js`, { + ready() { + console.log( + 'App is being served from cache by a service worker.\n' + + 'For more details, visit https://goo.gl/AFskqB', + ); + }, + registered() { + console.log('Service worker has been registered.'); + }, + cached() { + console.log('Content has been cached for offline use.'); + }, + updatefound() { + console.log('New content is downloading.'); + }, + updated() { + console.log('New content is available; please refresh.'); + }, + offline() { + console.log('No internet connection found. App is running in offline mode.'); + }, + error(error) { + console.error('Error during service worker registration:', error); + }, + }); +} diff --git a/src/router.js b/src/router.js index ee4291919..1ed3fc7c9 100644 --- a/src/router.js +++ b/src/router.js @@ -1,66 +1,66 @@ -import Vue from 'vue'; -import Router from 'vue-router'; - -Vue.use(Router); - -export default new Router({ - mode: 'history', - base: process.env.BASE_URL, - routes: [ - { - path: '/', - name: 'home', - component: () => import('./views/Featured.vue'), - }, - { - path: '/featured', - name: 'featured', - component: () => import('./views/Featured.vue'), - }, - { - path: '/random', - name: 'random', - component: () => import('./views/Random.vue'), - }, - { - path: '/recipe/:id', - name: 'recipe', - component: () => import('./views/Recipe.vue'), - }, - { - path: '/explore', - name: 'explore', - component: () => import('./views/Explore.vue'), - }, - { - path: '/search', - name: 'search', - component: () => import('./views/Search.vue'), - }, - { - path: '/recipe/:id/print', - name: 'printRecipe', - component: () => import('./views/PrintRecipe.vue'), - }, - { - path: '/keyword', - name: 'keywordList', - component: () => import('./views/KeywordList.vue'), - }, - { - path: '/keyword/:keyword', - name: 'keyword', - component: () => import('./views/Keyword.vue'), - }, - { - path: '/favorites', - name: 'favorites', - component: () => import('./views/Favorites.vue'), - }, - { - path: '*', - name: '404', - component: () => import('./views/PageNotFound.vue'), - }, - ], -}); +import Vue from 'vue'; +import Router from 'vue-router'; + +Vue.use(Router); + +export default new Router({ + mode: 'history', + base: process.env.BASE_URL, + routes: [ + { + path: '/', + name: 'home', + component: () => import('./views/Featured.vue'), + }, + { + path: '/featured', + name: 'featured', + component: () => import('./views/Featured.vue'), + }, + { + path: '/random', + name: 'random', + component: () => import('./views/Random.vue'), + }, + { + path: '/recipe/:id', + name: 'recipe', + component: () => import('./views/Recipe.vue'), + }, + { + path: '/explore', + name: 'explore', + component: () => import('./views/Explore.vue'), + }, + { + path: '/search', + name: 'search', + component: () => import('./views/Search.vue'), + }, + { + path: '/recipe/:id/print', + name: 'printRecipe', + component: () => import('./views/PrintRecipe.vue'), + }, + { + path: '/keyword', + name: 'keywordList', + component: () => import('./views/KeywordList.vue'), + }, + { + path: '/keyword/:keyword', + name: 'keyword', + component: () => import('./views/Keyword.vue'), + }, + { + path: '/favorites', + name: 'favorites', + component: () => import('./views/Favorites.vue'), + }, + { + path: '*', + name: '404', + component: () => import('./views/PageNotFound.vue'), + }, + ], +}); diff --git a/src/views/Explore.vue b/src/views/Explore.vue index d33b31420..2da5d2720 100644 --- a/src/views/Explore.vue +++ b/src/views/Explore.vue @@ -1,120 +1,120 @@ - - - - - + + + + + diff --git a/src/views/Favorites.vue b/src/views/Favorites.vue index 18ff2b7d4..da4bc563f 100644 --- a/src/views/Favorites.vue +++ b/src/views/Favorites.vue @@ -1,60 +1,60 @@ - - - + + + diff --git a/src/views/Featured.vue b/src/views/Featured.vue index d4f5e844f..ff2c6b4c8 100644 --- a/src/views/Featured.vue +++ b/src/views/Featured.vue @@ -1,19 +1,19 @@ - - - + + + diff --git a/src/views/Keyword.vue b/src/views/Keyword.vue index 1ddeea460..c9f184c42 100644 --- a/src/views/Keyword.vue +++ b/src/views/Keyword.vue @@ -1,29 +1,29 @@ - - - + + + diff --git a/src/views/KeywordList.vue b/src/views/KeywordList.vue index d2eaf0e56..28272056f 100644 --- a/src/views/KeywordList.vue +++ b/src/views/KeywordList.vue @@ -1,39 +1,39 @@ - - - + + + diff --git a/src/views/PageNotFound.vue b/src/views/PageNotFound.vue index d94d5a418..f7555e295 100644 --- a/src/views/PageNotFound.vue +++ b/src/views/PageNotFound.vue @@ -1,23 +1,23 @@ - - - - - + + + + + diff --git a/src/views/PrintRecipe.vue b/src/views/PrintRecipe.vue index 42b9f0150..654e85f24 100644 --- a/src/views/PrintRecipe.vue +++ b/src/views/PrintRecipe.vue @@ -1,34 +1,34 @@ - - - - - + + + + + diff --git a/src/views/Random.vue b/src/views/Random.vue index 7d7bf3b01..74665c5aa 100644 --- a/src/views/Random.vue +++ b/src/views/Random.vue @@ -1,40 +1,40 @@ - - - + + + diff --git a/src/views/Recipe.vue b/src/views/Recipe.vue index 572bab03e..3a4042edc 100644 --- a/src/views/Recipe.vue +++ b/src/views/Recipe.vue @@ -1,16 +1,16 @@ - - - + + + diff --git a/src/views/Search.vue b/src/views/Search.vue index 1cd39e6ab..319c297dd 100644 --- a/src/views/Search.vue +++ b/src/views/Search.vue @@ -1,17 +1,17 @@ - - - + + + diff --git a/tests/setup.js b/tests/setup.js index f0da5a922..06faf99cf 100644 --- a/tests/setup.js +++ b/tests/setup.js @@ -1,3 +1,3 @@ -import registerRequireContextHook from 'babel-plugin-require-context-hook/register'; - -registerRequireContextHook(); +import registerRequireContextHook from 'babel-plugin-require-context-hook/register'; + +registerRequireContextHook(); diff --git a/tests/unit/.eslintrc.js b/tests/unit/.eslintrc.js index 6052da089..c71cfee9c 100644 --- a/tests/unit/.eslintrc.js +++ b/tests/unit/.eslintrc.js @@ -1,5 +1,5 @@ -module.exports = { - env: { - jest: true, - }, -}; +module.exports = { + env: { + jest: true, + }, +}; diff --git a/tests/unit/App.spec.js b/tests/unit/App.spec.js index 1c19724e6..4900ae4ae 100644 --- a/tests/unit/App.spec.js +++ b/tests/unit/App.spec.js @@ -1,19 +1,19 @@ -import { createLocalVue, mount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; -import VueSocialSharing from 'vue-social-sharing'; - -import router from '@/router'; -import i18n from '@/i18n'; -import App from '@/App.vue'; - -const localVue = createLocalVue(); - -localVue.use(BootstrapVue); -localVue.use(VueSocialSharing); - -describe('App', () => { - test('is a Vue instance', () => { - const wrapper = mount(App, { localVue, router, i18n }); - expect(wrapper.isVueInstance()).toBeTruthy(); - }); -}); +import { createLocalVue, mount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; +import VueSocialSharing from 'vue-social-sharing'; + +import router from '@/router'; +import i18n from '@/i18n'; +import App from '@/App.vue'; + +const localVue = createLocalVue(); + +localVue.use(BootstrapVue); +localVue.use(VueSocialSharing); + +describe('App', () => { + test('is a Vue instance', () => { + const wrapper = mount(App, { localVue, router, i18n }); + expect(wrapper.isVueInstance()).toBeTruthy(); + }); +}); diff --git a/tests/unit/Example.vue b/tests/unit/Example.vue index 6549e37e4..6c8db7970 100644 --- a/tests/unit/Example.vue +++ b/tests/unit/Example.vue @@ -1,9 +1,9 @@ - - - + + + diff --git a/tests/unit/components/FeaturedRecipes.spec.js b/tests/unit/components/FeaturedRecipes.spec.js index f1cb08b2f..7e654b560 100644 --- a/tests/unit/components/FeaturedRecipes.spec.js +++ b/tests/unit/components/FeaturedRecipes.spec.js @@ -1,48 +1,48 @@ -import { createLocalVue, shallowMount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; - -import router from '@/router'; -import i18n from '@/i18n'; -import FeaturedRecipes from '@/components/FeaturedRecipes.vue'; - -const localVue = createLocalVue(); - -localVue.use(BootstrapVue); - -describe('FeaturedRecipes', () => { - const wrapper = shallowMount(FeaturedRecipes, { - localVue, - router, - i18n, - stubs: ['b-button'], - }); - - test('is a Vue instance', () => { - expect(wrapper.isVueInstance()).toBeTruthy(); - }); - - test.skip('render title correctly', () => { - expect( - wrapper - .findAll('h2') - .at(0) - .text(), - ).toBe('Popular Drinks'); - }); - - test.skip('render description', () => { - expect( - wrapper - .findAll('p') - .at(0) - .text(), - ).toBe('Popular drinks never going out of style!'); - }); - - test('expand featured list if Load More clicked', () => { - const EXPECTED_SIZE = wrapper.vm.featuredList[0].size + 6; - wrapper.vm.loadMore(0); - - expect(wrapper.vm.featuredList[0].size).toBe(EXPECTED_SIZE); - }); -}); +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; + +import router from '@/router'; +import i18n from '@/i18n'; +import FeaturedRecipes from '@/components/FeaturedRecipes.vue'; + +const localVue = createLocalVue(); + +localVue.use(BootstrapVue); + +describe('FeaturedRecipes', () => { + const wrapper = shallowMount(FeaturedRecipes, { + localVue, + router, + i18n, + stubs: ['b-button'], + }); + + test('is a Vue instance', () => { + expect(wrapper.isVueInstance()).toBeTruthy(); + }); + + test.skip('render title correctly', () => { + expect( + wrapper + .findAll('h2') + .at(0) + .text(), + ).toBe('Popular Drinks'); + }); + + test.skip('render description', () => { + expect( + wrapper + .findAll('p') + .at(0) + .text(), + ).toBe('Popular drinks never going out of style!'); + }); + + test('expand featured list if Load More clicked', () => { + const EXPECTED_SIZE = wrapper.vm.featuredList[0].size + 6; + wrapper.vm.loadMore(0); + + expect(wrapper.vm.featuredList[0].size).toBe(EXPECTED_SIZE); + }); +}); diff --git a/tests/unit/components/Recipe.spec.js b/tests/unit/components/Recipe.spec.js index 29ad182d5..24d05d8cf 100644 --- a/tests/unit/components/Recipe.spec.js +++ b/tests/unit/components/Recipe.spec.js @@ -1,76 +1,76 @@ -import { createLocalVue, mount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; -import VueSocialSharing from 'vue-social-sharing'; - -import router from '@/router'; -import i18n from '@/i18n'; -import Recipe from '@/components/Recipe.vue'; -import RecipeToolbar from '@/components/RecipeToolbar.vue'; -import FavoriteStar from '@/components/FavoriteStar.vue'; - -const localVue = createLocalVue(); - -localVue.use(BootstrapVue); -localVue.use(VueSocialSharing); - -describe('Recipe', () => { - const wrapper = mount(Recipe, { - propsData: { name: 'mango-juice.json' }, - localVue, - router, - i18n, - stubs: ['router-link'], - }); - - test('is a Vue instance', () => { - expect(wrapper.isVueInstance()).toBeTruthy(); - }); - - test('renders the correct props', () => { - const props = wrapper.props(); - expect(props.name).toBe('mango-juice.json'); - }); - - test('renders the correct title', () => { - const title = wrapper.find('h1').text(); - expect(title).toMatch(/Mango Juice/); - }); - - test('first keyword badge of recipe should correspond to first keyword array element in data', () => { - const btn = wrapper.find('.badge'); - expect(btn.text()).toBe(wrapper.vm.$data.drink.keywords[0]); - }); - - it('shows that the drink has been favorited', () => { - const toolbar = wrapper.find(RecipeToolbar); - toolbar.setData({ favorites: ['Mango Juice'] }); - const star = toolbar.find(FavoriteStar); - const starProps = star.props(); - expect(starProps.isFavorited).toBe(true); - }); - - it('renders the correct amount of ingredients', () => { - const listArray = wrapper.findAll('.recipe-ingredients li'); - expect(listArray.length).toBe(wrapper.vm.$data.drink.ingredients.length); - }); - - it('renders the correct amount of directions', () => { - const listArray = wrapper.findAll('.recipe-directions-list li'); - expect(listArray.length).toBe(wrapper.vm.$data.drink.directions.length); - }); - - it('renders the first ingredient correctly', () => { - const listArray = wrapper.findAll('.recipe-ingredients li'); - const firstIngredientListItem = listArray.at(0); - const firstIngredient = wrapper.vm.$data.drink.ingredients[0]; - const matchingString = `${firstIngredient.quantity} ${firstIngredient.measure} ${firstIngredient.ingredient}`; - expect(firstIngredientListItem.text()).toBe(matchingString); - }); - - it('renders the first direction correctly', () => { - const listArray = wrapper.findAll('.recipe-directions-list li'); - const firstDirection = listArray.at(0); - const matchingString = wrapper.vm.$data.drink.directions[0]; - expect(firstDirection.text()).toBe(matchingString); - }); -}); +import { createLocalVue, mount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; +import VueSocialSharing from 'vue-social-sharing'; + +import router from '@/router'; +import i18n from '@/i18n'; +import Recipe from '@/components/Recipe.vue'; +import RecipeToolbar from '@/components/RecipeToolbar.vue'; +import FavoriteStar from '@/components/FavoriteStar.vue'; + +const localVue = createLocalVue(); + +localVue.use(BootstrapVue); +localVue.use(VueSocialSharing); + +describe('Recipe', () => { + const wrapper = mount(Recipe, { + propsData: { name: 'mango-juice.json' }, + localVue, + router, + i18n, + stubs: ['router-link'], + }); + + test('is a Vue instance', () => { + expect(wrapper.isVueInstance()).toBeTruthy(); + }); + + test('renders the correct props', () => { + const props = wrapper.props(); + expect(props.name).toBe('mango-juice.json'); + }); + + test('renders the correct title', () => { + const title = wrapper.find('h1').text(); + expect(title).toMatch(/Mango Juice/); + }); + + test('first keyword badge of recipe should correspond to first keyword array element in data', () => { + const btn = wrapper.find('.badge'); + expect(btn.text()).toBe(wrapper.vm.$data.drink.keywords[0]); + }); + + it('shows that the drink has been favorited', () => { + const toolbar = wrapper.find(RecipeToolbar); + toolbar.setData({ favorites: ['Mango Juice'] }); + const star = toolbar.find(FavoriteStar); + const starProps = star.props(); + expect(starProps.isFavorited).toBe(true); + }); + + it('renders the correct amount of ingredients', () => { + const listArray = wrapper.findAll('.recipe-ingredients li'); + expect(listArray.length).toBe(wrapper.vm.$data.drink.ingredients.length); + }); + + it('renders the correct amount of directions', () => { + const listArray = wrapper.findAll('.recipe-directions-list li'); + expect(listArray.length).toBe(wrapper.vm.$data.drink.directions.length); + }); + + it('renders the first ingredient correctly', () => { + const listArray = wrapper.findAll('.recipe-ingredients li'); + const firstIngredientListItem = listArray.at(0); + const firstIngredient = wrapper.vm.$data.drink.ingredients[0]; + const matchingString = `${firstIngredient.quantity} ${firstIngredient.measure} ${firstIngredient.ingredient}`; + expect(firstIngredientListItem.text()).toBe(matchingString); + }); + + it('renders the first direction correctly', () => { + const listArray = wrapper.findAll('.recipe-directions-list li'); + const firstDirection = listArray.at(0); + const matchingString = wrapper.vm.$data.drink.directions[0]; + expect(firstDirection.text()).toBe(matchingString); + }); +}); diff --git a/tests/unit/components/RecipeList.spec.js b/tests/unit/components/RecipeList.spec.js index ad676712c..48da7ba55 100644 --- a/tests/unit/components/RecipeList.spec.js +++ b/tests/unit/components/RecipeList.spec.js @@ -1,40 +1,40 @@ -import { createLocalVue, shallowMount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; - -import router from '@/router'; -import i18n from '@/i18n'; -import recipes from '@/recipes'; -import RecipeList from '@/components/RecipeList.vue'; - -const drinks = recipes.getRecipes(); -const localVue = createLocalVue(); - -localVue.use(BootstrapVue); - -describe('RecipeList', () => { - const wrapper = shallowMount(RecipeList, { - propsData: { title: 'Open Drinks - Test', items: drinks }, - localVue, - router, - i18n, - }); - - test('is a Vue instance', () => { - expect(wrapper.isVueInstance()).toBeTruthy(); - }); - - test('sets the correct title', () => { - expect(window.document.title).toMatch(/Open Drinks - Test/); - }); - - test('should render the correct number of items per page', () => { - wrapper.setData({ perPage: 5 }); - expect(wrapper.findAll('.card-wrapper').length).toBe(5); - }); - - test('should display the correct items when the page number changes', () => { - wrapper.setData({ perPage: 3 }); - wrapper.vm.$router.push({ query: { page: 2 } }); - expect(wrapper.vm.paginatedItems[0]).toBe(drinks[3]); - }); -}); +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; + +import router from '@/router'; +import i18n from '@/i18n'; +import recipes from '@/recipes'; +import RecipeList from '@/components/RecipeList.vue'; + +const drinks = recipes.getRecipes(); +const localVue = createLocalVue(); + +localVue.use(BootstrapVue); + +describe('RecipeList', () => { + const wrapper = shallowMount(RecipeList, { + propsData: { title: 'Open Drinks - Test', items: drinks }, + localVue, + router, + i18n, + }); + + test('is a Vue instance', () => { + expect(wrapper.isVueInstance()).toBeTruthy(); + }); + + test('sets the correct title', () => { + expect(window.document.title).toMatch(/Open Drinks - Test/); + }); + + test('should render the correct number of items per page', () => { + wrapper.setData({ perPage: 5 }); + expect(wrapper.findAll('.card-wrapper').length).toBe(5); + }); + + test('should display the correct items when the page number changes', () => { + wrapper.setData({ perPage: 3 }); + wrapper.vm.$router.push({ query: { page: 2 } }); + expect(wrapper.vm.paginatedItems[0]).toBe(drinks[3]); + }); +}); diff --git a/tests/unit/components/RecipeTile.spec.js b/tests/unit/components/RecipeTile.spec.js index ce3692c5b..cd0296d2c 100644 --- a/tests/unit/components/RecipeTile.spec.js +++ b/tests/unit/components/RecipeTile.spec.js @@ -1,87 +1,87 @@ -import { createLocalVue, shallowMount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; -import recipes from '@/recipes'; - -import router from '@/router'; -import i18n from '@/i18n'; -import RecipeTile from '@/components/RecipeTile.vue'; - -const localVue = createLocalVue(); - -localVue.use(BootstrapVue); - -describe('RecipeTile', () => { - const baseRecipe = { - name: 'Appletini', - description: 'A sweet and sour, electric green drink with a sweet, delicious apple flavor', - ingredients: [ - { - quantity: '1', - measure: 'fl oz', - ingredient: 'green apple schnapps', - }, - { - quantity: '1/4', - measure: 'fl oz', - ingredient: 'lemon juice', - }, - ], - directions: ['Garnish with the apple slice'], - image: 'appletini.jpg', - keywords: ['vodka'], - }; - - const wrapper = shallowMount(RecipeTile, { - propsData: { id: 'americano' }, - localVue, - router, - i18n, - }); - - test('is a Vue instance', () => { - expect(wrapper.isVueInstance()).toBeTruthy(); - }); - - test('should pass the correct props', () => { - const props = wrapper.props(); - expect(props.id).toBe('americano'); - }); - - test('should render the correct title', () => { - const title = wrapper.find('h5').text(); - expect(title).toEqual('Americano'); - }); - - test('should not crop short description', () => { - wrapper.setData({ - drink: { - ...baseRecipe, - description: 'short description', - }, - }); - expect(wrapper.vm.croppedDescription).toEqual('short description'); - expect(wrapper.vm.croppedDescription).not.toContain('...'); - }); - - test('should crop long description', () => { - const longDescription = 'long description'.repeat(10); - wrapper.setData({ - drink: { - ...baseRecipe, - description: longDescription, - }, - }); - expect(wrapper.vm.croppedDescription).not.toEqual(longDescription); - expect(wrapper.vm.croppedDescription).toContain('...'); - }); - - test('should load correct recipe on create', () => { - recipes.getRecipe = jest.fn().mockReturnValueOnce(baseRecipe); - shallowMount(RecipeTile, { - propsData: { id: 'Appletini' }, - localVue, - router, - }); - expect(recipes.getRecipe).toHaveBeenCalledWith('Appletini'); - }); -}); +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; +import recipes from '@/recipes'; + +import router from '@/router'; +import i18n from '@/i18n'; +import RecipeTile from '@/components/RecipeTile.vue'; + +const localVue = createLocalVue(); + +localVue.use(BootstrapVue); + +describe('RecipeTile', () => { + const baseRecipe = { + name: 'Appletini', + description: 'A sweet and sour, electric green drink with a sweet, delicious apple flavor', + ingredients: [ + { + quantity: '1', + measure: 'fl oz', + ingredient: 'green apple schnapps', + }, + { + quantity: '1/4', + measure: 'fl oz', + ingredient: 'lemon juice', + }, + ], + directions: ['Garnish with the apple slice'], + image: 'appletini.jpg', + keywords: ['vodka'], + }; + + const wrapper = shallowMount(RecipeTile, { + propsData: { id: 'americano' }, + localVue, + router, + i18n, + }); + + test('is a Vue instance', () => { + expect(wrapper.isVueInstance()).toBeTruthy(); + }); + + test('should pass the correct props', () => { + const props = wrapper.props(); + expect(props.id).toBe('americano'); + }); + + test('should render the correct title', () => { + const title = wrapper.find('h5').text(); + expect(title).toEqual('Americano'); + }); + + test('should not crop short description', () => { + wrapper.setData({ + drink: { + ...baseRecipe, + description: 'short description', + }, + }); + expect(wrapper.vm.croppedDescription).toEqual('short description'); + expect(wrapper.vm.croppedDescription).not.toContain('...'); + }); + + test('should crop long description', () => { + const longDescription = 'long description'.repeat(10); + wrapper.setData({ + drink: { + ...baseRecipe, + description: longDescription, + }, + }); + expect(wrapper.vm.croppedDescription).not.toEqual(longDescription); + expect(wrapper.vm.croppedDescription).toContain('...'); + }); + + test('should load correct recipe on create', () => { + recipes.getRecipe = jest.fn().mockReturnValueOnce(baseRecipe); + shallowMount(RecipeTile, { + propsData: { id: 'Appletini' }, + localVue, + router, + }); + expect(recipes.getRecipe).toHaveBeenCalledWith('Appletini'); + }); +}); diff --git a/tests/unit/example.spec.js b/tests/unit/example.spec.js index a878eb1fa..7db53111e 100644 --- a/tests/unit/example.spec.js +++ b/tests/unit/example.spec.js @@ -1,29 +1,29 @@ -import Vue from 'vue'; -import Example from './Example.vue'; - -// helper function that mounts and returns the rendered text -function getRenderedText(Component, propsData) { - const Constructor = Vue.extend(Component); - const vm = new Constructor({ propsData }).$mount(); - return vm.$el.textContent; -} - -// What is being tested -describe('Example.vue', () => { - // What are you testing - it('renders correctly with different props', () => { - expect( - getRenderedText(Example, { - // tested data - msg: 'Hello', - // Expected result - }), - ).toBe('Hello'); - - expect( - getRenderedText(Example, { - msg: 'Bye', - }), - ).toBe('Bye'); - }); -}); +import Vue from 'vue'; +import Example from './Example.vue'; + +// helper function that mounts and returns the rendered text +function getRenderedText(Component, propsData) { + const Constructor = Vue.extend(Component); + const vm = new Constructor({ propsData }).$mount(); + return vm.$el.textContent; +} + +// What is being tested +describe('Example.vue', () => { + // What are you testing + it('renders correctly with different props', () => { + expect( + getRenderedText(Example, { + // tested data + msg: 'Hello', + // Expected result + }), + ).toBe('Hello'); + + expect( + getRenderedText(Example, { + msg: 'Bye', + }), + ).toBe('Bye'); + }); +}); diff --git a/tests/unit/views/Explore.spec.js b/tests/unit/views/Explore.spec.js index 208c5f129..1089a9009 100644 --- a/tests/unit/views/Explore.spec.js +++ b/tests/unit/views/Explore.spec.js @@ -1,50 +1,50 @@ -import { createLocalVue, mount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; - -import router from '@/router'; -import i18n from '@/i18n'; -import Explore from '@/views/Explore.vue'; - -const localVue = createLocalVue(); -localVue.use(BootstrapVue); - -describe('Explore', () => { - let wrapper; - - beforeEach(() => { - wrapper = mount(Explore, { - localVue, - router, - i18n, - }); - }); - - test('toggle filters when button is clicked', () => { - expect(wrapper.findAll('.col-12 h4').exists()).toBe(false); - wrapper.find('.btn-outline-secondary').trigger('click'); - expect(wrapper.find('.col-12 h4').text()).toBe('Filters'); - }); - - test('displays filter keywords', () => { - wrapper.find('.btn-outline-secondary').trigger('click'); - wrapper.vm.addNewKeywordToFilter('alcoholic'); - wrapper.vm.addNewKeywordToFilter('gin'); - expect( - wrapper - .findAll('.filter-item') - .at(1) - .text(), - ).toBe('gin'); - }); - - test('removes a filter when clicked', () => { - wrapper.find('.btn-outline-secondary').trigger('click'); - wrapper.vm.addNewKeywordToFilter('alcoholic'); - wrapper.vm.addNewKeywordToFilter('gin'); - wrapper - .findAll('.filter-item') - .at(1) - .trigger('click'); - expect(wrapper.findAll('.filter-item').length).toBe(1); - }); -}); +import { createLocalVue, mount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; + +import router from '@/router'; +import i18n from '@/i18n'; +import Explore from '@/views/Explore.vue'; + +const localVue = createLocalVue(); +localVue.use(BootstrapVue); + +describe('Explore', () => { + let wrapper; + + beforeEach(() => { + wrapper = mount(Explore, { + localVue, + router, + i18n, + }); + }); + + test('toggle filters when button is clicked', () => { + expect(wrapper.findAll('.col-12 h4').exists()).toBe(false); + wrapper.find('.btn-outline-secondary').trigger('click'); + expect(wrapper.find('.col-12 h4').text()).toBe('Filters'); + }); + + test('displays filter keywords', () => { + wrapper.find('.btn-outline-secondary').trigger('click'); + wrapper.vm.addNewKeywordToFilter('alcoholic'); + wrapper.vm.addNewKeywordToFilter('gin'); + expect( + wrapper + .findAll('.filter-item') + .at(1) + .text(), + ).toBe('gin'); + }); + + test('removes a filter when clicked', () => { + wrapper.find('.btn-outline-secondary').trigger('click'); + wrapper.vm.addNewKeywordToFilter('alcoholic'); + wrapper.vm.addNewKeywordToFilter('gin'); + wrapper + .findAll('.filter-item') + .at(1) + .trigger('click'); + expect(wrapper.findAll('.filter-item').length).toBe(1); + }); +}); diff --git a/tests/unit/views/Favorites.spec.js b/tests/unit/views/Favorites.spec.js index b4d688895..ba2197650 100644 --- a/tests/unit/views/Favorites.spec.js +++ b/tests/unit/views/Favorites.spec.js @@ -1,60 +1,60 @@ -import { createLocalVue, mount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; - -import router from '@/router'; -import i18n from '@/i18n'; -import Favorites from '@/views/Favorites.vue'; - -const localVue = createLocalVue(); -localVue.use(BootstrapVue); - -describe('Favorites (Populated)', () => { - let wrapper; - - beforeEach(() => { - localStorage.setItem('favorites', JSON.stringify(['Aam Panna', 'Aperol Spritz'])); - - wrapper = mount(Favorites, { - localVue, - router, - i18n, - }); - }); - - test('shows the amount of favorites', () => { - expect(wrapper.find('#recipe-list').html()).toContain('Aam Panna'); - expect(wrapper.find('#recipe-list').html()).toContain('Aperol Spritz'); - }); - - test('shows favorite star', () => { - expect(wrapper.find('#star').exists()).toBe(true); - }); - - test('remove favorite recipe', () => { - expect(wrapper.find('#star').trigger('click')); - const favs = JSON.parse(localStorage.getItem('favorites')); - expect(favs.length === 1).toBe(true); - }); -}); - -describe('Favorites (Empty)', () => { - let wrapper; - - beforeEach(() => { - wrapper = mount(Favorites, { - localVue, - router, - i18n, - }); - }); - - test('show correct empty state', () => { - localStorage.setItem('favorites', JSON.stringify([])); - wrapper = mount(Favorites, { - localVue, - router, - i18n, - }); - expect(wrapper.find('.alert-info').html()).toContain("You don't have any favorite drinks"); - }); -}); +import { createLocalVue, mount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; + +import router from '@/router'; +import i18n from '@/i18n'; +import Favorites from '@/views/Favorites.vue'; + +const localVue = createLocalVue(); +localVue.use(BootstrapVue); + +describe('Favorites (Populated)', () => { + let wrapper; + + beforeEach(() => { + localStorage.setItem('favorites', JSON.stringify(['Aam Panna', 'Aperol Spritz'])); + + wrapper = mount(Favorites, { + localVue, + router, + i18n, + }); + }); + + test('shows the amount of favorites', () => { + expect(wrapper.find('#recipe-list').html()).toContain('Aam Panna'); + expect(wrapper.find('#recipe-list').html()).toContain('Aperol Spritz'); + }); + + test('shows favorite star', () => { + expect(wrapper.find('#star').exists()).toBe(true); + }); + + test('remove favorite recipe', () => { + expect(wrapper.find('#star').trigger('click')); + const favs = JSON.parse(localStorage.getItem('favorites')); + expect(favs.length === 1).toBe(true); + }); +}); + +describe('Favorites (Empty)', () => { + let wrapper; + + beforeEach(() => { + wrapper = mount(Favorites, { + localVue, + router, + i18n, + }); + }); + + test('show correct empty state', () => { + localStorage.setItem('favorites', JSON.stringify([])); + wrapper = mount(Favorites, { + localVue, + router, + i18n, + }); + expect(wrapper.find('.alert-info').html()).toContain("You don't have any favorite drinks"); + }); +}); diff --git a/tests/unit/views/Random.spec.js b/tests/unit/views/Random.spec.js index 8c21736a0..1dab20480 100644 --- a/tests/unit/views/Random.spec.js +++ b/tests/unit/views/Random.spec.js @@ -1,42 +1,42 @@ -import { createLocalVue, mount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; -import VueSocialSharing from 'vue-social-sharing'; -import Random from '@/views/Random.vue'; -import i18n from '@/i18n'; - -describe('Random view', () => { - let fn; - let wrapper; - - beforeEach(() => { - const localVue = createLocalVue(); - localVue.use(BootstrapVue); - localVue.use(VueSocialSharing); - fn = jest.fn(); - - wrapper = mount(Random, { - localVue, - i18n, - mocks: { - $router: { - replace: fn, - }, - }, - sync: false, - stubs: ['router-link'], - }); - }); - - test('should route to random recipe', () => { - expect(wrapper.vm.$router.replace).toHaveBeenCalled(); - }); - - test('should route to another recipe after clicking on "next" button', () => { - wrapper.find('.float-right > *').trigger('click'); - expect(wrapper.vm.$router.replace).toHaveBeenCalledTimes(2); - const call1Parameter = fn.mock.calls[0]; - const call2Parameter = fn.mock.calls[1]; - // both calls must lead to different recipes - expect(call1Parameter).not.toBe(call2Parameter); - }); -}); +import { createLocalVue, mount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; +import VueSocialSharing from 'vue-social-sharing'; +import Random from '@/views/Random.vue'; +import i18n from '@/i18n'; + +describe('Random view', () => { + let fn; + let wrapper; + + beforeEach(() => { + const localVue = createLocalVue(); + localVue.use(BootstrapVue); + localVue.use(VueSocialSharing); + fn = jest.fn(); + + wrapper = mount(Random, { + localVue, + i18n, + mocks: { + $router: { + replace: fn, + }, + }, + sync: false, + stubs: ['router-link'], + }); + }); + + test('should route to random recipe', () => { + expect(wrapper.vm.$router.replace).toHaveBeenCalled(); + }); + + test('should route to another recipe after clicking on "next" button', () => { + wrapper.find('.float-right > *').trigger('click'); + expect(wrapper.vm.$router.replace).toHaveBeenCalledTimes(2); + const call1Parameter = fn.mock.calls[0]; + const call2Parameter = fn.mock.calls[1]; + // both calls must lead to different recipes + expect(call1Parameter).not.toBe(call2Parameter); + }); +}); diff --git a/tests/unit/views/Search.spec.js b/tests/unit/views/Search.spec.js index 4eb2de69b..fe3d47c8e 100644 --- a/tests/unit/views/Search.spec.js +++ b/tests/unit/views/Search.spec.js @@ -1,33 +1,33 @@ -import { createLocalVue, mount } from '@vue/test-utils'; -import BootstrapVue from 'bootstrap-vue'; -import Search from '@/views/Search.vue'; -import i18n from '@/i18n'; - -describe('Search view', () => { - let fn; - let wrapper; - - beforeEach(() => { - const localVue = createLocalVue(); - localVue.use(BootstrapVue); - fn = jest.fn(); - - wrapper = mount(Search, { - localVue, - i18n, - mocks: { - $router: { - replace: fn, - }, - }, - }); - }); - - test('show cocktail list when text is entered and name is selected', () => { - expect(wrapper.findAll('.list-group').exists()).toBe(false); - - wrapper.find('.form-control').setValue('Gin'); - wrapper.find('.form-control').trigger('keydown'); - expect(wrapper.find('.list-group').exists()).toBe(true); - }); -}); +import { createLocalVue, mount } from '@vue/test-utils'; +import BootstrapVue from 'bootstrap-vue'; +import Search from '@/views/Search.vue'; +import i18n from '@/i18n'; + +describe('Search view', () => { + let fn; + let wrapper; + + beforeEach(() => { + const localVue = createLocalVue(); + localVue.use(BootstrapVue); + fn = jest.fn(); + + wrapper = mount(Search, { + localVue, + i18n, + mocks: { + $router: { + replace: fn, + }, + }, + }); + }); + + test('show cocktail list when text is entered and name is selected', () => { + expect(wrapper.findAll('.list-group').exists()).toBe(false); + + wrapper.find('.form-control').setValue('Gin'); + wrapper.find('.form-control').trigger('keydown'); + expect(wrapper.find('.list-group').exists()).toBe(true); + }); +}); diff --git a/vue.config.js b/vue.config.js index 5ec37605c..417cf1160 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,11 +1,11 @@ -module.exports = { - pluginOptions: { - i18n: { - locale: 'en', - fallbackLocale: 'en', - localeDir: 'locales', - enableInSFC: true, - enableBridge: false, - }, - }, -}; +module.exports = { + pluginOptions: { + i18n: { + locale: 'en', + fallbackLocale: 'en', + localeDir: 'locales', + enableInSFC: true, + enableBridge: false, + }, + }, +};