diff --git a/package.json b/package.json
index c5ae4a0f6..f20a6d9cc 100644
--- a/package.json
+++ b/package.json
@@ -177,6 +177,7 @@
"@testing-library/react": "^14.0.0",
"@testing-library/react-hooks": "^8.0.1",
"@testing-library/user-event": "^14.5.1",
+ "@types/yargs": "^17.0.24",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"babel-plugin-transform-require-context": "^0.1.1",
@@ -201,6 +202,7 @@
"stylelint": "^15.10.3",
"stylelint-config-standard-scss": "^11.0.0",
"tailwindcss": "^3.3.3",
+ "vite-plugin-checker": "^0.6.2",
"vite-plugin-pwa": "^0.16.5",
"vitest": "^0.34.4",
"yargs": "^17.6.2"
diff --git a/src/actions/__tests__/rules.test.ts b/src/actions/__tests__/rules.test.ts
index 4574adc2e..624e2dd0d 100644
--- a/src/actions/__tests__/rules.test.ts
+++ b/src/actions/__tests__/rules.test.ts
@@ -4,7 +4,7 @@ import { mockStore, rootState } from 'soapbox/jest/test-helpers';
import { fetchRules, RULES_FETCH_REQUEST, RULES_FETCH_SUCCESS } from '../rules';
describe('fetchRules()', () => {
- it('sets the rules', (done) => {
+ it('sets the rules', async () => {
const rules = require('soapbox/__fixtures__/rules.json');
__stub((mock) => {
@@ -12,15 +12,12 @@ describe('fetchRules()', () => {
});
const store = mockStore(rootState);
+ await store.dispatch(fetchRules());
- store.dispatch(fetchRules()).then((context) => {
- const actions = store.getActions();
+ const actions = store.getActions();
- expect(actions[0].type).toEqual(RULES_FETCH_REQUEST);
- expect(actions[1].type).toEqual(RULES_FETCH_SUCCESS);
- expect(actions[1].payload[0].id).toEqual('1');
-
- done();
- }).catch(console.error);
+ expect(actions[0].type).toEqual(RULES_FETCH_REQUEST);
+ expect(actions[1].type).toEqual(RULES_FETCH_SUCCESS);
+ expect(actions[1].payload[0].id).toEqual('1');
});
});
diff --git a/src/actions/__tests__/statuses.test.ts b/src/actions/__tests__/statuses.test.ts
index 8b057802d..120d24807 100644
--- a/src/actions/__tests__/statuses.test.ts
+++ b/src/actions/__tests__/statuses.test.ts
@@ -8,7 +8,7 @@ import { normalizeStatus } from 'soapbox/normalizers/status';
import { deleteStatus, fetchContext } from '../statuses';
describe('fetchContext()', () => {
- it('handles Mitra context', done => {
+ it('handles Mitra context', async () => {
const statuses = require('soapbox/__fixtures__/mitra-context.json');
__stub(mock => {
@@ -17,15 +17,11 @@ describe('fetchContext()', () => {
});
const store = mockStore(rootState);
+ await store.dispatch(fetchContext('017ed505-5926-392f-256a-f86d5075df70'));
+ const actions = store.getActions();
- store.dispatch(fetchContext('017ed505-5926-392f-256a-f86d5075df70')).then(() => {
- const actions = store.getActions();
-
- expect(actions[3].type).toEqual(STATUSES_IMPORT);
- expect(actions[3].statuses[0].id).toEqual('017ed503-bc96-301a-e871-2c23b30ddd05');
-
- done();
- }).catch(console.error);
+ expect(actions[3].type).toEqual(STATUSES_IMPORT);
+ expect(actions[3].statuses[0].id).toEqual('017ed503-bc96-301a-e871-2c23b30ddd05');
});
});
diff --git a/src/features/public-layout/components/__tests__/header.test.tsx b/src/features/public-layout/components/__tests__/header.test.tsx
index d69198efa..4472ce7b4 100644
--- a/src/features/public-layout/components/__tests__/header.test.tsx
+++ b/src/features/public-layout/components/__tests__/header.test.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { storeOpen, storePepeOpen } from 'soapbox/jest/mock-stores';
+import { storeOpen } from 'soapbox/jest/mock-stores';
import { render, screen } from 'soapbox/jest/test-helpers';
import Header from '../header';
@@ -22,11 +22,4 @@ describe('', () => {
expect(screen.getByText('Register')).toBeInTheDocument();
});
});
-
- describe('with registrations closed, Pepe enabled', () => {
- it('displays the signup button', () => {
- render(, undefined, storePepeOpen);
- expect(screen.getByText('Register')).toBeInTheDocument();
- });
- });
});
\ No newline at end of file
diff --git a/src/features/ui/components/__tests__/cta-banner.test.tsx b/src/features/ui/components/__tests__/cta-banner.test.tsx
index f6d66de13..f35c76b48 100644
--- a/src/features/ui/components/__tests__/cta-banner.test.tsx
+++ b/src/features/ui/components/__tests__/cta-banner.test.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { storeClosed, storeLoggedIn, storeOpen, storePepeOpen } from 'soapbox/jest/mock-stores';
+import { storeClosed, storeLoggedIn, storeOpen } from 'soapbox/jest/mock-stores';
import { render, screen } from '../../../../jest/test-helpers';
import CtaBanner from '../cta-banner';
@@ -24,11 +24,4 @@ describe('', () => {
expect(screen.queryAllByTestId('cta-banner')).toHaveLength(0);
});
});
-
- describe('with Pepe enabled', () => {
- it('renders the banner', () => {
- render(, undefined, storePepeOpen);
- expect(screen.getByTestId('cta-banner')).toHaveTextContent(/sign up/i);
- });
- });
});
diff --git a/src/features/ui/components/__tests__/navbar.test.tsx b/src/features/ui/components/__tests__/navbar.test.tsx
index f46d9db72..5cf8eb6b4 100644
--- a/src/features/ui/components/__tests__/navbar.test.tsx
+++ b/src/features/ui/components/__tests__/navbar.test.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { storeOpen, storePepeOpen } from 'soapbox/jest/mock-stores';
+import { storeOpen } from 'soapbox/jest/mock-stores';
import { render, screen } from 'soapbox/jest/test-helpers';
import Navbar from '../navbar';
@@ -22,11 +22,4 @@ describe('', () => {
expect(screen.getByText('Sign up')).toBeInTheDocument();
});
});
-
- describe('with registrations closed, Pepe enabled', () => {
- it('displays the signup button', () => {
- render(, undefined, storePepeOpen);
- expect(screen.getByText('Sign up')).toBeInTheDocument();
- });
- });
});
diff --git a/src/features/ui/components/modals/__tests__/landing-page-modal.test.tsx b/src/features/ui/components/modals/__tests__/landing-page-modal.test.tsx
index b56fb6b8d..bcd64224b 100644
--- a/src/features/ui/components/modals/__tests__/landing-page-modal.test.tsx
+++ b/src/features/ui/components/modals/__tests__/landing-page-modal.test.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { storeOpen, storePepeOpen } from 'soapbox/jest/mock-stores';
+import { storeOpen } from 'soapbox/jest/mock-stores';
import { render, screen } from 'soapbox/jest/test-helpers';
import LandingPageModal from '../landing-page-modal';
@@ -22,11 +22,4 @@ describe('', () => {
expect(screen.getByText('Register')).toBeInTheDocument();
});
});
-
- describe('with registrations closed, Pepe enabled', () => {
- it('displays the signup button', () => {
- render(, undefined, storePepeOpen);
- expect(screen.getByText('Register')).toBeInTheDocument();
- });
- });
});
diff --git a/src/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx b/src/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx
index 02c3486db..e94c0b9a7 100644
--- a/src/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx
+++ b/src/features/ui/components/modals/__tests__/unauthorized-modal.test.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { storeOpen, storePepeOpen } from 'soapbox/jest/mock-stores';
+import { storeOpen } from 'soapbox/jest/mock-stores';
import { render, screen } from 'soapbox/jest/test-helpers';
import UnauthorizedModal from '../unauthorized-modal';
@@ -22,11 +22,4 @@ describe('', () => {
expect(screen.getByText('Sign up')).toBeInTheDocument();
});
});
-
- describe('with registrations closed, Pepe enabled', () => {
- it('displays the signup button', () => {
- render(, undefined, storePepeOpen);
- expect(screen.getByText('Sign up')).toBeInTheDocument();
- });
- });
});
diff --git a/src/features/ui/components/panels/__tests__/sign-up-panel.test.tsx b/src/features/ui/components/panels/__tests__/sign-up-panel.test.tsx
index 0ff47848a..22a3fe00e 100644
--- a/src/features/ui/components/panels/__tests__/sign-up-panel.test.tsx
+++ b/src/features/ui/components/panels/__tests__/sign-up-panel.test.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { storeOpen, storePepeOpen } from 'soapbox/jest/mock-stores';
+import { storeOpen } from 'soapbox/jest/mock-stores';
import { render, screen } from 'soapbox/jest/test-helpers';
import SignUpPanel from '../sign-up-panel';
@@ -17,11 +17,4 @@ describe('', () => {
expect(screen.getByTestId('sign-up-panel')).toBeInTheDocument();
});
});
-
- describe('with registrations closed, Pepe enabled', () => {
- it('successfully renders', () => {
- render(, undefined, storePepeOpen);
- expect(screen.getByTestId('sign-up-panel')).toBeInTheDocument();
- });
- });
});
diff --git a/src/jest/factory.ts b/src/jest/factory.ts
index 2f21df069..df0437719 100644
--- a/src/jest/factory.ts
+++ b/src/jest/factory.ts
@@ -2,7 +2,6 @@ import { v4 as uuidv4 } from 'uuid';
import {
accountSchema,
- adSchema,
cardSchema,
groupMemberSchema,
groupRelationshipSchema,
@@ -11,7 +10,6 @@ import {
relationshipSchema,
statusSchema,
type Account,
- type Ad,
type Card,
type Group,
type GroupMember,
@@ -73,12 +71,6 @@ function buildGroupMember(
}, props));
}
-function buildAd(props: PartialDeep = {}): Ad {
- return adSchema.parse(Object.assign({
- card: buildCard(),
- }, props));
-}
-
function buildRelationship(props: PartialDeep = {}): Relationship {
return relationshipSchema.parse(Object.assign({
id: uuidv4(),
@@ -94,7 +86,6 @@ function buildStatus(props: PartialDeep = {}) {
export {
buildAccount,
- buildAd,
buildCard,
buildGroup,
buildGroupMember,
diff --git a/src/normalizers/soapbox/soapbox-config.ts b/src/normalizers/soapbox/soapbox-config.ts
index 4f25992ef..403c92a32 100644
--- a/src/normalizers/soapbox/soapbox-config.ts
+++ b/src/normalizers/soapbox/soapbox-config.ts
@@ -11,7 +11,6 @@ import { toTailwind } from 'soapbox/utils/tailwind';
import { generateAccent } from 'soapbox/utils/theme';
import type {
- Ad,
PromoPanelItem,
FooterItem,
CryptoAddress,
@@ -68,7 +67,6 @@ export const CryptoAddressRecord = ImmutableRecord({
});
export const SoapboxConfigRecord = ImmutableRecord({
- ads: ImmutableList(),
appleAppId: null,
authProvider: '',
logo: '',
diff --git a/src/types/soapbox.ts b/src/types/soapbox.ts
index e9baff635..459339750 100644
--- a/src/types/soapbox.ts
+++ b/src/types/soapbox.ts
@@ -19,7 +19,3 @@ export {
CryptoAddress,
SoapboxConfig,
};
-
-export type {
- Ad,
-} from 'soapbox/schemas';
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index c7f16ba8a..80b556b0c 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -12,6 +12,7 @@
"moduleResolution": "node",
"resolveJsonModule": true,
"esModuleInterop": true,
+ "skipLibCheck": true,
"paths": {
"soapbox/*": ["src/*"],
},
diff --git a/vite.config.ts b/vite.config.ts
index ca86db12d..eb7f9560c 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -5,6 +5,7 @@ import { fileURLToPath, URL } from 'node:url';
import react from '@vitejs/plugin-react';
import { visualizer } from 'rollup-plugin-visualizer';
import { defineConfig } from 'vite';
+import checker from 'vite-plugin-checker';
import compileTime from 'vite-plugin-compile-time';
import { createHtmlPlugin } from 'vite-plugin-html';
import { VitePWA } from 'vite-plugin-pwa';
@@ -28,6 +29,7 @@ export default defineConfig({
port: 3036,
},
plugins: [
+ checker({ typescript: true }),
// @ts-ignore
vitePluginRequire.default(),
compileTime(),
diff --git a/yarn.lock b/yarn.lock
index 6f2102f78..1f4382e0a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -39,7 +39,7 @@
jsonpointer "^5.0.0"
leven "^3.1.0"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.22.13":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13":
version "7.22.13"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
@@ -2474,6 +2474,18 @@
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.0.tgz#53ef263e5239728b56096b0a869595135b7952d2"
integrity sha512-kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q==
+"@types/yargs-parser@*":
+ version "21.0.0"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
+ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
+
+"@types/yargs@^17.0.24":
+ version "17.0.24"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902"
+ integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==
+ dependencies:
+ "@types/yargs-parser" "*"
+
"@typescript-eslint/eslint-plugin@^6.0.0":
version "6.7.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.0.tgz#ed2a38867190f8a688af85ad7c8a74670b8b3675"
@@ -3385,7 +3397,7 @@ check-error@^1.0.2:
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==
-"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
+"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1, chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -3519,7 +3531,7 @@ commander@^7.2.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
-commander@^8.3.0:
+commander@^8.0.0, commander@^8.3.0:
version "8.3.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
@@ -4587,7 +4599,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.1:
+fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4"
integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==
@@ -5961,6 +5973,11 @@ lodash.merge@^4.6.2:
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+lodash.pick@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
+ integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==
+
lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
@@ -7816,7 +7833,7 @@ semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.4, semver@^7.3.8, semver@^7.5.4:
+semver@^7.3.4, semver@^7.3.8, semver@^7.5.0, semver@^7.5.4:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@@ -8408,6 +8425,11 @@ tiny-invariant@^1.0.2:
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==
+tiny-invariant@^1.1.0:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642"
+ integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==
+
tiny-queue@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.1.tgz#25a67f2c6e253b2ca941977b5ef7442ef97a6046"
@@ -8819,6 +8841,29 @@ vite-node@0.34.4:
picocolors "^1.0.0"
vite "^3.0.0 || ^4.0.0"
+vite-plugin-checker@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/vite-plugin-checker/-/vite-plugin-checker-0.6.2.tgz#3790381734440033e6cb3cee9d92fcfdd69a4d71"
+ integrity sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ ansi-escapes "^4.3.0"
+ chalk "^4.1.1"
+ chokidar "^3.5.1"
+ commander "^8.0.0"
+ fast-glob "^3.2.7"
+ fs-extra "^11.1.0"
+ lodash.debounce "^4.0.8"
+ lodash.pick "^4.4.0"
+ npm-run-path "^4.0.1"
+ semver "^7.5.0"
+ strip-ansi "^6.0.0"
+ tiny-invariant "^1.1.0"
+ vscode-languageclient "^7.0.0"
+ vscode-languageserver "^7.0.0"
+ vscode-languageserver-textdocument "^1.0.1"
+ vscode-uri "^3.0.2"
+
vite-plugin-compile-time@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/vite-plugin-compile-time/-/vite-plugin-compile-time-0.2.1.tgz#5c9965ba9bf8278fbfbee107830a298918aeb518"
@@ -8921,6 +8966,50 @@ vitest@^0.34.4:
vite-node "0.34.4"
why-is-node-running "^2.2.2"
+vscode-jsonrpc@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz#108bdb09b4400705176b957ceca9e0880e9b6d4e"
+ integrity sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==
+
+vscode-languageclient@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz#b505c22c21ffcf96e167799757fca07a6bad0fb2"
+ integrity sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==
+ dependencies:
+ minimatch "^3.0.4"
+ semver "^7.3.4"
+ vscode-languageserver-protocol "3.16.0"
+
+vscode-languageserver-protocol@3.16.0:
+ version "3.16.0"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz#34135b61a9091db972188a07d337406a3cdbe821"
+ integrity sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==
+ dependencies:
+ vscode-jsonrpc "6.0.0"
+ vscode-languageserver-types "3.16.0"
+
+vscode-languageserver-textdocument@^1.0.1:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0"
+ integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
+
+vscode-languageserver-types@3.16.0:
+ version "3.16.0"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247"
+ integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==
+
+vscode-languageserver@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz#49b068c87cfcca93a356969d20f5d9bdd501c6b0"
+ integrity sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==
+ dependencies:
+ vscode-languageserver-protocol "3.16.0"
+
+vscode-uri@^3.0.2:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.7.tgz#6d19fef387ee6b46c479e5fb00870e15e58c1eb8"
+ integrity sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==
+
vue-hot-reload-api@^2.3.0:
version "2.3.4"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"