From 5109ec63d16706780c2b763848eb4d1af1dcc3d6 Mon Sep 17 00:00:00 2001 From: Oleg Proskurin Date: Wed, 15 Jan 2020 18:10:04 +0300 Subject: [PATCH] code cleanup --- .eslintrc.js | 19 ++- package.json | 26 ++-- src/config.js | 1 + src/content.stories.js | 4 - src/fetch-brand.js | 2 +- src/fetch-committee.js | 11 +- src/fetch-extended.js | 19 +-- src/fetch-faq.js | 3 +- src/fetch-jobs.js | 2 +- src/fetch-pages.js | 5 +- src/fetch-sponsors.js | 6 - src/fetch-talks.js | 8 +- src/fetch-texts.js | 14 +- src/fragments.js | 22 ++-- src/index.js | 10 +- src/markdown.js | 6 +- src/utils.js | 39 ------ yarn.lock | 289 ++++++++++++++++++++++++++++++++++++++++- 18 files changed, 376 insertions(+), 110 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 250542b..20f3d16 100755 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -4,8 +4,16 @@ const ignore = 0; module.exports = { root: true, - extends: ['eslint-config-airbnb', 'plugin:jest/recommended', 'prettier'], - plugins: ['prettier', 'jest', 'react', 'json'], + extends: [ + 'eslint-config-airbnb', + 'plugin:jsx-a11y/recommended', + 'plugin:jest/recommended', + 'plugin:import/warnings', + 'plugin:json/recommended', + 'plugin:react/recommended', + 'plugin:prettier/recommended', + ], + plugins: ['jsx-a11y', 'jest', 'react', 'json'], parser: 'babel-eslint', parserOptions: { sourceType: 'module', @@ -27,10 +35,11 @@ module.exports = { tabWidth: 2, }, ], - quotes: [warn, 'single', { avoidEscape: true }], + // quotes: [warn, 'single', { avoidEscape: true }], 'arrow-parens': [warn, 'as-needed'], - 'import/no-unresolved': warn, 'import/prefer-default-export': ignore, - 'import/no-extraneous-dependencies': ignore, + 'react/prop-types': ignore, + 'react/jsx-filename-extension': ignore, + 'no-console': ['error', { allow: ['warn', 'error'] }], }, }; diff --git a/package.json b/package.json index 8b20f52..58d99d8 100755 --- a/package.json +++ b/package.json @@ -20,14 +20,6 @@ "@babel/core": "^7.7.7", "@babel/preset-env": "^7.7.7", "@babel/preset-react": "^7.7.4", - "@focus-reactive/storybook-addon-graphcms": "^1.3.0", - "@storybook/addon-actions": "^5.2.8", - "@storybook/addon-console": "^1.2.1", - "@storybook/addon-links": "^5.2.8", - "@storybook/addon-notes": "^5.2.8", - "@storybook/addons": "^5.2.8", - "@storybook/react": "^5.2.8", - "@storybook/storybook-deployer": "^2.8.1", "@usulpro/package-prepare": "^1.2.1", "babel-eslint": "^7.2.3", "babel-jest": "^24.9.0", @@ -35,10 +27,16 @@ "dotenv": "^8.1.0", "eslint": "^6.8.0", "eslint-config-airbnb": "^16.1.0", + "eslint-config-prettier": "^6.9.0", "eslint-formatter-pretty": "^1.1.0", "eslint-loader": "^2.0.0", "eslint-plugin-graphql": "^3.1.0", + "eslint-plugin-import": "^2.20.0", "eslint-plugin-jest": "^23.1.1", + "eslint-plugin-json": "^2.0.1", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.2", + "eslint-plugin-react": "^7.17.0", "graphql-cli": "^3.0.14", "jest": "^24.9.0", "nodemon": "^2.0.2", @@ -46,12 +44,24 @@ "relative-deps": "^0.2.0" }, "dependencies": { + "@focus-reactive/storybook-addon-graphcms": "^1.3.0", + "@storybook/addon-actions": "^5.2.8", + "@storybook/addon-console": "^1.2.1", + "@storybook/addon-links": "^5.2.8", + "@storybook/addon-notes": "^5.2.8", + "@storybook/addons": "^5.2.8", + "@storybook/react": "^5.2.8", + "@storybook/storybook-deployer": "^2.8.1", "graphql-request": "^1.8.2", + "react": "^16.12.0", "react-json-view": "^1.19.1", "remark-html": "^10.0.0", "remark-parse": "^7.0.1", "unified": "^8.4.0" }, + "peerDependencies": { + "dotenv": "^8.1.0" + }, "relativeDependencies": { "@focus-reactive/storybook-addon-graphcms": "../../Addons/storybook-graphql-kit-graphcms/" }, diff --git a/src/config.js b/src/config.js index 086d3ec..ecac142 100644 --- a/src/config.js +++ b/src/config.js @@ -1,4 +1,5 @@ if (!process.env.CMS_ENDPOINT || !process.env.CMS_TOKEN) { + // eslint-disable-next-line global-require require('dotenv').config(); } diff --git a/src/content.stories.js b/src/content.stories.js index f40a9fb..31fc5cd 100644 --- a/src/content.stories.js +++ b/src/content.stories.js @@ -1,7 +1,6 @@ const React = require('react'); const ReactJson = require('react-json-view').default; const { - Query, QueryParams, withGraphCMS, } = require('@focus-reactive/storybook-addon-graphcms'); @@ -9,9 +8,6 @@ const { storiesOf } = require('@storybook/react'); const { credentials, conferenceTitle, eventYear } = require('./config'); const { queriesData, getContent } = require('./index'); -// const { tagColors } = require('./utils'); - -const allStories = {}; const AwaitForData = ({ content }) => { if (!content) return 'Loading data from GraphCMS'; diff --git a/src/fetch-brand.js b/src/fetch-brand.js index 7ca8847..9d138c2 100644 --- a/src/fetch-brand.js +++ b/src/fetch-brand.js @@ -19,7 +19,7 @@ const queryPages = /* GraphQL */ ` } `; -const fetchData = async(client, vars) => { +const fetchData = async (client, vars) => { const conference = await client .request(queryPages, vars) .then(res => res.conf) diff --git a/src/fetch-committee.js b/src/fetch-committee.js index 613151f..19b6b22 100644 --- a/src/fetch-committee.js +++ b/src/fetch-committee.js @@ -7,7 +7,12 @@ const selectSettings = trySelectSettings(s => s.speakerAvatar.dimensions, { }); const queryPages = /* GraphQL */ ` - query($conferenceTitle: ConferenceTitle, $eventYear: EventYear, $avatarWidth: Int, $avatarHeight: Int) { + query( + $conferenceTitle: ConferenceTitle + $eventYear: EventYear + $avatarWidth: Int + $avatarHeight: Int + ) { conf: conferenceBrand(where: { title: $conferenceTitle }) { id status @@ -21,7 +26,7 @@ const queryPages = /* GraphQL */ ` } } -${personFragment} + ${personFragment} `; const fetchData = async (client, vars) => { @@ -31,7 +36,7 @@ const fetchData = async (client, vars) => { const speakers = await prepareSpeakers( data.map(speaker => ({ speaker, decor: true })), - {} + {}, ); return { diff --git a/src/fetch-extended.js b/src/fetch-extended.js index 98218cb..e969207 100644 --- a/src/fetch-extended.js +++ b/src/fetch-extended.js @@ -35,17 +35,20 @@ const fetchData = async (client, vars) => { data.map(async item => ({ ...item, title: await markdownToHtml(item.title), - subtitle: item.subtitle && await markdownToHtml(item.subtitle), - description: item.description && await markdownToHtml(item.description), - location: item.location && await markdownToHtml(item.location), - })) + subtitle: item.subtitle && (await markdownToHtml(item.subtitle)), + description: item.description && (await markdownToHtml(item.description)), + location: item.location && (await markdownToHtml(item.location)), + })), ); const keys = new Set(allExtendeds.map(e => e.key)); - const extendeds = [...keys].reduce((obj, key) => ({ - ...obj, - [key]: allExtendeds.filter(e => e.key === key) - }), {}); + const extendeds = [...keys].reduce( + (obj, key) => ({ + ...obj, + [key]: allExtendeds.filter(e => e.key === key), + }), + {}, + ); return { extendeds, diff --git a/src/fetch-faq.js b/src/fetch-faq.js index 9a0211e..507f80c 100644 --- a/src/fetch-faq.js +++ b/src/fetch-faq.js @@ -18,7 +18,6 @@ const queryPages = /* GraphQL */ ` } `; - const fetchData = async (client, vars) => { const faqsRow = await client .request(queryPages, vars) @@ -29,7 +28,7 @@ const fetchData = async (client, vars) => { ...item, question: await markdownToHtml(item.question), answer: await markdownToHtml(item.answer), - })) + })), ); const categories = [...new Set(faqsItems.map(i => i.category))]; diff --git a/src/fetch-jobs.js b/src/fetch-jobs.js index dc22985..5260ff6 100644 --- a/src/fetch-jobs.js +++ b/src/fetch-jobs.js @@ -25,7 +25,7 @@ const queryPages = /* GraphQL */ ` ${jobLogoFragment} `; -const fetchData = async(client, vars) => { +const fetchData = async (client, vars) => { const data = await client .request(queryPages, vars) .then(res => res.conf.year[0].jobs); diff --git a/src/fetch-pages.js b/src/fetch-pages.js index 4603c1b..2d89071 100644 --- a/src/fetch-pages.js +++ b/src/fetch-pages.js @@ -26,7 +26,7 @@ const queryPages = /* GraphQL */ ` } `; -const fetchData = async(client, vars) => { +const fetchData = async (client, vars) => { const data = await client .request(queryPages, vars) .then(res => res.conf.year[0].pages); @@ -36,7 +36,7 @@ const fetchData = async(client, vars) => { ...obj, [item.key]: { ...item, keywords: item.keywords.join(', ') }, }), - {} + {}, ); return { pages, @@ -49,4 +49,3 @@ module.exports = { getData: data => data.conf.year[0].pages, story: 'pages', }; - diff --git a/src/fetch-sponsors.js b/src/fetch-sponsors.js index 3ee3359..5f04d63 100644 --- a/src/fetch-sponsors.js +++ b/src/fetch-sponsors.js @@ -59,12 +59,6 @@ const fetchData = async (client, vars) => { width, })); - const titlesMap = { - Gold: 'Gold', - Silver: 'Silver', - Partner: 'Partners', - }; - const sponsors = [ { title: 'Platinum', diff --git a/src/fetch-talks.js b/src/fetch-talks.js index 1862d75..add4990 100644 --- a/src/fetch-talks.js +++ b/src/fetch-talks.js @@ -46,14 +46,14 @@ const byTime = (a, b) => { return aTime - bTime; }; -const fetchData = async(client, vars) => { +const fetchData = async (client, vars) => { const data = await client .request(queryPages, vars) .then(res => res.conf.year[0].schedule[0]); - if (!data) { - throw new Error('Schedule not set for this event yet'); - } + if (!data) { + throw new Error('Schedule not set for this event yet'); + } const talks = data.talks .map(({ title, description, timeString, track, speaker }) => ({ diff --git a/src/fetch-texts.js b/src/fetch-texts.js index a423e28..76f93a6 100644 --- a/src/fetch-texts.js +++ b/src/fetch-texts.js @@ -23,17 +23,17 @@ const queryPages = /* GraphQL */ ` } `; -const markdownRender = async (text, style) => { +const markdownRender = (text, style) => { const renders = { [renderStyles.None_Default]: t => t, - [renderStyles.Standard_Markdown]: async t => await markdownToHtml(t), + [renderStyles.Standard_Markdown]: t => markdownToHtml(t), }; const defaultRender = renders[renderStyles.None_Default]; - return await (renders[style] || defaultRender)(text); -} + return (renders[style] || defaultRender)(text); +}; -const fetchData = async(client, vars) => { +const fetchData = async (client, vars) => { const pieceOfTexts = await client .request(queryPages, vars) .then(res => res.conf.year[0].pieceOfTexts); @@ -42,7 +42,7 @@ const fetchData = async(client, vars) => { pieceOfTexts.map(async item => ({ ...item, html: await markdownRender(item.markdown, item.renderStyle), - })) + })), ); const subContent = pieceOfHTMLs.reduce( @@ -50,7 +50,7 @@ const fetchData = async(client, vars) => { ...obj, [item.key]: item.html, }), - {} + {}, ); return { pagesPieceOfTexts: subContent, diff --git a/src/fragments.js b/src/fragments.js index 653b0e4..ecdc069 100644 --- a/src/fragments.js +++ b/src/fragments.js @@ -1,9 +1,11 @@ const personAvatarFragment = /* GraphQL */ ` fragment avatarUrl on Speaker { avatar { - url ( + url( transformation: { - image: { resize: { width: $avatarWidth, height: $avatarHeight, fit: crop } } + image: { + resize: { width: $avatarWidth, height: $avatarHeight, fit: crop } + } document: { output: { format: jpg } } } ) @@ -14,10 +16,10 @@ const personAvatarFragment = /* GraphQL */ ` const sponsorLogoFragment = /* GraphQL */ ` fragment imageUrl on Asset { url #( - # transformation: { - # image: { resize: { width: 500, height: 500, fit: crop } } - # document: { output: { format: jpg } } - # } + # transformation: { + # image: { resize: { width: 500, height: 500, fit: crop } } + # document: { output: { format: jpg } } + # } #) } `; @@ -26,10 +28,10 @@ const jobLogoFragment = /* GraphQL */ ` fragment logo on Job { image { url #( - # transformation: { - # image: { resize: { width: 555 } } - # document: { output: { format: jpg } } - # } + # transformation: { + # image: { resize: { width: 555 } } + # document: { output: { format: jpg } } + # } #) } } diff --git a/src/index.js b/src/index.js index 8b44241..7e60fc5 100644 --- a/src/index.js +++ b/src/index.js @@ -32,7 +32,9 @@ const getQueriesData = (content, conferenceSettings) => { if (!Object.keys(data).length) return; data.vars = selectSettings(conferenceSettings); queriesData.push(data); - } catch (err) {} + } catch (err) { + console.error(err); + } }; const getContent = async conferenceSettings => { @@ -61,6 +63,7 @@ const getContent = async conferenceSettings => { }); } catch (err) { console.error(err); + return undefined; } }); @@ -71,9 +74,12 @@ const getContent = async conferenceSettings => { const existentKeys = Object.keys(content); const intersectedKeys = newKeys.filter(k => existentKeys.includes(k)); intersectedKeys.forEach(k => { + // eslint-disable-next-line no-param-reassign piece[k] = { ...content[k], ...piece[k] }; }); - } catch (err) {} + } catch (err) { + console.error(err); + } return { ...content, ...piece }; }, {}); contentMap.conferenceSettings = conferenceSettings; diff --git a/src/markdown.js b/src/markdown.js index 1a49892..b350bc6 100644 --- a/src/markdown.js +++ b/src/markdown.js @@ -1,6 +1,6 @@ -var unified = require('unified'); -var markdown = require('remark-parse'); -var html = require('remark-html'); +const unified = require('unified'); +const markdown = require('remark-parse'); +const html = require('remark-html'); const markdownToHtml = text => new Promise((resolve, reject) => { diff --git a/src/utils.js b/src/utils.js index 58dbf20..e496ac1 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,44 +1,5 @@ const { markdownToHtml } = require('./markdown'); -// const tagColors = { -// NodeJS: { -// tagBG: '#7AB464', -// color: '#fff', -// }, -// WebGL: { -// tagBG: '#ff7302', -// color: '#ffffff', -// }, -// Ecosystem: { -// tagBG: '#fff40d', -// color: '#ae4f01', -// }, -// Language: { -// tagBG: '#fff40d', -// color: '#ae4f01', -// }, -// GraphQL: { -// tagBG: '#f200fa', -// color: '#400042', -// }, -// VueJS: { -// tagBG: '#4EBA87', -// color: '#fff', -// }, -// Performance: { -// tagBG: '#00ed24', -// color: '#00410a', -// }, -// TypeScript: { -// tagBG: '#61DAFB', -// color: '#030303', -// }, -// default: { -// tagBG: 'black', -// color: 'white', -// }, -// }; - const getSocials = speaker => { const ICONS = { githubUrl: 'gh', diff --git a/yarn.lock b/yarn.lock index 1d40ab6..c1fce75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1025,6 +1025,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.7.4" +"@babel/runtime-corejs3@^7.7.4": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.8.3.tgz#a2445836d0699e5ba77eea2c790ad9ea51e2cd27" + integrity sha512-lrIU4aVbmlM/wQPzhEvzvNJskKyYptuXb0fGC0lTQTupTOYtR2Vqbu6/jf8vTr4M8Wt1nIzxVrSvPI5qESa/xA== + dependencies: + core-js-pure "^3.0.0" + regenerator-runtime "^0.13.2" + "@babel/runtime@7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.4.tgz#b23a856751e4bf099262f867767889c0e3fe175b" @@ -1046,6 +1054,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.4.5": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.3.tgz#0811944f73a6c926bb2ad35e918dcc1bfab279f1" + integrity sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.4.0", "@babel/template@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.4.tgz#428a7d9eecffe27deac0a98e23bf8e3675d2a77b" @@ -2700,6 +2715,14 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +aria-query@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= + dependencies: + ast-types-flow "0.0.7" + commander "^2.11.0" + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -2812,6 +2835,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +ast-types-flow@0.0.7, ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + ast-types@0.11.3: version "0.11.3" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8" @@ -2877,6 +2905,14 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== +axobject-query@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.1.tgz#2a3b1271ec722d48a4cd4b3fcc20c853326a49a7" + integrity sha512-lF98xa/yvy6j3fBHAgQXIYl+J4eZadOSqsPojemUqClzNbBV38wWGpUbQbVEyf4eUF5yF7eHmGgGA2JiHyjeqw== + dependencies: + "@babel/runtime" "^7.7.4" + "@babel/runtime-corejs3" "^7.7.4" + babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -4215,6 +4251,11 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -4289,6 +4330,11 @@ core-js-compat@^3.4.7, core-js-compat@^3.6.0: browserslist "^4.8.2" semver "7.0.0" +core-js-pure@^3.0.0: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" + integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== + core-js-pure@^3.0.1: version "3.4.8" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.4.8.tgz#a4415834383784e81974cd34321daf36a6d2366e" @@ -4587,6 +4633,11 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +damerau-levenshtein@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" + integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -4603,7 +4654,7 @@ data-urls@^1.0.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4819,6 +4870,21 @@ disparity@^2.0.0: ansi-styles "^2.0.1" diff "^1.3.2" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -5012,7 +5078,7 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -emoji-regex@^7.0.1: +emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== @@ -5115,6 +5181,23 @@ es-abstract@^1.17.0-next.0: string.prototype.trimleft "^2.1.0" string.prototype.trimright "^2.1.0" +es-abstract@^1.17.0-next.1: + version "1.17.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.1.tgz#1331afa4cba2628b63e988104b9846c2d631b380" + integrity sha512-WmWNHWmm/LDwK8jaeZic/g6sU1ZckM+vvOyCV1qFRhJJ6hzve6DRgthNQB7Lra1ocrw68HexLKYgtdxIPcb3Fg== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -5182,6 +5265,13 @@ eslint-config-airbnb@^16.1.0: dependencies: eslint-config-airbnb-base "^12.1.0" +eslint-config-prettier@^6.9.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.9.0.tgz#430d24822e82f7deb1e22a435bfa3999fae4ad64" + integrity sha512-k4E14HBtcLv0uqThaI6I/n1LEqROp8XaPu6SO9Z32u5NlGRC07Enu1Bh2KEFw4FNHbekH8yzbIU9kUGxbiGmCA== + dependencies: + get-stdin "^6.0.0" + eslint-formatter-pretty@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-formatter-pretty/-/eslint-formatter-pretty-1.3.0.tgz#985d9e41c1f8475f4a090c5dbd2dfcf2821d607e" @@ -5193,6 +5283,14 @@ eslint-formatter-pretty@^1.1.0: plur "^2.1.2" string-width "^2.0.0" +eslint-import-resolver-node@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404" + integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + eslint-loader@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" @@ -5204,6 +5302,19 @@ eslint-loader@^2.0.0: object-hash "^1.1.4" rimraf "^2.6.1" +eslint-module-utils@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz#7878f7504824e1b857dd2505b59a8e5eda26a708" + integrity sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q== + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-plugin-eslint-plugin@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.2.0.tgz#6cac90a8085f658e892b155dda130deac54cfa51" + integrity sha512-X5+NT9a2GuwWyb3sHJdEEe6aD/30Fhi3/9XCmYHe/OSnWKUhmKOxFTfFM1AXZfJXjAoX7811bnoLI3fZr5AX5Q== + eslint-plugin-graphql@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.0.tgz#ccf0d3c61961f6307170ac565c1fb0902dd4f11f" @@ -5212,6 +5323,24 @@ eslint-plugin-graphql@^3.1.0: graphql-config "^2.0.1" lodash "^4.11.1" +eslint-plugin-import@^2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.0.tgz#d749a7263fb6c29980def8e960d380a6aa6aecaa" + integrity sha512-NK42oA0mUc8Ngn4kONOPsPB1XhbUvNHqF+g307dPV28aknPoiNnKLFd9em4nkswwepdF5ouieqv5Th/63U7YJQ== + dependencies: + array-includes "^3.0.3" + array.prototype.flat "^1.2.1" + 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.1" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.12.0" + eslint-plugin-jest@^23.1.1: version "23.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.1.1.tgz#1220ab53d5a4bf5c3c4cd07c0dabc6199d4064dd" @@ -5219,6 +5348,52 @@ eslint-plugin-jest@^23.1.1: dependencies: "@typescript-eslint/experimental-utils" "^2.5.0" +eslint-plugin-json@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-json/-/eslint-plugin-json-2.0.1.tgz#825ba21fed9522a7080044f0692ffffffbc237e3" + integrity sha512-IxKZIlMyBn0tvxlBj2viW0N/UBuoey1oYpV+SNVuNFmy4xsNuwgeoOjzEeFDnVXL0FpIo7UbQSeZ+lfh2D/nLQ== + dependencies: + lodash "^4.17.15" + vscode-json-languageservice "^3.3.5" + +eslint-plugin-jsx-a11y@^6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + +eslint-plugin-prettier@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz#432e5a667666ab84ce72f945c72f77d996a5c9ba" + integrity sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react@^7.17.0: + version "7.17.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.17.0.tgz#a31b3e134b76046abe3cd278e7482bd35a1d12d7" + integrity sha512-ODB7yg6lxhBVMeiH1c7E95FLD4E/TwmFjltiU+ethv7KPdCwgiFuOZg9zNRHyufStTDLl/dEFqI2Q1VPmCd78A== + dependencies: + array-includes "^3.0.3" + doctrine "^2.1.0" + eslint-plugin-eslint-plugin "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.2.3" + object.entries "^1.1.0" + object.fromentries "^2.0.1" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.13.1" + eslint-restricted-globals@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" @@ -5558,6 +5733,11 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-glob@^2.0.2, fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" @@ -6038,6 +6218,11 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + get-stream@3.0.0, get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -7156,6 +7341,11 @@ is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== + is-ci@^1.0.10: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" @@ -7386,7 +7576,7 @@ is-redirect@^1.0.0: resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= -is-regex@^1.0.4: +is-regex@^1.0.4, is-regex@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== @@ -8084,6 +8274,11 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" +jsonc-parser@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.2.0.tgz#f206f87f9d49d644b7502052c04e82dd6392e9ef" + integrity sha512-4fLQxW1j/5fWj6p78vAlAafoCKtuBm6ghv+Ij5W2DrDx0qE+ZdEl2c6Ko1mgJNF5ftX1iEWQQ4Ap7+3GlhjkOA== + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -8205,6 +8400,14 @@ jss@10.0.0, jss@^10.0.0: is-in-browser "^1.1.3" tiny-warning "^1.0.2" +jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" + integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== + dependencies: + array-includes "^3.0.3" + object.assign "^4.1.0" + jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -9383,6 +9586,16 @@ object.entries@^1.1.0: function-bind "^1.1.1" has "^1.0.3" +object.fromentries@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" + integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" @@ -9963,6 +10176,13 @@ pkg-dir@^1.0.0: dependencies: find-up "^1.0.0" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -10116,6 +10336,13 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -10679,7 +10906,7 @@ react-transition-group@^4.3.0: loose-envify "^1.4.0" prop-types "^15.6.2" -react@^16.8.3: +react@^16.12.0, react@^16.8.3: version "16.12.0" resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== @@ -11166,6 +11393,13 @@ resolve@^1.11.0, resolve@^1.8.1: dependencies: path-parse "^1.0.6" +resolve@^1.13.1: + version "1.14.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2" + integrity sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ== + dependencies: + path-parse "^1.0.6" + responselike@1.0.2, responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -11868,6 +12102,14 @@ string.prototype.trimleft@^2.1.0: define-properties "^1.1.3" function-bind "^1.1.1" +string.prototype.trimleft@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" + integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string.prototype.trimright@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" @@ -11876,6 +12118,14 @@ string.prototype.trimright@^2.1.0: define-properties "^1.1.3" function-bind "^1.1.1" +string.prototype.trimright@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9" + integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -12809,6 +13059,37 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== +vscode-json-languageservice@^3.3.5: + version "3.4.11" + resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-3.4.11.tgz#7c0632bccc4b2b955f99f99f43d96d3eece1de42" + integrity sha512-26Qv1SFp6x3XmCqU1BRceRsSKRO3xkQa6/K8ziSRt52/LQPiw5ipSxlGVSlzIoi5LCmQVEqUajhiVEMNlFXhNw== + dependencies: + jsonc-parser "^2.2.0" + vscode-languageserver-textdocument "^1.0.0-next.5" + vscode-languageserver-types "^3.15.0-next.9" + vscode-nls "^4.1.1" + vscode-uri "^2.1.1" + +vscode-languageserver-textdocument@^1.0.0-next.5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.0.tgz#957381672eb3f507aa320e9f6d7efdfcb767d9fe" + integrity sha512-9E3hfoknSe9wX5Bed4rFbjkWdT9Oazw+suyCQ6ZbS68r3SAwue5M7xHd9WX9jBHguAai+qmwr5dMIf7gmzQryw== + +vscode-languageserver-types@^3.15.0-next.9: + version "3.15.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0.tgz#c45a23308ec0967135c483b759dfaf97978d9e0a" + integrity sha512-AXteNagMhBWnZ6gNN0UB4HTiD/7TajgfHl6jaM6O7qz3zDJw0H3Jf83w05phihnBRCML+K6Ockh8f8bL0OObPw== + +vscode-nls@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.1.tgz#f9916b64e4947b20322defb1e676a495861f133c" + integrity sha512-4R+2UoUUU/LdnMnFjePxfLqNhBS8lrAFyX7pjb2ud/lqDkrUavFUTcG7wR0HBZFakae0Q6KLBFjMS6W93F403A== + +vscode-uri@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.1.1.tgz#5aa1803391b6ebdd17d047f51365cf62c38f6e90" + integrity sha512-eY9jmGoEnVf8VE8xr5znSah7Qt1P/xsCdErz+g8HYZtJ7bZqKH5E3d+6oVNm1AC/c6IHUDokbmVXKOi4qPAC9A== + w3c-hr-time@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"