From 0bad820f916f155a5052cb569620d0d031092170 Mon Sep 17 00:00:00 2001 From: Jeff Sagal Date: Sun, 15 Mar 2020 12:02:01 -0700 Subject: [PATCH] docs: add sponsors and contributors pages (#1108) --- .gitignore | 1 + README.md | 51 ++-- docs/.env.example | 3 + docs/.vuepress/components/Contributors.vue | 63 +++++ docs/.vuepress/components/SponsorBanner.vue | 25 ++ docs/.vuepress/components/SponsorMe.vue | 146 ++++++++++++ docs/.vuepress/components/Sponsors.vue | 56 +++++ docs/.vuepress/config.js | 153 +----------- docs/.vuepress/config/head.js | 57 +++++ docs/.vuepress/config/isDeployPreview.js | 1 + docs/.vuepress/config/meta.js | 6 + docs/.vuepress/config/plugins.js | 22 ++ docs/.vuepress/config/themeConfig.js | 78 +++++++ docs/.vuepress/github/clientDynamicModules.js | 57 +++++ docs/.vuepress/github/index.js | 5 + docs/README.md | 41 ++-- docs/contributors.md | 10 + docs/package.json | 5 + docs/sponsors.md | 9 + docs/yarn.lock | 217 +++++++++++++++++- 20 files changed, 818 insertions(+), 188 deletions(-) create mode 100644 docs/.env.example create mode 100644 docs/.vuepress/components/Contributors.vue create mode 100644 docs/.vuepress/components/SponsorBanner.vue create mode 100644 docs/.vuepress/components/SponsorMe.vue create mode 100644 docs/.vuepress/components/Sponsors.vue create mode 100644 docs/.vuepress/config/head.js create mode 100644 docs/.vuepress/config/isDeployPreview.js create mode 100644 docs/.vuepress/config/meta.js create mode 100644 docs/.vuepress/config/plugins.js create mode 100644 docs/.vuepress/config/themeConfig.js create mode 100644 docs/.vuepress/github/clientDynamicModules.js create mode 100644 docs/.vuepress/github/index.js create mode 100644 docs/contributors.md create mode 100644 docs/sponsors.md diff --git a/.gitignore b/.gitignore index 80d4902..0c24238 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ node_modules # local env files +.env .env.local .env.*.local diff --git a/README.md b/README.md index 2a21a84..c2c02ac 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,22 @@ -# vue-select ![Current Release](https://img.shields.io/github/release/sagalbot/vue-select.svg?style=flat-square) ![Bundle Size](https://flat.badgen.net/bundlephobia/min/vue-select) ![Monthly Downloads](https://img.shields.io/npm/dm/vue-select.svg?style=flat-square) ![Code Coverage](https://img.shields.io/coveralls/github/sagalbot/vue-select.svg?style=flat-square) ![Maintainability Score](https://img.shields.io/codeclimate/maintainability/sagalbot/vue-select.svg?style=flat-square) ![MIT License](https://img.shields.io/github/license/sagalbot/vue-select.svg?style=flat-square) +# vue-select ![Current Release](https://img.shields.io/github/release/sagalbot/vue-select.svg?style=flat-square) ![Bundle Size](https://flat.badgen.net/bundlephobia/min/vue-select) ![Monthly Downloads](https://img.shields.io/npm/dm/vue-select.svg?style=flat-square) [![Coverage Status](https://coveralls.io/repos/github/sagalbot/vue-select/badge.svg?branch=master)](https://coveralls.io/github/sagalbot/vue-select?branch=master) ![MIT License](https://img.shields.io/github/license/sagalbot/vue-select.svg?style=flat-square) -> **Everything you wish the HTML `` element could do, wrapped up into a lightweight, zero +> dependency, extensible Vue component.** + +Vue Select is a feature rich select/dropdown/typeahead component. It provides a default +template that fits most use cases for a filterable select dropdown. The component is designed to be as +lightweight as possible, while maintaining high standards for accessibility, +developer experience, and customization. - Tagging - Filtering / Searching - Vuex Support - AJAX Support - SSR Support +- Accessible - ~20kb Total / ~5kb CSS / ~15kb JS - Select Single/Multiple Options - Customizable with slots and SCSS variables -- Tested with Bootstrap 3/4, Bulma, Foundation -- +95% Test Coverage - Zero dependencies ## Documentation @@ -20,32 +24,47 @@ dependency, extensible Vue component.** Complete documentation and examples available at https://vue-select.org. - **[API Documentation](https://vue-select.org)** -- **[Sandbox Demo](https://vue-select.org/sandbox.html)** - **[CodePen Template](http://codepen.io/sagalbot/pen/NpwrQO)** -- **[GitHub Projects](https://github.com/sagalbot/vue-select/projects)** + +## Sponsors :tada: + +It takes a lot of effort to maintain this project. If it has saved you development time, please consider [sponsoring the project](https://github.com/sponsors/sagalbot) +with GitHub sponsors! + +Huge thanks to the [sponsors](https://github.com/sponsors/sagalbot) and [contributors](https://github.com/sagalbot/vue-select/graphs/contributors) that make Vue Select possible. ## Install ```bash -$ npm install vue-select +yarn add vue-select + +# or use npm + +npm install vue-select ``` -Register the component +Then, import and register the component: ```js -import Vue from 'vue' -import vSelect from 'vue-select' +import Vue from "vue"; +import vSelect from "vue-select"; -Vue.component('v-select', vSelect) +Vue.component("v-select", vSelect); ``` -You may now use the component in your markup +The component itself does not include any CSS. You'll need to include it separately: -```html - +```js +import "vue-select/dist/vue-select.css"; ``` -You can also include vue-select directly in the browser. Check out the +Alternatively, you can import the scss for complete control of the component styles: + +```scss +@import "vue-select/src/scss/vue-select.scss"; +``` + +You can also include vue-select directly in the browser. Check out the [documentation for loading from CDN.](https://vue-select.org/guide/install.html#in-the-browser). ## License diff --git a/docs/.env.example b/docs/.env.example new file mode 100644 index 0000000..c543f33 --- /dev/null +++ b/docs/.env.example @@ -0,0 +1,3 @@ +# personal access token used to fetch +# sponsor listings when working locally +GITHUB_TOKEN= diff --git a/docs/.vuepress/components/Contributors.vue b/docs/.vuepress/components/Contributors.vue new file mode 100644 index 0000000..ee2b6d9 --- /dev/null +++ b/docs/.vuepress/components/Contributors.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/docs/.vuepress/components/SponsorBanner.vue b/docs/.vuepress/components/SponsorBanner.vue new file mode 100644 index 0000000..57d7fa8 --- /dev/null +++ b/docs/.vuepress/components/SponsorBanner.vue @@ -0,0 +1,25 @@ + + + diff --git a/docs/.vuepress/components/SponsorMe.vue b/docs/.vuepress/components/SponsorMe.vue new file mode 100644 index 0000000..fc265bc --- /dev/null +++ b/docs/.vuepress/components/SponsorMe.vue @@ -0,0 +1,146 @@ + + + diff --git a/docs/.vuepress/components/Sponsors.vue b/docs/.vuepress/components/Sponsors.vue new file mode 100644 index 0000000..310eb6c --- /dev/null +++ b/docs/.vuepress/components/Sponsors.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index a7cd0d0..ecfdb3e 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -1,150 +1,13 @@ -const isDeployPreview = process.env.hasOwnProperty('DEPLOY_PREVIEW'); - -const meta = { - title: 'Vue Select | VueJS Select2/Chosen Component', - description: 'Everything you wish the HTML select element could do, wrapped up into a lightweight, extensible Vue component.', - url: 'https://vue-select.org', -}; - -let head = [ - [ - 'link', - { - href: '//fonts.googleapis.com/css?family=Source+Sans+Pro:400,600|Roboto Mono', - rel: 'stylesheet', - type: 'text/css', - }], - [ - 'link', - { - href: '//fonts.googleapis.com/css?family=Dosis:300&text=Vue Select', - rel: 'stylesheet', - type: 'text/css', - }], - ['link', {rel: 'icon', href: `/vue-logo.png`}], - ['meta', {name: 'theme-color', content: '#3eaf7c'}], - ['meta', {name: 'apple-mobile-web-app-capable', content: 'yes'}], - ['meta', {name: 'apple-mobile-web-app-status-bar-style', content: 'black'}], - [ - 'link', - {rel: 'apple-touch-icon', href: `/icons/apple-touch-icon-152x152.png`}], - [ - 'link', - {rel: 'mask-icon', href: '/icons/safari-pinned-tab.svg', color: '#3eaf7c'}], - [ - 'meta', - { - name: 'msapplication-TileImage', - content: '/icons/msapplication-icon-144x144.png', - }], - ['meta', {name: 'msapplication-TileColor', content: '#000000'}], - ['meta', {name: 'title', content: meta.title}], - ['meta', {name: 'description', content: meta.description}], - ['link', {rel: 'icon', href: meta.icon, type: 'image/png'}], - ['meta', {property: 'og:image', content: meta.icon}], - ['meta', {property: 'twitter:image', content: meta.icon}], - ['meta', {name: 'description', content: meta.description}], - ['meta', {property: 'og:description', content: ''}], - ['meta', {property: 'twitter:description', content: meta.description}], - ['meta', {property: 'twitter:title', content: meta.title}], - ['meta', {property: 'og:title', content: meta.title}], - ['meta', {property: 'og:site_name', content: meta.title}], - ['meta', {property: 'og:url', content: meta.url}], -]; - -if (isDeployPreview) { - head.push( - ['meta', {name: 'robots', content: 'noindex'}], - ['meta', {name: 'googlebot', content: 'noindex'}], - ); -} +const {description} = require('./config/meta'); +const head = require('./config/head'); +const plugins = require('./config/plugins'); +const themeConfig = require('./config/themeConfig'); module.exports = { title: 'Vue Select', - description: meta.description, + description, head, - plugins: { - '@vuepress/google-analytics': { - ga: isDeployPreview ? '' : 'UA-12818324-8', - }, - '@vuepress/pwa': { - serviceWorker: false, - updatePopup: true, - }, - '@vuepress/plugin-register-components': {}, - '@vuepress/plugin-active-header-links': {}, - '@vuepress/plugin-search': {}, - '@vuepress/plugin-nprogress': {}, - }, - themeConfig: { - repo: 'sagalbot/vue-select', - editLinks: true, - docsDir: 'docs', - nav: [ - {text: 'Home', link: '/'}, - {text: 'Sandbox', link: '/sandbox'}, - ], - sidebar: { - '/': [ - { - title: 'Getting Started', - collapsable: false, - children: [ - ['guide/install', 'Installation'], - ['guide/options', 'Dropdown Options'], - ['guide/values', 'Selecting Values'], - ['guide/upgrading', 'Upgrading 2.x to 3.x'], - ], - }, - { - title: 'Templating & Styling', - collapsable: false, - children: [ - ['guide/components', 'Child Components'], - ['guide/css', 'CSS & Selectors'], - ['guide/slots', 'Slots'], - ], - }, - { - title: 'Accessibility', - collapsable: false, - children: [ - ['guide/accessibility', 'WAI-ARIA Spec'], - ['guide/localization', 'Localization'], - ], - }, - { - title: 'Use Cases', - collapsable: false, - children: [ - ['guide/validation', 'Validation'], - ['guide/selectable', 'Limiting Selections'], - ['guide/pagination', 'Pagination'], - ['guide/infinite-scroll', 'Infinite Scroll'], - ['guide/vuex', 'Vuex'], - ['guide/ajax', 'AJAX'], - ['guide/loops', 'Using in Loops'], - ], - }, - { - title: 'Customizing', - collapsable: false, - children: [ - ['guide/keydown', 'Keydown Events'], - ['guide/positioning', 'Dropdown Position'], - ['guide/filtering', 'Option Filtering'], - ], - }, - { - title: 'API', - collapsable: false, - children: [ - ['api/props', 'Props'], - ['api/slots', 'Slots'], - ['api/events', 'Events'], - ], - }, - ], - }, - }, + plugins, + themeConfig, }; + diff --git a/docs/.vuepress/config/head.js b/docs/.vuepress/config/head.js new file mode 100644 index 0000000..372c8cc --- /dev/null +++ b/docs/.vuepress/config/head.js @@ -0,0 +1,57 @@ +const isDeployPreview = require('./isDeployPreview'); +const meta = require('./meta'); + +const head = [ + [ + 'link', + { + href: '//fonts.googleapis.com/css?family=Source+Sans+Pro:400,600|Roboto Mono', + rel: 'stylesheet', + type: 'text/css', + }], + [ + 'link', + { + href: '//fonts.googleapis.com/css?family=Dosis:300&text=Vue Select', + rel: 'stylesheet', + type: 'text/css', + }], + ['link', {rel: 'icon', href: `/vue-logo.png`}], + ['meta', {name: 'theme-color', content: '#3eaf7c'}], + ['meta', {name: 'apple-mobile-web-app-capable', content: 'yes'}], + ['meta', {name: 'apple-mobile-web-app-status-bar-style', content: 'black'}], + [ + 'link', + {rel: 'apple-touch-icon', href: `/icons/apple-touch-icon-152x152.png`}], + [ + 'link', + {rel: 'mask-icon', href: '/icons/safari-pinned-tab.svg', color: '#3eaf7c'}], + [ + 'meta', + { + name: 'msapplication-TileImage', + content: '/icons/msapplication-icon-144x144.png', + }], + ['meta', {name: 'msapplication-TileColor', content: '#000000'}], + ['meta', {name: 'title', content: meta.title}], + ['meta', {name: 'description', content: meta.description}], + ['link', {rel: 'icon', href: meta.icon, type: 'image/png'}], + ['meta', {property: 'og:image', content: meta.icon}], + ['meta', {property: 'twitter:image', content: meta.icon}], + ['meta', {name: 'description', content: meta.description}], + ['meta', {property: 'og:description', content: ''}], + ['meta', {property: 'twitter:description', content: meta.description}], + ['meta', {property: 'twitter:title', content: meta.title}], + ['meta', {property: 'og:title', content: meta.title}], + ['meta', {property: 'og:site_name', content: meta.title}], + ['meta', {property: 'og:url', content: meta.url}], +]; + +if (isDeployPreview) { + head.push( + ['meta', {name: 'robots', content: 'noindex'}], + ['meta', {name: 'googlebot', content: 'noindex'}], + ); +} + +module.exports = head; diff --git a/docs/.vuepress/config/isDeployPreview.js b/docs/.vuepress/config/isDeployPreview.js new file mode 100644 index 0000000..47bb083 --- /dev/null +++ b/docs/.vuepress/config/isDeployPreview.js @@ -0,0 +1 @@ +module.exports = process.env.hasOwnProperty('DEPLOY_PREVIEW'); diff --git a/docs/.vuepress/config/meta.js b/docs/.vuepress/config/meta.js new file mode 100644 index 0000000..8a7bb23 --- /dev/null +++ b/docs/.vuepress/config/meta.js @@ -0,0 +1,6 @@ +module.exports = { + title: 'Vue Select | VueJS Select2/Chosen Component', + description: 'Everything you wish the HTML select element could do, wrapped up into a lightweight, extensible Vue component.', + url: 'https://vue-select.org', + icon: '/vue-logo.png' +}; diff --git a/docs/.vuepress/config/plugins.js b/docs/.vuepress/config/plugins.js new file mode 100644 index 0000000..a1e61cd --- /dev/null +++ b/docs/.vuepress/config/plugins.js @@ -0,0 +1,22 @@ +const isDeployPreview = require("./isDeployPreview"); + +module.exports = [ + [ + "@vuepress/google-analytics", + { + ga: isDeployPreview ? "" : "UA-12818324-8" + } + ], + [ + "@vuepress/pwa", + { + serviceWorker: false, + updatePopup: true + } + ], + "@vuepress/plugin-register-components", + "@vuepress/plugin-active-header-links", + "@vuepress/plugin-search", + "@vuepress/plugin-nprogress", + require('../github/index') +]; diff --git a/docs/.vuepress/config/themeConfig.js b/docs/.vuepress/config/themeConfig.js new file mode 100644 index 0000000..921ed38 --- /dev/null +++ b/docs/.vuepress/config/themeConfig.js @@ -0,0 +1,78 @@ +module.exports = { + repo: 'sagalbot/vue-select', + editLinks: true, + docsDir: 'docs', + nav: [ + {text: 'Sandbox', link: '/sandbox'}, + ], + sidebar: { + '/': [ + { + title: 'Community', + collapsable: false, + children: [ + ['sponsors', 'Sponsors 🎉'], + ['contributors', 'Contributors'], + ], + }, + { + title: 'Getting Started', + collapsable: false, + children: [ + ['guide/install', 'Installation'], + ['guide/options', 'Dropdown Options'], + ['guide/values', 'Selecting Values'], + ['guide/upgrading', 'Upgrading 2.x to 3.x'], + ], + }, + { + title: 'Templating & Styling', + collapsable: false, + children: [ + ['guide/components', 'Child Components'], + ['guide/css', 'CSS & Selectors'], + ['guide/slots', 'Slots'], + ], + }, + { + title: 'Accessibility', + collapsable: false, + children: [ + ['guide/accessibility', 'WAI-ARIA Spec'], + ['guide/localization', 'Localization'], + ], + }, + { + title: 'Use Cases', + collapsable: false, + children: [ + ['guide/validation', 'Validation'], + ['guide/selectable', 'Limiting Selections'], + ['guide/pagination', 'Pagination'], + ['guide/infinite-scroll', 'Infinite Scroll'], + ['guide/vuex', 'Vuex'], + ['guide/ajax', 'AJAX'], + ['guide/loops', 'Using in Loops'], + ], + }, + { + title: 'Customizing', + collapsable: false, + children: [ + ['guide/keydown', 'Keydown Events'], + ['guide/positioning', 'Dropdown Position'], + ['guide/filtering', 'Option Filtering'], + ], + }, + { + title: 'API', + collapsable: false, + children: [ + ['api/props', 'Props'], + ['api/slots', 'Slots'], + ['api/events', 'Events'], + ], + }, + ], + }, +}; diff --git a/docs/.vuepress/github/clientDynamicModules.js b/docs/.vuepress/github/clientDynamicModules.js new file mode 100644 index 0000000..0335d3e --- /dev/null +++ b/docs/.vuepress/github/clientDynamicModules.js @@ -0,0 +1,57 @@ +require("dotenv").config(); +const axios = require("axios"); +const { graphql } = require("@octokit/graphql"); + +module.exports = async () => ({ + name: "constants.js", + content: ` + export const SPONSORS = ${JSON.stringify(await getSponsors())}; + export const CONTRIBUTORS = ${JSON.stringify(await getContributors())}; + ` +}); + +/** + * Get a list of vue select contributors. + * @return {Promise} + */ +async function getContributors() { + const { data } = await axios.get( + "https://api.github.com/repos/sagalbot/vue-select/contributors?per_page=100" + ); + + return data; +} + +/** + * Get a list of the current sponsors. Requires GITHUB_TOKEN to be set. + * @return {Promise<*[]|ProfileNode[]|postcss.ChildNode[]|Array|[]>} + */ +async function getSponsors() { + const query = ` + { + user(login: "sagalbot") { + sponsorshipsAsMaintainer(first: 100) { + nodes { + createdAt + sponsor { + login + avatarUrl + } + } + } + } + } + `; + + try { + const { user } = await graphql(query, { + headers: { + authorization: `token ${process.env.GITHUB_TOKEN || ""}` + } + }); + return user.sponsorshipsAsMaintainer.nodes; + } catch (e) { + console.log(`${e.status} ${e.name} - Couldn't fetch sponsor data.`); + return []; + } +} diff --git a/docs/.vuepress/github/index.js b/docs/.vuepress/github/index.js new file mode 100644 index 0000000..39059d2 --- /dev/null +++ b/docs/.vuepress/github/index.js @@ -0,0 +1,5 @@ +const clientDynamicModules = require('./clientDynamicModules'); + +module.exports = { + clientDynamicModules: async () => await clientDynamicModules(), +}; diff --git a/docs/README.md b/docs/README.md index 945c897..89d4134 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,38 +1,43 @@ + + # Vue Select ![Current Release](https://img.shields.io/github/release/sagalbot/vue-select.svg?style=flat-square) -![Bundle Size](https://flat.badgen.net/bundlephobia/min/vue-select) -![Monthly Downloads](https://img.shields.io/npm/dm/vue-select.svg?style=flat-square) -![Code Coverage](https://img.shields.io/coveralls/github/sagalbot/vue-select.svg?style=flat-square) -![Maintainability Score](https://img.shields.io/codeclimate/maintainability/sagalbot/vue-select.svg?style=flat-square) -![MIT License](https://img.shields.io/github/license/sagalbot/vue-select.svg?style=flat-square) +![Bundle Size](https://flat.badgen.net/bundlephobia/min/vue-select) +![Monthly Downloads](https://img.shields.io/npm/dm/vue-select.svg?style=flat-square) +![Coverage Status](https://coveralls.io/repos/github/sagalbot/vue-select/badge.svg?branch=master) +![MIT License](https://img.shields.io/github/license/sagalbot/vue-select.svg?style=flat-square) -> Everything you wish the HTML `` element could do, wrapped +> up into a lightweight, extensible Vue component. Vue Select is a feature rich select/dropdown/typeahead component. It provides a default -template that fits the 80% use case for a select dropdown. Here it is by default: +template that fits most use cases for a filterable select dropdown. The component is designed to be as +lightweight as possible, while maintaining high standards for accessibility, +developer experience, and customization.
-If you want to get a quick sense of what vue-select can do, check out -[the sandbox](sandbox.md). +Vue Select aims to be as lightweight as possible, while maintaining high standards for accessibility, +developer experience, and customization. Huge thanks to the [sponsors](sponsors.md) and +[contributors](contributors.md) that make Vue Select possible! + +## Features -#### Features - Tagging -- Filtering/Searching +- Filtering / Searching - Vuex Support - AJAX Support - SSR Support -- Select Single/Multiple Options -- Tested with Bootstrap 3/4, Bulma, Foundation -- +95% Test Coverage +- Accessible - ~20kb Total / ~5kb CSS / ~15kb JS +- Select Single/Multiple Options +- Customizable with slots and SCSS variables - Zero dependencies -#### Resources -- **[CodePen Template](http://codepen.io/sagalbot/pen/NpwrQO)** +## Resources + - **[GitHub](https://github.com/sagalbot/vue-select)** -- **[Projects](https://github.com/sagalbot/vue-select/projects)** +- **[CodePen Template](http://codepen.io/sagalbot/pen/NpwrQO)** diff --git a/docs/contributors.md b/docs/contributors.md new file mode 100644 index 0000000..9e46193 --- /dev/null +++ b/docs/contributors.md @@ -0,0 +1,10 @@ +--- +sidebarDepth: 0 +--- + +# Contributors + +Vue Select is supported by a community of awesome contributors! Without their contributions, +the package would not be what it is today. + + diff --git a/docs/package.json b/docs/package.json index 79ca247..7436fa4 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,6 +8,7 @@ "build:preview": "cross-env DEPLOY_PREVIEW=true vuepress build" }, "devDependencies": { + "@octokit/graphql": "^4.3.1", "@popperjs/core": "^2.1.0", "@vuepress/plugin-active-header-links": "^1.0.0-alpha.47", "@vuepress/plugin-google-analytics": "^1.0.0-alpha.47", @@ -15,10 +16,14 @@ "@vuepress/plugin-pwa": "^1.0.0-alpha.47", "@vuepress/plugin-register-components": "^1.0.0-alpha.47", "@vuepress/plugin-search": "^1.0.0-alpha.47", + "axios": "^0.19.2", "cross-env": "^5.2.0", + "date-fns": "^2.11.0", + "dotenv": "^8.2.0", "fuse.js": "^3.4.4", "gh-pages": "^0.11.0", "node-sass": "^4.12.0", + "octonode": "^0.9.5", "sass-loader": "^7.1.0", "vue": "^2.6.10", "vuepress": "^1.0.0-alpha.47", diff --git a/docs/sponsors.md b/docs/sponsors.md new file mode 100644 index 0000000..5aa22a8 --- /dev/null +++ b/docs/sponsors.md @@ -0,0 +1,9 @@ +--- +sidebarDepth: 0 +--- + + + +## Sponsors + + diff --git a/docs/yarn.lock b/docs/yarn.lock index ce6091c..2d63b61 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -715,6 +715,54 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@octokit/endpoint@^5.5.0": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.5.3.tgz#0397d1baaca687a4c8454ba424a627699d97c978" + integrity sha512-EzKwkwcxeegYYah5ukEeAI/gYRLv2Y9U5PpIsseGSFDk+G3RbipQGBs8GuYS1TLCtQaqoO66+aQGtITPalxsNQ== + dependencies: + "@octokit/types" "^2.0.0" + is-plain-object "^3.0.0" + universal-user-agent "^5.0.0" + +"@octokit/graphql@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.3.1.tgz#9ee840e04ed2906c7d6763807632de84cdecf418" + integrity sha512-hCdTjfvrK+ilU2keAdqNBWOk+gm1kai1ZcdjRfB30oA3/T6n53UVJb7w0L5cR3/rhU91xT3HSqCd+qbvH06yxA== + dependencies: + "@octokit/request" "^5.3.0" + "@octokit/types" "^2.0.0" + universal-user-agent "^4.0.0" + +"@octokit/request-error@^1.0.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.1.tgz#ede0714c773f32347576c25649dc013ae6b31801" + integrity sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA== + dependencies: + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.3.0": + version "5.3.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.2.tgz#1ca8b90a407772a1ee1ab758e7e0aced213b9883" + integrity sha512-7NPJpg19wVQy1cs2xqXjjRq/RmtSomja/VSWnptfYwuBxLdbYh2UjhGi0Wx7B1v5Iw5GKhfFDQL7jM7SSp7K2g== + dependencies: + "@octokit/endpoint" "^5.5.0" + "@octokit/request-error" "^1.0.1" + "@octokit/types" "^2.0.0" + deprecation "^2.0.0" + is-plain-object "^3.0.0" + node-fetch "^2.3.0" + once "^1.4.0" + universal-user-agent "^5.0.0" + +"@octokit/types@^2.0.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.5.0.tgz#f1bbd147e662ae2c79717d518aac686e58257773" + integrity sha512-KEnLwOfdXzxPNL34fj508bhi9Z9cStyN7qY1kOfVahmqtAfrWw6Oq3P4R+dtsg0lYtZdWBpUrS/Ixmd5YILSww== + dependencies: + "@types/node" ">= 8" + "@popperjs/core@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.1.0.tgz#09a7a352a40508156e1256efdc015593feca28e0" @@ -744,6 +792,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.4.tgz#64db61e0359eb5a8d99b55e05c729f130a678b04" integrity sha512-W0+n1Y+gK/8G2P/piTkBBN38Qc5Q1ZSO6B5H3QmPCUewaiXOo2GCAWZ4ElZCcNhjJuBSUSLGFUJnmlCn5+nxOQ== +"@types/node@>= 8": + version "13.9.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.1.tgz#96f606f8cd67fb018847d9b61e93997dabdefc72" + integrity sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ== + "@types/q@^1.5.1": version "1.5.2" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" @@ -1326,6 +1379,11 @@ array-union@^1.0.1, array-union@^1.0.2: dependencies: array-uniq "^1.0.1" +array-uniq@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.2.tgz#5fcc373920775723cfd64d65c64bef53bf9eba6d" + integrity sha1-X8w3OSB3VyPP1k1lxkvvU7+eum0= + array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -1435,6 +1493,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== +axios@^0.19.2: + version "0.19.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + dependencies: + follow-redirects "1.5.10" + babel-extract-comments@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" @@ -1558,6 +1623,11 @@ bluebird@^3.1.1, bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== +bluebird@^3.5.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -2537,6 +2607,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +date-fns@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.11.0.tgz#ec2b44977465b9dcb370021d5e6c019b19f36d06" + integrity sha512-8P1cDi8ebZyDxUyUprBXwidoEtiQAawYPGvpfb+Dg0G6JrQ+VozwOmm91xYC0vAv1+0VmLehEPb+isg4BGUFfA== + date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -2554,6 +2629,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" +debug@=3.1.0, debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + debug@^3.0.0, debug@^3.2.5, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -2568,13 +2650,6 @@ debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -2677,6 +2752,11 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" @@ -2819,6 +2899,11 @@ dot-prop@^4.1.1: dependencies: is-obj "^1.0.0" +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" @@ -3265,6 +3350,13 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + follow-redirects@^1.0.0: version "1.8.1" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.8.1.tgz#24804f9eaab67160b0e840c085885d606371a35b" @@ -3606,7 +3698,7 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.1.0: +har-validator@~5.1.0, har-validator@~5.1.3: version "5.1.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== @@ -4246,6 +4338,13 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" + integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== + dependencies: + isobject "^4.0.0" + is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -4329,6 +4428,11 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isobject@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" + integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -4642,6 +4746,11 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +macos-release@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" + integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== + make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -5053,6 +5162,11 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-fetch@^2.3.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + node-forge@0.7.5: version "0.7.5" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" @@ -5347,6 +5461,16 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== +octonode@^0.9.5: + version "0.9.5" + resolved "https://registry.yarnpkg.com/octonode/-/octonode-0.9.5.tgz#0237ea289a2d6642068f6383a420bf97cfca993e" + integrity sha512-l+aX9jNVkaagh7u/q2QpNKdL8XUagdztl+ebXxBRU6FJ1tpRxAH/ygIuWh0h7eS491BsyH6bb0QZIQEC2+u5oA== + dependencies: + bluebird "^3.5.0" + deep-extend "^0.6.0" + randomstring "^1.1.5" + request "^2.72.0" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -5419,6 +5543,14 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" +os-name@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" + integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== + dependencies: + macos-release "^2.2.0" + windows-release "^3.1.0" + os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -6118,6 +6250,11 @@ psl@^1.1.24: resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.1.tgz#d5aa3873a35ec450bc7db9012ad5a7246f6fc8bd" integrity sha512-2KLd5fKOdAfShtY2d/8XDWVRnmp3zp40Qt6ge2zBPFARLXOGUf2fHD5eg+TV/5oxBtQKVhjUaKFsAaE4HnwfSA== +psl@^1.1.28: + version "1.7.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" + integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== + public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -6165,7 +6302,7 @@ punycode@^1.2.4, punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -6246,6 +6383,13 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" +randomstring@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/randomstring/-/randomstring-1.1.5.tgz#6df0628f75cbd5932930d9fe3ab4e956a18518c3" + integrity sha1-bfBij3XL1ZMpMNn+OrTpVqGFGMM= + dependencies: + array-uniq "1.0.2" + range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -6450,6 +6594,32 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" +request@^2.72.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + 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@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -7415,6 +7585,14 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -7542,6 +7720,20 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +universal-user-agent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557" + integrity sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg== + dependencies: + os-name "^3.1.0" + +universal-user-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9" + integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q== + dependencies: + os-name "^3.1.0" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -7981,6 +8173,13 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +windows-release@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" + integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== + dependencies: + execa "^1.0.0" + workbox-background-sync@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950"